From 1afe392fc99bb7cf0beedd51a175bd3291755892 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Thu, 1 Dec 2022 14:11:38 -0500 Subject: [PATCH 01/81] Add Health Data Services Bicep modules --- .../Microsoft.HealthDataServices/deploy.bicep | 58 ++++ .../dicomservices/deploy.bicep | 179 +++++++++++ .../dicomservices/readme.md | 142 +++++++++ .../.bicep/nested_roleAssignments.bicep | 74 +++++ .../fhirservices/deploy.bicep | 298 ++++++++++++++++++ .../fhirservices/readme.md | 0 .../Microsoft.HealthDataServices/readme.md | 87 +++++ 7 files changed, 838 insertions(+) create mode 100644 modules/Microsoft.HealthDataServices/deploy.bicep create mode 100644 modules/Microsoft.HealthDataServices/dicomservices/deploy.bicep create mode 100644 modules/Microsoft.HealthDataServices/dicomservices/readme.md create mode 100644 modules/Microsoft.HealthDataServices/fhirservices/.bicep/nested_roleAssignments.bicep create mode 100644 modules/Microsoft.HealthDataServices/fhirservices/deploy.bicep create mode 100644 modules/Microsoft.HealthDataServices/fhirservices/readme.md create mode 100644 modules/Microsoft.HealthDataServices/readme.md diff --git a/modules/Microsoft.HealthDataServices/deploy.bicep b/modules/Microsoft.HealthDataServices/deploy.bicep new file mode 100644 index 0000000000..2a5e28c2dc --- /dev/null +++ b/modules/Microsoft.HealthDataServices/deploy.bicep @@ -0,0 +1,58 @@ +@description('Required. The name of the Health Data Services Workspace service.') +@maxLength(50) +param name string + +@description('Optional. Location for all resources.') +param location string = resourceGroup().location + +@allowed([ + '' + 'CanNotDelete' + 'ReadOnly' +]) +@description('Optional. Specify the type of lock.') +param lock string = '' + +@allowed([ + 'Disabled' + 'Enabled' +]) +@description('Optional. Control permission for data plane traffic coming from public networks while private endpoint is enabled.') +param publicNetworkAccess string = 'Disabled' + +@description('Optional. Tags of the resource.') +param tags object = {} + +// =========== // +// Deployments // +// =========== // + +resource health 'Microsoft.HealthcareApis/workspaces@2022-06-01' = { + name: name + location: location + tags: tags + properties: { + publicNetworkAccess: publicNetworkAccess + } +} + +resource health_lock 'Microsoft.Authorization/locks@2020-05-01' = if (!empty(lock)) { + name: '${health.name}-${lock}-lock' + properties: { + level: any(lock) + notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.' + } + scope: health +} + +@description('The name of the health data services workspace.') +output name string = health.name + +@description('The resource ID of the health data services workspace.') +output resourceId string = health.id + +@description('The resource group where the workspace is deployed.') +output resourceGroupName string = resourceGroup().name + +@description('The location the resource was deployed into.') +output location string = health.location diff --git a/modules/Microsoft.HealthDataServices/dicomservices/deploy.bicep b/modules/Microsoft.HealthDataServices/dicomservices/deploy.bicep new file mode 100644 index 0000000000..ce81a80c80 --- /dev/null +++ b/modules/Microsoft.HealthDataServices/dicomservices/deploy.bicep @@ -0,0 +1,179 @@ +@description('Required. The name of the DICOM service.') +@maxLength(50) +param name string + +@description('Required. The name of the parent health data services workspace.') +param workspaceName string + +@description('Optional. Specify URLs of origin sites that can access this API, or use "*" to allow access from any site.') +param corsOrigins array = [] + +@description('Optional. Specify HTTP headers which can be used during the request. Use "*" for any header.') +param corsHeaders array = [] + +@allowed([ + 'DELETE' + 'GET' + 'OPTIONS' + 'PATCH' + 'POST' + 'PUT' +]) +@description('Optional. Specify the allowed HTTP methods.') +param corsMethods array = [] + +@description('Optional. Specify how long a result from a request can be cached in seconds. Example: 600 means 10 minutes.') +param corsMaxAge int = -1 + +@description('Optional. Use this setting to indicate that cookies should be included in CORS requests.') +param corsAllowCredentials bool = false + +@description('Optional. Location for all resources.') +param location string = resourceGroup().location + +@description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') +@minValue(0) +@maxValue(365) +param diagnosticLogsRetentionInDays int = 365 + +@description('Optional. Resource ID of the diagnostic storage account.') +param diagnosticStorageAccountId string = '' + +@description('Optional. Resource ID of the diagnostic log analytics workspace.') +param diagnosticWorkspaceId string = '' + +@description('Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.') +param diagnosticEventHubAuthorizationRuleId string = '' + +@description('Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category.') +param diagnosticEventHubName string = '' + +@allowed([ + '' + 'CanNotDelete' + 'ReadOnly' +]) +@description('Optional. Specify the type of lock.') +param lock string = '' + +@allowed([ + 'Disabled' + 'Enabled' +]) +@description('Optional. Control permission for data plane traffic coming from public networks while private endpoint is enabled.') +param publicNetworkAccess string = 'Disabled' + +@description('Optional. Enables system assigned managed identity on the resource.') +param systemAssignedIdentity bool = false + +@description('Optional. The ID(s) to assign to the resource.') +param userAssignedIdentities object = {} + +@description('Optional. Tags of the resource.') +param tags object = {} + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + +@description('Optional. The name of logs that will be streamed.') +@allowed([ + 'AuditLogs' +]) +param diagnosticLogCategoriesToEnable array = [ + 'AuditLogs' +] + +@description('Optional. The name of the diagnostic setting, if deployed.') +param diagnosticSettingsName string = '${name}-diagnosticSettings' + +var diagnosticsLogs = [for category in diagnosticLogCategoriesToEnable: { + category: category + enabled: true + retentionPolicy: { + enabled: true + days: diagnosticLogsRetentionInDays + } +}] + +var identityType = systemAssignedIdentity ? (!empty(userAssignedIdentities) ? 'SystemAssigned,UserAssigned' : 'SystemAssigned') : (!empty(userAssignedIdentities) ? 'UserAssigned' : 'None') + +var identity = identityType != 'None' ? { + type: identityType + userAssignedIdentities: !empty(userAssignedIdentities) ? userAssignedIdentities : null +} : null + + +// =========== // +// Deployments // +// =========== // +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name, location)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource workspace 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { + name: workspaceName +} + +resource dicom 'Microsoft.HealthcareApis/workspaces/dicomservices@2022-06-01' = { + name: name + location: location + tags: tags + parent: workspace + identity: identity + properties: { + // authenticationConfiguration: {} + corsConfiguration: { + allowCredentials: corsAllowCredentials + headers: corsHeaders + maxAge: corsMaxAge == -1 ? null : corsMaxAge + methods: corsMethods + origins: corsOrigins + } + publicNetworkAccess: publicNetworkAccess + } +} + +resource dicom_lock 'Microsoft.Authorization/locks@2020-05-01' = if (!empty(lock)) { + name: '${dicom.name}-${lock}-lock' + properties: { + level: any(lock) + notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.' + } + scope: dicom +} + +resource dicom_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@2021-05-01-preview' = if ((!empty(diagnosticStorageAccountId)) || (!empty(diagnosticWorkspaceId)) || (!empty(diagnosticEventHubAuthorizationRuleId)) || (!empty(diagnosticEventHubName))) { + name: diagnosticSettingsName + properties: { + storageAccountId: !empty(diagnosticStorageAccountId) ? diagnosticStorageAccountId : null + workspaceId: !empty(diagnosticWorkspaceId) ? diagnosticWorkspaceId : null + eventHubAuthorizationRuleId: !empty(diagnosticEventHubAuthorizationRuleId) ? diagnosticEventHubAuthorizationRuleId : null + eventHubName: !empty(diagnosticEventHubName) ? diagnosticEventHubName : null + metrics: null + logs: diagnosticsLogs + } + scope: dicom +} + +@description('The name of the dicom service.') +output name string = dicom.name + +@description('The resource ID of the dicom service.') +output resourceId string = dicom.id + +@description('The resource group where the namespace is deployed.') +output resourceGroupName string = resourceGroup().name + +@description('The principal ID of the system assigned identity.') +output systemAssignedPrincipalId string = systemAssignedIdentity && contains(dicom.identity, 'principalId') ? dicom.identity.principalId : '' + +@description('The location the resource was deployed into.') +output location string = dicom.location diff --git a/modules/Microsoft.HealthDataServices/dicomservices/readme.md b/modules/Microsoft.HealthDataServices/dicomservices/readme.md new file mode 100644 index 0000000000..05bf0ddd5a --- /dev/null +++ b/modules/Microsoft.HealthDataServices/dicomservices/readme.md @@ -0,0 +1,142 @@ +# DICOM Services `[Microsoft.HealthcareApis/workspaces/dicomservices]` + +This module deploys a DICOM service. + +## Navigation + +- [Resource Types](#Resource-Types) +- [Parameters](#Parameters) +- [Outputs](#Outputs) + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.Authorization/locks` | [2017-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2017-04-01/locks) | +| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | +| `Microsoft.HealthcareApis/workspaces/dicomservices` | [2022-06-01](https://learn.microsoft.com/en-us/azure/templates/microsoft.healthcareapis/workspaces/dicomservices) | + +## Parameters + +**Required parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the event hub namespace. | +| `workspaceName` | string | The name of the parent health data services workspace. | + +**Optional parameters** + +| Parameter Name | Type | Default Value | Allowed Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `corsOrigins` | array | `[]` | | Specify URLs of origin sites that can access this API, or use "*" to allow access from any site. | +| `corsHeaders` | array | `[]` | | Specify HTTP headers which can be used during the request. Use "*" for any header. | +| `corsMethods` | array | `[]` | `[DELETE, GET, OPTIONS, PATCH, POST, PUT]` | Specify the allowed HTTP methods. | +| `corsMaxAge` | int | `-1` | | Specify how long a result from a request can be cached in seconds. Example: 600 means 10 minutes. | +| `corsAllowCredentials` | bool | `'false` | | Use this setting to indicate that cookies should be included in CORS requests | +| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | +| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. | +| `diagnosticLogCategoriesToEnable` | array | `[AuditLogs]` | `[AuditLogs]` | The name of logs that will be streamed. | +| `diagnosticLogsRetentionInDays` | int | `365` | | Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely. | +| `diagnosticSettingsName` | string | `[format('{0}-diagnosticSettings', parameters('name'))]` | | The name of the diagnostic setting, if deployed. | +| `diagnosticStorageAccountId` | string | `''` | | Resource ID of the diagnostic storage account. | +| `diagnosticWorkspaceId` | string | `''` | | Resource ID of the diagnostic log analytics workspace. | +| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | +| `location` | string | `[resourceGroup().location]` | | Location for all resources. | +| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | +| `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. | +| `tags` | object | `{object}` | | Tags of the resource. | +| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. | + +### Parameter Usage: `tags` + +Tag names and tag values can be provided as needed. A tag can be left without a value. + +
+ +Bicep format + +```bicep +tags: { + Environment: 'Non-Prod' + Contact: 'test.user@testcompany.com' + PurchaseOrder: '1234' + CostCenter: '7890' + ServiceName: 'DeploymentValidation' + Role: 'DeploymentValidation' +} +``` + +
+

+ +### Parameter Usage: `userAssignedIdentities` + +You can specify multiple user assigned identities to a resource by providing additional resource IDs using the following format: + +

+ +Bicep format + +```bicep +userAssignedIdentities: { + '/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001': {} + '/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002': {} +} +``` + +
+ +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `location` | string | The location the resource was deployed into. | +| `name` | string | The name of the DICOM service. | +| `resourceGroupName` | string | The resource group where the namespace is deployed. | +| `resourceId` | string | The resource ID of the DICOM service. | +| `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. | + +## Deployment examples + +

Example 1: Common

+ +
+ +via Bicep module + +```bicep +module dicom './Microsoft.HealthDataServices/dicomservices/deploy.bicep' = { + name: '${uniqueString(deployment().name)}-test-dicom' + params: { + // Required parameters + name: '<>dicom001' + workspaceName: '' + // Non-required parameters + diagnosticEventHubAuthorizationRuleId: '' + diagnosticEventHubName: '' + diagnosticLogsRetentionInDays: 7 + diagnosticStorageAccountId: '' + diagnosticWorkspaceId: '' + lock: 'CanNotDelete' + systemAssignedIdentity: true + userAssignedIdentities: { + '': {} + } + corsOrigins: [ + '*' + ] + corsHeaders: [ + '*' + ] + corsMethods: [ + 'GET' + ] + corsMaxAge: 600 + corsAllowCredentials: true + publicNetworkAccess: 'Enabled' + } +} +``` + +
\ No newline at end of file diff --git a/modules/Microsoft.HealthDataServices/fhirservices/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.HealthDataServices/fhirservices/.bicep/nested_roleAssignments.bicep new file mode 100644 index 0000000000..07c2eca8b6 --- /dev/null +++ b/modules/Microsoft.HealthDataServices/fhirservices/.bicep/nested_roleAssignments.bicep @@ -0,0 +1,74 @@ +@sys.description('Required. The IDs of the principals to assign the role to.') +param principalIds array + +@sys.description('Required. The name of the role to assign. If it cannot be found you can specify the role definition ID instead.') +param roleDefinitionIdOrName string + +@sys.description('Required. The resource ID of the resource to apply the role assignment to.') +param resourceName string + +@sys.description('Optional. The principal type of the assigned principal ID.') +@allowed([ + 'ServicePrincipal' + 'Group' + 'User' + 'ForeignGroup' + 'Device' + '' +]) +param principalType string = '' + +@sys.description('Optional. The description of the role assignment.') +param description string = '' + +@sys.description('Optional. The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase "foo_storage_container"') +param condition string = '' + +@sys.description('Optional. Version of the condition.') +@allowed([ + '2.0' +]) +param conditionVersion string = '2.0' + +@sys.description('Optional. Id of the delegated managed identity resource.') +param delegatedManagedIdentityResourceId string = '' + +var builtInRoleNames = { + 'FHIR Data Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','5a1fc7df-4bf1-4951-a576-89034ee01acd') + 'FHIR Data Exporter': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','3db33094-8700-4567-8da5-1501d4e7e843') + 'FHIR Data Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','4c8d0bbc-75d3-4935-991f-5f3c56d81508') + 'FHIR Data Writer': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','3f88fce4-5892-4214-ae73-ba5294559913') + Contributor: subscriptionResourceId('Microsoft.Authorization/roleDefinitions','b24988ac-6180-42a0-ab88-20f7382dd24c') + 'Log Analytics Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','92aaf0da-9dab-42b6-94a3-d43ce8d16293') + 'Log Analytics Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','73c42c96-874c-492b-b04d-ab87d138a893') + 'Managed Application Contributor Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','641177b8-a67a-45b9-a033-47bc880bb21e') + 'Managed Application Operator Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','c7393b34-138c-406f-901b-d8cf2b17e6ae') + 'Managed Applications Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','b9331d33-8a36-4f8c-b097-4f54124fdb44') + 'Monitoring Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','749f88d5-cbae-40b8-bcfc-e573ddc772fa') + 'Monitoring Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','43d0d8ad-25c7-4714-9337-8ba259a9fe05') + Owner: subscriptionResourceId('Microsoft.Authorization/roleDefinitions','8e3af657-a8ff-443c-a75c-2fe8c4bcb635') + Reader: subscriptionResourceId('Microsoft.Authorization/roleDefinitions','acdd72a7-3385-48ef-bd42-f606fba81ae7') + 'Resource Policy Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','36243c78-bf99-498c-9df9-86d9f8d28608') + 'Role Based Access Control Administrator (Preview)': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','f58310d9-a9f6-439a-9e8d-f62e7b41a168') + 'Schema Registry Contributor (Preview)': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','5dffeca3-4936-4216-b2bc-10343a5abb25') + 'Schema Registry Reader (Preview)': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','2c56ea50-c6b3-40a6-83c0-9d98858bc7d2') + 'User Access Administrator': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','18d7d88d-d35e-4fb5-a5c3-7773c20a72d9') +} + +resource fhir 'Microsoft.HealthcareApis/workspaces/fhirservices@2022-06-01' existing = { + name: resourceName +} + +resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [for principalId in principalIds: { + name: guid(fhir.id, principalId, roleDefinitionIdOrName) + properties: { + description: description + roleDefinitionId: contains(builtInRoleNames, roleDefinitionIdOrName) ? builtInRoleNames[roleDefinitionIdOrName] : roleDefinitionIdOrName + principalId: principalId + principalType: !empty(principalType) ? any(principalType) : null + condition: !empty(condition) ? condition : null + conditionVersion: !empty(conditionVersion) && !empty(condition) ? conditionVersion : null + delegatedManagedIdentityResourceId: !empty(delegatedManagedIdentityResourceId) ? delegatedManagedIdentityResourceId : null + } + scope: fhir +}] diff --git a/modules/Microsoft.HealthDataServices/fhirservices/deploy.bicep b/modules/Microsoft.HealthDataServices/fhirservices/deploy.bicep new file mode 100644 index 0000000000..60c29401df --- /dev/null +++ b/modules/Microsoft.HealthDataServices/fhirservices/deploy.bicep @@ -0,0 +1,298 @@ +@description('Required. The name of the FHIR service.') +@maxLength(50) +param name string + +@allowed([ + 'fhir-R4' + 'fhir-Stu3' +]) +param kind string = 'fhir-R4' + +@description('Required. The name of the parent health data services workspace.') +param workspaceName string + +@description('Optional. List of Azure AD object IDs (User or Apps) that is allowed access to the FHIR service.') +param accessPolicyObjectIds array = [] + +@description('Optional. The list of the Azure container registry login servers.') +param acrLoginServers array = [] + +/* +{ + digest: 'string' + imageName: 'string' + loginServer: 'string' +} +*/ +@description('Optional. The list of Open Container Initiative (OCI) artifacts.') +param acrOciArtifacts array = [] + +@description('Optional. ') +param authenticationAuthority string = uri(environment().authentication.loginEndpoint, subscription().tenantId) + +@description('Optional. ') +param authenticationAudience string = 'https://${workspaceName}-${name}.fhir.azurehealthcareapis.com' + +@description('Optional. Specify URLs of origin sites that can access this API, or use "*" to allow access from any site.') +param corsOrigins array = [] + +@description('Optional. Specify HTTP headers which can be used during the request. Use "*" for any header.') +param corsHeaders array = [] + +@allowed([ + 'DELETE' + 'GET' + 'OPTIONS' + 'PATCH' + 'POST' + 'PUT' +]) +@description('Optional. Specify the allowed HTTP methods.') +param corsMethods array = [] + +@description('Optional. Specify how long a result from a request can be cached in seconds. Example: 600 means 10 minutes.') +param corsMaxAge int = -1 + +@description('Optional. Use this setting to indicate that cookies should be included in CORS requests.') +param corsAllowCredentials bool = false + +@description('Optional. Location for all resources.') +param location string = resourceGroup().location + +@description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') +@minValue(0) +@maxValue(365) +param diagnosticLogsRetentionInDays int = 365 + +@description('Optional. Resource ID of the diagnostic storage account.') +param diagnosticStorageAccountId string = '' + +@description('Optional. Resource ID of the diagnostic log analytics workspace.') +param diagnosticWorkspaceId string = '' + +@description('Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.') +param diagnosticEventHubAuthorizationRuleId string = '' + +@description('Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category.') +param diagnosticEventHubName string = '' + +@description('Optional. The name of the default export storage account.') +param exportStorageAccountName string = '' + +@description('Optional. The name of the default integration storage account.') +param importStorageAccountName string = '' + +@description('Optional. If the import operation is enabled.') +param importEnabled bool = false + +@description('Optional. If the FHIR service is in InitialImportMode.') +param initialImportMode bool = false + +@allowed([ + '' + 'CanNotDelete' + 'ReadOnly' +]) +@description('Optional. Specify the type of lock.') +param lock string = '' + +@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\'.') +param roleAssignments array = [] + +@allowed([ + 'Disabled' + 'Enabled' +]) +@description('Optional. Control permission for data plane traffic coming from public networks while private endpoint is enabled.') +param publicNetworkAccess string = 'Disabled' + +@allowed([ + 'no-version' + 'versioned' + 'versioned-update' +]) +@description('Optional. ') +param resourceVersionPolicy string = 'versioned' + +@description('Optional. ') +param resourceVersionOverrides object = {} + +@description('Optional. ') +param smartProxyEnabled bool = false + +@description('Optional. Enables system assigned managed identity on the resource.') +param systemAssignedIdentity bool = false + +@description('Optional. The ID(s) to assign to the resource.') +param userAssignedIdentities object = {} + +@description('Optional. Tags of the resource.') +param tags object = {} + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + +@description('Optional. The name of logs that will be streamed.') +@allowed([ + 'AuditLogs' +]) +param diagnosticLogCategoriesToEnable array = [ + 'AuditLogs' +] + +@description('Optional. The name of metrics that will be streamed.') +@allowed([ + 'AllMetrics' +]) +param diagnosticMetricsToEnable array = [ + 'AllMetrics' +] + +@description('Optional. The name of the diagnostic setting, if deployed.') +param diagnosticSettingsName string = '${name}-diagnosticSettings' + +var diagnosticsLogs = [for category in diagnosticLogCategoriesToEnable: { + category: category + enabled: true + retentionPolicy: { + enabled: true + days: diagnosticLogsRetentionInDays + } +}] + +var diagnosticsMetrics = [for metric in diagnosticMetricsToEnable: { + category: metric + timeGrain: null + enabled: true + retentionPolicy: { + enabled: true + days: diagnosticLogsRetentionInDays + } +}] + +var identityType = systemAssignedIdentity ? (!empty(userAssignedIdentities) ? 'SystemAssigned,UserAssigned' : 'SystemAssigned') : (!empty(userAssignedIdentities) ? 'UserAssigned' : 'None') + +var identity = identityType != 'None' ? { + type: identityType + userAssignedIdentities: !empty(userAssignedIdentities) ? userAssignedIdentities : null +} : null + +var accessPolicies = [for id in accessPolicyObjectIds: { + objectId: id +}] + +var exportConfiguration = { + storageAccountName: exportStorageAccountName +} + +// =========== // +// Deployments // +// =========== // +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name, location)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource workspace 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { + name: workspaceName +} + +resource fhir 'Microsoft.HealthcareApis/workspaces/fhirservices@2022-06-01' = { + name: name + parent: workspace + location: location + kind: kind + tags: tags + identity: identity + properties: { + accessPolicies: accessPolicies + authenticationConfiguration: { + authority: authenticationAuthority + audience: authenticationAudience + smartProxyEnabled: smartProxyEnabled + } + corsConfiguration: { + allowCredentials: corsAllowCredentials + headers: corsHeaders + maxAge: corsMaxAge == -1 ? null : corsMaxAge + methods: corsMethods + origins: corsOrigins + } + publicNetworkAccess: publicNetworkAccess + exportConfiguration: exportStorageAccountName == '' ? {} : exportConfiguration + importConfiguration: { + enabled: importEnabled + initialImportMode: initialImportMode + integrationDataStore: importStorageAccountName == '' ? null : importStorageAccountName + } + resourceVersionPolicyConfiguration: { + default: resourceVersionPolicy + resourceTypeOverrides: empty(resourceVersionOverrides) ? null : resourceVersionOverrides + } + acrConfiguration: { + loginServers: acrLoginServers + ociArtifacts: empty(acrOciArtifacts) ? null : acrOciArtifacts + } + } +} + +resource fhir_lock 'Microsoft.Authorization/locks@2020-05-01' = if (!empty(lock)) { + name: '${fhir.name}-${lock}-lock' + properties: { + level: any(lock) + notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.' + } + scope: fhir +} + +resource fhir_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@2021-05-01-preview' = if ((!empty(diagnosticStorageAccountId)) || (!empty(diagnosticWorkspaceId)) || (!empty(diagnosticEventHubAuthorizationRuleId)) || (!empty(diagnosticEventHubName))) { + name: diagnosticSettingsName + properties: { + storageAccountId: !empty(diagnosticStorageAccountId) ? diagnosticStorageAccountId : null + workspaceId: !empty(diagnosticWorkspaceId) ? diagnosticWorkspaceId : null + eventHubAuthorizationRuleId: !empty(diagnosticEventHubAuthorizationRuleId) ? diagnosticEventHubAuthorizationRuleId : null + eventHubName: !empty(diagnosticEventHubName) ? diagnosticEventHubName : null + metrics: diagnosticsMetrics + logs: diagnosticsLogs + } + scope: fhir +} + + +module fhir_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment, index) in roleAssignments: { + name: '${deployment().name}-Rbac-${index}' + params: { + description: contains(roleAssignment, 'description') ? roleAssignment.description : '' + principalIds: roleAssignment.principalIds + principalType: contains(roleAssignment, 'principalType') ? roleAssignment.principalType : '' + roleDefinitionIdOrName: roleAssignment.roleDefinitionIdOrName + condition: contains(roleAssignment, 'condition') ? roleAssignment.condition : '' + delegatedManagedIdentityResourceId: contains(roleAssignment, 'delegatedManagedIdentityResourceId') ? roleAssignment.delegatedManagedIdentityResourceId : '' + resourceName: '${workspaceName}/${fhir.name}' + } +}] + +@description('The name of the fhir service.') +output name string = fhir.name + +@description('The resource ID of the fhir service.') +output resourceId string = fhir.id + +@description('The resource group where the namespace is deployed.') +output resourceGroupName string = resourceGroup().name + +@description('The principal ID of the system assigned identity.') +output systemAssignedPrincipalId string = systemAssignedIdentity && contains(fhir.identity, 'principalId') ? fhir.identity.principalId : '' + +@description('The location the resource was deployed into.') +output location string = fhir.location + +@description('The name of the fhir workspace.') +output workspaceName string = workspace.name diff --git a/modules/Microsoft.HealthDataServices/fhirservices/readme.md b/modules/Microsoft.HealthDataServices/fhirservices/readme.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/Microsoft.HealthDataServices/readme.md b/modules/Microsoft.HealthDataServices/readme.md new file mode 100644 index 0000000000..8a414872bc --- /dev/null +++ b/modules/Microsoft.HealthDataServices/readme.md @@ -0,0 +1,87 @@ +# DICOM Services `[Microsoft.HealthcareApis/workspaces]` + +This module deploys a Health Data Services workspace. + +## Navigation + +- [Resource Types](#Resource-Types) +- [Parameters](#Parameters) +- [Outputs](#Outputs) + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.Authorization/locks` | [2017-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2017-04-01/locks) | +| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | +| `Microsoft.HealthcareApis/workspaces` | [2022-06-01](https://learn.microsoft.com/en-us/azure/templates/microsoft.healthcareapis/workspaces) | + +## Parameters + +**Required parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the health data services workspace. | + +**Optional parameters** + +| Parameter Name | Type | Default Value | Allowed Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `location` | string | `[resourceGroup().location]` | | Location for all resources. | +| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | +| `publicNetworkAccess` | string | `Disabled` | `[Disabled, Enabled]` | Control permission for data plane traffic coming from public networks while private endpoint is enabled. | +| `tags` | object | `{object}` | | Tags of the resource. | + +### Parameter Usage: `tags` + +Tag names and tag values can be provided as needed. A tag can be left without a value. + +
+ +Bicep format + +```bicep +tags: { + Environment: 'Non-Prod' + Contact: 'test.user@testcompany.com' + PurchaseOrder: '1234' + CostCenter: '7890' + ServiceName: 'DeploymentValidation' + Role: 'DeploymentValidation' +} +``` + +
+ +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `location` | string | The location the resource was deployed into. | +| `name` | string | The name of the health data service workspace. | +| `resourceGroupName` | string | The resource group where the namespace is deployed. | +| `resourceId` | string | The resource ID of the health data service workspace. | + +## Deployment examples + +

Example 1: Common

+ +
+ +via Bicep module + +```bicep +module dicom './Microsoft.HealthDataServices/deploy.bicep' = { + name: '${uniqueString(deployment().name)}-test-hds' + params: { + // Required parameters + name: '<>hds001' + // Non-required parameters + lock: 'CanNotDelete' + publicNetworkAccess: 'Enabled' + } +} +``` + +
\ No newline at end of file From 5843ab31e52788dced19b7a04fe03fad0b6df92e Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Fri, 2 Dec 2022 09:34:40 -0500 Subject: [PATCH 02/81] Update modules/Microsoft.HealthDataServices/fhirservices/.bicep/nested_roleAssignments.bicep Co-authored-by: Alexander Sehr --- .../.bicep/nested_roleAssignments.bicep | 41 ++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/modules/Microsoft.HealthDataServices/fhirservices/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.HealthDataServices/fhirservices/.bicep/nested_roleAssignments.bicep index 07c2eca8b6..1a2bb6d2f7 100644 --- a/modules/Microsoft.HealthDataServices/fhirservices/.bicep/nested_roleAssignments.bicep +++ b/modules/Microsoft.HealthDataServices/fhirservices/.bicep/nested_roleAssignments.bicep @@ -34,25 +34,28 @@ param conditionVersion string = '2.0' param delegatedManagedIdentityResourceId string = '' var builtInRoleNames = { - 'FHIR Data Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','5a1fc7df-4bf1-4951-a576-89034ee01acd') - 'FHIR Data Exporter': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','3db33094-8700-4567-8da5-1501d4e7e843') - 'FHIR Data Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','4c8d0bbc-75d3-4935-991f-5f3c56d81508') - 'FHIR Data Writer': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','3f88fce4-5892-4214-ae73-ba5294559913') - Contributor: subscriptionResourceId('Microsoft.Authorization/roleDefinitions','b24988ac-6180-42a0-ab88-20f7382dd24c') - 'Log Analytics Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','92aaf0da-9dab-42b6-94a3-d43ce8d16293') - 'Log Analytics Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','73c42c96-874c-492b-b04d-ab87d138a893') - 'Managed Application Contributor Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','641177b8-a67a-45b9-a033-47bc880bb21e') - 'Managed Application Operator Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','c7393b34-138c-406f-901b-d8cf2b17e6ae') - 'Managed Applications Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','b9331d33-8a36-4f8c-b097-4f54124fdb44') - 'Monitoring Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','749f88d5-cbae-40b8-bcfc-e573ddc772fa') - 'Monitoring Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','43d0d8ad-25c7-4714-9337-8ba259a9fe05') - Owner: subscriptionResourceId('Microsoft.Authorization/roleDefinitions','8e3af657-a8ff-443c-a75c-2fe8c4bcb635') - Reader: subscriptionResourceId('Microsoft.Authorization/roleDefinitions','acdd72a7-3385-48ef-bd42-f606fba81ae7') - 'Resource Policy Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','36243c78-bf99-498c-9df9-86d9f8d28608') - 'Role Based Access Control Administrator (Preview)': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','f58310d9-a9f6-439a-9e8d-f62e7b41a168') - 'Schema Registry Contributor (Preview)': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','5dffeca3-4936-4216-b2bc-10343a5abb25') - 'Schema Registry Reader (Preview)': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','2c56ea50-c6b3-40a6-83c0-9d98858bc7d2') - 'User Access Administrator': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','18d7d88d-d35e-4fb5-a5c3-7773c20a72d9') + Contributor: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c') + 'DICOM Data Owner': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '58a3b984-7adf-4c20-983a-32417c86fbc8') + 'DICOM Data Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'e89c7a3c-2f64-4fa1-a847-3e4c9ba4283a') + 'FHIR Data Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '5a1fc7df-4bf1-4951-a576-89034ee01acd') + 'FHIR Data Converter': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'a1705bd2-3a8f-45a5-8683-466fcfd5cc24') + 'FHIR Data Exporter': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '3db33094-8700-4567-8da5-1501d4e7e843') + 'FHIR Data Importer': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '4465e953-8ced-4406-a58e-0f6e3f3b530b') + 'FHIR Data Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '4c8d0bbc-75d3-4935-991f-5f3c56d81508') + 'FHIR Data Writer': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '3f88fce4-5892-4214-ae73-ba5294559913') + 'FHIR SMART User': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '4ba50f17-9666-485c-a643-ff00808643f0') + 'Log Analytics Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '92aaf0da-9dab-42b6-94a3-d43ce8d16293') + 'Log Analytics Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '73c42c96-874c-492b-b04d-ab87d138a893') + 'Managed Application Contributor Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '641177b8-a67a-45b9-a033-47bc880bb21e') + 'Managed Application Operator Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'c7393b34-138c-406f-901b-d8cf2b17e6ae') + 'Managed Applications Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b9331d33-8a36-4f8c-b097-4f54124fdb44') + 'Monitoring Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '749f88d5-cbae-40b8-bcfc-e573ddc772fa') + 'Monitoring Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '43d0d8ad-25c7-4714-9337-8ba259a9fe05') + Owner: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635') + Reader: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'acdd72a7-3385-48ef-bd42-f606fba81ae7') + 'Resource Policy Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '36243c78-bf99-498c-9df9-86d9f8d28608') + 'Role Based Access Control Administrator (Preview)': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'f58310d9-a9f6-439a-9e8d-f62e7b41a168') + 'User Access Administrator': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9') } resource fhir 'Microsoft.HealthcareApis/workspaces/fhirservices@2022-06-01' existing = { From 71e2107605abc26667f3c59605daaa1fccffc528 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Fri, 2 Dec 2022 10:15:38 -0500 Subject: [PATCH 03/81] - restructure - fix RBAC module and use resourceId - add RBAC module to workspace - add place holders for test templates - cleanup - add default telemetry to workspace --- .../Microsoft.HealthDataServices/deploy.bicep | 58 ----- .../.bicep/nested_roleAssignments.bicep | 76 +++++++ .../workspaces/.test/common/deploy.test.bicep | 1 + .../workspaces/.test/min/deploy.test.bicep | 1 + .../workspaces/deploy.bicep | 88 +++++++ .../workspaces}/dicomservices/deploy.bicep | 0 .../workspaces}/dicomservices/readme.md | 2 +- .../workspaces/dicomservices/version.json} | 0 .../.bicep/nested_roleAssignments.bicep | 5 +- .../workspaces}/fhirservices/deploy.bicep | 10 +- .../workspaces/fhirservices/readme.md | 0 .../workspaces/fhirservices/version.json | 0 .../workspaces/iotconnectors/deploy.bicep | 215 ++++++++++++++++++ .../fhirdestinations/deploy.bicep | 78 +++++++ .../iotconnectors/fhirdestinations/readme.md | 0 .../fhirdestinations/version.json | 0 .../workspaces/iotconnectors/readme.md | 0 .../workspaces/iotconnectors/version.json | 0 .../workspaces}/readme.md | 2 +- .../workspaces/version.json | 0 20 files changed, 466 insertions(+), 70 deletions(-) delete mode 100644 modules/Microsoft.HealthDataServices/deploy.bicep create mode 100644 modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep create mode 100644 modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep create mode 100644 modules/Microsoft.HealthcareApis/workspaces/.test/min/deploy.test.bicep create mode 100644 modules/Microsoft.HealthcareApis/workspaces/deploy.bicep rename modules/{Microsoft.HealthDataServices => Microsoft.HealthcareApis/workspaces}/dicomservices/deploy.bicep (100%) rename modules/{Microsoft.HealthDataServices => Microsoft.HealthcareApis/workspaces}/dicomservices/readme.md (98%) rename modules/{Microsoft.HealthDataServices/fhirservices/readme.md => Microsoft.HealthcareApis/workspaces/dicomservices/version.json} (100%) rename modules/{Microsoft.HealthDataServices => Microsoft.HealthcareApis/workspaces}/fhirservices/.bicep/nested_roleAssignments.bicep (97%) rename modules/{Microsoft.HealthDataServices => Microsoft.HealthcareApis/workspaces}/fhirservices/deploy.bicep (98%) create mode 100644 modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md create mode 100644 modules/Microsoft.HealthcareApis/workspaces/fhirservices/version.json create mode 100644 modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep create mode 100644 modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep create mode 100644 modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md create mode 100644 modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/version.json create mode 100644 modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md create mode 100644 modules/Microsoft.HealthcareApis/workspaces/iotconnectors/version.json rename modules/{Microsoft.HealthDataServices => Microsoft.HealthcareApis/workspaces}/readme.md (97%) create mode 100644 modules/Microsoft.HealthcareApis/workspaces/version.json diff --git a/modules/Microsoft.HealthDataServices/deploy.bicep b/modules/Microsoft.HealthDataServices/deploy.bicep deleted file mode 100644 index 2a5e28c2dc..0000000000 --- a/modules/Microsoft.HealthDataServices/deploy.bicep +++ /dev/null @@ -1,58 +0,0 @@ -@description('Required. The name of the Health Data Services Workspace service.') -@maxLength(50) -param name string - -@description('Optional. Location for all resources.') -param location string = resourceGroup().location - -@allowed([ - '' - 'CanNotDelete' - 'ReadOnly' -]) -@description('Optional. Specify the type of lock.') -param lock string = '' - -@allowed([ - 'Disabled' - 'Enabled' -]) -@description('Optional. Control permission for data plane traffic coming from public networks while private endpoint is enabled.') -param publicNetworkAccess string = 'Disabled' - -@description('Optional. Tags of the resource.') -param tags object = {} - -// =========== // -// Deployments // -// =========== // - -resource health 'Microsoft.HealthcareApis/workspaces@2022-06-01' = { - name: name - location: location - tags: tags - properties: { - publicNetworkAccess: publicNetworkAccess - } -} - -resource health_lock 'Microsoft.Authorization/locks@2020-05-01' = if (!empty(lock)) { - name: '${health.name}-${lock}-lock' - properties: { - level: any(lock) - notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.' - } - scope: health -} - -@description('The name of the health data services workspace.') -output name string = health.name - -@description('The resource ID of the health data services workspace.') -output resourceId string = health.id - -@description('The resource group where the workspace is deployed.') -output resourceGroupName string = resourceGroup().name - -@description('The location the resource was deployed into.') -output location string = health.location diff --git a/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep new file mode 100644 index 0000000000..8ca258e626 --- /dev/null +++ b/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep @@ -0,0 +1,76 @@ +@sys.description('Required. The IDs of the principals to assign the role to.') +param principalIds array + +@sys.description('Required. The name of the role to assign. If it cannot be found you can specify the role definition ID instead.') +param roleDefinitionIdOrName string + +@sys.description('Required. The resource ID of the resource to apply the role assignment to.') +param resourceId string + +@sys.description('Optional. The principal type of the assigned principal ID.') +@allowed([ + 'ServicePrincipal' + 'Group' + 'User' + 'ForeignGroup' + 'Device' + '' +]) +param principalType string = '' + +@sys.description('Optional. The description of the role assignment.') +param description string = '' + +@sys.description('Optional. The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase "foo_storage_container"') +param condition string = '' + +@sys.description('Optional. Version of the condition.') +@allowed([ + '2.0' +]) +param conditionVersion string = '2.0' + +@sys.description('Optional. Id of the delegated managed identity resource.') +param delegatedManagedIdentityResourceId string = '' + +var builtInRoleNames = { + 'DICOM Data Owner': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '58a3b984-7adf-4c20-983a-32417c86fbc8') + 'DICOM Data Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'e89c7a3c-2f64-4fa1-a847-3e4c9ba4283a') + 'FHIR Data Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '5a1fc7df-4bf1-4951-a576-89034ee01acd') + 'FHIR Data Converter': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'a1705bd2-3a8f-45a5-8683-466fcfd5cc24') + 'FHIR Data Exporter': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '3db33094-8700-4567-8da5-1501d4e7e843') + 'FHIR Data Importer': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '4465e953-8ced-4406-a58e-0f6e3f3b530b') + 'FHIR Data Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '4c8d0bbc-75d3-4935-991f-5f3c56d81508') + 'FHIR Data Writer': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '3f88fce4-5892-4214-ae73-ba5294559913') + 'FHIR SMART User': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '4ba50f17-9666-485c-a643-ff00808643f0') + 'Log Analytics Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '92aaf0da-9dab-42b6-94a3-d43ce8d16293') + 'Log Analytics Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '73c42c96-874c-492b-b04d-ab87d138a893') + 'Managed Application Contributor Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '641177b8-a67a-45b9-a033-47bc880bb21e') + 'Managed Application Operator Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'c7393b34-138c-406f-901b-d8cf2b17e6ae') + 'Managed Applications Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b9331d33-8a36-4f8c-b097-4f54124fdb44') + 'Monitoring Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '749f88d5-cbae-40b8-bcfc-e573ddc772fa') + 'Monitoring Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '43d0d8ad-25c7-4714-9337-8ba259a9fe05') + Owner: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635') + Reader: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'acdd72a7-3385-48ef-bd42-f606fba81ae7') + 'Resource Policy Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '36243c78-bf99-498c-9df9-86d9f8d28608') + 'Role Based Access Control Administrator (Preview)': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'f58310d9-a9f6-439a-9e8d-f62e7b41a168') + 'User Access Administrator': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9') +} + +resource health 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { + name: resourceId +} + +resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [for principalId in principalIds: { + name: guid(health.id, principalId, roleDefinitionIdOrName) + properties: { + description: description + roleDefinitionId: contains(builtInRoleNames, roleDefinitionIdOrName) ? builtInRoleNames[roleDefinitionIdOrName] : roleDefinitionIdOrName + principalId: principalId + principalType: !empty(principalType) ? any(principalType) : null + condition: !empty(condition) ? condition : null + conditionVersion: !empty(conditionVersion) && !empty(condition) ? conditionVersion : null + delegatedManagedIdentityResourceId: !empty(delegatedManagedIdentityResourceId) ? delegatedManagedIdentityResourceId : null + } + scope: health +}] diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep new file mode 100644 index 0000000000..70b786d12e --- /dev/null +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep @@ -0,0 +1 @@ +// TODO diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/min/deploy.test.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/min/deploy.test.bicep new file mode 100644 index 0000000000..70b786d12e --- /dev/null +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/min/deploy.test.bicep @@ -0,0 +1 @@ +// TODO diff --git a/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep new file mode 100644 index 0000000000..de601ab367 --- /dev/null +++ b/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep @@ -0,0 +1,88 @@ +@description('Required. The name of the Health Data Services Workspace service.') +@maxLength(50) +param name string + +@description('Optional. Location for all resources.') +param location string = resourceGroup().location + +@allowed([ + '' + 'CanNotDelete' + 'ReadOnly' +]) +@description('Optional. Specify the type of lock.') +param lock string = '' + +@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\'.') +param roleAssignments array = [] + +@allowed([ + 'Disabled' + 'Enabled' +]) +@description('Optional. Control permission for data plane traffic coming from public networks while private endpoint is enabled.') +param publicNetworkAccess string = 'Disabled' + +@description('Optional. Tags of the resource.') +param tags object = {} + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + +// =========== // +// Deployments // +// =========== // +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name, location)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource health 'Microsoft.HealthcareApis/workspaces@2022-06-01' = { + name: name + location: location + tags: tags + properties: { + publicNetworkAccess: publicNetworkAccess + } +} + +resource health_lock 'Microsoft.Authorization/locks@2020-05-01' = if (!empty(lock)) { + name: '${health.name}-${lock}-lock' + properties: { + level: any(lock) + notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.' + } + scope: health +} + +module health_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment, index) in roleAssignments: { + name: '${deployment().name}-Rbac-${index}' + params: { + description: contains(roleAssignment, 'description') ? roleAssignment.description : '' + principalIds: roleAssignment.principalIds + principalType: contains(roleAssignment, 'principalType') ? roleAssignment.principalType : '' + roleDefinitionIdOrName: roleAssignment.roleDefinitionIdOrName + condition: contains(roleAssignment, 'condition') ? roleAssignment.condition : '' + delegatedManagedIdentityResourceId: contains(roleAssignment, 'delegatedManagedIdentityResourceId') ? roleAssignment.delegatedManagedIdentityResourceId : '' + resourceId: health.id + } +}] + +@description('The name of the health data services workspace.') +output name string = health.name + +@description('The resource ID of the health data services workspace.') +output resourceId string = health.id + +@description('The resource group where the workspace is deployed.') +output resourceGroupName string = resourceGroup().name + +@description('The location the resource was deployed into.') +output location string = health.location diff --git a/modules/Microsoft.HealthDataServices/dicomservices/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep similarity index 100% rename from modules/Microsoft.HealthDataServices/dicomservices/deploy.bicep rename to modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep diff --git a/modules/Microsoft.HealthDataServices/dicomservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md similarity index 98% rename from modules/Microsoft.HealthDataServices/dicomservices/readme.md rename to modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md index 05bf0ddd5a..85e3037cad 100644 --- a/modules/Microsoft.HealthDataServices/dicomservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md @@ -106,7 +106,7 @@ userAssignedIdentities: { via Bicep module ```bicep -module dicom './Microsoft.HealthDataServices/dicomservices/deploy.bicep' = { +module dicom './Microsoft.HealthcareApis/dicomservices/deploy.bicep' = { name: '${uniqueString(deployment().name)}-test-dicom' params: { // Required parameters diff --git a/modules/Microsoft.HealthDataServices/fhirservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/version.json similarity index 100% rename from modules/Microsoft.HealthDataServices/fhirservices/readme.md rename to modules/Microsoft.HealthcareApis/workspaces/dicomservices/version.json diff --git a/modules/Microsoft.HealthDataServices/fhirservices/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep similarity index 97% rename from modules/Microsoft.HealthDataServices/fhirservices/.bicep/nested_roleAssignments.bicep rename to modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep index 1a2bb6d2f7..eec89180ab 100644 --- a/modules/Microsoft.HealthDataServices/fhirservices/.bicep/nested_roleAssignments.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep @@ -5,7 +5,7 @@ param principalIds array param roleDefinitionIdOrName string @sys.description('Required. The resource ID of the resource to apply the role assignment to.') -param resourceName string +param resourceId string @sys.description('Optional. The principal type of the assigned principal ID.') @allowed([ @@ -59,7 +59,8 @@ var builtInRoleNames = { } resource fhir 'Microsoft.HealthcareApis/workspaces/fhirservices@2022-06-01' existing = { - name: resourceName + name: '${split(resourceId, '/')[8]}/${split(resourceId, '/')[10]}' + //resourceName } resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [for principalId in principalIds: { diff --git a/modules/Microsoft.HealthDataServices/fhirservices/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep similarity index 98% rename from modules/Microsoft.HealthDataServices/fhirservices/deploy.bicep rename to modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep index 60c29401df..9cf42c383d 100644 --- a/modules/Microsoft.HealthDataServices/fhirservices/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep @@ -17,13 +17,6 @@ param accessPolicyObjectIds array = [] @description('Optional. The list of the Azure container registry login servers.') param acrLoginServers array = [] -/* -{ - digest: 'string' - imageName: 'string' - loginServer: 'string' -} -*/ @description('Optional. The list of Open Container Initiative (OCI) artifacts.') param acrOciArtifacts array = [] @@ -275,7 +268,8 @@ module fhir_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAs roleDefinitionIdOrName: roleAssignment.roleDefinitionIdOrName condition: contains(roleAssignment, 'condition') ? roleAssignment.condition : '' delegatedManagedIdentityResourceId: contains(roleAssignment, 'delegatedManagedIdentityResourceId') ? roleAssignment.delegatedManagedIdentityResourceId : '' - resourceName: '${workspaceName}/${fhir.name}' + //resourceName: '${workspaceName}/${fhir.name}' + resourceId: fhir.id } }] diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/version.json b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/version.json new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep new file mode 100644 index 0000000000..f2fb474fab --- /dev/null +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep @@ -0,0 +1,215 @@ +@description('Required. The name of the MedTech service.') +@maxLength(50) +param name string + +@description('Required. The name of the parent health data services workspace.') +param workspaceName string + +@description('Required. Event Hub name to connect to.') +param eventHubName string + +@description('Optional. Consumer group of the event hub to connected to.') +param consumerGroup string = name + +@description('Required. Namespace of the Event Hub to connect to.') +param eventHubNamespaceName string + +@description('Required. The mapping JSON that determines how incoming device data is normalized.') +param deviceMapping object = { + templateType: 'CollectionContent' + template: [] +} + +@description('Required. The mapping JSON that determines how normalized data is converted to FHIR Observations.') +param destinationMapping object = { + templateType: 'CollectionFhir' + template: [] +} + +@description('Required. The resource identifier of the FHIR Service to connect to.') +param fhirServiceResourceId string + +@description('Optional. Location for all resources.') +param location string = resourceGroup().location + +@description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') +@minValue(0) +@maxValue(365) +param diagnosticLogsRetentionInDays int = 365 + +@description('Optional. Resource ID of the diagnostic storage account.') +param diagnosticStorageAccountId string = '' + +@description('Optional. Resource ID of the diagnostic log analytics workspace.') +param diagnosticWorkspaceId string = '' + +@description('Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.') +param diagnosticEventHubAuthorizationRuleId string = '' + +@description('Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category.') +param diagnosticEventHubName string = '' + +@allowed([ + '' + 'CanNotDelete' + 'ReadOnly' +]) +@description('Optional. Specify the type of lock.') +param lock string = '' + +@description('Optional. Enables system assigned managed identity on the resource.') +param systemAssignedIdentity bool = false + +@description('Optional. The ID(s) to assign to the resource.') +param userAssignedIdentities object = {} + +@description('Optional. Tags of the resource.') +param tags object = {} + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + +@allowed([ + 'Create' + 'Lookup' +]) +@description('Optional. Determines how resource identity is resolved on the destination.') +param resourceIdentityResolutionType string = 'Lookup' + +@description('Optional. The name of logs that will be streamed.') +@allowed([ + 'DiagnosticLogs' +]) +param diagnosticLogCategoriesToEnable array = [ + 'DiagnosticLogs' +] + +@description('Optional. The name of metrics that will be streamed.') +@allowed([ + 'AllMetrics' +]) +param diagnosticMetricsToEnable array = [ + 'AllMetrics' +] + +@description('Optional. The name of the diagnostic setting, if deployed.') +param diagnosticSettingsName string = '${name}-diagnosticSettings' + +var diagnosticsLogs = [for category in diagnosticLogCategoriesToEnable: { + category: category + enabled: true + retentionPolicy: { + enabled: true + days: diagnosticLogsRetentionInDays + } +}] + +var diagnosticsMetrics = [for metric in diagnosticMetricsToEnable: { + category: metric + timeGrain: null + enabled: true + retentionPolicy: { + enabled: true + days: diagnosticLogsRetentionInDays + } +}] + +var identityType = systemAssignedIdentity ? (!empty(userAssignedIdentities) ? 'SystemAssigned,UserAssigned' : 'SystemAssigned') : (!empty(userAssignedIdentities) ? 'UserAssigned' : 'None') + +var identity = identityType != 'None' ? { + type: identityType + userAssignedIdentities: !empty(userAssignedIdentities) ? userAssignedIdentities : null +} : null + +var enableReferencedModulesTelemetry = false + +// =========== // +// Deployments // +// =========== // +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name, location)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource workspace 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { + name: workspaceName +} + +resource iotConnector 'Microsoft.HealthcareApis/workspaces/iotconnectors@2022-06-01' = { + name: name + parent: workspace + location: location + tags: tags + identity: identity + properties: { + ingestionEndpointConfiguration: { + eventHubName: eventHubName + consumerGroup: consumerGroup + fullyQualifiedEventHubNamespace: '${eventHubNamespaceName}.servicebus.windows.net' + } + deviceMapping: { + content: deviceMapping + } + } +} + +resource iotConnector_lock 'Microsoft.Authorization/locks@2020-05-01' = if (!empty(lock)) { + name: '${iotConnector.name}-${lock}-lock' + properties: { + level: any(lock) + notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.' + } + scope: iotConnector +} + +resource iotConnector_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@2021-05-01-preview' = if ((!empty(diagnosticStorageAccountId)) || (!empty(diagnosticWorkspaceId)) || (!empty(diagnosticEventHubAuthorizationRuleId)) || (!empty(diagnosticEventHubName))) { + name: diagnosticSettingsName + properties: { + storageAccountId: !empty(diagnosticStorageAccountId) ? diagnosticStorageAccountId : null + workspaceId: !empty(diagnosticWorkspaceId) ? diagnosticWorkspaceId : null + eventHubAuthorizationRuleId: !empty(diagnosticEventHubAuthorizationRuleId) ? diagnosticEventHubAuthorizationRuleId : null + eventHubName: !empty(diagnosticEventHubName) ? diagnosticEventHubName : null + metrics: diagnosticsMetrics + logs: diagnosticsLogs + } + scope: iotConnector +} + +module fhir_destination 'fhirdestinations/deploy.bicep' = { + name: '${deployment().name}-FhirDestination' + params: { + name: '${iotConnector.name}-map' + iotConnectorName: iotConnector.name + resourceIdentityResolutionType: resourceIdentityResolutionType + fhirServiceResourceId: fhirServiceResourceId + destinationMapping: destinationMapping + enableDefaultTelemetry: enableReferencedModulesTelemetry + location: location + workspaceName: workspaceName + } +} + +@description('The name of the medtech service.') +output name string = iotConnector.name + +@description('The resource ID of the medtech service.') +output resourceId string = iotConnector.id + +@description('The resource group where the namespace is deployed.') +output resourceGroupName string = resourceGroup().name + +@description('The principal ID of the system assigned identity.') +output systemAssignedPrincipalId string = systemAssignedIdentity && contains(iotConnector.identity, 'principalId') ? iotConnector.identity.principalId : '' + +@description('The location the resource was deployed into.') +output location string = iotConnector.location + +@description('The name of the medtech workspace.') +output workspaceName string = workspace.name diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep new file mode 100644 index 0000000000..0eb6ec2e2b --- /dev/null +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep @@ -0,0 +1,78 @@ +@description('Required. The name of the FHIR destination.') +@maxLength(24) +param name string + +@description('Required. The mapping JSON that determines how normalized data is converted to FHIR Observations.') +param destinationMapping object = { + templateType: 'CollectionFhir' + template: [] +} + +@description('Required. The name of the MedTech service to add this destination to.') +param iotConnectorName string + +@description('Required. The name of the parent health data services workspace.') +param workspaceName string + +@description('Required. The resource identifier of the FHIR Service to connect to.') +param fhirServiceResourceId string + +@description('Optional. Location for all resources.') +param location string = resourceGroup().location + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + +@allowed([ + 'Create' + 'Lookup' +]) +@description('Optional. Determines how resource identity is resolved on the destination.') +param resourceIdentityResolutionType string = 'Lookup' + +// =========== // +// Deployments // +// =========== // +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name, location)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource iotConnector 'Microsoft.HealthcareApis/workspaces/iotconnectors@2022-06-01' existing = { + name: '${workspaceName}/${iotConnectorName}' +} + +resource fhirDestination 'Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations@2022-06-01' = { + name: name + parent: iotConnector + location: location + properties: { + resourceIdentityResolutionType: resourceIdentityResolutionType + fhirServiceResourceId: fhirServiceResourceId + fhirMapping: { + content: destinationMapping + } + } +} + +@description('The name of the FHIR destination.') +output name string = fhirDestination.name + +@description('The resource ID of the FHIR destination.') +output resourceId string = fhirDestination.id + +@description('The resource group where the namespace is deployed.') +output resourceGroupName string = resourceGroup().name + +@description('The location the resource was deployed into.') +output location string = iotConnector.location + +@description('The name of the medtech service.') +output iotConnectorName string = iotConnector.name diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/version.json b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/version.json new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/version.json b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/version.json new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/Microsoft.HealthDataServices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md similarity index 97% rename from modules/Microsoft.HealthDataServices/readme.md rename to modules/Microsoft.HealthcareApis/workspaces/readme.md index 8a414872bc..90a6a2eb14 100644 --- a/modules/Microsoft.HealthDataServices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -72,7 +72,7 @@ tags: { via Bicep module ```bicep -module dicom './Microsoft.HealthDataServices/deploy.bicep' = { +module dicom './Microsoft.HealthcareApis/deploy.bicep' = { name: '${uniqueString(deployment().name)}-test-hds' params: { // Required parameters diff --git a/modules/Microsoft.HealthcareApis/workspaces/version.json b/modules/Microsoft.HealthcareApis/workspaces/version.json new file mode 100644 index 0000000000..e69de29bb2 From 5ee2a47f586ee3f5aa5a42de266312a391f3a18c Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Fri, 2 Dec 2022 10:22:21 -0500 Subject: [PATCH 04/81] update readmes --- .../workspaces/dicomservices/readme.md | 61 ++++- .../workspaces/fhirservices/readme.md | 220 ++++++++++++++++++ .../iotconnectors/fhirdestinations/readme.md | 56 +++++ .../workspaces/iotconnectors/readme.md | 149 ++++++++++++ 4 files changed, 477 insertions(+), 9 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md index 85e3037cad..7b86c01350 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md @@ -7,14 +7,16 @@ This module deploys a DICOM service. - [Resource Types](#Resource-Types) - [Parameters](#Parameters) - [Outputs](#Outputs) +- [Deployment examples](#Deployment-examples) +- [Cross-referenced modules](#Cross-referenced-modules) ## Resource Types | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Authorization/locks` | [2017-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2017-04-01/locks) | +| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) | +| `Microsoft.HealthcareApis/workspaces/dicomservices` | [2022-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.HealthcareApis/2022-06-01/workspaces/dicomservices) | | `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | -| `Microsoft.HealthcareApis/workspaces/dicomservices` | [2022-06-01](https://learn.microsoft.com/en-us/azure/templates/microsoft.healthcareapis/workspaces/dicomservices) | ## Parameters @@ -22,18 +24,18 @@ This module deploys a DICOM service. | Parameter Name | Type | Description | | :-- | :-- | :-- | -| `name` | string | The name of the event hub namespace. | +| `name` | string | The name of the DICOM service. | | `workspaceName` | string | The name of the parent health data services workspace. | **Optional parameters** | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | -| `corsOrigins` | array | `[]` | | Specify URLs of origin sites that can access this API, or use "*" to allow access from any site. | +| `corsAllowCredentials` | bool | `False` | | Use this setting to indicate that cookies should be included in CORS requests. | | `corsHeaders` | array | `[]` | | Specify HTTP headers which can be used during the request. Use "*" for any header. | -| `corsMethods` | array | `[]` | `[DELETE, GET, OPTIONS, PATCH, POST, PUT]` | Specify the allowed HTTP methods. | | `corsMaxAge` | int | `-1` | | Specify how long a result from a request can be cached in seconds. Example: 600 means 10 minutes. | -| `corsAllowCredentials` | bool | `'false` | | Use this setting to indicate that cookies should be included in CORS requests | +| `corsMethods` | array | `[]` | `[DELETE, GET, OPTIONS, PATCH, POST, PUT]` | Specify the allowed HTTP methods. | +| `corsOrigins` | array | `[]` | | Specify URLs of origin sites that can access this API, or use "*" to allow access from any site. | | `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | | `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. | | `diagnosticLogCategoriesToEnable` | array | `[AuditLogs]` | `[AuditLogs]` | The name of logs that will be streamed. | @@ -44,16 +46,37 @@ This module deploys a DICOM service. | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | | `location` | string | `[resourceGroup().location]` | | Location for all resources. | | `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | +| `publicNetworkAccess` | string | `'Disabled'` | `[Disabled, Enabled]` | Control permission for data plane traffic coming from public networks while private endpoint is enabled. | | `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. | | `tags` | object | `{object}` | | Tags of the resource. | | `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. | + ### Parameter Usage: `tags` Tag names and tag values can be provided as needed. A tag can be left without a value.
+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 @@ -76,6 +99,21 @@ You can specify multiple user assigned identities to a resource by providing add
+Parameter JSON format + +```json +"userAssignedIdentities": { + "value": { + "/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001": {}, + "/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002": {} + } +} +``` + +
+ +
+ Bicep format ```bicep @@ -86,15 +124,16 @@ userAssignedIdentities: { ```
+

## Outputs | Output Name | Type | Description | | :-- | :-- | :-- | | `location` | string | The location the resource was deployed into. | -| `name` | string | The name of the DICOM service. | +| `name` | string | The name of the dicom service. | | `resourceGroupName` | string | The resource group where the namespace is deployed. | -| `resourceId` | string | The resource ID of the DICOM service. | +| `resourceId` | string | The resource ID of the dicom service. | | `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. | ## Deployment examples @@ -139,4 +178,8 @@ module dicom './Microsoft.HealthcareApis/dicomservices/deploy.bicep' = { } ``` -

\ No newline at end of file + + +## Cross-referenced modules + +_None_ diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md index e69de29bb2..c54209ae8e 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md @@ -0,0 +1,220 @@ +# HealthcareApis Workspaces Fhirservices `[Microsoft.HealthcareApis/workspaces/fhirservices]` + +This module deploys HealthcareApis Workspaces Fhirservices. +// TODO: Replace Resource and fill in description + +## Navigation + +- [Resource Types](#Resource-Types) +- [Parameters](#Parameters) +- [Outputs](#Outputs) +- [Cross-referenced modules](#Cross-referenced-modules) + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) | +| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | +| `Microsoft.HealthcareApis/workspaces/fhirservices` | [2022-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.HealthcareApis/2022-06-01/workspaces/fhirservices) | +| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | + +## Parameters + +**Required parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the FHIR service. | +| `workspaceName` | string | The name of the parent health data services workspace. | + +**Optional parameters** + +| Parameter Name | Type | Default Value | Allowed Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `accessPolicyObjectIds` | array | `[]` | | List of Azure AD object IDs (User or Apps) that is allowed access to the FHIR service. | +| `acrLoginServers` | array | `[]` | | The list of the Azure container registry login servers. | +| `acrOciArtifacts` | array | `[]` | | The list of Open Container Initiative (OCI) artifacts. | +| `authenticationAudience` | string | `[format('https://{0}-{1}.fhir.azurehealthcareapis.com', parameters('workspaceName'), parameters('name'))]` | | | +| `authenticationAuthority` | string | `[uri(environment().authentication.loginEndpoint, subscription().tenantId)]` | | | +| `corsAllowCredentials` | bool | `False` | | Use this setting to indicate that cookies should be included in CORS requests. | +| `corsHeaders` | array | `[]` | | Specify HTTP headers which can be used during the request. Use "*" for any header. | +| `corsMaxAge` | int | `-1` | | Specify how long a result from a request can be cached in seconds. Example: 600 means 10 minutes. | +| `corsMethods` | array | `[]` | `[DELETE, GET, OPTIONS, PATCH, POST, PUT]` | Specify the allowed HTTP methods. | +| `corsOrigins` | array | `[]` | | Specify URLs of origin sites that can access this API, or use "*" to allow access from any site. | +| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | +| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. | +| `diagnosticLogCategoriesToEnable` | array | `[AuditLogs]` | `[AuditLogs]` | The name of logs that will be streamed. | +| `diagnosticLogsRetentionInDays` | int | `365` | | Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely. | +| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. | +| `diagnosticSettingsName` | string | `[format('{0}-diagnosticSettings', parameters('name'))]` | | The name of the diagnostic setting, if deployed. | +| `diagnosticStorageAccountId` | string | `''` | | Resource ID of the diagnostic storage account. | +| `diagnosticWorkspaceId` | string | `''` | | Resource ID of the diagnostic log analytics workspace. | +| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | +| `exportStorageAccountName` | string | `''` | | The name of the default export storage account. | +| `importEnabled` | bool | `False` | | If the import operation is enabled. | +| `importStorageAccountName` | string | `''` | | The name of the default integration storage account. | +| `initialImportMode` | bool | `False` | | If the FHIR service is in InitialImportMode. | +| `location` | string | `[resourceGroup().location]` | | Location for all resources. | +| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | +| `publicNetworkAccess` | string | `'Disabled'` | `[Disabled, Enabled]` | Control permission for data plane traffic coming from public networks while private endpoint is enabled. | +| `resourceVersionOverrides` | object | `{object}` | | | +| `resourceVersionPolicy` | string | `'versioned'` | `[no-version, versioned, versioned-update]` | | +| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | +| `smartProxyEnabled` | bool | `False` | | | +| `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. | +| `tags` | object | `{object}` | | Tags of the resource. | +| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. | + + +### Parameter Usage: `` + +// TODO: Fill in Parameter usage + +### 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. + +
+ +Parameter JSON format + +```json +"roleAssignments": { + "value": [ + { + "roleDefinitionIdOrName": "Reader", + "description": "Reader Role Assignment", + "principalIds": [ + "12345678-1234-1234-1234-123456789012", // object 1 + "78945612-1234-1234-1234-123456789012" // object 2 + ] + }, + { + "roleDefinitionIdOrName": "/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11", + "principalIds": [ + "12345678-1234-1234-1234-123456789012" // object 1 + ], + "principalType": "ServicePrincipal" + } + ] +} +``` + +
+ +
+ +Bicep format + +```bicep +roleAssignments: [ + { + roleDefinitionIdOrName: 'Reader' + description: 'Reader Role Assignment' + principalIds: [ + '12345678-1234-1234-1234-123456789012' // object 1 + '78945612-1234-1234-1234-123456789012' // object 2 + ] + } + { + roleDefinitionIdOrName: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11' + principalIds: [ + '12345678-1234-1234-1234-123456789012' // object 1 + ] + principalType: 'ServicePrincipal' + } +] +``` + +
+

+ +### Parameter Usage: `tags` + +Tag names and tag values can be provided as needed. A tag can be left without a value. + +

+ +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 Usage: `userAssignedIdentities` + +You can specify multiple user assigned identities to a resource by providing additional resource IDs using the following format: + +

+ +Parameter JSON format + +```json +"userAssignedIdentities": { + "value": { + "/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001": {}, + "/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002": {} + } +} +``` + +
+ +
+ +Bicep format + +```bicep +userAssignedIdentities: { + '/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001': {} + '/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002': {} +} +``` + +
+

+ +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `location` | string | The location the resource was deployed into. | +| `name` | string | The name of the fhir service. | +| `resourceGroupName` | string | The resource group where the namespace is deployed. | +| `resourceId` | string | The resource ID of the fhir service. | +| `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. | +| `workspaceName` | string | The name of the fhir workspace. | + +## Cross-referenced modules + +_None_ diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md index e69de29bb2..c1c1573763 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md @@ -0,0 +1,56 @@ +# HealthcareApis Workspaces Iotconnectors Fhirdestinations `[Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations]` + +This module deploys HealthcareApis Workspaces Iotconnectors Fhirdestinations. +// TODO: Replace Resource and fill in description + +## Navigation + +- [Resource Types](#Resource-Types) +- [Parameters](#Parameters) +- [Outputs](#Outputs) +- [Cross-referenced modules](#Cross-referenced-modules) + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations` | [2022-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.HealthcareApis/2022-06-01/workspaces/iotconnectors/fhirdestinations) | + +## Parameters + +**Required parameters** + +| Parameter Name | Type | Default Value | Description | +| :-- | :-- | :-- | :-- | +| `destinationMapping` | object | `{object}` | The mapping JSON that determines how normalized data is converted to FHIR Observations. | +| `fhirServiceResourceId` | string | | The resource identifier of the FHIR Service to connect to. | +| `iotConnectorName` | string | | The name of the MedTech service to add this destination to. | +| `name` | string | | The name of the FHIR destination. | +| `workspaceName` | string | | The name of the parent health data services workspace. | + +**Optional parameters** + +| Parameter Name | Type | Default Value | Allowed Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | +| `location` | string | `[resourceGroup().location]` | | Location for all resources. | +| `resourceIdentityResolutionType` | string | `'Lookup'` | `[Create, Lookup]` | Determines how resource identity is resolved on the destination. | + + +### Parameter Usage: `` + +// TODO: Fill in Parameter usage + +## 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_ diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md index e69de29bb2..ac047d63ce 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md @@ -0,0 +1,149 @@ +# HealthcareApis Workspaces Iotconnectors `[Microsoft.HealthcareApis/workspaces/iotconnectors]` + +This module deploys HealthcareApis Workspaces Iotconnectors. +// TODO: Replace Resource and fill in description + +## Navigation + +- [Resource Types](#Resource-Types) +- [Parameters](#Parameters) +- [Outputs](#Outputs) +- [Cross-referenced modules](#Cross-referenced-modules) + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) | +| `Microsoft.HealthcareApis/workspaces/iotconnectors` | [2022-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.HealthcareApis/2022-06-01/workspaces/iotconnectors) | +| `Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations` | [2022-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.HealthcareApis/2022-06-01/workspaces/iotconnectors/fhirdestinations) | +| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | + +## Parameters + +**Required parameters** + +| Parameter Name | Type | Default Value | Description | +| :-- | :-- | :-- | :-- | +| `destinationMapping` | object | `{object}` | The mapping JSON that determines how normalized data is converted to FHIR Observations. | +| `deviceMapping` | object | `{object}` | The mapping JSON that determines how incoming device data is normalized. | +| `eventHubName` | string | | Event Hub name to connect to. | +| `eventHubNamespaceName` | string | | Namespace of the Event Hub to connect to. | +| `fhirServiceResourceId` | string | | The resource identifier of the FHIR Service to connect to. | +| `name` | string | | The name of the MedTech service. | +| `workspaceName` | string | | The name of the parent health data services workspace. | + +**Optional parameters** + +| Parameter Name | Type | Default Value | Allowed Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `consumerGroup` | string | `[parameters('name')]` | | Consumer group of the event hub to connected to. | +| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | +| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. | +| `diagnosticLogCategoriesToEnable` | array | `[DiagnosticLogs]` | `[DiagnosticLogs]` | The name of logs that will be streamed. | +| `diagnosticLogsRetentionInDays` | int | `365` | | Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely. | +| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. | +| `diagnosticSettingsName` | string | `[format('{0}-diagnosticSettings', parameters('name'))]` | | The name of the diagnostic setting, if deployed. | +| `diagnosticStorageAccountId` | string | `''` | | Resource ID of the diagnostic storage account. | +| `diagnosticWorkspaceId` | string | `''` | | Resource ID of the diagnostic log analytics workspace. | +| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | +| `location` | string | `[resourceGroup().location]` | | Location for all resources. | +| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | +| `resourceIdentityResolutionType` | string | `'Lookup'` | `[Create, Lookup]` | Determines how resource identity is resolved on the destination. | +| `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. | +| `tags` | object | `{object}` | | Tags of the resource. | +| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. | + + +### Parameter Usage: `` + +// TODO: Fill in Parameter usage + +### Parameter Usage: `tags` + +Tag names and tag values can be provided as needed. A tag can be left without a value. + +

+ +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 Usage: `userAssignedIdentities` + +You can specify multiple user assigned identities to a resource by providing additional resource IDs using the following format: + +

+ +Parameter JSON format + +```json +"userAssignedIdentities": { + "value": { + "/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001": {}, + "/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002": {} + } +} +``` + +
+ +
+ +Bicep format + +```bicep +userAssignedIdentities: { + '/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001': {} + '/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002': {} +} +``` + +
+

+ +## 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_ From c0b902319503c888dffb15d3090cb0ad2e2c1440 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Fri, 2 Dec 2022 10:26:34 -0500 Subject: [PATCH 05/81] update readme --- .../Microsoft.HealthcareApis/workspaces/fhirservices/readme.md | 3 +-- .../workspaces/iotconnectors/fhirdestinations/readme.md | 3 +-- .../workspaces/iotconnectors/readme.md | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md index c54209ae8e..236648f8ee 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md @@ -1,7 +1,6 @@ # HealthcareApis Workspaces Fhirservices `[Microsoft.HealthcareApis/workspaces/fhirservices]` -This module deploys HealthcareApis Workspaces Fhirservices. -// TODO: Replace Resource and fill in description +This module deploys HealthcareApis Workspaces FHIR Service. ## Navigation diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md index c1c1573763..42da077226 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md @@ -1,7 +1,6 @@ # HealthcareApis Workspaces Iotconnectors Fhirdestinations `[Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations]` -This module deploys HealthcareApis Workspaces Iotconnectors Fhirdestinations. -// TODO: Replace Resource and fill in description +This module deploys HealthcareApis MedTech FHIR Destination. ## Navigation diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md index ac047d63ce..dbea5d09f4 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md @@ -1,7 +1,6 @@ # HealthcareApis Workspaces Iotconnectors `[Microsoft.HealthcareApis/workspaces/iotconnectors]` -This module deploys HealthcareApis Workspaces Iotconnectors. -// TODO: Replace Resource and fill in description +This module deploys HealthcareApis MedTech Service. ## Navigation From cf0c5610c9202a5e9326587bdc46c4d58b2fb30b Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Fri, 2 Dec 2022 10:28:07 -0500 Subject: [PATCH 06/81] remove commented code --- .../workspaces/dicomservices/deploy.bicep | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep index ce81a80c80..4a847d8f43 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep @@ -102,7 +102,6 @@ var identity = identityType != 'None' ? { userAssignedIdentities: !empty(userAssignedIdentities) ? userAssignedIdentities : null } : null - // =========== // // Deployments // // =========== // @@ -129,7 +128,6 @@ resource dicom 'Microsoft.HealthcareApis/workspaces/dicomservices@2022-06-01' = parent: workspace identity: identity properties: { - // authenticationConfiguration: {} corsConfiguration: { allowCredentials: corsAllowCredentials headers: corsHeaders From 258b4f1531a8ddf29ddf8312abd38e67acff499a Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Fri, 2 Dec 2022 10:54:24 -0500 Subject: [PATCH 07/81] update readme --- .../workspaces/dicomservices/readme.md | 2 +- .../workspaces/fhirservices/readme.md | 75 +++++++- .../workspaces/iotconnectors/readme.md | 163 +++++++++++++++++- .../workspaces/readme.md | 12 +- 4 files changed, 241 insertions(+), 11 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md index 7b86c01350..f3b9bd9140 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md @@ -145,7 +145,7 @@ userAssignedIdentities: {

via Bicep module ```bicep -module dicom './Microsoft.HealthcareApis/dicomservices/deploy.bicep' = { +module dicom './Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep' = { name: '${uniqueString(deployment().name)}-test-dicom' params: { // Required parameters diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md index 236648f8ee..c55e79e00a 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md @@ -65,10 +65,81 @@ This module deploys HealthcareApis Workspaces FHIR Service. | `tags` | object | `{object}` | | Tags of the resource. | | `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 JSON format + +```json +"acrOciArtifacts": { + "value": { + [{ + "digest": "sha256:0a2e01852872580b2c2fea9380ff8d7b637d3928783c55beb3f21a6e58d5d108", + "imageName": "myimage:v1", + "loginServer": "myregistry.azurecr.io" + }] + } +} +``` + +
-### Parameter Usage: `` +
-// TODO: Fill in Parameter usage +Bicep format + +```bicep +acrOciArtifacts: [ + { + digest: 'sha256:0a2e01852872580b2c2fea9380ff8d7b637d3928783c55beb3f21a6e58d5d108' + imageName: 'myimage:v1' + loginServer: 'myregistry.azurecr.io' + } +] +``` + +
+ +

+ +### Parameter Usage: `userAssignedIdentities` + +You can specify multiple user assigned identities to a resource by providing additional resource IDs using the following format: + +

+ +Parameter JSON format + +```json +"userAssignedIdentities": { + "value": { + "/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001": {}, + "/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002": {} + } +} +``` + +
+ +
+ +Bicep format + +```bicep +userAssignedIdentities: { + '/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001': {} + '/subscriptions/<>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002': {} +} +``` + +
+ +

### Parameter Usage: `roleAssignments` diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md index dbea5d09f4..96ac7c6d81 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md @@ -54,9 +54,142 @@ This module deploys HealthcareApis MedTech Service. | `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. | -### Parameter Usage: `` +### Parameter Usage: `deviceMapping` -// TODO: Fill in Parameter usage +You can specify a collection of device mapping using the following format: + +> NOTE: More detailed information on device mappings can be found [here](https://learn.microsoft.com/en-us/azure/healthcare-apis/iot/how-to-use-device-mappings). + +

+ +Parameter JSON format + +```json +"deviceMapping": { + "value": { + "templateType": "CollectionContent", + "template": [ + { + "templateType": "JsonPathContent", + "template": { + "typeName": "heartrate", + "typeMatchExpression": "$..[?(@heartRate)]", + "deviceIdExpression": "$.deviceId", + "timestampExpression": "$.endDate", + "values": [ + { + "required": "true", + "valueExpression": "$.heartRate", + "valueName": "hr" + } + ] + } + } + ] + } +} +``` + +
+ +
+ +Bicep format + +```bicep +deviceMapping: { + templateType: 'CollectionContent' + template: [ + { + templateType: 'JsonPathContent' + template: { + typeName: 'heartrate' + typeMatchExpression: '$..[?(@heartRate)]' + deviceIdExpression: '$.deviceId' + timestampExpression: '$.endDate' + values: [ + { + required: 'true' + valueExpression: '$.heartRat' + valueName: 'hr' + } + ] + } + }] +} +``` + +
+ +

+ +### Parameter Usage: `destinationMapping` + +You can specify a collection of destination mapping using the following format: + +> NOTE: More detailed information on destination mappings can be found [here](https://learn.microsoft.com/en-us/azure/healthcare-apis/iot/how-to-use-fhir-mappings). + +

+ +Parameter JSON format + +```json +"destinationMapping": { + "value": { + "templateType": "CodeValueFhir", + "template": { + "codes": [ + { + "code": "8867-4", + "system": "http://loinc.org", + "display": "Heart rate" + } + ], + "periodInterval": 60, + "typeName": "heartrate", + "value": { + "defaultPeriod": 5000, + "unit": "count/min", + "valueName": "hr", + "valueType": "SampledData" + } + } + } +} +``` + +
+ +
+ +Bicep format + +```bicep +destinationMapping: { + templateType: 'CodeValueFhir' + template: { + codes: [ + { + code: '8867-4' + system: 'http://loinc.org' + display: 'Heart rate' + } + ], + periodInterval: 60, + typeName: 'heartrate' + value: { + defaultPeriod: 5000 + unit: 'count/min' + valueName: 'hr' + valueType: 'SampledData' + } + } +} +``` + +
+ +

### Parameter Usage: `tags` @@ -143,6 +276,32 @@ userAssignedIdentities: { | `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. | | `workspaceName` | string | The name of the medtech workspace. | +## Deployment examples + +

Example 1: min

+ +
+ +via Bicep module + +```bicep +module iotConnector './Microsoft.HealthcareApis/workspaces/iotconnectorsdeploy.bicep' = { + name: '${uniqueString(deployment().name)}-test-iomt' + params: { + // Required parameters + name: '<>iomt001' + workspaceName: '' + eventHubName: '' + eventHubNamespaceName: '' + deviceMapping: '' + destinationMapping '' + fhirServiceResourceId: '' + } +} +``` + +
+ ## Cross-referenced modules _None_ diff --git a/modules/Microsoft.HealthcareApis/workspaces/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md index 90a6a2eb14..f69445a78d 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -1,4 +1,4 @@ -# DICOM Services `[Microsoft.HealthcareApis/workspaces]` +# Health Data Services workspace `[Microsoft.HealthcareApis/workspaces]` This module deploys a Health Data Services workspace. @@ -72,16 +72,16 @@ tags: { via Bicep module ```bicep -module dicom './Microsoft.HealthcareApis/deploy.bicep' = { +module health './Microsoft.HealthcareApis/deploy.bicep' = { name: '${uniqueString(deployment().name)}-test-hds' params: { // Required parameters - name: '<>hds001' - // Non-required parameters - lock: 'CanNotDelete' + name: '<>hds001' + // Non-required parameters + lock: 'CanNotDelete' publicNetworkAccess: 'Enabled' } } ``` - \ No newline at end of file + From 0c93f067168f3aabf13d6730c0c19659844e1a36 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Fri, 2 Dec 2022 10:59:20 -0500 Subject: [PATCH 08/81] update fhir service readme --- .../workspaces/fhirservices/readme.md | 22 +++++ .../iotconnectors/fhirdestinations/readme.md | 93 ++++++++++++++++++- .../workspaces/iotconnectors/readme.md | 3 +- 3 files changed, 114 insertions(+), 4 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md index c55e79e00a..fd3e66c737 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md @@ -7,6 +7,7 @@ This module deploys HealthcareApis Workspaces FHIR Service. - [Resource Types](#Resource-Types) - [Parameters](#Parameters) - [Outputs](#Outputs) +- [Deployment examples](#Deployment-examples) - [Cross-referenced modules](#Cross-referenced-modules) ## Resource Types @@ -285,6 +286,27 @@ userAssignedIdentities: { | `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. | | `workspaceName` | string | The name of the fhir workspace. | +## Deployment examples + +

Example 1: min

+ +
+ +via Bicep module + +```bicep +module fhir './Microsoft.HealthcareApis/workspaces/fhireservices/deploy.bicep' = { + name: '${uniqueString(deployment().name)}-test-fhir' + params: { + // Required parameters + name: '<>fhir001' + workspaceName: '' + } +} +``` + +
+ ## Cross-referenced modules _None_ diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md index 42da077226..e1448da6ec 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md @@ -7,6 +7,7 @@ This module deploys HealthcareApis MedTech FHIR Destination. - [Resource Types](#Resource-Types) - [Parameters](#Parameters) - [Outputs](#Outputs) +- [Deployment examples](#Deployment-examples) - [Cross-referenced modules](#Cross-referenced-modules) ## Resource Types @@ -36,9 +37,71 @@ This module deploys HealthcareApis MedTech FHIR Destination. | `resourceIdentityResolutionType` | string | `'Lookup'` | `[Create, Lookup]` | Determines how resource identity is resolved on the destination. | -### Parameter Usage: `` - -// TODO: Fill in Parameter usage +### Parameter Usage: `destinationMapping` + +You can specify a collection of destination mapping using the following format: + +> NOTE: More detailed information on destination mappings can be found [here](https://learn.microsoft.com/en-us/azure/healthcare-apis/iot/how-to-use-fhir-mappings). + +
+ +Parameter JSON format + +```json +"destinationMapping": { + "value": { + "templateType": "CodeValueFhir", + "template": { + "codes": [ + { + "code": "8867-4", + "system": "http://loinc.org", + "display": "Heart rate" + } + ], + "periodInterval": 60, + "typeName": "heartrate", + "value": { + "defaultPeriod": 5000, + "unit": "count/min", + "valueName": "hr", + "valueType": "SampledData" + } + } + } +} +``` + +
+ +
+ +Bicep format + +```bicep +destinationMapping: { + templateType: 'CodeValueFhir' + template: { + codes: [ + { + code: '8867-4' + system: 'http://loinc.org' + display: 'Heart rate' + } + ], + periodInterval: 60, + typeName: 'heartrate' + value: { + defaultPeriod: 5000 + unit: 'count/min' + valueName: 'hr' + valueType: 'SampledData' + } + } +} +``` + +
## Outputs @@ -50,6 +113,30 @@ This module deploys HealthcareApis MedTech FHIR Destination. | `resourceGroupName` | string | The resource group where the namespace is deployed. | | `resourceId` | string | The resource ID of the FHIR destination. | +## Deployment examples + +

Example 1: min

+ +
+ +via Bicep module + +```bicep +module iotConnector_destination './Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep' = { + name: '${uniqueString(deployment().name)}-test-iomtmap' + params: { + // Required parameters + name: '<>iomtmap001' + workspaceName: '' + iotConnectorName: '' + destinationMapping '' + fhirServiceResourceId: '' + } +} +``` + +
+ ## Cross-referenced modules _None_ diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md index 96ac7c6d81..44082a7355 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md @@ -7,6 +7,7 @@ This module deploys HealthcareApis MedTech Service. - [Resource Types](#Resource-Types) - [Parameters](#Parameters) - [Outputs](#Outputs) +- [Deployment examples](#Deployment-examples) - [Cross-referenced modules](#Cross-referenced-modules) ## Resource Types @@ -285,7 +286,7 @@ userAssignedIdentities: { via Bicep module ```bicep -module iotConnector './Microsoft.HealthcareApis/workspaces/iotconnectorsdeploy.bicep' = { +module iotConnector './Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep' = { name: '${uniqueString(deployment().name)}-test-iomt' params: { // Required parameters From 435ed7a7af93d11c59850ad52d669f1538f7de2b Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Fri, 2 Dec 2022 11:06:31 -0500 Subject: [PATCH 09/81] cleanup --- .../workspaces/fhirservices/deploy.bicep | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep index 9cf42c383d..6778589363 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep @@ -258,7 +258,6 @@ resource fhir_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@2021-05- scope: fhir } - module fhir_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment, index) in roleAssignments: { name: '${deployment().name}-Rbac-${index}' params: { @@ -268,7 +267,6 @@ module fhir_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAs roleDefinitionIdOrName: roleAssignment.roleDefinitionIdOrName condition: contains(roleAssignment, 'condition') ? roleAssignment.condition : '' delegatedManagedIdentityResourceId: contains(roleAssignment, 'delegatedManagedIdentityResourceId') ? roleAssignment.delegatedManagedIdentityResourceId : '' - //resourceName: '${workspaceName}/${fhir.name}' resourceId: fhir.id } }] From b7e08e45deb6415ffc38ce4d1c5090fe39d7b04b Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Fri, 2 Dec 2022 11:15:09 -0500 Subject: [PATCH 10/81] add new ADO pipelines for Health Data Services --- ...ealthcareapis.workspaces.dicomservices.yml | 40 +++++++++++++++++++ ...healthcareapis.workspaces.fhirservices.yml | 40 +++++++++++++++++++ ...kspaces.iotconnectors.fhirdestinations.yml | 40 +++++++++++++++++++ ...ealthcareapis.workspaces.iotconnectors.yml | 40 +++++++++++++++++++ .../ms.healthcareapis.workspaces.yml | 40 +++++++++++++++++++ 5 files changed, 200 insertions(+) create mode 100644 .azuredevops/modulePipelines/ms.healthcareapis.workspaces.dicomservices.yml create mode 100644 .azuredevops/modulePipelines/ms.healthcareapis.workspaces.fhirservices.yml create mode 100644 .azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml create mode 100644 .azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.yml create mode 100644 .azuredevops/modulePipelines/ms.healthcareapis.workspaces.yml diff --git a/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.dicomservices.yml b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.dicomservices.yml new file mode 100644 index 0000000000..90dec74a32 --- /dev/null +++ b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.dicomservices.yml @@ -0,0 +1,40 @@ +name: 'HealthcareApis - DICOM Services' + +parameters: + - name: removeDeployment + displayName: Remove deployed module + type: boolean + default: true + - name: prerelease + displayName: Publish prerelease module + type: boolean + default: false + +pr: none + +trigger: + batch: true + branches: + include: + - main + paths: + include: + - '/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.dicomservices.yml' + - '/.azuredevops/pipelineTemplates/*.yml' + - '/modules/Microsoft.HealthcareApis/workspaces/dicomservices/*' + - '/utilities/pipelines/*' + exclude: + - '/utilities/pipelines/deploymentRemoval/*' + - '/**/*.md' + +variables: + - template: '../../settings.yml' + - group: 'PLATFORM_VARIABLES' + - name: modulePath + value: '/modules/Microsoft.HealthcareApis/workspaces/dicomservices' + +stages: + - template: /.azuredevops/pipelineTemplates/stages.module.yml + parameters: + removeDeployment: '${{ parameters.removeDeployment }}' + prerelease: '${{ parameters.prerelease }}' diff --git a/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.fhirservices.yml b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.fhirservices.yml new file mode 100644 index 0000000000..5e774d0b20 --- /dev/null +++ b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.fhirservices.yml @@ -0,0 +1,40 @@ +name: 'HealthcareApis - FHIR Services' + +parameters: + - name: removeDeployment + displayName: Remove deployed module + type: boolean + default: true + - name: prerelease + displayName: Publish prerelease module + type: boolean + default: false + +pr: none + +trigger: + batch: true + branches: + include: + - main + paths: + include: + - '/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.fhirservices.yml' + - '/.azuredevops/pipelineTemplates/*.yml' + - '/modules/Microsoft.HealthcareApis/workspaces/fhirservices/*' + - '/utilities/pipelines/*' + exclude: + - '/utilities/pipelines/deploymentRemoval/*' + - '/**/*.md' + +variables: + - template: '../../settings.yml' + - group: 'PLATFORM_VARIABLES' + - name: modulePath + value: '/modules/Microsoft.HealthcareApis/workspaces/fhirservices' + +stages: + - template: /.azuredevops/pipelineTemplates/stages.module.yml + parameters: + removeDeployment: '${{ parameters.removeDeployment }}' + prerelease: '${{ parameters.prerelease }}' diff --git a/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml new file mode 100644 index 0000000000..10cbd02095 --- /dev/null +++ b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml @@ -0,0 +1,40 @@ +name: 'HealthcareApis - IOT Connectors FHIR Destinations' + +parameters: + - name: removeDeployment + displayName: Remove deployed module + type: boolean + default: true + - name: prerelease + displayName: Publish prerelease module + type: boolean + default: false + +pr: none + +trigger: + batch: true + branches: + include: + - main + paths: + include: + - '/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml' + - '/.azuredevops/pipelineTemplates/*.yml' + - '/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/*' + - '/utilities/pipelines/*' + exclude: + - '/utilities/pipelines/deploymentRemoval/*' + - '/**/*.md' + +variables: + - template: '../../settings.yml' + - group: 'PLATFORM_VARIABLES' + - name: modulePath + value: '/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations' + +stages: + - template: /.azuredevops/pipelineTemplates/stages.module.yml + parameters: + removeDeployment: '${{ parameters.removeDeployment }}' + prerelease: '${{ parameters.prerelease }}' diff --git a/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.yml b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.yml new file mode 100644 index 0000000000..72a47f2f23 --- /dev/null +++ b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.yml @@ -0,0 +1,40 @@ +name: 'HealthcareApis - IOT Connectors' + +parameters: + - name: removeDeployment + displayName: Remove deployed module + type: boolean + default: true + - name: prerelease + displayName: Publish prerelease module + type: boolean + default: false + +pr: none + +trigger: + batch: true + branches: + include: + - main + paths: + include: + - '/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.yml' + - '/.azuredevops/pipelineTemplates/*.yml' + - '/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/*' + - '/utilities/pipelines/*' + exclude: + - '/utilities/pipelines/deploymentRemoval/*' + - '/**/*.md' + +variables: + - template: '../../settings.yml' + - group: 'PLATFORM_VARIABLES' + - name: modulePath + value: '/modules/Microsoft.HealthcareApis/workspaces/iotconnectors' + +stages: + - template: /.azuredevops/pipelineTemplates/stages.module.yml + parameters: + removeDeployment: '${{ parameters.removeDeployment }}' + prerelease: '${{ parameters.prerelease }}' diff --git a/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.yml b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.yml new file mode 100644 index 0000000000..73650852cd --- /dev/null +++ b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.yml @@ -0,0 +1,40 @@ +name: 'HealthcareApis - Workspaces' + +parameters: + - name: removeDeployment + displayName: Remove deployed module + type: boolean + default: true + - name: prerelease + displayName: Publish prerelease module + type: boolean + default: false + +pr: none + +trigger: + batch: true + branches: + include: + - main + paths: + include: + - '/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.yml' + - '/.azuredevops/pipelineTemplates/*.yml' + - '/modules/Microsoft.HealthcareApis/workspaces/*' + - '/utilities/pipelines/*' + exclude: + - '/utilities/pipelines/deploymentRemoval/*' + - '/**/*.md' + +variables: + - template: '../../settings.yml' + - group: 'PLATFORM_VARIABLES' + - name: modulePath + value: '/modules/Microsoft.HealthcareApis/workspaces' + +stages: + - template: /.azuredevops/pipelineTemplates/stages.module.yml + parameters: + removeDeployment: '${{ parameters.removeDeployment }}' + prerelease: '${{ parameters.prerelease }}' From 939e7c6e24d467c8256eacfdbd37f49ac9c0dc0e Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Fri, 2 Dec 2022 11:25:07 -0500 Subject: [PATCH 11/81] add github workflows --- ...ealthcareapis.workspaces.dicomservices.yml | 144 ++++++++++++++++++ ...healthcareapis.workspaces.fhirservices.yml | 144 ++++++++++++++++++ ...kspaces.iotconnectors.fhirdestinations.yml | 144 ++++++++++++++++++ ...ealthcareapis.workspaces.iotconnectors.yml | 144 ++++++++++++++++++ .../ms.healthcareapis.workspaces.yml | 144 ++++++++++++++++++ 5 files changed, 720 insertions(+) create mode 100644 .github/workflows/ms.healthcareapis.workspaces.dicomservices.yml create mode 100644 .github/workflows/ms.healthcareapis.workspaces.fhirservices.yml create mode 100644 .github/workflows/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml create mode 100644 .github/workflows/ms.healthcareapis.workspaces.iotconnectors.yml create mode 100644 .github/workflows/ms.healthcareapis.workspaces.yml diff --git a/.github/workflows/ms.healthcareapis.workspaces.dicomservices.yml b/.github/workflows/ms.healthcareapis.workspaces.dicomservices.yml new file mode 100644 index 0000000000..f4fac242fb --- /dev/null +++ b/.github/workflows/ms.healthcareapis.workspaces.dicomservices.yml @@ -0,0 +1,144 @@ +name: 'HealthcareApis - DICOM Services' + +on: + workflow_dispatch: + inputs: + removeDeployment: + type: boolean + description: 'Remove deployed module' + required: false + default: true + prerelease: + type: boolean + description: 'Publish prerelease module' + required: false + default: false + push: + branches: + - main + paths: + - '.github/actions/templates/**' + - '.github/workflows/ms.healthcareapis.workspaces.dicomservices.yml' + - 'modules/Microsoft.HealthcareApis/workspaces/dicomservices/**' + - 'utilities/pipelines/**' + - '!utilities/pipelines/deploymentRemoval/**' + - '!*/**/readme.md' + +env: + variablesPath: 'settings.yml' + modulePath: 'modules/Microsoft.HealthcareApis/workspaces/dicomservices' + workflowPath: '.github/workflows/ms.healthcareapis.workspaces.dicomservices.yml' + AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }} + ARM_SUBSCRIPTION_ID: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + ARM_MGMTGROUP_ID: '${{ secrets.ARM_MGMTGROUP_ID }}' + ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}' + TOKEN_NAMEPREFIX: '${{ secrets.TOKEN_NAMEPREFIX }}' + +jobs: + ########################### + # Initialize pipeline # + ########################### + job_initialize_pipeline: + runs-on: ubuntu-20.04 + name: 'Initialize pipeline' + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: 'Set input parameters to output variables' + id: get-workflow-param + uses: ./.github/actions/templates/getWorkflowInput + with: + workflowPath: '${{ env.workflowPath}}' + - name: 'Get parameter file paths' + id: get-module-test-file-paths + uses: ./.github/actions/templates/getModuleTestFiles + with: + modulePath: '${{ env.modulePath }}' + outputs: + workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }} + moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }} + + ######################### + # Static validation # + ######################### + job_module_pester_validation: + runs-on: ubuntu-20.04 + name: 'Static validation' + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Run tests' + uses: ./.github/actions/templates/validateModulePester + with: + modulePath: '${{ env.modulePath }}' + moduleTestFilePath: '${{ env.moduleTestFilePath }}' + + ############################# + # Deployment validation # + ############################# + job_module_deploy_validation: + runs-on: ubuntu-20.04 + name: 'Deployment validation' + needs: + - job_initialize_pipeline + - job_module_pester_validation + strategy: + fail-fast: false + matrix: + moduleTestFilePaths: ${{ fromJson(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' + uses: ./.github/actions/templates/validateModuleDeployment + with: + templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' + location: '${{ env.location }}' + subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' + removeDeployment: '${{ (fromJson(needs.job_initialize_pipeline.outputs.workflowInput)).removeDeployment }}' + + ################## + # Publishing # + ################## + job_publish_module: + name: 'Publishing' + if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event.inputs.prerelease == 'true' + runs-on: ubuntu-20.04 + needs: + - job_module_deploy_validation + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Publishing' + uses: ./.github/actions/templates/publishModule + with: + templateFilePath: '${{ env.modulePath }}/deploy.bicep' + templateSpecsRGName: '${{ env.templateSpecsRGName }}' + templateSpecsRGLocation: '${{ env.templateSpecsRGLocation }}' + templateSpecsDescription: '${{ env.templateSpecsDescription }}' + templateSpecsDoPublish: '${{ env.templateSpecsDoPublish }}' + bicepRegistryName: '${{ env.bicepRegistryName }}' + bicepRegistryRGName: '${{ env.bicepRegistryRGName }}' + bicepRegistryRgLocation: '${{ env.bicepRegistryRgLocation }}' + bicepRegistryDoPublish: '${{ env.bicepRegistryDoPublish }}' diff --git a/.github/workflows/ms.healthcareapis.workspaces.fhirservices.yml b/.github/workflows/ms.healthcareapis.workspaces.fhirservices.yml new file mode 100644 index 0000000000..5c978b5ea1 --- /dev/null +++ b/.github/workflows/ms.healthcareapis.workspaces.fhirservices.yml @@ -0,0 +1,144 @@ +name: 'HealthcareApis - FHIR Services' + +on: + workflow_dispatch: + inputs: + removeDeployment: + type: boolean + description: 'Remove deployed module' + required: false + default: true + prerelease: + type: boolean + description: 'Publish prerelease module' + required: false + default: false + push: + branches: + - main + paths: + - '.github/actions/templates/**' + - '.github/workflows/ms.healthcareapis.workspaces.fhirservices.yml' + - 'modules/Microsoft.HealthcareApis/workspaces/fhirservices/**' + - 'utilities/pipelines/**' + - '!utilities/pipelines/deploymentRemoval/**' + - '!*/**/readme.md' + +env: + variablesPath: 'settings.yml' + modulePath: 'modules/Microsoft.HealthcareApis/workspaces/fhirservices' + workflowPath: '.github/workflows/ms.healthcareapis.workspaces.fhirservices.yml' + AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }} + ARM_SUBSCRIPTION_ID: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + ARM_MGMTGROUP_ID: '${{ secrets.ARM_MGMTGROUP_ID }}' + ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}' + TOKEN_NAMEPREFIX: '${{ secrets.TOKEN_NAMEPREFIX }}' + +jobs: + ########################### + # Initialize pipeline # + ########################### + job_initialize_pipeline: + runs-on: ubuntu-20.04 + name: 'Initialize pipeline' + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: 'Set input parameters to output variables' + id: get-workflow-param + uses: ./.github/actions/templates/getWorkflowInput + with: + workflowPath: '${{ env.workflowPath}}' + - name: 'Get parameter file paths' + id: get-module-test-file-paths + uses: ./.github/actions/templates/getModuleTestFiles + with: + modulePath: '${{ env.modulePath }}' + outputs: + workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }} + moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }} + + ######################### + # Static validation # + ######################### + job_module_pester_validation: + runs-on: ubuntu-20.04 + name: 'Static validation' + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Run tests' + uses: ./.github/actions/templates/validateModulePester + with: + modulePath: '${{ env.modulePath }}' + moduleTestFilePath: '${{ env.moduleTestFilePath }}' + + ############################# + # Deployment validation # + ############################# + job_module_deploy_validation: + runs-on: ubuntu-20.04 + name: 'Deployment validation' + needs: + - job_initialize_pipeline + - job_module_pester_validation + strategy: + fail-fast: false + matrix: + moduleTestFilePaths: ${{ fromJson(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' + uses: ./.github/actions/templates/validateModuleDeployment + with: + templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' + location: '${{ env.location }}' + subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' + removeDeployment: '${{ (fromJson(needs.job_initialize_pipeline.outputs.workflowInput)).removeDeployment }}' + + ################## + # Publishing # + ################## + job_publish_module: + name: 'Publishing' + if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event.inputs.prerelease == 'true' + runs-on: ubuntu-20.04 + needs: + - job_module_deploy_validation + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Publishing' + uses: ./.github/actions/templates/publishModule + with: + templateFilePath: '${{ env.modulePath }}/deploy.bicep' + templateSpecsRGName: '${{ env.templateSpecsRGName }}' + templateSpecsRGLocation: '${{ env.templateSpecsRGLocation }}' + templateSpecsDescription: '${{ env.templateSpecsDescription }}' + templateSpecsDoPublish: '${{ env.templateSpecsDoPublish }}' + bicepRegistryName: '${{ env.bicepRegistryName }}' + bicepRegistryRGName: '${{ env.bicepRegistryRGName }}' + bicepRegistryRgLocation: '${{ env.bicepRegistryRgLocation }}' + bicepRegistryDoPublish: '${{ env.bicepRegistryDoPublish }}' diff --git a/.github/workflows/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml b/.github/workflows/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml new file mode 100644 index 0000000000..3951daa6b7 --- /dev/null +++ b/.github/workflows/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml @@ -0,0 +1,144 @@ +name: 'HealthcareApis - IOT Connectors FHIR Destinations' + +on: + workflow_dispatch: + inputs: + removeDeployment: + type: boolean + description: 'Remove deployed module' + required: false + default: true + prerelease: + type: boolean + description: 'Publish prerelease module' + required: false + default: false + push: + branches: + - main + paths: + - '.github/actions/templates/**' + - '.github/workflows/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml' + - 'modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/**' + - 'utilities/pipelines/**' + - '!utilities/pipelines/deploymentRemoval/**' + - '!*/**/readme.md' + +env: + variablesPath: 'settings.yml' + modulePath: 'modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations' + workflowPath: '.github/workflows/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml' + AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }} + ARM_SUBSCRIPTION_ID: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + ARM_MGMTGROUP_ID: '${{ secrets.ARM_MGMTGROUP_ID }}' + ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}' + TOKEN_NAMEPREFIX: '${{ secrets.TOKEN_NAMEPREFIX }}' + +jobs: + ########################### + # Initialize pipeline # + ########################### + job_initialize_pipeline: + runs-on: ubuntu-20.04 + name: 'Initialize pipeline' + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: 'Set input parameters to output variables' + id: get-workflow-param + uses: ./.github/actions/templates/getWorkflowInput + with: + workflowPath: '${{ env.workflowPath}}' + - name: 'Get parameter file paths' + id: get-module-test-file-paths + uses: ./.github/actions/templates/getModuleTestFiles + with: + modulePath: '${{ env.modulePath }}' + outputs: + workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }} + moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }} + + ######################### + # Static validation # + ######################### + job_module_pester_validation: + runs-on: ubuntu-20.04 + name: 'Static validation' + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Run tests' + uses: ./.github/actions/templates/validateModulePester + with: + modulePath: '${{ env.modulePath }}' + moduleTestFilePath: '${{ env.moduleTestFilePath }}' + + ############################# + # Deployment validation # + ############################# + job_module_deploy_validation: + runs-on: ubuntu-20.04 + name: 'Deployment validation' + needs: + - job_initialize_pipeline + - job_module_pester_validation + strategy: + fail-fast: false + matrix: + moduleTestFilePaths: ${{ fromJson(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' + uses: ./.github/actions/templates/validateModuleDeployment + with: + templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' + location: '${{ env.location }}' + subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' + removeDeployment: '${{ (fromJson(needs.job_initialize_pipeline.outputs.workflowInput)).removeDeployment }}' + + ################## + # Publishing # + ################## + job_publish_module: + name: 'Publishing' + if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event.inputs.prerelease == 'true' + runs-on: ubuntu-20.04 + needs: + - job_module_deploy_validation + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Publishing' + uses: ./.github/actions/templates/publishModule + with: + templateFilePath: '${{ env.modulePath }}/deploy.bicep' + templateSpecsRGName: '${{ env.templateSpecsRGName }}' + templateSpecsRGLocation: '${{ env.templateSpecsRGLocation }}' + templateSpecsDescription: '${{ env.templateSpecsDescription }}' + templateSpecsDoPublish: '${{ env.templateSpecsDoPublish }}' + bicepRegistryName: '${{ env.bicepRegistryName }}' + bicepRegistryRGName: '${{ env.bicepRegistryRGName }}' + bicepRegistryRgLocation: '${{ env.bicepRegistryRgLocation }}' + bicepRegistryDoPublish: '${{ env.bicepRegistryDoPublish }}' diff --git a/.github/workflows/ms.healthcareapis.workspaces.iotconnectors.yml b/.github/workflows/ms.healthcareapis.workspaces.iotconnectors.yml new file mode 100644 index 0000000000..2123673087 --- /dev/null +++ b/.github/workflows/ms.healthcareapis.workspaces.iotconnectors.yml @@ -0,0 +1,144 @@ +name: 'HealthcareApis - IOT Connectors' + +on: + workflow_dispatch: + inputs: + removeDeployment: + type: boolean + description: 'Remove deployed module' + required: false + default: true + prerelease: + type: boolean + description: 'Publish prerelease module' + required: false + default: false + push: + branches: + - main + paths: + - '.github/actions/templates/**' + - '.github/workflows/ms.healthcareapis.workspaces.iotconnectors.yml' + - 'modules/Microsoft.HealthcareApis/workspaces/iotconnectors/**' + - 'utilities/pipelines/**' + - '!utilities/pipelines/deploymentRemoval/**' + - '!*/**/readme.md' + +env: + variablesPath: 'settings.yml' + modulePath: 'modules/Microsoft.HealthcareApis/workspaces/iotconnectors' + workflowPath: '.github/workflows/ms.healthcareapis.workspaces.iotconnectors.yml' + AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }} + ARM_SUBSCRIPTION_ID: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + ARM_MGMTGROUP_ID: '${{ secrets.ARM_MGMTGROUP_ID }}' + ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}' + TOKEN_NAMEPREFIX: '${{ secrets.TOKEN_NAMEPREFIX }}' + +jobs: + ########################### + # Initialize pipeline # + ########################### + job_initialize_pipeline: + runs-on: ubuntu-20.04 + name: 'Initialize pipeline' + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: 'Set input parameters to output variables' + id: get-workflow-param + uses: ./.github/actions/templates/getWorkflowInput + with: + workflowPath: '${{ env.workflowPath}}' + - name: 'Get parameter file paths' + id: get-module-test-file-paths + uses: ./.github/actions/templates/getModuleTestFiles + with: + modulePath: '${{ env.modulePath }}' + outputs: + workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }} + moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }} + + ######################### + # Static validation # + ######################### + job_module_pester_validation: + runs-on: ubuntu-20.04 + name: 'Static validation' + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Run tests' + uses: ./.github/actions/templates/validateModulePester + with: + modulePath: '${{ env.modulePath }}' + moduleTestFilePath: '${{ env.moduleTestFilePath }}' + + ############################# + # Deployment validation # + ############################# + job_module_deploy_validation: + runs-on: ubuntu-20.04 + name: 'Deployment validation' + needs: + - job_initialize_pipeline + - job_module_pester_validation + strategy: + fail-fast: false + matrix: + moduleTestFilePaths: ${{ fromJson(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' + uses: ./.github/actions/templates/validateModuleDeployment + with: + templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' + location: '${{ env.location }}' + subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' + removeDeployment: '${{ (fromJson(needs.job_initialize_pipeline.outputs.workflowInput)).removeDeployment }}' + + ################## + # Publishing # + ################## + job_publish_module: + name: 'Publishing' + if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event.inputs.prerelease == 'true' + runs-on: ubuntu-20.04 + needs: + - job_module_deploy_validation + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Publishing' + uses: ./.github/actions/templates/publishModule + with: + templateFilePath: '${{ env.modulePath }}/deploy.bicep' + templateSpecsRGName: '${{ env.templateSpecsRGName }}' + templateSpecsRGLocation: '${{ env.templateSpecsRGLocation }}' + templateSpecsDescription: '${{ env.templateSpecsDescription }}' + templateSpecsDoPublish: '${{ env.templateSpecsDoPublish }}' + bicepRegistryName: '${{ env.bicepRegistryName }}' + bicepRegistryRGName: '${{ env.bicepRegistryRGName }}' + bicepRegistryRgLocation: '${{ env.bicepRegistryRgLocation }}' + bicepRegistryDoPublish: '${{ env.bicepRegistryDoPublish }}' diff --git a/.github/workflows/ms.healthcareapis.workspaces.yml b/.github/workflows/ms.healthcareapis.workspaces.yml new file mode 100644 index 0000000000..5fec93de24 --- /dev/null +++ b/.github/workflows/ms.healthcareapis.workspaces.yml @@ -0,0 +1,144 @@ +name: 'HealthcareApis - Workspaces' + +on: + workflow_dispatch: + inputs: + removeDeployment: + type: boolean + description: 'Remove deployed module' + required: false + default: true + prerelease: + type: boolean + description: 'Publish prerelease module' + required: false + default: false + push: + branches: + - main + paths: + - '.github/actions/templates/**' + - '.github/workflows/ms.healthcareapis.workspaces.yml' + - 'modules/Microsoft.HealthcareApis/workspaces/**' + - 'utilities/pipelines/**' + - '!utilities/pipelines/deploymentRemoval/**' + - '!*/**/readme.md' + +env: + variablesPath: 'settings.yml' + modulePath: 'modules/Microsoft.HealthcareApis/workspaces' + workflowPath: '.github/workflows/ms.healthcareapis.workspaces.yml' + AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }} + ARM_SUBSCRIPTION_ID: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + ARM_MGMTGROUP_ID: '${{ secrets.ARM_MGMTGROUP_ID }}' + ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}' + TOKEN_NAMEPREFIX: '${{ secrets.TOKEN_NAMEPREFIX }}' + +jobs: + ########################### + # Initialize pipeline # + ########################### + job_initialize_pipeline: + runs-on: ubuntu-20.04 + name: 'Initialize pipeline' + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: 'Set input parameters to output variables' + id: get-workflow-param + uses: ./.github/actions/templates/getWorkflowInput + with: + workflowPath: '${{ env.workflowPath}}' + - name: 'Get parameter file paths' + id: get-module-test-file-paths + uses: ./.github/actions/templates/getModuleTestFiles + with: + modulePath: '${{ env.modulePath }}' + outputs: + workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }} + moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }} + + ######################### + # Static validation # + ######################### + job_module_pester_validation: + runs-on: ubuntu-20.04 + name: 'Static validation' + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Run tests' + uses: ./.github/actions/templates/validateModulePester + with: + modulePath: '${{ env.modulePath }}' + moduleTestFilePath: '${{ env.moduleTestFilePath }}' + + ############################# + # Deployment validation # + ############################# + job_module_deploy_validation: + runs-on: ubuntu-20.04 + name: 'Deployment validation' + needs: + - job_initialize_pipeline + - job_module_pester_validation + strategy: + fail-fast: false + matrix: + moduleTestFilePaths: ${{ fromJson(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' + uses: ./.github/actions/templates/validateModuleDeployment + with: + templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' + location: '${{ env.location }}' + subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' + removeDeployment: '${{ (fromJson(needs.job_initialize_pipeline.outputs.workflowInput)).removeDeployment }}' + + ################## + # Publishing # + ################## + job_publish_module: + name: 'Publishing' + if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event.inputs.prerelease == 'true' + runs-on: ubuntu-20.04 + needs: + - job_module_deploy_validation + steps: + - name: 'Checkout' + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Publishing' + uses: ./.github/actions/templates/publishModule + with: + templateFilePath: '${{ env.modulePath }}/deploy.bicep' + templateSpecsRGName: '${{ env.templateSpecsRGName }}' + templateSpecsRGLocation: '${{ env.templateSpecsRGLocation }}' + templateSpecsDescription: '${{ env.templateSpecsDescription }}' + templateSpecsDoPublish: '${{ env.templateSpecsDoPublish }}' + bicepRegistryName: '${{ env.bicepRegistryName }}' + bicepRegistryRGName: '${{ env.bicepRegistryRGName }}' + bicepRegistryRgLocation: '${{ env.bicepRegistryRgLocation }}' + bicepRegistryDoPublish: '${{ env.bicepRegistryDoPublish }}' From 2db65f9ec370b64fffe495c847133ebf015d8114 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 16:37:40 -0500 Subject: [PATCH 12/81] add description --- .../workspaces/fhirservices/deploy.bicep | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep index 6778589363..5f9ee1fcba 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep @@ -6,6 +6,7 @@ param name string 'fhir-R4' 'fhir-Stu3' ]) +@description('Optional. The kind of the service. Defaults to R4.') param kind string = 'fhir-R4' @description('Required. The name of the parent health data services workspace.') From 2ae861d87618e0047445209d3aa50eec568b1e79 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 16:37:52 -0500 Subject: [PATCH 13/81] rename child resource --- .../workspaces/iotconnectors/deploy.bicep | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep index f2fb474fab..b324e16d8a 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep @@ -145,7 +145,7 @@ resource workspace 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { resource iotConnector 'Microsoft.HealthcareApis/workspaces/iotconnectors@2022-06-01' = { name: name parent: workspace - location: location + location: location tags: tags identity: identity properties: { @@ -185,7 +185,7 @@ resource iotConnector_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@ module fhir_destination 'fhirdestinations/deploy.bicep' = { name: '${deployment().name}-FhirDestination' params: { - name: '${iotConnector.name}-map' + name: '${uniqueString(workspaceName, iotConnector.name)}-map' iotConnectorName: iotConnector.name resourceIdentityResolutionType: resourceIdentityResolutionType fhirServiceResourceId: fhirServiceResourceId From 75565f4f5c2724144ef386adf58a015a77a0c1ec Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 16:38:55 -0500 Subject: [PATCH 14/81] add child resources --- .../workspaces/deploy.bicep | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep index de601ab367..af36399b22 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep @@ -29,6 +29,17 @@ param tags object = {} @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true +@description('Optional. Deploy DICOM services.') +param dicomServices array = [] + +@description('Optional. Deploy FHIR services.') +param fhirServices array = [] + +@description('Optional. Deploy IOT connectors.') +param iotConnectors array = [] + +var enableReferencedModulesTelemetry = false + // =========== // // Deployments // // =========== // @@ -75,6 +86,99 @@ module health_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (role } }] +module health_fhir 'fhirservices/deploy.bicep' = [for (fhir, index) in fhirServices: { + name: '${uniqueString(deployment().name, location)}-Health-FHIR-${index}' + params: { + name: fhir.name + location: location + workspaceName: health.name + kind: fhir.kind + tags: contains(fhir, 'tags') ? fhir.tags : {} + publicNetworkAccess: contains(fhir, 'publicNetworkAccess') ? fhir.publicNetworkAccess : 'Disabled' + systemAssignedIdentity: contains(fhir, 'systemAssignedIdentity') ? fhir.systemAssignedIdentity : false + roleAssignments: contains(fhir, 'roleAssignments') ? fhir.roleAssignments : [] + accessPolicyObjectIds: contains(fhir, 'accessPolicyObjectIds') ? fhir.accessPolicyObjectIds : [] + acrLoginServers: contains(fhir, 'acrLoginServers') ? fhir.acrLoginServers : [] + acrOciArtifacts: contains(fhir, 'acrOciArtifacts') ? fhir.acrOciArtifacts : [] + authenticationAuthority: contains(fhir, 'authenticationAuthority') ? fhir.authenticationAuthority : uri(environment().authentication.loginEndpoint, subscription().tenantId) + authenticationAudience: contains(fhir, 'authenticationAudience') ? fhir.authenticationAudience : 'https://${health.name}-${fhir.name}.fhir.azurehealthcareapis.com' + corsOrigins: contains(fhir, 'corsOrigins') ? fhir.corsOrigins : [] + corsHeaders: contains(fhir, 'corsHeaders') ? fhir.corsHeaders : [] + corsMethods: contains(fhir, 'corsMethods') ? fhir.corsMethods : [] + corsMaxAge: contains(fhir, 'corsMaxAge') ? fhir.corsMaxAge : -1 + corsAllowCredentials: contains(fhir, 'corsAllowCredentials') ? fhir.corsAllowCredentials : false + diagnosticLogsRetentionInDays: contains(fhir, 'diagnosticLogsRetentionInDays') ? fhir.diagnosticLogsRetentionInDays : 365 + diagnosticStorageAccountId: contains(fhir, 'diagnosticStorageAccountId') ? fhir.diagnosticStorageAccountId : '' + diagnosticWorkspaceId: contains(fhir, 'diagnosticWorkspaceId') ? fhir.diagnosticWorkspaceId : '' + diagnosticEventHubAuthorizationRuleId: contains(fhir, 'diagnosticEventHubAuthorizationRuleId') ? fhir.diagnosticEventHubAuthorizationRuleId : '' + diagnosticEventHubName: contains(fhir, 'diagnosticEventHubName') ? fhir.diagnosticEventHubName : '' + exportStorageAccountName: contains(fhir, 'exportStorageAccountName') ? fhir.exportStorageAccountName : '' + importStorageAccountName: contains(fhir, 'importStorageAccountName') ? fhir.importStorageAccountName : '' + importEnabled: contains(fhir, 'importEnabled') ? fhir.importEnabled : false + initialImportMode: contains(fhir, 'initialImportMode') ? fhir.initialImportMode : false + lock: contains(fhir, 'lock') ? fhir.lock : '' + resourceVersionPolicy: contains(fhir, 'resourceVersionPolicy') ? fhir.resourceVersionPolicy : 'versioned' + resourceVersionOverrides: contains(fhir, 'resourceVersionOverrides') ? fhir.resourceVersionOverrides : {} + smartProxyEnabled: contains(fhir, 'smartProxyEnabled') ? fhir.smartProxyEnabled : false + userAssignedIdentities: contains(fhir, 'userAssignedIdentities') ? fhir.userAssignedIdentities : {} + diagnosticLogCategoriesToEnable: contains(fhir, 'diagnosticLogCategoriesToEnable') ? fhir.diagnosticLogCategoriesToEnable : [ 'AuditLogs' ] + diagnosticMetricsToEnable: contains(fhir, 'diagnosticMetricsToEnable') ? fhir.diagnosticMetricsToEnable : [ 'AllMetrics' ] + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module health_dicom 'dicomservices/deploy.bicep' = [for (dicom, index) in dicomServices: { + name: '${uniqueString(deployment().name, location)}-Health-DICOM-${index}' + params: { + name: dicom.name + location: location + workspaceName: health.name + tags: contains(dicom, 'tags') ? dicom.tags : {} + publicNetworkAccess: contains(dicom, 'publicNetworkAccess') ? dicom.publicNetworkAccess : 'Disabled' + systemAssignedIdentity: contains(dicom, 'systemAssignedIdentity') ? dicom.systemAssignedIdentity : false + corsOrigins: contains(dicom, 'corsOrigins') ? dicom.corsOrigins : [] + corsHeaders: contains(dicom, 'corsHeaders') ? dicom.corsHeaders : [] + corsMethods: contains(dicom, 'corsMethods') ? dicom.corsMethods : [] + corsMaxAge: contains(dicom, 'corsMaxAge') ? dicom.corsMaxAge : -1 + corsAllowCredentials: contains(dicom, 'corsAllowCredentials') ? dicom.corsAllowCredentials : false + diagnosticLogsRetentionInDays: contains(dicom, 'diagnosticLogsRetentionInDays') ? dicom.diagnosticLogsRetentionInDays : 365 + diagnosticStorageAccountId: contains(dicom, 'diagnosticStorageAccountId') ? dicom.diagnosticStorageAccountId : '' + diagnosticWorkspaceId: contains(dicom, 'diagnosticWorkspaceId') ? dicom.diagnosticWorkspaceId : '' + diagnosticEventHubAuthorizationRuleId: contains(dicom, 'diagnosticEventHubAuthorizationRuleId') ? dicom.diagnosticEventHubAuthorizationRuleId : '' + diagnosticEventHubName: contains(dicom, 'diagnosticEventHubName') ? dicom.diagnosticEventHubName : '' + lock: contains(dicom, 'lock') ? dicom.lock : '' + userAssignedIdentities: contains(dicom, 'userAssignedIdentities') ? dicom.userAssignedIdentities : {} + diagnosticLogCategoriesToEnable: contains(dicom, 'diagnosticLogCategoriesToEnable') ? dicom.diagnosticLogCategoriesToEnable : [ 'AuditLogs' ] + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module health_iomt 'iotconnectors/deploy.bicep' = [for (iomt, index) in iotConnectors: { + name: '${uniqueString(deployment().name, location)}-Health-IOMT-${index}' + params: { + name: iomt.name + location: location + workspaceName: health.name + tags: contains(iomt, 'tags') ? iomt.tags : {} + eventHubName: iomt.eventHubName + eventHubNamespaceName: iomt.eventHubNamespaceName + consumerGroup: contains(iomt, 'consumerGroup') ? iomt.consumerGroup : iomt.name + systemAssignedIdentity: contains(iomt, 'systemAssignedIdentity') ? iomt.systemAssignedIdentity : false + fhirServiceResourceId: iomt.fhirServiceResourceId + diagnosticLogsRetentionInDays: contains(iomt, 'diagnosticLogsRetentionInDays') ? iomt.diagnosticLogsRetentionInDays : 365 + diagnosticStorageAccountId: contains(iomt, 'diagnosticStorageAccountId') ? iomt.diagnosticStorageAccountId : '' + diagnosticWorkspaceId: contains(iomt, 'diagnosticWorkspaceId') ? iomt.diagnosticWorkspaceId : '' + diagnosticEventHubAuthorizationRuleId: contains(iomt, 'diagnosticEventHubAuthorizationRuleId') ? iomt.diagnosticEventHubAuthorizationRuleId : '' + diagnosticEventHubName: contains(iomt, 'diagnosticEventHubName') ? iomt.diagnosticEventHubName : '' + lock: contains(iomt, 'lock') ? iomt.lock : '' + userAssignedIdentities: contains(iomt, 'userAssignedIdentities') ? iomt.userAssignedIdentities : {} + diagnosticLogCategoriesToEnable: contains(iomt, 'diagnosticLogCategoriesToEnable') ? iomt.diagnosticLogCategoriesToEnable : [ 'DiagnosticLogs' ] + diagnosticMetricsToEnable: contains(iomt, 'diagnosticMetricsToEnable') ? iomt.diagnosticMetricsToEnable : [ 'AllMetrics' ] + resourceIdentityResolutionType: contains(iomt, 'resourceIdentityResolutionType') ? iomt.resourceIdentityResolutionType : 'Lookup' + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + @description('The name of the health data services workspace.') output name string = health.name From 9a44a5bf2f4701c18a1db0c708cb1f0acb09c745 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 16:41:21 -0500 Subject: [PATCH 15/81] add missing child properties --- modules/Microsoft.HealthcareApis/workspaces/deploy.bicep | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep index af36399b22..1eef261b7b 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep @@ -162,6 +162,14 @@ module health_iomt 'iotconnectors/deploy.bicep' = [for (iomt, index) in iotConne tags: contains(iomt, 'tags') ? iomt.tags : {} eventHubName: iomt.eventHubName eventHubNamespaceName: iomt.eventHubNamespaceName + deviceMapping: contains(iomt, 'deviceMapping') ? iomt.deviceMapping : { + templateType: 'CollectionContent' + template: [] + } + destinationMapping: contains(iomt, 'destinationMapping') ? iomt.destinationMapping : { + templateType: 'CollectionFhir' + template: [] + } consumerGroup: contains(iomt, 'consumerGroup') ? iomt.consumerGroup : iomt.name systemAssignedIdentity: contains(iomt, 'systemAssignedIdentity') ? iomt.systemAssignedIdentity : false fhirServiceResourceId: iomt.fhirServiceResourceId From 0b0122f121962dcba47e486aafd263f0802de913 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 17:33:48 -0500 Subject: [PATCH 16/81] update readme --- .../workspaces/fhirservices/readme.md | 3 +- .../workspaces/readme.md | 137 ++++++++++++++---- 2 files changed, 108 insertions(+), 32 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md index fd3e66c737..5304bc68c1 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md @@ -55,6 +55,7 @@ This module deploys HealthcareApis Workspaces FHIR Service. | `importEnabled` | bool | `False` | | If the import operation is enabled. | | `importStorageAccountName` | string | `''` | | The name of the default integration storage account. | | `initialImportMode` | bool | `False` | | If the FHIR service is in InitialImportMode. | +| `kind` | string | `'fhir-R4'` | `[fhir-R4, fhir-Stu3]` | The kind of the service. Defaults to R4. | | `location` | string | `[resourceGroup().location]` | | Location for all resources. | | `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | | `publicNetworkAccess` | string | `'Disabled'` | `[Disabled, Enabled]` | Control permission for data plane traffic coming from public networks while private endpoint is enabled. | @@ -66,7 +67,6 @@ This module deploys HealthcareApis Workspaces FHIR Service. | `tags` | object | `{object}` | | Tags of the resource. | | `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. | -

### Parameter Usage: `acrOciArtifacts` @@ -139,7 +139,6 @@ userAssignedIdentities: { ``` -

### Parameter Usage: `roleAssignments` diff --git a/modules/Microsoft.HealthcareApis/workspaces/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md index f69445a78d..71f74379cf 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -1,20 +1,27 @@ -# Health Data Services workspace `[Microsoft.HealthcareApis/workspaces]` +# HealthcareApis Workspaces `[Microsoft.HealthcareApis/workspaces]` -This module deploys a Health Data Services workspace. +This module deploys HealthcareApis Workspaces. +// TODO: Replace Resource and fill in description ## Navigation - [Resource Types](#Resource-Types) - [Parameters](#Parameters) - [Outputs](#Outputs) +- [Cross-referenced modules](#Cross-referenced-modules) ## Resource Types | Resource Type | API Version | | :-- | :-- | -| `Microsoft.Authorization/locks` | [2017-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2017-04-01/locks) | +| `Microsoft.Authorization/locks` | [2020-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) | +| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | +| `Microsoft.HealthcareApis/workspaces` | [2022-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.HealthcareApis/2022-06-01/workspaces) | +| `Microsoft.HealthcareApis/workspaces/dicomservices` | [2022-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.HealthcareApis/2022-06-01/workspaces/dicomservices) | +| `Microsoft.HealthcareApis/workspaces/fhirservices` | [2022-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.HealthcareApis/2022-06-01/workspaces/fhirservices) | +| `Microsoft.HealthcareApis/workspaces/iotconnectors` | [2022-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.HealthcareApis/2022-06-01/workspaces/iotconnectors) | +| `Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations` | [2022-06-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.HealthcareApis/2022-06-01/workspaces/iotconnectors/fhirdestinations) | | `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | -| `Microsoft.HealthcareApis/workspaces` | [2022-06-01](https://learn.microsoft.com/en-us/azure/templates/microsoft.healthcareapis/workspaces) | ## Parameters @@ -22,23 +29,111 @@ This module deploys a Health Data Services workspace. | Parameter Name | Type | Description | | :-- | :-- | :-- | -| `name` | string | The name of the health data services workspace. | +| `name` | string | The name of the Health Data Services Workspace service. | **Optional parameters** | Parameter Name | Type | Default Value | Allowed Values | Description | | :-- | :-- | :-- | :-- | :-- | +| `dicomServices` | _[dicomservices](dicomservices/readme.md)_ array | `[]` | | Deploy DICOM services. | +| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | +| `fhirServices` | _[fhirservices](fhirservices/readme.md)_ array | `[]` | | Deploy FHIR services. | +| `iotConnectors` | _[iotconnectors](iotconnectors/readme.md)_ array | `[]` | | Deploy IOT connectors. | | `location` | string | `[resourceGroup().location]` | | Location for all resources. | | `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | -| `publicNetworkAccess` | string | `Disabled` | `[Disabled, Enabled]` | Control permission for data plane traffic coming from public networks while private endpoint is enabled. | +| `publicNetworkAccess` | string | `'Disabled'` | `[Disabled, Enabled]` | Control permission for data plane traffic coming from public networks while private endpoint is enabled. | +| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | | `tags` | object | `{object}` | | Tags of the resource. | + +### Parameter Usage: `` + +// TODO: Fill in Parameter usage + +### 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. + +

+ +Parameter JSON format + +```json +"roleAssignments": { + "value": [ + { + "roleDefinitionIdOrName": "Reader", + "description": "Reader Role Assignment", + "principalIds": [ + "12345678-1234-1234-1234-123456789012", // object 1 + "78945612-1234-1234-1234-123456789012" // object 2 + ] + }, + { + "roleDefinitionIdOrName": "/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11", + "principalIds": [ + "12345678-1234-1234-1234-123456789012" // object 1 + ], + "principalType": "ServicePrincipal" + } + ] +} +``` + +
+ +
+ +Bicep format + +```bicep +roleAssignments: [ + { + roleDefinitionIdOrName: 'Reader' + description: 'Reader Role Assignment' + principalIds: [ + '12345678-1234-1234-1234-123456789012' // object 1 + '78945612-1234-1234-1234-123456789012' // object 2 + ] + } + { + roleDefinitionIdOrName: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11' + principalIds: [ + '12345678-1234-1234-1234-123456789012' // object 1 + ] + principalType: 'ServicePrincipal' + } +] +``` + +
+

+ ### Parameter Usage: `tags` Tag names and tag values can be provided as needed. A tag can be left without a value.

+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 @@ -53,35 +148,17 @@ tags: { ```
+

## Outputs | Output Name | Type | Description | | :-- | :-- | :-- | | `location` | string | The location the resource was deployed into. | -| `name` | string | The name of the health data service workspace. | -| `resourceGroupName` | string | The resource group where the namespace is deployed. | -| `resourceId` | string | The resource ID of the health data service workspace. | - -## Deployment examples - -

Example 1: Common

- -
- -via Bicep module +| `name` | string | The name of the health data services workspace. | +| `resourceGroupName` | string | The resource group where the workspace is deployed. | +| `resourceId` | string | The resource ID of the health data services workspace. | -```bicep -module health './Microsoft.HealthcareApis/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-test-hds' - params: { - // Required parameters - name: '<>hds001' - // Non-required parameters - lock: 'CanNotDelete' - publicNetworkAccess: 'Enabled' - } -} -``` +## Cross-referenced modules -
+_None_ From bcbe910f9593e61de14fa1636adc5e02b3f43ea7 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 17:36:40 -0500 Subject: [PATCH 17/81] update readme --- modules/Microsoft.HealthcareApis/workspaces/readme.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md index 71f74379cf..ccde80e1e8 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -1,7 +1,6 @@ # HealthcareApis Workspaces `[Microsoft.HealthcareApis/workspaces]` -This module deploys HealthcareApis Workspaces. -// TODO: Replace Resource and fill in description +This module deploys Healthcare Data Services workspace. ## Navigation From 8b2930b3dcf0c7d0f0e7dcdca9c52c686d915ef0 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 17:41:02 -0500 Subject: [PATCH 18/81] add min test --- .../workspaces/.test/min/deploy.test.bicep | 44 ++++++++++++- .../workspaces/readme.md | 61 +++++++++++++++++++ 2 files changed, 104 insertions(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/min/deploy.test.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/min/deploy.test.bicep index 70b786d12e..26b2ca79b0 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/min/deploy.test.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/min/deploy.test.bicep @@ -1 +1,43 @@ -// TODO +targetScope = 'subscription' + +// ========== // +// Parameters // +// ========== // +@description('Optional. The name of the resource group to deploy for testing purposes.') +@maxLength(90) +param resourceGroupName string = 'ms.healthcareapis.workspaces-${serviceShort}-rg' + +@description('Optional. The location to deploy resources to.') +param location string = deployment().location + +@description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.') +param serviceShort string = 'hwmin' + +@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +param enableDefaultTelemetry bool = true + +// =========== // +// Deployments // +// =========== // + +// General resources +// ================= +resource resourceGroup 'Microsoft.Resources/resourceGroups@2021-04-01' = { + name: resourceGroupName + location: location +} + +// ============== // +// Test Execution // +// ============== // + +module testDeployment '../../deploy.bicep' = { + scope: resourceGroup + name: '${uniqueString(deployment().name)}-test-${serviceShort}' + params: { + enableDefaultTelemetry: enableDefaultTelemetry + name: '<>${serviceShort}001' + location: location + publicNetworkAccess: 'Enabled' + } +} diff --git a/modules/Microsoft.HealthcareApis/workspaces/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md index ccde80e1e8..1d8e6e13ec 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -8,6 +8,7 @@ This module deploys Healthcare Data Services workspace. - [Parameters](#Parameters) - [Outputs](#Outputs) - [Cross-referenced modules](#Cross-referenced-modules) +- [Deployment examples](#Deployment-examples) ## Resource Types @@ -161,3 +162,63 @@ tags: { ## Cross-referenced modules _None_ + +## Deployment examples + +The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder. + >**Note**: The name of each example is based on the name of the file from which it is taken. + + >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. + +

Example 1: Min

+ +
+ +via Bicep module + +```bicep +module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { + name: '${uniqueString(deployment().name)}-test-hwmin' + params: { + // Required parameters + name: '<>hwmin001' + // Non-required parameters + publicNetworkAccess: 'Enabled' + location: '' + enableDefaultTelemetry: '' + } +} +``` + +
+

+ +

+ +via JSON Parameter file + +```json +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + // Required parameters + "name": { + "value": "<>hwmin001" + }, + // Non-required parameters + "publicNetworkAccess": { + "value": "Enabled" + }, + "location": { + "value": "" + }, + "enableDefaultTelemetry": { + "value": "" + } + } +} +``` + +
+

From 9a4ab6024985750f7a1755abadc9edb4a0e7488b Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 18:42:02 -0500 Subject: [PATCH 19/81] add common test and update readme --- .../.test/common/dependencies.bicep | 78 +++++ .../workspaces/.test/common/deploy.test.bicep | 161 ++++++++++- .../workspaces/readme.md | 271 +++++++++++++++++- 3 files changed, 508 insertions(+), 2 deletions(-) create mode 100644 modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep new file mode 100644 index 0000000000..854597467c --- /dev/null +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep @@ -0,0 +1,78 @@ +@description('Optional. The location to deploy to.') +param location string = resourceGroup().location + +@description('Required. The name of the Managed Identity to create.') +param managedIdentityName string + +@description('Required. The name of the Event Hub Namespace to create.') +param eventHubNamespaceName string + +@description('Required. The name of the Event Hub consumer group to create.') +param eventHubConsumerGroupName string + +@description('Required. The name of the Storage Account to create.') +param storageAccountName string + +resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = { + name: managedIdentityName + location: location +} + +resource storageAccount 'Microsoft.Storage/storageAccounts@2022-05-01' = { + name: storageAccountName + location: location + sku: { + name: 'Standard_LRS' + } + kind: 'StorageV2' +} + +resource ehns 'Microsoft.EventHub/namespaces@2022-01-01-preview' = { + name: eventHubNamespaceName + location: location + sku: { + name: 'Standard' + tier: 'Standard' + capacity: 1 + } + properties: { + zoneRedundant: false + isAutoInflateEnabled: false + maximumThroughputUnits: 1 + } +} + +resource ehub 'Microsoft.EventHub/namespaces/eventhubs@2022-01-01-preview' = { + name: '${eventHubNamespaceName}-hub' + parent: ehns + properties: { + messageRetentionInDays: 1 + partitionCount: 1 + } +} + +resource ehub_consumergroup 'Microsoft.EventHub/namespaces/eventhubs/consumergroups@2022-01-01-preview' = { + name: eventHubConsumerGroupName + parent: ehub +} + +@description('The principal ID of the created Managed Identity.') +output managedIdentityPrincipalId string = managedIdentity.properties.principalId + +@description('The resource ID of the created Managed Identity.') +output managedIdentityResourceId string = managedIdentity.id + +@description('The resource ID of the created Storage Account.') +output storageAccountResourceId string = storageAccount.id + +@description('The resource ID of the created Event Hub Namespace.') +output eventHubNamespaceResourceId string = ehns.id + +@description('The name of the created Event Hub Namespace.') +output eventHubNamespaceName string = ehns.name + +@description('The resource ID of the created Event Hub.') +output eventHubResourceId string = ehub.id + +@description('The name of the created Event Hub.') +output eventHubName string = ehub.name diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep index 70b786d12e..de61c53734 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep @@ -1 +1,160 @@ -// TODO +targetScope = 'subscription' + +// ========== // +// Parameters // +// ========== // +@description('Optional. The name of the resource group to deploy for testing purposes.') +@maxLength(90) +param resourceGroupName string = 'ms.healthcareapis.workspaces-${serviceShort}-rg' + +@description('Optional. The location to deploy resources to.') +param location string = deployment().location + +@description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.') +param serviceShort string = 'hwcom' + +@description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') +param enableDefaultTelemetry bool = true + +// =========== // +// Deployments // +// =========== // + +// General resources +// ================= +resource resourceGroup 'Microsoft.Resources/resourceGroups@2021-04-01' = { + name: resourceGroupName + location: location +} + +module resourceGroupResources 'dependencies.bicep' = { + scope: resourceGroup + name: '${uniqueString(deployment().name, location)}-paramNested' + params: { + eventHubConsumerGroupName: '<>-az-iomt-x-001' + eventHubNamespaceName: 'dep-<>-ehns-${serviceShort}' + managedIdentityName: 'dep-<>-msi-${serviceShort}' + storageAccountName: 'dep<>sa${serviceShort}' + } +} + +// Diagnostics +// =========== +module diagnosticDependencies '../../../../.shared/dependencyConstructs/diagnostic.dependencies.bicep' = { + scope: resourceGroup + name: '${uniqueString(deployment().name, location)}-diagnosticDependencies' + params: { + storageAccountName: 'dep<>diasa${serviceShort}01' + logAnalyticsWorkspaceName: 'dep-<>-law-${serviceShort}' + eventHubNamespaceEventHubName: 'dep-<>-evh-${serviceShort}' + eventHubNamespaceName: 'dep-<>-evhns-${serviceShort}' + location: location + } +} + +// ============== // +// Test Execution // +// ============== // + +module testDeployment '../../deploy.bicep' = { + scope: resourceGroup + name: '${uniqueString(deployment().name)}-test-${serviceShort}' + params: { + enableDefaultTelemetry: enableDefaultTelemetry + name: '<>${serviceShort}001' + location: location + publicNetworkAccess: 'Enabled' + lock: 'CanNotDelete' + fhirServices: [ + { + name: '<>-az-fhir-x-001' + kind: 'fhir-R4' + workspaceName: '<>${serviceShort}001' + corsOrigins: [ '*' ] + corsHeaders: [ '*' ] + corsMethods: [ 'GET' ] + corsMaxAge: 600 + corsAllowCredentials: true + location: location + diagnosticLogsRetentionInDays: 7 + diagnosticStorageAccountId: diagnosticDependencies.outputs.storageAccountResourceId + diagnosticWorkspaceId: diagnosticDependencies.outputs.logAnalyticsWorkspaceResourceId + diagnosticEventHubAuthorizationRuleId: diagnosticDependencies.outputs.eventHubAuthorizationRuleId + diagnosticEventHubName: diagnosticDependencies.outputs.eventHubNamespaceEventHubName + publicNetworkAccess: 'Enabled' + resourceVersionPolicy: 'versioned' + smartProxyEnabled: false + enableDefaultTelemetry: enableDefaultTelemetry + systemAssignedIdentity: true + importEnabled: false + initialImportMode: false + userAssignedIdentities: { + '${resourceGroupResources.outputs.managedIdentityResourceId}': {} + } + roleAssignments: [ + { + roleDefinitionIdOrName: resourceId('Microsoft.Authorization/roleDefinitions', '5a1fc7df-4bf1-4951-a576-89034ee01acd') + principalIds: [ + resourceGroupResources.outputs.managedIdentityPrincipalId + ] + principalType: 'ServicePrincipal' + } + ] + } + ] + dicomServices: [ + { + name: '<>-az-dicom-x-001' + workspaceName: '<>${serviceShort}001' + corsOrigins: [ '*' ] + corsHeaders: [ '*' ] + corsMethods: [ 'GET' ] + corsMaxAge: 600 + corsAllowCredentials: true + location: location + diagnosticLogsRetentionInDays: 7 + 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}': {} + } + } + ] + iotConnectors: [ + { + name: '<>-az-iomt-x-001' + workspaceName: '<>${serviceShort}001' + eventHubName: resourceGroupResources.outputs.eventHubName + eventHubNamespaceName: resourceGroupResources.outputs.eventHubNamespaceName + consumerGroup: '<>-az-iomt-x-001' + location: location + deviceMapping: { + templateType: 'CollectionContent' + template: [] + } + destinationMapping: { + templateType: 'CollectionFhir' + template: [] + } + diagnosticLogsRetentionInDays: 7 + diagnosticStorageAccountId: diagnosticDependencies.outputs.storageAccountResourceId + diagnosticWorkspaceId: diagnosticDependencies.outputs.logAnalyticsWorkspaceResourceId + diagnosticEventHubAuthorizationRuleId: diagnosticDependencies.outputs.eventHubAuthorizationRuleId + diagnosticEventHubName: diagnosticDependencies.outputs.eventHubNamespaceEventHubName + publicNetworkAccess: 'Enabled' + resourceVersionPolicy: 'versioned' + enableDefaultTelemetry: enableDefaultTelemetry + systemAssignedIdentity: true + resourceIdentityResolutionType: 'Lookup' + userAssignedIdentities: { + '${resourceGroupResources.outputs.managedIdentityResourceId}': {} + } + } + ] + } +} diff --git a/modules/Microsoft.HealthcareApis/workspaces/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md index 1d8e6e13ec..d47da033cb 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -170,7 +170,276 @@ The following module usage examples are retrieved from the content of the files >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. -

Example 1: Min

+

Example 1: Common

+ +
+ +via Bicep module + +```bicep +module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { + name: '${uniqueString(deployment().name)}-test-hwcom' + params: { + // Required parameters + name: '<>hwcom001' + // Non-required parameters + publicNetworkAccess: 'Enabled' + iotConnectors: [ + { + workspaceName: '<>hwcom001' + eventHubNamespaceName: '' + diagnosticLogsRetentionInDays: 7 + destinationMapping: { + template: [] + templateType: 'CollectionFhir' + } + resourceIdentityResolutionType: 'Lookup' + location: '' + systemAssignedIdentity: true + userAssignedIdentities: { + '': {} + } + diagnosticEventHubAuthorizationRuleId: '' + diagnosticWorkspaceId: '' + diagnosticEventHubName: '' + enableDefaultTelemetry: '' + consumerGroup: '<>-az-iomt-x-001' + eventHubName: '' + name: '<>-az-iomt-x-001' + publicNetworkAccess: 'Enabled' + resourceVersionPolicy: 'versioned' + deviceMapping: { + template: [] + templateType: 'CollectionContent' + } + diagnosticStorageAccountId: '' + } + ] + enableDefaultTelemetry: '' + dicomServices: [ + { + location: '' + corsHeaders: [ + '*' + ] + publicNetworkAccess: 'Enabled' + workspaceName: '<>hwcom001' + corsMaxAge: 600 + enableDefaultTelemetry: '' + systemAssignedIdentity: true + corsMethods: [ + 'GET' + ] + name: '<>-az-dicom-x-001' + corsAllowCredentials: true + corsOrigins: [ + '*' + ] + diagnosticWorkspaceId: '' + diagnosticEventHubName: '' + diagnosticLogsRetentionInDays: 7 + diagnosticEventHubAuthorizationRuleId: '' + diagnosticStorageAccountId: '' + userAssignedIdentities: { + '': {} + } + } + ] + location: '' + fhirServices: [ + { + corsAllowCredentials: true + corsMethods: [ + 'GET' + ] + diagnosticWorkspaceId: '' + corsMaxAge: 600 + publicNetworkAccess: 'Enabled' + kind: 'fhir-R4' + diagnosticLogsRetentionInDays: 7 + initialImportMode: false + userAssignedIdentities: { + '': {} + } + corsHeaders: [ + '*' + ] + roleAssignments: [ + { + principalType: 'ServicePrincipal' + roleDefinitionIdOrName: '' + principalIds: [ + '' + ] + } + ] + systemAssignedIdentity: true + enableDefaultTelemetry: '' + diagnosticStorageAccountId: '' + resourceVersionPolicy: 'versioned' + corsOrigins: [ + '*' + ] + diagnosticEventHubAuthorizationRuleId: '' + location: '' + name: '<>-az-fhir-x-001' + workspaceName: '<>hwcom001' + importEnabled: false + smartProxyEnabled: false + diagnosticEventHubName: '' + } + ] + lock: 'CanNotDelete' + } +} +``` + +
+

+ +

+ +via JSON Parameter file + +```json +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + // Required parameters + "name": { + "value": "<>hwcom001" + }, + // Non-required parameters + "publicNetworkAccess": { + "value": "Enabled" + }, + "iotConnectors": { + "value": [ + { + "workspaceName": "<>hwcom001", + "eventHubNamespaceName": "", + "diagnosticLogsRetentionInDays": 7, + "destinationMapping": { + "template": [], + "templateType": "CollectionFhir" + }, + "resourceIdentityResolutionType": "Lookup", + "location": "", + "systemAssignedIdentity": true, + "userAssignedIdentities": { + "": {} + }, + "diagnosticEventHubAuthorizationRuleId": "", + "diagnosticWorkspaceId": "", + "diagnosticEventHubName": "", + "enableDefaultTelemetry": "", + "consumerGroup": "<>-az-iomt-x-001", + "eventHubName": "", + "name": "<>-az-iomt-x-001", + "publicNetworkAccess": "Enabled", + "resourceVersionPolicy": "versioned", + "deviceMapping": { + "template": [], + "templateType": "CollectionContent" + }, + "diagnosticStorageAccountId": "" + } + ] + }, + "enableDefaultTelemetry": { + "value": "" + }, + "dicomServices": { + "value": [ + { + "location": "", + "corsHeaders": [ + "*" + ], + "publicNetworkAccess": "Enabled", + "workspaceName": "<>hwcom001", + "corsMaxAge": 600, + "enableDefaultTelemetry": "", + "systemAssignedIdentity": true, + "corsMethods": [ + "GET" + ], + "name": "<>-az-dicom-x-001", + "corsAllowCredentials": true, + "corsOrigins": [ + "*" + ], + "diagnosticWorkspaceId": "", + "diagnosticEventHubName": "", + "diagnosticLogsRetentionInDays": 7, + "diagnosticEventHubAuthorizationRuleId": "", + "diagnosticStorageAccountId": "", + "userAssignedIdentities": { + "": {} + } + } + ] + }, + "location": { + "value": "" + }, + "fhirServices": { + "value": [ + { + "corsAllowCredentials": true, + "corsMethods": [ + "GET" + ], + "diagnosticWorkspaceId": "", + "corsMaxAge": 600, + "publicNetworkAccess": "Enabled", + "kind": "fhir-R4", + "diagnosticLogsRetentionInDays": 7, + "initialImportMode": false, + "userAssignedIdentities": { + "": {} + }, + "corsHeaders": [ + "*" + ], + "roleAssignments": [ + { + "principalType": "ServicePrincipal", + "roleDefinitionIdOrName": "", + "principalIds": [ + "" + ] + } + ], + "systemAssignedIdentity": true, + "enableDefaultTelemetry": "", + "diagnosticStorageAccountId": "", + "resourceVersionPolicy": "versioned", + "corsOrigins": [ + "*" + ], + "diagnosticEventHubAuthorizationRuleId": "", + "location": "", + "name": "<>-az-fhir-x-001", + "workspaceName": "<>hwcom001", + "importEnabled": false, + "smartProxyEnabled": false, + "diagnosticEventHubName": "" + } + ] + }, + "lock": { + "value": "CanNotDelete" + } + } +} +``` + +
+

+ +

Example 2: Min

From 6a59427113a570d8bb38e6fda37a2767825e3292 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 19:15:50 -0500 Subject: [PATCH 20/81] update test --- .../workspaces/.test/common/deploy.test.bicep | 31 --- .../workspaces/readme.md | 204 ++++++------------ 2 files changed, 70 insertions(+), 165 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep index de61c53734..c6416d74fc 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep @@ -125,36 +125,5 @@ module testDeployment '../../deploy.bicep' = { } } ] - iotConnectors: [ - { - name: '<>-az-iomt-x-001' - workspaceName: '<>${serviceShort}001' - eventHubName: resourceGroupResources.outputs.eventHubName - eventHubNamespaceName: resourceGroupResources.outputs.eventHubNamespaceName - consumerGroup: '<>-az-iomt-x-001' - location: location - deviceMapping: { - templateType: 'CollectionContent' - template: [] - } - destinationMapping: { - templateType: 'CollectionFhir' - template: [] - } - diagnosticLogsRetentionInDays: 7 - diagnosticStorageAccountId: diagnosticDependencies.outputs.storageAccountResourceId - diagnosticWorkspaceId: diagnosticDependencies.outputs.logAnalyticsWorkspaceResourceId - diagnosticEventHubAuthorizationRuleId: diagnosticDependencies.outputs.eventHubAuthorizationRuleId - diagnosticEventHubName: diagnosticDependencies.outputs.eventHubNamespaceEventHubName - publicNetworkAccess: 'Enabled' - resourceVersionPolicy: 'versioned' - enableDefaultTelemetry: enableDefaultTelemetry - systemAssignedIdentity: true - resourceIdentityResolutionType: 'Lookup' - userAssignedIdentities: { - '${resourceGroupResources.outputs.managedIdentityResourceId}': {} - } - } - ] } } diff --git a/modules/Microsoft.HealthcareApis/workspaces/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md index d47da033cb..55ad3113f5 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -184,68 +184,6 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { name: '<>hwcom001' // Non-required parameters publicNetworkAccess: 'Enabled' - iotConnectors: [ - { - workspaceName: '<>hwcom001' - eventHubNamespaceName: '' - diagnosticLogsRetentionInDays: 7 - destinationMapping: { - template: [] - templateType: 'CollectionFhir' - } - resourceIdentityResolutionType: 'Lookup' - location: '' - systemAssignedIdentity: true - userAssignedIdentities: { - '': {} - } - diagnosticEventHubAuthorizationRuleId: '' - diagnosticWorkspaceId: '' - diagnosticEventHubName: '' - enableDefaultTelemetry: '' - consumerGroup: '<>-az-iomt-x-001' - eventHubName: '' - name: '<>-az-iomt-x-001' - publicNetworkAccess: 'Enabled' - resourceVersionPolicy: 'versioned' - deviceMapping: { - template: [] - templateType: 'CollectionContent' - } - diagnosticStorageAccountId: '' - } - ] - enableDefaultTelemetry: '' - dicomServices: [ - { - location: '' - corsHeaders: [ - '*' - ] - publicNetworkAccess: 'Enabled' - workspaceName: '<>hwcom001' - corsMaxAge: 600 - enableDefaultTelemetry: '' - systemAssignedIdentity: true - corsMethods: [ - 'GET' - ] - name: '<>-az-dicom-x-001' - corsAllowCredentials: true - corsOrigins: [ - '*' - ] - diagnosticWorkspaceId: '' - diagnosticEventHubName: '' - diagnosticLogsRetentionInDays: 7 - diagnosticEventHubAuthorizationRuleId: '' - diagnosticStorageAccountId: '' - userAssignedIdentities: { - '': {} - } - } - ] - location: '' fhirServices: [ { corsAllowCredentials: true @@ -289,6 +227,37 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { diagnosticEventHubName: '' } ] + location: '' + enableDefaultTelemetry: '' + dicomServices: [ + { + location: '' + corsHeaders: [ + '*' + ] + publicNetworkAccess: 'Enabled' + workspaceName: '<>hwcom001' + corsMaxAge: 600 + enableDefaultTelemetry: '' + systemAssignedIdentity: true + corsMethods: [ + 'GET' + ] + name: '<>-az-dicom-x-001' + corsAllowCredentials: true + corsOrigins: [ + '*' + ] + diagnosticWorkspaceId: '' + diagnosticEventHubName: '' + diagnosticLogsRetentionInDays: 7 + diagnosticEventHubAuthorizationRuleId: '' + diagnosticStorageAccountId: '' + userAssignedIdentities: { + '': {} + } + } + ] lock: 'CanNotDelete' } } @@ -311,79 +280,12 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { "value": "<>hwcom001" }, // Non-required parameters + "lock": { + "value": "CanNotDelete" + }, "publicNetworkAccess": { "value": "Enabled" }, - "iotConnectors": { - "value": [ - { - "workspaceName": "<>hwcom001", - "eventHubNamespaceName": "", - "diagnosticLogsRetentionInDays": 7, - "destinationMapping": { - "template": [], - "templateType": "CollectionFhir" - }, - "resourceIdentityResolutionType": "Lookup", - "location": "", - "systemAssignedIdentity": true, - "userAssignedIdentities": { - "": {} - }, - "diagnosticEventHubAuthorizationRuleId": "", - "diagnosticWorkspaceId": "", - "diagnosticEventHubName": "", - "enableDefaultTelemetry": "", - "consumerGroup": "<>-az-iomt-x-001", - "eventHubName": "", - "name": "<>-az-iomt-x-001", - "publicNetworkAccess": "Enabled", - "resourceVersionPolicy": "versioned", - "deviceMapping": { - "template": [], - "templateType": "CollectionContent" - }, - "diagnosticStorageAccountId": "" - } - ] - }, - "enableDefaultTelemetry": { - "value": "" - }, - "dicomServices": { - "value": [ - { - "location": "", - "corsHeaders": [ - "*" - ], - "publicNetworkAccess": "Enabled", - "workspaceName": "<>hwcom001", - "corsMaxAge": 600, - "enableDefaultTelemetry": "", - "systemAssignedIdentity": true, - "corsMethods": [ - "GET" - ], - "name": "<>-az-dicom-x-001", - "corsAllowCredentials": true, - "corsOrigins": [ - "*" - ], - "diagnosticWorkspaceId": "", - "diagnosticEventHubName": "", - "diagnosticLogsRetentionInDays": 7, - "diagnosticEventHubAuthorizationRuleId": "", - "diagnosticStorageAccountId": "", - "userAssignedIdentities": { - "": {} - } - } - ] - }, - "location": { - "value": "" - }, "fhirServices": { "value": [ { @@ -429,8 +331,42 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { } ] }, - "lock": { - "value": "CanNotDelete" + "location": { + "value": "" + }, + "enableDefaultTelemetry": { + "value": "" + }, + "dicomServices": { + "value": [ + { + "location": "", + "corsHeaders": [ + "*" + ], + "publicNetworkAccess": "Enabled", + "workspaceName": "<>hwcom001", + "corsMaxAge": 600, + "enableDefaultTelemetry": "", + "systemAssignedIdentity": true, + "corsMethods": [ + "GET" + ], + "name": "<>-az-dicom-x-001", + "corsAllowCredentials": true, + "corsOrigins": [ + "*" + ], + "diagnosticWorkspaceId": "", + "diagnosticEventHubName": "", + "diagnosticLogsRetentionInDays": 7, + "diagnosticEventHubAuthorizationRuleId": "", + "diagnosticStorageAccountId": "", + "userAssignedIdentities": { + "": {} + } + } + ] } } } From cb71faca315aeaed5a9e6a44cb6785a39fe42e97 Mon Sep 17 00:00:00 2001 From: CARMLPipelinePrincipal Date: Wed, 7 Dec 2022 00:31:48 +0000 Subject: [PATCH 21/81] Push updated Readme file(s) --- README.md | 221 +++++++++++---------- docs/wiki/The library - Module overview.md | 89 +++++---- modules/README.md | 221 +++++++++++---------- 3 files changed, 267 insertions(+), 264 deletions(-) diff --git a/README.md b/README.md index d069bef803..82fcb5ffdb 100644 --- a/README.md +++ b/README.md @@ -24,116 +24,117 @@ The CI environment supports both ARM and Bicep and can be leveraged using GitHub | Name | Status | | - | - | -| [Action Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | [!['Insights: ActionGroups'](https://github.com/Azure/ResourceModules/workflows/Insights:%20ActionGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.actiongroups.yml) | -| [Activity Log Alerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | [!['Insights: ActivityLogAlerts'](https://github.com/Azure/ResourceModules/workflows/Insights:%20ActivityLogAlerts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.activitylogalerts.yml) | -| [Activity Logs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | [!['Insights: DiagnosticSettings'](https://github.com/Azure/ResourceModules/workflows/Insights:%20DiagnosticSettings/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.diagnosticsettings.yml) | -| [Analysis Services Servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | [!['AnalysisServices: Servers'](https://github.com/Azure/ResourceModules/workflows/AnalysisServices:%20Servers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.analysisservices.servers.yml) | -| [API Connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/connections) | [!['Web: Connections'](https://github.com/Azure/ResourceModules/workflows/Web:%20Connections/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.connections.yml) | -| [API Management Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | [!['ApiManagement: Service'](https://github.com/Azure/ResourceModules/workflows/ApiManagement:%20Service/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.apimanagement.service.yml) | -| [App Configuration](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | [!['AppConfiguration: ConfigurationStores'](https://github.com/Azure/ResourceModules/workflows/AppConfiguration:%20ConfigurationStores/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.appconfiguration.configurationstores.yml) | -| [App Service Environments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | [!['Web: HostingEnvironments'](https://github.com/Azure/ResourceModules/workflows/Web:%20HostingEnvironments/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.hostingenvironments.yml) | -| [App Service Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | [!['Web: Serverfarms'](https://github.com/Azure/ResourceModules/workflows/Web:%20Serverfarms/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.serverfarms.yml) | -| [Application Gateway WebApp Firewall Policies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | [!['Network: ApplicationGatewayWebApplicationFirewallPolicies'](https://github.com/Azure/ResourceModules/workflows/Network:%20ApplicationGatewayWebApplicationFirewallPolicies/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml) | -| [Application Insights](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/components) | [!['Insights: Components'](https://github.com/Azure/ResourceModules/workflows/Insights:%20Components/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.components.yml) | -| [Application Security Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | [!['Network: ApplicationSecurityGroups'](https://github.com/Azure/ResourceModules/workflows/Network:%20ApplicationSecurityGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.applicationsecuritygroups.yml) | -| [Authorization Locks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | [!['Authorization: Locks'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20Locks/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.locks.yml) | -| [Automation Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | [!['Automation: AutomationAccounts'](https://github.com/Azure/ResourceModules/workflows/Automation:%20AutomationAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.automation.automationaccounts.yml) | -| [Availability Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | [!['Compute: AvailabilitySets'](https://github.com/Azure/ResourceModules/workflows/Compute:%20AvailabilitySets/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.availabilitysets.yml) | -| [AVD Application Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | [!['DesktopVirtualization: ApplicationGroups'](https://github.com/Azure/ResourceModules/workflows/DesktopVirtualization:%20ApplicationGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.desktopvirtualization.applicationgroups.yml) | -| [AVD Host Pools](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | [!['DesktopVirtualization: HostPools'](https://github.com/Azure/ResourceModules/workflows/DesktopVirtualization:%20HostPools/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.desktopvirtualization.hostpools.yml) | -| [AVD Scaling Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | [!['DesktopVirtualization: Scalingplans'](https://github.com/Azure/ResourceModules/workflows/DesktopVirtualization:%20Scalingplans/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.desktopvirtualization.scalingplans.yml) | -| [AVD Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | [!['DesktopVirtualization: Workspaces'](https://github.com/Azure/ResourceModules/workflows/DesktopVirtualization:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.desktopvirtualization.workspaces.yml) | -| [Azure Active Directory Domain Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | [!['AAD: DomainServices'](https://github.com/Azure/ResourceModules/workflows/AAD:%20DomainServices/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.aad.domainservices.yml) | -| [Azure Compute Galleries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | [!['Compute: Galleries'](https://github.com/Azure/ResourceModules/workflows/Compute:%20Galleries/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.galleries.yml) | -| [Azure Databricks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | [!['Databricks: Workspaces'](https://github.com/Azure/ResourceModules/workflows/Databricks:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.databricks.workspaces.yml) | -| [Azure Firewalls](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | [!['Network: AzureFirewalls'](https://github.com/Azure/ResourceModules/workflows/Network:%20AzureFirewalls/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.azurefirewalls.yml) | -| [Azure Health Bots](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | [!['HealthBot: HealthBots'](https://github.com/Azure/ResourceModules/workflows/HealthBot:%20HealthBots/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.healthbot.healthbots.yml) | -| [Azure Kubernetes Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | [!['ContainerService: ManagedClusters'](https://github.com/Azure/ResourceModules/workflows/ContainerService:%20ManagedClusters/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.containerservice.managedclusters.yml) | -| [Azure Monitor Private Link Scopes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | [!['Insights: PrivateLinkScopes'](https://github.com/Azure/ResourceModules/workflows/Insights:%20PrivateLinkScopes/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.privatelinkscopes.yml) | -| [Azure NetApp Files](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | [!['NetApp: NetAppAccounts'](https://github.com/Azure/ResourceModules/workflows/NetApp:%20NetAppAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.netapp.netappaccounts.yml) | -| [Azure Security Center](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | [!['Security: AzureSecurityCenter'](https://github.com/Azure/ResourceModules/workflows/Security:%20AzureSecurityCenter/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.security.azuresecuritycenter.yml) | -| [Azure Synapse Analytics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | [!['Synapse: PrivateLinkHubs'](https://github.com/Azure/ResourceModules/workflows/Synapse:%20PrivateLinkHubs/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.synapse.privatelinkhubs.yml) | -| [Bastion Hosts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | [!['Network: BastionHosts'](https://github.com/Azure/ResourceModules/workflows/Network:%20BastionHosts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.bastionhosts.yml) | -| [Batch Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | [!['Batch: BatchAccounts'](https://github.com/Azure/ResourceModules/workflows/Batch:%20BatchAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.batch.batchaccounts.yml) | -| [Budgets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | [!['Consumption: Budgets'](https://github.com/Azure/ResourceModules/workflows/Consumption:%20Budgets/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.consumption.budgets.yml) | -| [Cache Redis](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | [!['Cache: Redis'](https://github.com/Azure/ResourceModules/workflows/Cache:%20Redis/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.cache.redis.yml) | -| [Cognitive Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | [!['CognitiveServices: Accounts'](https://github.com/Azure/ResourceModules/workflows/CognitiveServices:%20Accounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.cognitiveservices.accounts.yml) | -| [Compute Disks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | [!['Compute: Disks'](https://github.com/Azure/ResourceModules/workflows/Compute:%20Disks/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.disks.yml) | -| [Container Instances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | [!['ContainerInstance: ContainerGroups'](https://github.com/Azure/ResourceModules/workflows/ContainerInstance:%20ContainerGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.containerinstance.containergroups.yml) | -| [Container Registries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | [!['ContainerRegistry: Registries'](https://github.com/Azure/ResourceModules/workflows/ContainerRegistry:%20Registries/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.containerregistry.registries.yml) | -| [Data Factories](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | [!['DataFactory: Factories'](https://github.com/Azure/ResourceModules/workflows/DataFactory:%20Factories/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.datafactory.factories.yml) | -| [DataProtection BackupVaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | [!['DataProtection: BackupVaults'](https://github.com/Azure/ResourceModules/workflows/DataProtection:%20BackupVaults/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.dataprotection.backupvaults.yml) | -| [DBforPostgreSQL FlexibleServers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | [!['DbForPostgreSQL: FlexibleServers'](https://github.com/Azure/ResourceModules/workflows/DbForPostgreSQL:%20FlexibleServers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.dbforpostgresql.flexibleservers.yml) | -| [DDoS Protection Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | [!['Network: DdosProtectionPlans'](https://github.com/Azure/ResourceModules/workflows/Network:%20DdosProtectionPlans/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.ddosprotectionplans.yml) | -| [Deployment Scripts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | [!['Resources: DeploymentScripts'](https://github.com/Azure/ResourceModules/workflows/Resources:%20DeploymentScripts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.resources.deploymentscripts.yml) | -| [Disk Encryption Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | [!['Compute: DiskEncryptionSets'](https://github.com/Azure/ResourceModules/workflows/Compute:%20DiskEncryptionSets/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.diskencryptionsets.yml) | -| [DocumentDB Database Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | [!['DocumentDB: DatabaseAccounts'](https://github.com/Azure/ResourceModules/workflows/DocumentDB:%20DatabaseAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.documentdb.databaseaccounts.yml) | -| [Event Grid System Topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | [!['EventGrid: System Topics'](https://github.com/Azure/ResourceModules/workflows/EventGrid:%20System%20Topics/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.eventgrid.systemtopics.yml) | -| [Event Grid Topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | [!['EventGrid: Topics'](https://github.com/Azure/ResourceModules/workflows/EventGrid:%20Topics/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.eventgrid.topics.yml) | -| [Event Hub Namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | [!['EventHub: Namespaces'](https://github.com/Azure/ResourceModules/workflows/EventHub:%20Namespaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.eventhub.namespaces.yml) | -| [ExpressRoute Circuits](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | [!['Network: ExpressRouteCircuits'](https://github.com/Azure/ResourceModules/workflows/Network:%20ExpressRouteCircuits/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.expressroutecircuits.yml) | -| [Firewall Policies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | [!['Network: FirewallPolicies'](https://github.com/Azure/ResourceModules/workflows/Network:%20FirewallPolicies/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.firewallpolicies.yml) | -| [Front Doors](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | [!['Network: Frontdoors'](https://github.com/Azure/ResourceModules/workflows/Network:%20Frontdoors/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.frontdoors.yml) | -| [Image Templates](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | [!['VirtualMachineImages: ImageTemplates'](https://github.com/Azure/ResourceModules/workflows/VirtualMachineImages:%20ImageTemplates/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.virtualmachineimages.imagetemplates.yml) | -| [Images](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/images) | [!['Compute: Images'](https://github.com/Azure/ResourceModules/workflows/Compute:%20Images/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.images.yml) | -| [IP Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | [!['Network: IpGroups'](https://github.com/Azure/ResourceModules/workflows/Network:%20IpGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.ipgroups.yml) | -| [Key Vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | [!['KeyVault: Vaults'](https://github.com/Azure/ResourceModules/workflows/KeyVault:%20Vaults/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.keyvault.vaults.yml) | -| [Kubernetes Configuration Extensions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | [!['KubernetesConfiguration: Extensions'](https://github.com/Azure/ResourceModules/workflows/KubernetesConfiguration:%20Extensions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.kubernetesconfiguration.extensions.yml) | -| [Kubernetes Configuration Flux Configurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | [!['KubernetesConfiguration: FluxConfigurations'](https://github.com/Azure/ResourceModules/workflows/KubernetesConfiguration:%20FluxConfigurations/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.kubernetesconfiguration.fluxconfigurations.yml) | -| [Load Balancers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | [!['Network: LoadBalancers'](https://github.com/Azure/ResourceModules/workflows/Network:%20LoadBalancers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.loadbalancers.yml) | -| [Local Network Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | [!['Network: LocalNetworkGateways'](https://github.com/Azure/ResourceModules/workflows/Network:%20LocalNetworkGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.localnetworkgateways.yml) | -| [Log Analytics Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | [!['OperationalInsights: Workspaces'](https://github.com/Azure/ResourceModules/workflows/OperationalInsights:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.operationalinsights.workspaces.yml) | -| [Logic Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | [!['Logic: Workflows'](https://github.com/Azure/ResourceModules/workflows/Logic:%20Workflows/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.logic.workflows.yml) | -| [Machine Learning Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | [!['MachineLearningServices: Workspaces'](https://github.com/Azure/ResourceModules/workflows/MachineLearningServices:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.machinelearningservices.workspaces.yml) | -| [Maintenance Configurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | [!['Maintenance: MaintenanceConfigurations'](https://github.com/Azure/ResourceModules/workflows/Maintenance:%20MaintenanceConfigurations/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.maintenance.maintenanceconfigurations.yml) | -| [Management Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | [!['Management: ManagementGroups'](https://github.com/Azure/ResourceModules/workflows/Management:%20ManagementGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.management.managementgroups.yml) | -| [Metric Alerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | [!['Insights: MetricAlerts'](https://github.com/Azure/ResourceModules/workflows/Insights:%20MetricAlerts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.metricalerts.yml) | -| [NAT Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | [!['Network: NatGateways'](https://github.com/Azure/ResourceModules/workflows/Network:%20NatGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.natgateways.yml) | -| [Network Application Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | [!['Network: ApplicationGateways'](https://github.com/Azure/ResourceModules/workflows/Network:%20ApplicationGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.applicationgateways.yml) | -| [Network DnsResolvers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | [!['Network: DNS Resolvers'](https://github.com/Azure/ResourceModules/workflows/Network:%20DNS%20Resolvers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.dnsresolvers.yml) | -| [Network Interface](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | [!['Network: NetworkInterfaces'](https://github.com/Azure/ResourceModules/workflows/Network:%20NetworkInterfaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.networkinterfaces.yml) | -| [Network PrivateLinkServices](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | [!['Network: PrivateLinkServices'](https://github.com/Azure/ResourceModules/workflows/Network:%20PrivateLinkServices/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.privatelinkservices.yml) | -| [Network Security Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | [!['Network: NetworkSecurityGroups'](https://github.com/Azure/ResourceModules/workflows/Network:%20NetworkSecurityGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.networksecuritygroups.yml) | -| [Network Watchers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | [!['Network: NetworkWatchers'](https://github.com/Azure/ResourceModules/workflows/Network:%20NetworkWatchers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.networkwatchers.yml) | -| [OperationsManagement Solutions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | [!['OperationsManagement: Solutions'](https://github.com/Azure/ResourceModules/workflows/OperationsManagement:%20Solutions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.operationsmanagement.solutions.yml) | -| [Policy Assignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | [!['Authorization: PolicyAssignments'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20PolicyAssignments/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.policyassignments.yml) | -| [Policy Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | [!['Authorization: PolicyDefinitions'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20PolicyDefinitions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.policydefinitions.yml) | -| [Policy Exemptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | [!['Authorization: PolicyExemptions'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20PolicyExemptions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.policyexemptions.yml) | -| [Policy Set Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | [!['Authorization: PolicySetDefinitions'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20PolicySetDefinitions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.policysetdefinitions.yml) | -| [PowerBIDedicated Capacities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | [!['PowerBiDedicated: Capacities'](https://github.com/Azure/ResourceModules/workflows/PowerBiDedicated:%20Capacities/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.powerbidedicated.capacities.yml) | -| [Private DNS Zones](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | [!['Network: PrivateDnsZones'](https://github.com/Azure/ResourceModules/workflows/Network:%20PrivateDnsZones/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.privatednszones.yml) | -| [Private Endpoints](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | [!['Network: PrivateEndpoints'](https://github.com/Azure/ResourceModules/workflows/Network:%20PrivateEndpoints/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.privateendpoints.yml) | -| [Proximity Placement Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | [!['Compute: ProximityPlacementGroups'](https://github.com/Azure/ResourceModules/workflows/Compute:%20ProximityPlacementGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.proximityplacementgroups.yml) | -| [Public IP Addresses](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | [!['Network: PublicIpAddresses'](https://github.com/Azure/ResourceModules/workflows/Network:%20PublicIpAddresses/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.publicipaddresses.yml) | -| [Public IP Prefixes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | [!['Network: PublicIpPrefixes'](https://github.com/Azure/ResourceModules/workflows/Network:%20PublicIpPrefixes/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.publicipprefixes.yml) | -| [Recovery Services Vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | [!['RecoveryServices: Vaults'](https://github.com/Azure/ResourceModules/workflows/RecoveryServices:%20Vaults/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.recoveryservices.vaults.yml) | -| [Registration Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | [!['ManagedServices: RegistrationDefinitions'](https://github.com/Azure/ResourceModules/workflows/ManagedServices:%20RegistrationDefinitions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.managedservices.registrationdefinitions.yml) | -| [Resource Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | [!['Resources: ResourceGroups'](https://github.com/Azure/ResourceModules/workflows/Resources:%20ResourceGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.resources.resourcegroups.yml) | -| [Resources Tags](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | [!['Resources: Tags'](https://github.com/Azure/ResourceModules/workflows/Resources:%20Tags/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.resources.tags.yml) | -| [Role Assignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | [!['Authorization: RoleAssignments'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20RoleAssignments/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.roleassignments.yml) | -| [Role Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | [!['Authorization: RoleDefinitions'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20RoleDefinitions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.roledefinitions.yml) | -| [Route Tables](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | [!['Network: RouteTables'](https://github.com/Azure/ResourceModules/workflows/Network:%20RouteTables/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.routetables.yml) | -| [Scheduled Query Rules](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | [!['Insights: ScheduledQueryRules'](https://github.com/Azure/ResourceModules/workflows/Insights:%20ScheduledQueryRules/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.scheduledqueryrules.yml) | -| [Service Bus Namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | [!['ServiceBus: Namespaces'](https://github.com/Azure/ResourceModules/workflows/ServiceBus:%20Namespaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.servicebus.namespaces.yml) | -| [Service Fabric Clusters](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | [!['Service Fabric: Clusters'](https://github.com/Azure/ResourceModules/workflows/Service%20Fabric:%20Clusters/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.servicefabric.clusters.yml) | -| [SQL Managed Instances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | [!['Sql: ManagedInstances'](https://github.com/Azure/ResourceModules/workflows/Sql:%20ManagedInstances/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.sql.managedinstances.yml) | -| [SQL Servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | [!['Sql: Servers'](https://github.com/Azure/ResourceModules/workflows/Sql:%20Servers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.sql.servers.yml) | -| [Static Web Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | [!['Web: StaticSites'](https://github.com/Azure/ResourceModules/workflows/Web:%20StaticSites/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.staticsites.yml) | -| [Storage Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | [!['Storage: StorageAccounts'](https://github.com/Azure/ResourceModules/workflows/Storage:%20StorageAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.storage.storageaccounts.yml) | -| [Synapse Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | [!['Synapse: Workspaces'](https://github.com/Azure/ResourceModules/workflows/Synapse:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.synapse.workspaces.yml) | -| [Traffic Manager Profiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | [!['Network: TrafficManagerProfiles'](https://github.com/Azure/ResourceModules/workflows/Network:%20TrafficManagerProfiles/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.trafficmanagerprofiles.yml) | -| [User Assigned Identities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | [!['ManagedIdentity: UserAssignedIdentities'](https://github.com/Azure/ResourceModules/workflows/ManagedIdentity:%20UserAssignedIdentities/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.managedidentity.userassignedidentities.yml) | -| [Virtual Hubs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | [!['Network: VirtualHubs'](https://github.com/Azure/ResourceModules/workflows/Network:%20VirtualHubs/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.virtualhubs.yml) | -| [Virtual Machine Scale Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | [!['Compute: VirtualMachineScaleSets'](https://github.com/Azure/ResourceModules/workflows/Compute:%20VirtualMachineScaleSets/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.virtualmachinescalesets.yml) | -| [Virtual Machines](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | [!['Compute: VirtualMachines'](https://github.com/Azure/ResourceModules/workflows/Compute:%20VirtualMachines/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.virtualmachines.yml) | -| [Virtual Network Gateway Connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/connections) | [!['Network: Connections'](https://github.com/Azure/ResourceModules/workflows/Network:%20Connections/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.connections.yml) | -| [Virtual Network Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | [!['Network: VirtualNetworkGateways'](https://github.com/Azure/ResourceModules/workflows/Network:%20VirtualNetworkGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.virtualnetworkgateways.yml) | -| [Virtual Networks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | [!['Network: VirtualNetworks'](https://github.com/Azure/ResourceModules/workflows/Network:%20VirtualNetworks/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.virtualnetworks.yml) | -| [Virtual WANs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | [!['Network: VirtualWans'](https://github.com/Azure/ResourceModules/workflows/Network:%20VirtualWans/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.virtualwans.yml) | -| [VPN Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | [!['Network: VPNGateways'](https://github.com/Azure/ResourceModules/workflows/Network:%20VPNGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.vpngateways.yml) | -| [VPN Sites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | [!['Network: VPN Sites'](https://github.com/Azure/ResourceModules/workflows/Network:%20VPN%20Sites/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.vpnsites.yml) | -| [Web PubSub Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | [!['SignalR Service: Web PubSub'](https://github.com/Azure/ResourceModules/workflows/SignalR%20Service:%20Web%20PubSub/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.signalrservice.webpubsub.yml) | -| [Web/Function Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/sites) | [!['Web: Sites'](https://github.com/Azure/ResourceModules/workflows/Web:%20Sites/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.sites.yml) | +| [Action Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | [!['Insights: ActionGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20ActionGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.actiongroups.yml) | +| [Activity Log Alerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | [!['Insights: ActivityLogAlerts'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20ActivityLogAlerts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.activitylogalerts.yml) | +| [Activity Logs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | [!['Insights: DiagnosticSettings'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20DiagnosticSettings/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.diagnosticsettings.yml) | +| [Analysis Services Servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | [!['AnalysisServices: Servers'](https://github.com/lapellaniz/ResourceModules/workflows/AnalysisServices:%20Servers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.analysisservices.servers.yml) | +| [API Connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/connections) | [!['Web: Connections'](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20Connections/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.connections.yml) | +| [API Management Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | [!['ApiManagement: Service'](https://github.com/lapellaniz/ResourceModules/workflows/ApiManagement:%20Service/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.apimanagement.service.yml) | +| [App Configuration](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | [!['AppConfiguration: ConfigurationStores'](https://github.com/lapellaniz/ResourceModules/workflows/AppConfiguration:%20ConfigurationStores/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.appconfiguration.configurationstores.yml) | +| [App Service Environments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | [!['Web: HostingEnvironments'](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20HostingEnvironments/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.hostingenvironments.yml) | +| [App Service Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | [!['Web: Serverfarms'](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20Serverfarms/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.serverfarms.yml) | +| [Application Gateway WebApp Firewall Policies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | [!['Network: ApplicationGatewayWebApplicationFirewallPolicies'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20ApplicationGatewayWebApplicationFirewallPolicies/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml) | +| [Application Insights](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/components) | [!['Insights: Components'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20Components/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.components.yml) | +| [Application Security Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | [!['Network: ApplicationSecurityGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20ApplicationSecurityGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.applicationsecuritygroups.yml) | +| [Authorization Locks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | [!['Authorization: Locks'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20Locks/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.locks.yml) | +| [Automation Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | [!['Automation: AutomationAccounts'](https://github.com/lapellaniz/ResourceModules/workflows/Automation:%20AutomationAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.automation.automationaccounts.yml) | +| [Availability Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | [!['Compute: AvailabilitySets'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20AvailabilitySets/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.availabilitysets.yml) | +| [AVD Application Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | [!['DesktopVirtualization: ApplicationGroups'](https://github.com/lapellaniz/ResourceModules/workflows/DesktopVirtualization:%20ApplicationGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.desktopvirtualization.applicationgroups.yml) | +| [AVD Host Pools](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | [!['DesktopVirtualization: HostPools'](https://github.com/lapellaniz/ResourceModules/workflows/DesktopVirtualization:%20HostPools/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.desktopvirtualization.hostpools.yml) | +| [AVD Scaling Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | [!['DesktopVirtualization: Scalingplans'](https://github.com/lapellaniz/ResourceModules/workflows/DesktopVirtualization:%20Scalingplans/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.desktopvirtualization.scalingplans.yml) | +| [AVD Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | [!['DesktopVirtualization: Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/DesktopVirtualization:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.desktopvirtualization.workspaces.yml) | +| [Azure Active Directory Domain Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | [!['AAD: DomainServices'](https://github.com/lapellaniz/ResourceModules/workflows/AAD:%20DomainServices/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.aad.domainservices.yml) | +| [Azure Compute Galleries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | [!['Compute: Galleries'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20Galleries/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.galleries.yml) | +| [Azure Databricks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | [!['Databricks: Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/Databricks:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.databricks.workspaces.yml) | +| [Azure Firewalls](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | [!['Network: AzureFirewalls'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20AzureFirewalls/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.azurefirewalls.yml) | +| [Azure Health Bots](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | [!['HealthBot: HealthBots'](https://github.com/lapellaniz/ResourceModules/workflows/HealthBot:%20HealthBots/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.healthbot.healthbots.yml) | +| [Azure Kubernetes Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | [!['ContainerService: ManagedClusters'](https://github.com/lapellaniz/ResourceModules/workflows/ContainerService:%20ManagedClusters/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.containerservice.managedclusters.yml) | +| [Azure Monitor Private Link Scopes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | [!['Insights: PrivateLinkScopes'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20PrivateLinkScopes/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.privatelinkscopes.yml) | +| [Azure NetApp Files](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | [!['NetApp: NetAppAccounts'](https://github.com/lapellaniz/ResourceModules/workflows/NetApp:%20NetAppAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.netapp.netappaccounts.yml) | +| [Azure Security Center](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | [!['Security: AzureSecurityCenter'](https://github.com/lapellaniz/ResourceModules/workflows/Security:%20AzureSecurityCenter/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.security.azuresecuritycenter.yml) | +| [Azure Synapse Analytics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | [!['Synapse: PrivateLinkHubs'](https://github.com/lapellaniz/ResourceModules/workflows/Synapse:%20PrivateLinkHubs/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.synapse.privatelinkhubs.yml) | +| [Bastion Hosts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | [!['Network: BastionHosts'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20BastionHosts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.bastionhosts.yml) | +| [Batch Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | [!['Batch: BatchAccounts'](https://github.com/lapellaniz/ResourceModules/workflows/Batch:%20BatchAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.batch.batchaccounts.yml) | +| [Budgets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | [!['Consumption: Budgets'](https://github.com/lapellaniz/ResourceModules/workflows/Consumption:%20Budgets/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.consumption.budgets.yml) | +| [Cache Redis](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | [!['Cache: Redis'](https://github.com/lapellaniz/ResourceModules/workflows/Cache:%20Redis/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.cache.redis.yml) | +| [Cognitive Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | [!['CognitiveServices: Accounts'](https://github.com/lapellaniz/ResourceModules/workflows/CognitiveServices:%20Accounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.cognitiveservices.accounts.yml) | +| [Compute Disks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | [!['Compute: Disks'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20Disks/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.disks.yml) | +| [Container Instances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | [!['ContainerInstance: ContainerGroups'](https://github.com/lapellaniz/ResourceModules/workflows/ContainerInstance:%20ContainerGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.containerinstance.containergroups.yml) | +| [Container Registries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | [!['ContainerRegistry: Registries'](https://github.com/lapellaniz/ResourceModules/workflows/ContainerRegistry:%20Registries/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.containerregistry.registries.yml) | +| [Data Factories](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | [!['DataFactory: Factories'](https://github.com/lapellaniz/ResourceModules/workflows/DataFactory:%20Factories/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.datafactory.factories.yml) | +| [DataProtection BackupVaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | [!['DataProtection: BackupVaults'](https://github.com/lapellaniz/ResourceModules/workflows/DataProtection:%20BackupVaults/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.dataprotection.backupvaults.yml) | +| [DBforPostgreSQL FlexibleServers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | [!['DbForPostgreSQL: FlexibleServers'](https://github.com/lapellaniz/ResourceModules/workflows/DbForPostgreSQL:%20FlexibleServers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.dbforpostgresql.flexibleservers.yml) | +| [DDoS Protection Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | [!['Network: DdosProtectionPlans'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20DdosProtectionPlans/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.ddosprotectionplans.yml) | +| [Deployment Scripts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | [!['Resources: DeploymentScripts'](https://github.com/lapellaniz/ResourceModules/workflows/Resources:%20DeploymentScripts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.resources.deploymentscripts.yml) | +| [Disk Encryption Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | [!['Compute: DiskEncryptionSets'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20DiskEncryptionSets/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.diskencryptionsets.yml) | +| [DocumentDB Database Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | [!['DocumentDB: DatabaseAccounts'](https://github.com/lapellaniz/ResourceModules/workflows/DocumentDB:%20DatabaseAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.documentdb.databaseaccounts.yml) | +| [Event Grid System Topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | [!['EventGrid: System Topics'](https://github.com/lapellaniz/ResourceModules/workflows/EventGrid:%20System%20Topics/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.eventgrid.systemtopics.yml) | +| [Event Grid Topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | [!['EventGrid: Topics'](https://github.com/lapellaniz/ResourceModules/workflows/EventGrid:%20Topics/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.eventgrid.topics.yml) | +| [Event Hub Namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | [!['EventHub: Namespaces'](https://github.com/lapellaniz/ResourceModules/workflows/EventHub:%20Namespaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.eventhub.namespaces.yml) | +| [ExpressRoute Circuits](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | [!['Network: ExpressRouteCircuits'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20ExpressRouteCircuits/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.expressroutecircuits.yml) | +| [Firewall Policies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | [!['Network: FirewallPolicies'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20FirewallPolicies/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.firewallpolicies.yml) | +| [Front Doors](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | [!['Network: Frontdoors'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20Frontdoors/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.frontdoors.yml) | +| [HealthcareApis Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthcareApis/workspaces) | [!['HealthcareApis - Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/HealthcareApis%20-%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.healthcareapis.workspaces.yml) | +| [Image Templates](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | [!['VirtualMachineImages: ImageTemplates'](https://github.com/lapellaniz/ResourceModules/workflows/VirtualMachineImages:%20ImageTemplates/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.virtualmachineimages.imagetemplates.yml) | +| [Images](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/images) | [!['Compute: Images'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20Images/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.images.yml) | +| [IP Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | [!['Network: IpGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20IpGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.ipgroups.yml) | +| [Key Vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | [!['KeyVault: Vaults'](https://github.com/lapellaniz/ResourceModules/workflows/KeyVault:%20Vaults/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.keyvault.vaults.yml) | +| [Kubernetes Configuration Extensions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | [!['KubernetesConfiguration: Extensions'](https://github.com/lapellaniz/ResourceModules/workflows/KubernetesConfiguration:%20Extensions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.kubernetesconfiguration.extensions.yml) | +| [Kubernetes Configuration Flux Configurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | [!['KubernetesConfiguration: FluxConfigurations'](https://github.com/lapellaniz/ResourceModules/workflows/KubernetesConfiguration:%20FluxConfigurations/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.kubernetesconfiguration.fluxconfigurations.yml) | +| [Load Balancers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | [!['Network: LoadBalancers'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20LoadBalancers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.loadbalancers.yml) | +| [Local Network Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | [!['Network: LocalNetworkGateways'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20LocalNetworkGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.localnetworkgateways.yml) | +| [Log Analytics Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | [!['OperationalInsights: Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/OperationalInsights:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.operationalinsights.workspaces.yml) | +| [Logic Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | [!['Logic: Workflows'](https://github.com/lapellaniz/ResourceModules/workflows/Logic:%20Workflows/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.logic.workflows.yml) | +| [Machine Learning Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | [!['MachineLearningServices: Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/MachineLearningServices:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.machinelearningservices.workspaces.yml) | +| [Maintenance Configurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | [!['Maintenance: MaintenanceConfigurations'](https://github.com/lapellaniz/ResourceModules/workflows/Maintenance:%20MaintenanceConfigurations/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.maintenance.maintenanceconfigurations.yml) | +| [Management Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | [!['Management: ManagementGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Management:%20ManagementGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.management.managementgroups.yml) | +| [Metric Alerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | [!['Insights: MetricAlerts'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20MetricAlerts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.metricalerts.yml) | +| [NAT Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | [!['Network: NatGateways'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20NatGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.natgateways.yml) | +| [Network Application Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | [!['Network: ApplicationGateways'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20ApplicationGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.applicationgateways.yml) | +| [Network DnsResolvers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | [!['Network: DNS Resolvers'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20DNS%20Resolvers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.dnsresolvers.yml) | +| [Network Interface](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | [!['Network: NetworkInterfaces'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20NetworkInterfaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.networkinterfaces.yml) | +| [Network PrivateLinkServices](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | [!['Network: PrivateLinkServices'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PrivateLinkServices/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.privatelinkservices.yml) | +| [Network Security Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | [!['Network: NetworkSecurityGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20NetworkSecurityGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.networksecuritygroups.yml) | +| [Network Watchers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | [!['Network: NetworkWatchers'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20NetworkWatchers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.networkwatchers.yml) | +| [OperationsManagement Solutions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | [!['OperationsManagement: Solutions'](https://github.com/lapellaniz/ResourceModules/workflows/OperationsManagement:%20Solutions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.operationsmanagement.solutions.yml) | +| [Policy Assignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | [!['Authorization: PolicyAssignments'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20PolicyAssignments/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.policyassignments.yml) | +| [Policy Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | [!['Authorization: PolicyDefinitions'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20PolicyDefinitions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.policydefinitions.yml) | +| [Policy Exemptions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | [!['Authorization: PolicyExemptions'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20PolicyExemptions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.policyexemptions.yml) | +| [Policy Set Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | [!['Authorization: PolicySetDefinitions'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20PolicySetDefinitions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.policysetdefinitions.yml) | +| [PowerBIDedicated Capacities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | [!['PowerBiDedicated: Capacities'](https://github.com/lapellaniz/ResourceModules/workflows/PowerBiDedicated:%20Capacities/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.powerbidedicated.capacities.yml) | +| [Private DNS Zones](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | [!['Network: PrivateDnsZones'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PrivateDnsZones/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.privatednszones.yml) | +| [Private Endpoints](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | [!['Network: PrivateEndpoints'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PrivateEndpoints/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.privateendpoints.yml) | +| [Proximity Placement Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | [!['Compute: ProximityPlacementGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20ProximityPlacementGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.proximityplacementgroups.yml) | +| [Public IP Addresses](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | [!['Network: PublicIpAddresses'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PublicIpAddresses/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.publicipaddresses.yml) | +| [Public IP Prefixes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | [!['Network: PublicIpPrefixes'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PublicIpPrefixes/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.publicipprefixes.yml) | +| [Recovery Services Vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | [!['RecoveryServices: Vaults'](https://github.com/lapellaniz/ResourceModules/workflows/RecoveryServices:%20Vaults/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.recoveryservices.vaults.yml) | +| [Registration Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | [!['ManagedServices: RegistrationDefinitions'](https://github.com/lapellaniz/ResourceModules/workflows/ManagedServices:%20RegistrationDefinitions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.managedservices.registrationdefinitions.yml) | +| [Resource Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | [!['Resources: ResourceGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Resources:%20ResourceGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.resources.resourcegroups.yml) | +| [Resources Tags](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | [!['Resources: Tags'](https://github.com/lapellaniz/ResourceModules/workflows/Resources:%20Tags/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.resources.tags.yml) | +| [Role Assignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | [!['Authorization: RoleAssignments'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20RoleAssignments/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.roleassignments.yml) | +| [Role Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | [!['Authorization: RoleDefinitions'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20RoleDefinitions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.roledefinitions.yml) | +| [Route Tables](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | [!['Network: RouteTables'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20RouteTables/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.routetables.yml) | +| [Scheduled Query Rules](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | [!['Insights: ScheduledQueryRules'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20ScheduledQueryRules/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.scheduledqueryrules.yml) | +| [Service Bus Namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | [!['ServiceBus: Namespaces'](https://github.com/lapellaniz/ResourceModules/workflows/ServiceBus:%20Namespaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.servicebus.namespaces.yml) | +| [Service Fabric Clusters](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | [!['Service Fabric: Clusters'](https://github.com/lapellaniz/ResourceModules/workflows/Service%20Fabric:%20Clusters/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.servicefabric.clusters.yml) | +| [SQL Managed Instances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | [!['Sql: ManagedInstances'](https://github.com/lapellaniz/ResourceModules/workflows/Sql:%20ManagedInstances/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.sql.managedinstances.yml) | +| [SQL Servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | [!['Sql: Servers'](https://github.com/lapellaniz/ResourceModules/workflows/Sql:%20Servers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.sql.servers.yml) | +| [Static Web Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | [!['Web: StaticSites'](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20StaticSites/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.staticsites.yml) | +| [Storage Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | [!['Storage: StorageAccounts'](https://github.com/lapellaniz/ResourceModules/workflows/Storage:%20StorageAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.storage.storageaccounts.yml) | +| [Synapse Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | [!['Synapse: Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/Synapse:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.synapse.workspaces.yml) | +| [Traffic Manager Profiles](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | [!['Network: TrafficManagerProfiles'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20TrafficManagerProfiles/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.trafficmanagerprofiles.yml) | +| [User Assigned Identities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | [!['ManagedIdentity: UserAssignedIdentities'](https://github.com/lapellaniz/ResourceModules/workflows/ManagedIdentity:%20UserAssignedIdentities/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.managedidentity.userassignedidentities.yml) | +| [Virtual Hubs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | [!['Network: VirtualHubs'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VirtualHubs/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.virtualhubs.yml) | +| [Virtual Machine Scale Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | [!['Compute: VirtualMachineScaleSets'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20VirtualMachineScaleSets/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.virtualmachinescalesets.yml) | +| [Virtual Machines](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | [!['Compute: VirtualMachines'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20VirtualMachines/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.virtualmachines.yml) | +| [Virtual Network Gateway Connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/connections) | [!['Network: Connections'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20Connections/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.connections.yml) | +| [Virtual Network Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | [!['Network: VirtualNetworkGateways'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VirtualNetworkGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.virtualnetworkgateways.yml) | +| [Virtual Networks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | [!['Network: VirtualNetworks'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VirtualNetworks/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.virtualnetworks.yml) | +| [Virtual WANs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | [!['Network: VirtualWans'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VirtualWans/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.virtualwans.yml) | +| [VPN Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | [!['Network: VPNGateways'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VPNGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.vpngateways.yml) | +| [VPN Sites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | [!['Network: VPN Sites'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VPN%20Sites/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.vpnsites.yml) | +| [Web PubSub Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | [!['SignalR Service: Web PubSub'](https://github.com/lapellaniz/ResourceModules/workflows/SignalR%20Service:%20Web%20PubSub/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.signalrservice.webpubsub.yml) | +| [Web/Function Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/sites) | [!['Web: Sites'](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20Sites/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.sites.yml) | ## Tooling diff --git a/docs/wiki/The library - Module overview.md b/docs/wiki/The library - Module overview.md index a67249d92f..9e38b9e387 100644 --- a/docs/wiki/The library - Module overview.md +++ b/docs/wiki/The library - Module overview.md @@ -80,50 +80,51 @@ This section provides an overview of the library's feature set. | 65 | MS.Sql

servers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:6] | 254 | | 66 | MS.RecoveryServices

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:7, L2:2, L3:1] | 291 | | 67 | MS.ManagedIdentity

userAssignedIdentities | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | -| 68 | MS.Storage

storageAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:5, L2:4, L3:1] | 343 | -| 69 | MS.VirtualMachineImages

imageTemplates | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 167 | -| 70 | MS.Network

networkWatchers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 97 | -| 71 | MS.Network

expressRouteCircuits | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 188 | -| 72 | MS.Network

trafficmanagerprofiles | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 164 | -| 73 | MS.Network

vpnGateways | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 104 | -| 74 | MS.Network

frontDoors | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 151 | -| 75 | MS.Network

privateEndpoints | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 108 | -| 76 | MS.Network

virtualWans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 80 | -| 77 | MS.Network

virtualHubs | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 148 | -| 78 | MS.Network

applicationGatewayWebApplicationFirewallPolicies | | | :white_check_mark: | | | | | 44 | -| 79 | MS.Network

publicIPAddresses | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 167 | -| 80 | MS.Network

ddosProtectionPlans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | -| 81 | MS.Network

virtualNetworks | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 230 | -| 82 | MS.Network

publicIPPrefixes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 74 | -| 83 | MS.Network

privateLinkServices | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 85 | -| 84 | MS.Network

connections | | :white_check_mark: | :white_check_mark: | | | | | 107 | -| 85 | MS.Network

azureFirewalls | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 265 | -| 86 | MS.Network

firewallPolicies | | | :white_check_mark: | | | | [L1:1] | 153 | -| 87 | MS.Network

ipGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 68 | -| 88 | MS.Network

bastionHosts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 204 | -| 89 | MS.Network

privateDnsZones | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:9] | 189 | -| 90 | MS.Network

networkSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 152 | -| 91 | MS.Network

natGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 184 | -| 92 | MS.Network

virtualNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 378 | -| 93 | MS.Network

localNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | -| 94 | MS.Network

loadBalancers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 238 | -| 95 | MS.Network

vpnSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | -| 96 | MS.Network

routeTables | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 70 | -| 97 | MS.Network

dnsResolvers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 100 | -| 98 | MS.Network

applicationGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 308 | -| 99 | MS.Network

networkInterfaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 144 | -| 100 | MS.Network

applicationSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 63 | -| 101 | MS.CognitiveServices

accounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 252 | -| 102 | MS.Maintenance

maintenanceConfigurations | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 101 | -| 103 | MS.KeyVault

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3] | 278 | -| 104 | MS.SignalRService

webPubSub | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 153 | -| 105 | MS.Security

azureSecurityCenter | | | | | | | | 217 | -| 106 | MS.Batch

batchAccounts | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 225 | -| 107 | MS.ManagedServices

registrationDefinitions | | | | | | | | 60 | -| 108 | MS.Resources

resourceGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | -| 109 | MS.Resources

tags | | | :white_check_mark: | | | | [L1:2] | 51 | -| 110 | MS.Resources

deploymentScripts | | :white_check_mark: | :white_check_mark: | | | | | 111 | -| Sum | | 86 | 84 | 95 | 49 | 21 | 2 | 150 | 18475 | +| 68 | MS.HealthcareApis

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:3, L2:1] | 180 | +| 69 | MS.Storage

storageAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:5, L2:4, L3:1] | 343 | +| 70 | MS.VirtualMachineImages

imageTemplates | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 167 | +| 71 | MS.Network

networkWatchers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 97 | +| 72 | MS.Network

expressRouteCircuits | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 188 | +| 73 | MS.Network

trafficmanagerprofiles | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 164 | +| 74 | MS.Network

vpnGateways | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 104 | +| 75 | MS.Network

frontDoors | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 151 | +| 76 | MS.Network

privateEndpoints | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 108 | +| 77 | MS.Network

virtualWans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 80 | +| 78 | MS.Network

virtualHubs | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 148 | +| 79 | MS.Network

applicationGatewayWebApplicationFirewallPolicies | | | :white_check_mark: | | | | | 44 | +| 80 | MS.Network

publicIPAddresses | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 167 | +| 81 | MS.Network

ddosProtectionPlans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | +| 82 | MS.Network

virtualNetworks | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 230 | +| 83 | MS.Network

publicIPPrefixes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 74 | +| 84 | MS.Network

privateLinkServices | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 85 | +| 85 | MS.Network

connections | | :white_check_mark: | :white_check_mark: | | | | | 107 | +| 86 | MS.Network

azureFirewalls | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 265 | +| 87 | MS.Network

firewallPolicies | | | :white_check_mark: | | | | [L1:1] | 153 | +| 88 | MS.Network

ipGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 68 | +| 89 | MS.Network

bastionHosts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 204 | +| 90 | MS.Network

privateDnsZones | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:9] | 189 | +| 91 | MS.Network

networkSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 152 | +| 92 | MS.Network

natGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 184 | +| 93 | MS.Network

virtualNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 378 | +| 94 | MS.Network

localNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | +| 95 | MS.Network

loadBalancers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 238 | +| 96 | MS.Network

vpnSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | +| 97 | MS.Network

routeTables | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 70 | +| 98 | MS.Network

dnsResolvers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 100 | +| 99 | MS.Network

applicationGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 308 | +| 100 | MS.Network

networkInterfaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 144 | +| 101 | MS.Network

applicationSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 63 | +| 102 | MS.CognitiveServices

accounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 252 | +| 103 | MS.Maintenance

maintenanceConfigurations | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 101 | +| 104 | MS.KeyVault

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3] | 278 | +| 105 | MS.SignalRService

webPubSub | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 153 | +| 106 | MS.Security

azureSecurityCenter | | | | | | | | 217 | +| 107 | MS.Batch

batchAccounts | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 225 | +| 108 | MS.ManagedServices

registrationDefinitions | | | | | | | | 60 | +| 109 | MS.Resources

resourceGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | +| 110 | MS.Resources

tags | | | :white_check_mark: | | | | [L1:2] | 51 | +| 111 | MS.Resources

deploymentScripts | | :white_check_mark: | :white_check_mark: | | | | | 111 | +| Sum | | 87 | 85 | 96 | 49 | 21 | 2 | 154 | 18655 | ## Legend diff --git a/modules/README.md b/modules/README.md index 5a2106ab59..6539e2682c 100644 --- a/modules/README.md +++ b/modules/README.md @@ -4,113 +4,114 @@ In this section you can find useful information regarding the Modules that are c | Name | Provider namespace | Resource Type | | - | - | - | -| [Azure Active Directory Domain Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | `MS.AAD` | [DomainServices](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | -| [Analysis Services Servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | `MS.AnalysisServices` | [servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | -| [API Management Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | `MS.ApiManagement` | [service](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | -| [App Configuration](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | `MS.AppConfiguration` | [configurationStores](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | -| [Authorization Locks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | `MS.Authorization` | [locks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | -| [Policy Assignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | | [policyAssignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | -| [Policy Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | | [policyDefinitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | -| [Policy Exemptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | | [policyExemptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | -| [Policy Set Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | | [policySetDefinitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | -| [Role Assignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | | [roleAssignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | -| [Role Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | | [roleDefinitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | -| [Automation Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | `MS.Automation` | [automationAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | -| [Batch Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | `MS.Batch` | [batchAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | -| [Cache Redis](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | `MS.Cache` | [redis](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | -| [Cognitive Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | `MS.CognitiveServices` | [accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | -| [Availability Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | `MS.Compute` | [availabilitySets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | -| [Disk Encryption Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | | [diskEncryptionSets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | -| [Compute Disks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | | [disks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | -| [Azure Compute Galleries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | | [galleries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | -| [Images](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/images) | | [images](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/images) | -| [Proximity Placement Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | | [proximityPlacementGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | -| [Virtual Machines](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | | [virtualMachines](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | -| [Virtual Machine Scale Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | | [virtualMachineScaleSets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | -| [Budgets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | `MS.Consumption` | [budgets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | -| [Container Instances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | `MS.ContainerInstance` | [containerGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | -| [Container Registries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | `MS.ContainerRegistry` | [registries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | -| [Azure Kubernetes Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | `MS.ContainerService` | [managedClusters](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | -| [Azure Databricks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | `MS.Databricks` | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | -| [Data Factories](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | `MS.DataFactory` | [factories](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | -| [DataProtection BackupVaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | `MS.DataProtection` | [backupVaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | -| [DBforPostgreSQL FlexibleServers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | `MS.DBforPostgreSQL` | [flexibleServers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | -| [AVD Application Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | `MS.DesktopVirtualization` | [applicationgroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | -| [AVD Host Pools](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | | [hostpools](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | -| [AVD Scaling Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | | [scalingplans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | -| [AVD Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | -| [DocumentDB Database Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | `MS.DocumentDB` | [databaseAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | -| [Event Grid System Topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | `MS.EventGrid` | [systemTopics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | -| [Event Grid Topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | | [topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | -| [Event Hub Namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | `MS.EventHub` | [namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | -| [Azure Health Bots](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | `MS.HealthBot` | [healthBots](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | -| [Action Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | `MS.Insights` | [actionGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | -| [Activity Log Alerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | | [activityLogAlerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | -| [Application Insights](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/components) | | [components](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/components) | -| [Activity Logs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | | [diagnosticSettings](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | -| [Metric Alerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | | [metricAlerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | -| [Azure Monitor Private Link Scopes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | | [privateLinkScopes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | -| [Scheduled Query Rules](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | | [scheduledQueryRules](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | -| [Key Vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | `MS.KeyVault` | [vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | -| [Kubernetes Configuration Extensions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | `MS.KubernetesConfiguration` | [extensions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | -| [Kubernetes Configuration Flux Configurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | | [fluxConfigurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | -| [Logic Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | `MS.Logic` | [workflows](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | -| [Machine Learning Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | `MS.achineLearningServices` | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | -| [Maintenance Configurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | `MS.aintenance` | [maintenanceConfigurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | -| [User Assigned Identities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | `MS.anagedIdentity` | [userAssignedIdentities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | -| [Registration Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | `MS.anagedServices` | [registrationDefinitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | -| [Management Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | `MS.anagement` | [managementGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | -| [Azure NetApp Files](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | `MS.NetApp` | [netAppAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | -| [Network Application Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | `MS.Network` | [applicationGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | -| [Application Gateway WebApp Firewall Policies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | | [applicationGatewayWebApplicationFirewallPolicies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | -| [Application Security Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | | [applicationSecurityGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | -| [Azure Firewalls](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | | [azureFirewalls](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | -| [Bastion Hosts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | | [bastionHosts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | -| [Virtual Network Gateway Connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/connections) | | [connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/connections) | -| [DDoS Protection Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | | [ddosProtectionPlans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | -| [Network DnsResolvers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | | [dnsResolvers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | -| [ExpressRoute Circuits](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | | [expressRouteCircuits](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | -| [Firewall Policies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | | [firewallPolicies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | -| [Front Doors](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | | [frontDoors](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | -| [IP Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | | [ipGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | -| [Load Balancers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | | [loadBalancers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | -| [Local Network Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | | [localNetworkGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | -| [NAT Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | | [natGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | -| [Network Interface](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | | [networkInterfaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | -| [Network Security Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | | [networkSecurityGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | -| [Network Watchers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | | [networkWatchers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | -| [Private DNS Zones](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | | [privateDnsZones](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | -| [Private Endpoints](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | | [privateEndpoints](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | -| [Network PrivateLinkServices](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | | [privateLinkServices](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | -| [Public IP Addresses](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | | [publicIPAddresses](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | -| [Public IP Prefixes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | | [publicIPPrefixes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | -| [Route Tables](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | | [routeTables](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | -| [Traffic Manager Profiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | | [trafficmanagerprofiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | -| [Virtual Hubs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | | [virtualHubs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | -| [Virtual Network Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | | [virtualNetworkGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | -| [Virtual Networks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | | [virtualNetworks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | -| [Virtual WANs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | | [virtualWans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | -| [VPN Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | | [vpnGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | -| [VPN Sites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | | [vpnSites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | -| [Log Analytics Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | `MS.OperationalInsights` | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | -| [OperationsManagement Solutions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | `MS.OperationsManagement` | [solutions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | -| [PowerBIDedicated Capacities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | `MS.PowerBIDedicated` | [capacities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | -| [Recovery Services Vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | `MS.RecoveryServices` | [vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | -| [Deployment Scripts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | `MS.Resources` | [deploymentScripts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | -| [Resource Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | | [resourceGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | -| [Resources Tags](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | | [tags](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | -| [Azure Security Center](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | `MS.Security` | [azureSecurityCenter](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | -| [Service Bus Namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | `MS.ServiceBus` | [namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | -| [Service Fabric Clusters](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | `MS.ServiceFabric` | [clusters](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | -| [Web PubSub Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | `MS.SignalRService` | [webPubSub](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | -| [SQL Managed Instances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | `MS.Sql` | [managedInstances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | -| [SQL Servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | | [servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | -| [Storage Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | `MS.Storage` | [storageAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | -| [Azure Synapse Analytics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | `MS.Synapse` | [privateLinkHubs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | -| [Synapse Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | -| [Image Templates](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | `MS.VirtualMachineImages` | [imageTemplates](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | -| [API Connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/connections) | `MS.Web` | [connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/connections) | -| [App Service Environments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | | [hostingEnvironments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | -| [App Service Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | | [serverfarms](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | -| [Web/Function Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/sites) | | [sites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/sites) | -| [Static Web Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | | [staticSites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | +| [Azure Active Directory Domain Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | `MS.AAD` | [DomainServices](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | +| [Analysis Services Servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | `MS.AnalysisServices` | [servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | +| [API Management Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | `MS.ApiManagement` | [service](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | +| [App Configuration](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | `MS.AppConfiguration` | [configurationStores](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | +| [Authorization Locks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | `MS.Authorization` | [locks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | +| [Policy Assignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | | [policyAssignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | +| [Policy Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | | [policyDefinitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | +| [Policy Exemptions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | | [policyExemptions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | +| [Policy Set Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | | [policySetDefinitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | +| [Role Assignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | | [roleAssignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | +| [Role Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | | [roleDefinitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | +| [Automation Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | `MS.Automation` | [automationAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | +| [Batch Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | `MS.Batch` | [batchAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | +| [Cache Redis](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | `MS.Cache` | [redis](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | +| [Cognitive Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | `MS.CognitiveServices` | [accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | +| [Availability Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | `MS.Compute` | [availabilitySets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | +| [Disk Encryption Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | | [diskEncryptionSets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | +| [Compute Disks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | | [disks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | +| [Azure Compute Galleries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | | [galleries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | +| [Images](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/images) | | [images](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/images) | +| [Proximity Placement Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | | [proximityPlacementGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | +| [Virtual Machines](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | | [virtualMachines](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | +| [Virtual Machine Scale Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | | [virtualMachineScaleSets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | +| [Budgets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | `MS.Consumption` | [budgets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | +| [Container Instances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | `MS.ContainerInstance` | [containerGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | +| [Container Registries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | `MS.ContainerRegistry` | [registries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | +| [Azure Kubernetes Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | `MS.ContainerService` | [managedClusters](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | +| [Azure Databricks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | `MS.Databricks` | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | +| [Data Factories](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | `MS.DataFactory` | [factories](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | +| [DataProtection BackupVaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | `MS.DataProtection` | [backupVaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | +| [DBforPostgreSQL FlexibleServers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | `MS.DBforPostgreSQL` | [flexibleServers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | +| [AVD Application Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | `MS.DesktopVirtualization` | [applicationgroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | +| [AVD Host Pools](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | | [hostpools](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | +| [AVD Scaling Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | | [scalingplans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | +| [AVD Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | +| [DocumentDB Database Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | `MS.DocumentDB` | [databaseAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | +| [Event Grid System Topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | `MS.EventGrid` | [systemTopics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | +| [Event Grid Topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | | [topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | +| [Event Hub Namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | `MS.EventHub` | [namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | +| [Azure Health Bots](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | `MS.HealthBot` | [healthBots](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | +| [HealthcareApis Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthcareApis/workspaces) | `MS.HealthcareApis` | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthcareApis/workspaces) | +| [Action Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | `MS.Insights` | [actionGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | +| [Activity Log Alerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | | [activityLogAlerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | +| [Application Insights](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/components) | | [components](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/components) | +| [Activity Logs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | | [diagnosticSettings](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | +| [Metric Alerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | | [metricAlerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | +| [Azure Monitor Private Link Scopes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | | [privateLinkScopes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | +| [Scheduled Query Rules](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | | [scheduledQueryRules](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | +| [Key Vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | `MS.KeyVault` | [vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | +| [Kubernetes Configuration Extensions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | `MS.KubernetesConfiguration` | [extensions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | +| [Kubernetes Configuration Flux Configurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | | [fluxConfigurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | +| [Logic Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | `MS.Logic` | [workflows](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | +| [Machine Learning Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | `MS.achineLearningServices` | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | +| [Maintenance Configurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | `MS.aintenance` | [maintenanceConfigurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | +| [User Assigned Identities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | `MS.anagedIdentity` | [userAssignedIdentities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | +| [Registration Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | `MS.anagedServices` | [registrationDefinitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | +| [Management Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | `MS.anagement` | [managementGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | +| [Azure NetApp Files](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | `MS.NetApp` | [netAppAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | +| [Network Application Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | `MS.Network` | [applicationGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | +| [Application Gateway WebApp Firewall Policies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | | [applicationGatewayWebApplicationFirewallPolicies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | +| [Application Security Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | | [applicationSecurityGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | +| [Azure Firewalls](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | | [azureFirewalls](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | +| [Bastion Hosts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | | [bastionHosts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | +| [Virtual Network Gateway Connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/connections) | | [connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/connections) | +| [DDoS Protection Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | | [ddosProtectionPlans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | +| [Network DnsResolvers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | | [dnsResolvers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | +| [ExpressRoute Circuits](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | | [expressRouteCircuits](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | +| [Firewall Policies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | | [firewallPolicies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | +| [Front Doors](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | | [frontDoors](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | +| [IP Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | | [ipGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | +| [Load Balancers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | | [loadBalancers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | +| [Local Network Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | | [localNetworkGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | +| [NAT Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | | [natGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | +| [Network Interface](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | | [networkInterfaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | +| [Network Security Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | | [networkSecurityGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | +| [Network Watchers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | | [networkWatchers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | +| [Private DNS Zones](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | | [privateDnsZones](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | +| [Private Endpoints](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | | [privateEndpoints](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | +| [Network PrivateLinkServices](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | | [privateLinkServices](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | +| [Public IP Addresses](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | | [publicIPAddresses](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | +| [Public IP Prefixes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | | [publicIPPrefixes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | +| [Route Tables](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | | [routeTables](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | +| [Traffic Manager Profiles](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | | [trafficmanagerprofiles](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | +| [Virtual Hubs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | | [virtualHubs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | +| [Virtual Network Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | | [virtualNetworkGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | +| [Virtual Networks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | | [virtualNetworks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | +| [Virtual WANs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | | [virtualWans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | +| [VPN Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | | [vpnGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | +| [VPN Sites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | | [vpnSites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | +| [Log Analytics Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | `MS.OperationalInsights` | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | +| [OperationsManagement Solutions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | `MS.OperationsManagement` | [solutions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | +| [PowerBIDedicated Capacities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | `MS.PowerBIDedicated` | [capacities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | +| [Recovery Services Vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | `MS.RecoveryServices` | [vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | +| [Deployment Scripts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | `MS.Resources` | [deploymentScripts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | +| [Resource Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | | [resourceGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | +| [Resources Tags](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | | [tags](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | +| [Azure Security Center](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | `MS.Security` | [azureSecurityCenter](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | +| [Service Bus Namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | `MS.ServiceBus` | [namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | +| [Service Fabric Clusters](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | `MS.ServiceFabric` | [clusters](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | +| [Web PubSub Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | `MS.SignalRService` | [webPubSub](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | +| [SQL Managed Instances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | `MS.Sql` | [managedInstances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | +| [SQL Servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | | [servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | +| [Storage Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | `MS.Storage` | [storageAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | +| [Azure Synapse Analytics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | `MS.Synapse` | [privateLinkHubs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | +| [Synapse Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | +| [Image Templates](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | `MS.VirtualMachineImages` | [imageTemplates](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | +| [API Connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/connections) | `MS.Web` | [connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/connections) | +| [App Service Environments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | | [hostingEnvironments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | +| [App Service Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | | [serverfarms](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | +| [Web/Function Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/sites) | | [sites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/sites) | +| [Static Web Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | | [staticSites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | From eb4ec3c3074fb8397fa57e5e3e320ce5aa5117a2 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 19:37:32 -0500 Subject: [PATCH 22/81] remove unused pipelines --- ...ealthcareapis.workspaces.dicomservices.yml | 40 ----- ...healthcareapis.workspaces.fhirservices.yml | 40 ----- ...kspaces.iotconnectors.fhirdestinations.yml | 40 ----- ...ealthcareapis.workspaces.iotconnectors.yml | 40 ----- ...ealthcareapis.workspaces.dicomservices.yml | 144 ------------------ ...healthcareapis.workspaces.fhirservices.yml | 144 ------------------ ...kspaces.iotconnectors.fhirdestinations.yml | 144 ------------------ ...ealthcareapis.workspaces.iotconnectors.yml | 144 ------------------ 8 files changed, 736 deletions(-) delete mode 100644 .azuredevops/modulePipelines/ms.healthcareapis.workspaces.dicomservices.yml delete mode 100644 .azuredevops/modulePipelines/ms.healthcareapis.workspaces.fhirservices.yml delete mode 100644 .azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml delete mode 100644 .azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.yml delete mode 100644 .github/workflows/ms.healthcareapis.workspaces.dicomservices.yml delete mode 100644 .github/workflows/ms.healthcareapis.workspaces.fhirservices.yml delete mode 100644 .github/workflows/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml delete mode 100644 .github/workflows/ms.healthcareapis.workspaces.iotconnectors.yml diff --git a/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.dicomservices.yml b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.dicomservices.yml deleted file mode 100644 index 90dec74a32..0000000000 --- a/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.dicomservices.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: 'HealthcareApis - DICOM Services' - -parameters: - - name: removeDeployment - displayName: Remove deployed module - type: boolean - default: true - - name: prerelease - displayName: Publish prerelease module - type: boolean - default: false - -pr: none - -trigger: - batch: true - branches: - include: - - main - paths: - include: - - '/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.dicomservices.yml' - - '/.azuredevops/pipelineTemplates/*.yml' - - '/modules/Microsoft.HealthcareApis/workspaces/dicomservices/*' - - '/utilities/pipelines/*' - exclude: - - '/utilities/pipelines/deploymentRemoval/*' - - '/**/*.md' - -variables: - - template: '../../settings.yml' - - group: 'PLATFORM_VARIABLES' - - name: modulePath - value: '/modules/Microsoft.HealthcareApis/workspaces/dicomservices' - -stages: - - template: /.azuredevops/pipelineTemplates/stages.module.yml - parameters: - removeDeployment: '${{ parameters.removeDeployment }}' - prerelease: '${{ parameters.prerelease }}' diff --git a/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.fhirservices.yml b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.fhirservices.yml deleted file mode 100644 index 5e774d0b20..0000000000 --- a/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.fhirservices.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: 'HealthcareApis - FHIR Services' - -parameters: - - name: removeDeployment - displayName: Remove deployed module - type: boolean - default: true - - name: prerelease - displayName: Publish prerelease module - type: boolean - default: false - -pr: none - -trigger: - batch: true - branches: - include: - - main - paths: - include: - - '/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.fhirservices.yml' - - '/.azuredevops/pipelineTemplates/*.yml' - - '/modules/Microsoft.HealthcareApis/workspaces/fhirservices/*' - - '/utilities/pipelines/*' - exclude: - - '/utilities/pipelines/deploymentRemoval/*' - - '/**/*.md' - -variables: - - template: '../../settings.yml' - - group: 'PLATFORM_VARIABLES' - - name: modulePath - value: '/modules/Microsoft.HealthcareApis/workspaces/fhirservices' - -stages: - - template: /.azuredevops/pipelineTemplates/stages.module.yml - parameters: - removeDeployment: '${{ parameters.removeDeployment }}' - prerelease: '${{ parameters.prerelease }}' diff --git a/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml deleted file mode 100644 index 10cbd02095..0000000000 --- a/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: 'HealthcareApis - IOT Connectors FHIR Destinations' - -parameters: - - name: removeDeployment - displayName: Remove deployed module - type: boolean - default: true - - name: prerelease - displayName: Publish prerelease module - type: boolean - default: false - -pr: none - -trigger: - batch: true - branches: - include: - - main - paths: - include: - - '/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml' - - '/.azuredevops/pipelineTemplates/*.yml' - - '/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/*' - - '/utilities/pipelines/*' - exclude: - - '/utilities/pipelines/deploymentRemoval/*' - - '/**/*.md' - -variables: - - template: '../../settings.yml' - - group: 'PLATFORM_VARIABLES' - - name: modulePath - value: '/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations' - -stages: - - template: /.azuredevops/pipelineTemplates/stages.module.yml - parameters: - removeDeployment: '${{ parameters.removeDeployment }}' - prerelease: '${{ parameters.prerelease }}' diff --git a/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.yml b/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.yml deleted file mode 100644 index 72a47f2f23..0000000000 --- a/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: 'HealthcareApis - IOT Connectors' - -parameters: - - name: removeDeployment - displayName: Remove deployed module - type: boolean - default: true - - name: prerelease - displayName: Publish prerelease module - type: boolean - default: false - -pr: none - -trigger: - batch: true - branches: - include: - - main - paths: - include: - - '/.azuredevops/modulePipelines/ms.healthcareapis.workspaces.iotconnectors.yml' - - '/.azuredevops/pipelineTemplates/*.yml' - - '/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/*' - - '/utilities/pipelines/*' - exclude: - - '/utilities/pipelines/deploymentRemoval/*' - - '/**/*.md' - -variables: - - template: '../../settings.yml' - - group: 'PLATFORM_VARIABLES' - - name: modulePath - value: '/modules/Microsoft.HealthcareApis/workspaces/iotconnectors' - -stages: - - template: /.azuredevops/pipelineTemplates/stages.module.yml - parameters: - removeDeployment: '${{ parameters.removeDeployment }}' - prerelease: '${{ parameters.prerelease }}' diff --git a/.github/workflows/ms.healthcareapis.workspaces.dicomservices.yml b/.github/workflows/ms.healthcareapis.workspaces.dicomservices.yml deleted file mode 100644 index f4fac242fb..0000000000 --- a/.github/workflows/ms.healthcareapis.workspaces.dicomservices.yml +++ /dev/null @@ -1,144 +0,0 @@ -name: 'HealthcareApis - DICOM Services' - -on: - workflow_dispatch: - inputs: - removeDeployment: - type: boolean - description: 'Remove deployed module' - required: false - default: true - prerelease: - type: boolean - description: 'Publish prerelease module' - required: false - default: false - push: - branches: - - main - paths: - - '.github/actions/templates/**' - - '.github/workflows/ms.healthcareapis.workspaces.dicomservices.yml' - - 'modules/Microsoft.HealthcareApis/workspaces/dicomservices/**' - - 'utilities/pipelines/**' - - '!utilities/pipelines/deploymentRemoval/**' - - '!*/**/readme.md' - -env: - variablesPath: 'settings.yml' - modulePath: 'modules/Microsoft.HealthcareApis/workspaces/dicomservices' - workflowPath: '.github/workflows/ms.healthcareapis.workspaces.dicomservices.yml' - AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }} - ARM_SUBSCRIPTION_ID: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - ARM_MGMTGROUP_ID: '${{ secrets.ARM_MGMTGROUP_ID }}' - ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}' - TOKEN_NAMEPREFIX: '${{ secrets.TOKEN_NAMEPREFIX }}' - -jobs: - ########################### - # Initialize pipeline # - ########################### - job_initialize_pipeline: - runs-on: ubuntu-20.04 - name: 'Initialize pipeline' - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: 'Set input parameters to output variables' - id: get-workflow-param - uses: ./.github/actions/templates/getWorkflowInput - with: - workflowPath: '${{ env.workflowPath}}' - - name: 'Get parameter file paths' - id: get-module-test-file-paths - uses: ./.github/actions/templates/getModuleTestFiles - with: - modulePath: '${{ env.modulePath }}' - outputs: - workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }} - moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }} - - ######################### - # Static validation # - ######################### - job_module_pester_validation: - runs-on: ubuntu-20.04 - name: 'Static validation' - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - name: 'Run tests' - uses: ./.github/actions/templates/validateModulePester - with: - modulePath: '${{ env.modulePath }}' - moduleTestFilePath: '${{ env.moduleTestFilePath }}' - - ############################# - # Deployment validation # - ############################# - job_module_deploy_validation: - runs-on: ubuntu-20.04 - name: 'Deployment validation' - needs: - - job_initialize_pipeline - - job_module_pester_validation - strategy: - fail-fast: false - matrix: - moduleTestFilePaths: ${{ fromJson(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' - location: '${{ env.location }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ (fromJson(needs.job_initialize_pipeline.outputs.workflowInput)).removeDeployment }}' - - ################## - # Publishing # - ################## - job_publish_module: - name: 'Publishing' - if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event.inputs.prerelease == 'true' - runs-on: ubuntu-20.04 - needs: - - job_module_deploy_validation - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - name: 'Publishing' - uses: ./.github/actions/templates/publishModule - with: - templateFilePath: '${{ env.modulePath }}/deploy.bicep' - templateSpecsRGName: '${{ env.templateSpecsRGName }}' - templateSpecsRGLocation: '${{ env.templateSpecsRGLocation }}' - templateSpecsDescription: '${{ env.templateSpecsDescription }}' - templateSpecsDoPublish: '${{ env.templateSpecsDoPublish }}' - bicepRegistryName: '${{ env.bicepRegistryName }}' - bicepRegistryRGName: '${{ env.bicepRegistryRGName }}' - bicepRegistryRgLocation: '${{ env.bicepRegistryRgLocation }}' - bicepRegistryDoPublish: '${{ env.bicepRegistryDoPublish }}' diff --git a/.github/workflows/ms.healthcareapis.workspaces.fhirservices.yml b/.github/workflows/ms.healthcareapis.workspaces.fhirservices.yml deleted file mode 100644 index 5c978b5ea1..0000000000 --- a/.github/workflows/ms.healthcareapis.workspaces.fhirservices.yml +++ /dev/null @@ -1,144 +0,0 @@ -name: 'HealthcareApis - FHIR Services' - -on: - workflow_dispatch: - inputs: - removeDeployment: - type: boolean - description: 'Remove deployed module' - required: false - default: true - prerelease: - type: boolean - description: 'Publish prerelease module' - required: false - default: false - push: - branches: - - main - paths: - - '.github/actions/templates/**' - - '.github/workflows/ms.healthcareapis.workspaces.fhirservices.yml' - - 'modules/Microsoft.HealthcareApis/workspaces/fhirservices/**' - - 'utilities/pipelines/**' - - '!utilities/pipelines/deploymentRemoval/**' - - '!*/**/readme.md' - -env: - variablesPath: 'settings.yml' - modulePath: 'modules/Microsoft.HealthcareApis/workspaces/fhirservices' - workflowPath: '.github/workflows/ms.healthcareapis.workspaces.fhirservices.yml' - AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }} - ARM_SUBSCRIPTION_ID: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - ARM_MGMTGROUP_ID: '${{ secrets.ARM_MGMTGROUP_ID }}' - ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}' - TOKEN_NAMEPREFIX: '${{ secrets.TOKEN_NAMEPREFIX }}' - -jobs: - ########################### - # Initialize pipeline # - ########################### - job_initialize_pipeline: - runs-on: ubuntu-20.04 - name: 'Initialize pipeline' - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: 'Set input parameters to output variables' - id: get-workflow-param - uses: ./.github/actions/templates/getWorkflowInput - with: - workflowPath: '${{ env.workflowPath}}' - - name: 'Get parameter file paths' - id: get-module-test-file-paths - uses: ./.github/actions/templates/getModuleTestFiles - with: - modulePath: '${{ env.modulePath }}' - outputs: - workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }} - moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }} - - ######################### - # Static validation # - ######################### - job_module_pester_validation: - runs-on: ubuntu-20.04 - name: 'Static validation' - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - name: 'Run tests' - uses: ./.github/actions/templates/validateModulePester - with: - modulePath: '${{ env.modulePath }}' - moduleTestFilePath: '${{ env.moduleTestFilePath }}' - - ############################# - # Deployment validation # - ############################# - job_module_deploy_validation: - runs-on: ubuntu-20.04 - name: 'Deployment validation' - needs: - - job_initialize_pipeline - - job_module_pester_validation - strategy: - fail-fast: false - matrix: - moduleTestFilePaths: ${{ fromJson(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' - location: '${{ env.location }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ (fromJson(needs.job_initialize_pipeline.outputs.workflowInput)).removeDeployment }}' - - ################## - # Publishing # - ################## - job_publish_module: - name: 'Publishing' - if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event.inputs.prerelease == 'true' - runs-on: ubuntu-20.04 - needs: - - job_module_deploy_validation - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - name: 'Publishing' - uses: ./.github/actions/templates/publishModule - with: - templateFilePath: '${{ env.modulePath }}/deploy.bicep' - templateSpecsRGName: '${{ env.templateSpecsRGName }}' - templateSpecsRGLocation: '${{ env.templateSpecsRGLocation }}' - templateSpecsDescription: '${{ env.templateSpecsDescription }}' - templateSpecsDoPublish: '${{ env.templateSpecsDoPublish }}' - bicepRegistryName: '${{ env.bicepRegistryName }}' - bicepRegistryRGName: '${{ env.bicepRegistryRGName }}' - bicepRegistryRgLocation: '${{ env.bicepRegistryRgLocation }}' - bicepRegistryDoPublish: '${{ env.bicepRegistryDoPublish }}' diff --git a/.github/workflows/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml b/.github/workflows/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml deleted file mode 100644 index 3951daa6b7..0000000000 --- a/.github/workflows/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml +++ /dev/null @@ -1,144 +0,0 @@ -name: 'HealthcareApis - IOT Connectors FHIR Destinations' - -on: - workflow_dispatch: - inputs: - removeDeployment: - type: boolean - description: 'Remove deployed module' - required: false - default: true - prerelease: - type: boolean - description: 'Publish prerelease module' - required: false - default: false - push: - branches: - - main - paths: - - '.github/actions/templates/**' - - '.github/workflows/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml' - - 'modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/**' - - 'utilities/pipelines/**' - - '!utilities/pipelines/deploymentRemoval/**' - - '!*/**/readme.md' - -env: - variablesPath: 'settings.yml' - modulePath: 'modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations' - workflowPath: '.github/workflows/ms.healthcareapis.workspaces.iotconnectors.fhirdestinations.yml' - AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }} - ARM_SUBSCRIPTION_ID: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - ARM_MGMTGROUP_ID: '${{ secrets.ARM_MGMTGROUP_ID }}' - ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}' - TOKEN_NAMEPREFIX: '${{ secrets.TOKEN_NAMEPREFIX }}' - -jobs: - ########################### - # Initialize pipeline # - ########################### - job_initialize_pipeline: - runs-on: ubuntu-20.04 - name: 'Initialize pipeline' - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: 'Set input parameters to output variables' - id: get-workflow-param - uses: ./.github/actions/templates/getWorkflowInput - with: - workflowPath: '${{ env.workflowPath}}' - - name: 'Get parameter file paths' - id: get-module-test-file-paths - uses: ./.github/actions/templates/getModuleTestFiles - with: - modulePath: '${{ env.modulePath }}' - outputs: - workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }} - moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }} - - ######################### - # Static validation # - ######################### - job_module_pester_validation: - runs-on: ubuntu-20.04 - name: 'Static validation' - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - name: 'Run tests' - uses: ./.github/actions/templates/validateModulePester - with: - modulePath: '${{ env.modulePath }}' - moduleTestFilePath: '${{ env.moduleTestFilePath }}' - - ############################# - # Deployment validation # - ############################# - job_module_deploy_validation: - runs-on: ubuntu-20.04 - name: 'Deployment validation' - needs: - - job_initialize_pipeline - - job_module_pester_validation - strategy: - fail-fast: false - matrix: - moduleTestFilePaths: ${{ fromJson(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' - location: '${{ env.location }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ (fromJson(needs.job_initialize_pipeline.outputs.workflowInput)).removeDeployment }}' - - ################## - # Publishing # - ################## - job_publish_module: - name: 'Publishing' - if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event.inputs.prerelease == 'true' - runs-on: ubuntu-20.04 - needs: - - job_module_deploy_validation - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - name: 'Publishing' - uses: ./.github/actions/templates/publishModule - with: - templateFilePath: '${{ env.modulePath }}/deploy.bicep' - templateSpecsRGName: '${{ env.templateSpecsRGName }}' - templateSpecsRGLocation: '${{ env.templateSpecsRGLocation }}' - templateSpecsDescription: '${{ env.templateSpecsDescription }}' - templateSpecsDoPublish: '${{ env.templateSpecsDoPublish }}' - bicepRegistryName: '${{ env.bicepRegistryName }}' - bicepRegistryRGName: '${{ env.bicepRegistryRGName }}' - bicepRegistryRgLocation: '${{ env.bicepRegistryRgLocation }}' - bicepRegistryDoPublish: '${{ env.bicepRegistryDoPublish }}' diff --git a/.github/workflows/ms.healthcareapis.workspaces.iotconnectors.yml b/.github/workflows/ms.healthcareapis.workspaces.iotconnectors.yml deleted file mode 100644 index 2123673087..0000000000 --- a/.github/workflows/ms.healthcareapis.workspaces.iotconnectors.yml +++ /dev/null @@ -1,144 +0,0 @@ -name: 'HealthcareApis - IOT Connectors' - -on: - workflow_dispatch: - inputs: - removeDeployment: - type: boolean - description: 'Remove deployed module' - required: false - default: true - prerelease: - type: boolean - description: 'Publish prerelease module' - required: false - default: false - push: - branches: - - main - paths: - - '.github/actions/templates/**' - - '.github/workflows/ms.healthcareapis.workspaces.iotconnectors.yml' - - 'modules/Microsoft.HealthcareApis/workspaces/iotconnectors/**' - - 'utilities/pipelines/**' - - '!utilities/pipelines/deploymentRemoval/**' - - '!*/**/readme.md' - -env: - variablesPath: 'settings.yml' - modulePath: 'modules/Microsoft.HealthcareApis/workspaces/iotconnectors' - workflowPath: '.github/workflows/ms.healthcareapis.workspaces.iotconnectors.yml' - AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }} - ARM_SUBSCRIPTION_ID: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - ARM_MGMTGROUP_ID: '${{ secrets.ARM_MGMTGROUP_ID }}' - ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}' - TOKEN_NAMEPREFIX: '${{ secrets.TOKEN_NAMEPREFIX }}' - -jobs: - ########################### - # Initialize pipeline # - ########################### - job_initialize_pipeline: - runs-on: ubuntu-20.04 - name: 'Initialize pipeline' - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: 'Set input parameters to output variables' - id: get-workflow-param - uses: ./.github/actions/templates/getWorkflowInput - with: - workflowPath: '${{ env.workflowPath}}' - - name: 'Get parameter file paths' - id: get-module-test-file-paths - uses: ./.github/actions/templates/getModuleTestFiles - with: - modulePath: '${{ env.modulePath }}' - outputs: - workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }} - moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }} - - ######################### - # Static validation # - ######################### - job_module_pester_validation: - runs-on: ubuntu-20.04 - name: 'Static validation' - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - name: 'Run tests' - uses: ./.github/actions/templates/validateModulePester - with: - modulePath: '${{ env.modulePath }}' - moduleTestFilePath: '${{ env.moduleTestFilePath }}' - - ############################# - # Deployment validation # - ############################# - job_module_deploy_validation: - runs-on: ubuntu-20.04 - name: 'Deployment validation' - needs: - - job_initialize_pipeline - - job_module_pester_validation - strategy: - fail-fast: false - matrix: - moduleTestFilePaths: ${{ fromJson(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' - location: '${{ env.location }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ (fromJson(needs.job_initialize_pipeline.outputs.workflowInput)).removeDeployment }}' - - ################## - # Publishing # - ################## - job_publish_module: - name: 'Publishing' - if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event.inputs.prerelease == 'true' - runs-on: ubuntu-20.04 - needs: - - job_module_deploy_validation - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - name: 'Publishing' - uses: ./.github/actions/templates/publishModule - with: - templateFilePath: '${{ env.modulePath }}/deploy.bicep' - templateSpecsRGName: '${{ env.templateSpecsRGName }}' - templateSpecsRGLocation: '${{ env.templateSpecsRGLocation }}' - templateSpecsDescription: '${{ env.templateSpecsDescription }}' - templateSpecsDoPublish: '${{ env.templateSpecsDoPublish }}' - bicepRegistryName: '${{ env.bicepRegistryName }}' - bicepRegistryRGName: '${{ env.bicepRegistryRGName }}' - bicepRegistryRgLocation: '${{ env.bicepRegistryRgLocation }}' - bicepRegistryDoPublish: '${{ env.bicepRegistryDoPublish }}' From fca3fc197590b9b704959045e262d06577c5f7c9 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 19:57:33 -0500 Subject: [PATCH 23/81] fix static analysis --- .../workspaces/fhirservices/deploy.bicep | 10 +++++----- .../iotconnectors/fhirdestinations/deploy.bicep | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep index 5f9ee1fcba..3a2d35bf72 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep @@ -21,10 +21,10 @@ param acrLoginServers array = [] @description('Optional. The list of Open Container Initiative (OCI) artifacts.') param acrOciArtifacts array = [] -@description('Optional. ') +@description('Optional. The authority url for the service.') param authenticationAuthority string = uri(environment().authentication.loginEndpoint, subscription().tenantId) -@description('Optional. ') +@description('Optional. The audience url for the service.') param authenticationAudience string = 'https://${workspaceName}-${name}.fhir.azurehealthcareapis.com' @description('Optional. Specify URLs of origin sites that can access this API, or use "*" to allow access from any site.') @@ -105,13 +105,13 @@ param publicNetworkAccess string = 'Disabled' 'versioned' 'versioned-update' ]) -@description('Optional. ') +@description('Optional. The default value for tracking history across all resources.') param resourceVersionPolicy string = 'versioned' -@description('Optional. ') +@description('Optional. A list of FHIR Resources and their version policy overrides.') param resourceVersionOverrides object = {} -@description('Optional. ') +@description('Optional. If the SMART on FHIR proxy is enabled') param smartProxyEnabled bool = false @description('Optional. Enables system assigned managed identity on the resource.') diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep index 0eb6ec2e2b..d2f7136dc6 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep @@ -72,7 +72,7 @@ output resourceId string = fhirDestination.id output resourceGroupName string = resourceGroup().name @description('The location the resource was deployed into.') -output location string = iotConnector.location +output location string = location @description('The name of the medtech service.') output iotConnectorName string = iotConnector.name From 984f775c0b41a69e1fa65761bbbecb5b92f1e10b Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 19:58:13 -0500 Subject: [PATCH 24/81] fix code analysis --- .../workspaces/iotconnectors/fhirdestinations/deploy.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep index d2f7136dc6..23bcf04883 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep @@ -72,7 +72,7 @@ output resourceId string = fhirDestination.id output resourceGroupName string = resourceGroup().name @description('The location the resource was deployed into.') -output location string = location +output location string = fhirDestination.location @description('The name of the medtech service.') output iotConnectorName string = iotConnector.name From 1faf25481b558a2e86044c6e040e7c0f01137bb2 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 20:03:40 -0500 Subject: [PATCH 25/81] update readme --- .../workspaces/fhirservices/readme.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md index 5304bc68c1..f0d4c95efe 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md @@ -35,8 +35,8 @@ This module deploys HealthcareApis Workspaces FHIR Service. | `accessPolicyObjectIds` | array | `[]` | | List of Azure AD object IDs (User or Apps) that is allowed access to the FHIR service. | | `acrLoginServers` | array | `[]` | | The list of the Azure container registry login servers. | | `acrOciArtifacts` | array | `[]` | | The list of Open Container Initiative (OCI) artifacts. | -| `authenticationAudience` | string | `[format('https://{0}-{1}.fhir.azurehealthcareapis.com', parameters('workspaceName'), parameters('name'))]` | | | -| `authenticationAuthority` | string | `[uri(environment().authentication.loginEndpoint, subscription().tenantId)]` | | | +| `authenticationAudience` | string | `[format('https://{0}-{1}.fhir.azurehealthcareapis.com', parameters('workspaceName'), parameters('name'))]` | | The audience url for the service. | +| `authenticationAuthority` | string | `[uri(environment().authentication.loginEndpoint, subscription().tenantId)]` | | The authority url for the service. | | `corsAllowCredentials` | bool | `False` | | Use this setting to indicate that cookies should be included in CORS requests. | | `corsHeaders` | array | `[]` | | Specify HTTP headers which can be used during the request. Use "*" for any header. | | `corsMaxAge` | int | `-1` | | Specify how long a result from a request can be cached in seconds. Example: 600 means 10 minutes. | @@ -59,10 +59,10 @@ This module deploys HealthcareApis Workspaces FHIR Service. | `location` | string | `[resourceGroup().location]` | | Location for all resources. | | `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | | `publicNetworkAccess` | string | `'Disabled'` | `[Disabled, Enabled]` | Control permission for data plane traffic coming from public networks while private endpoint is enabled. | -| `resourceVersionOverrides` | object | `{object}` | | | -| `resourceVersionPolicy` | string | `'versioned'` | `[no-version, versioned, versioned-update]` | | +| `resourceVersionOverrides` | object | `{object}` | | A list of FHIR Resources and their version policy overrides. | +| `resourceVersionPolicy` | string | `'versioned'` | `[no-version, versioned, versioned-update]` | The default value for tracking history across all resources. | | `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | -| `smartProxyEnabled` | bool | `False` | | | +| `smartProxyEnabled` | bool | `False` | | If the SMART on FHIR proxy is enabled | | `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. | | `tags` | object | `{object}` | | Tags of the resource. | | `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. | From 15f6c3457d878653f37cf3ff57430c97421ffad5 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 20:25:17 -0500 Subject: [PATCH 26/81] update params --- .../workspaces/fhirservices/deploy.bicep | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep index 3a2d35bf72..9ab2c9b64d 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep @@ -1,5 +1,5 @@ -@description('Required. The name of the FHIR service.') @maxLength(50) +@description('Required. The name of the FHIR service.') param name string @allowed([ @@ -126,18 +126,18 @@ param tags object = {} @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -@description('Optional. The name of logs that will be streamed.') @allowed([ 'AuditLogs' ]) +@description('Optional. The name of logs that will be streamed.') param diagnosticLogCategoriesToEnable array = [ 'AuditLogs' ] -@description('Optional. The name of metrics that will be streamed.') @allowed([ 'AllMetrics' ]) +@description('Optional. The name of metrics that will be streamed.') param diagnosticMetricsToEnable array = [ 'AllMetrics' ] From e62be1170aa1ec05d19724e7919cc8d4ac801428 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 20:29:12 -0500 Subject: [PATCH 27/81] test module deploy --- .github/workflows/ms.healthcareapis.workspaces.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ms.healthcareapis.workspaces.yml b/.github/workflows/ms.healthcareapis.workspaces.yml index 5fec93de24..9d4c6c02ff 100644 --- a/.github/workflows/ms.healthcareapis.workspaces.yml +++ b/.github/workflows/ms.healthcareapis.workspaces.yml @@ -75,11 +75,11 @@ jobs: uses: ./.github/actions/templates/setEnvironmentVariables with: variablesPath: ${{ env.variablesPath }} - - name: 'Run tests' - uses: ./.github/actions/templates/validateModulePester - with: - modulePath: '${{ env.modulePath }}' - moduleTestFilePath: '${{ env.moduleTestFilePath }}' + # - name: 'Run tests' + # uses: ./.github/actions/templates/validateModulePester + # with: + # modulePath: '${{ env.modulePath }}' + # moduleTestFilePath: '${{ env.moduleTestFilePath }}' ############################# # Deployment validation # From 8aab746d6ee12993be0b668f8ce43ffaab77f943 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 20:36:28 -0500 Subject: [PATCH 28/81] fix test --- .../workspaces/.test/common/dependencies.bicep | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep index 854597467c..8618c98997 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep @@ -38,7 +38,6 @@ resource ehns 'Microsoft.EventHub/namespaces@2022-01-01-preview' = { properties: { zoneRedundant: false isAutoInflateEnabled: false - maximumThroughputUnits: 1 } } From 05fb8365a252143ec74286079febfb6a821b5bd6 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 20:42:07 -0500 Subject: [PATCH 29/81] test deploy --- .../ms.healthcareapis.workspaces.yml | 10 +- .../staticValidation/module.tests.ps1 | 108 +++++++++--------- 2 files changed, 59 insertions(+), 59 deletions(-) diff --git a/.github/workflows/ms.healthcareapis.workspaces.yml b/.github/workflows/ms.healthcareapis.workspaces.yml index 9d4c6c02ff..5fec93de24 100644 --- a/.github/workflows/ms.healthcareapis.workspaces.yml +++ b/.github/workflows/ms.healthcareapis.workspaces.yml @@ -75,11 +75,11 @@ jobs: uses: ./.github/actions/templates/setEnvironmentVariables with: variablesPath: ${{ env.variablesPath }} - # - name: 'Run tests' - # uses: ./.github/actions/templates/validateModulePester - # with: - # modulePath: '${{ env.modulePath }}' - # moduleTestFilePath: '${{ env.moduleTestFilePath }}' + - name: 'Run tests' + uses: ./.github/actions/templates/validateModulePester + with: + modulePath: '${{ env.modulePath }}' + moduleTestFilePath: '${{ env.moduleTestFilePath }}' ############################# # Deployment validation # diff --git a/utilities/pipelines/staticValidation/module.tests.ps1 b/utilities/pipelines/staticValidation/module.tests.ps1 index 6548477ad7..f3aae22103 100644 --- a/utilities/pipelines/staticValidation/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/module.tests.ps1 @@ -502,38 +502,38 @@ Describe 'Readme tests' -Tag Readme { } } - It '[] Set-ModuleReadMe script should not apply any updates' -TestCases $readmeFolderTestCases { - - param( - [string] $moduleFolderName, - [string] $templateFilePath, - [hashtable] $templateContent, - [string] $readMeFilePath - ) - - # Get current hash - $fileHashBefore = (Get-FileHash $readMeFilePath).Hash - - # Load function - . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') - - # Apply update with already compiled template content - Set-ModuleReadMe -TemplateFilePath $templateFilePath -TemplateFileContent $templateContent - - # Get hash after 'update' - $fileHashAfter = (Get-FileHash $readMeFilePath).Hash - - # Compare - $filesAreTheSame = $fileHashBefore -eq $fileHashAfter - if (-not $filesAreTheSame) { - $diffReponse = git diff $readMeFilePath - Write-Warning ($diffReponse | Out-String) -Verbose - - # Reset readme file to original state - git checkout HEAD -- $readMeFilePath - } - $filesAreTheSame | Should -Be $true -Because 'The file hashes before and after applying the Set-ModuleReadMe function should be identical' - } + # It '[] Set-ModuleReadMe script should not apply any updates' -TestCases $readmeFolderTestCases { + + # param( + # [string] $moduleFolderName, + # [string] $templateFilePath, + # [hashtable] $templateContent, + # [string] $readMeFilePath + # ) + + # # Get current hash + # $fileHashBefore = (Get-FileHash $readMeFilePath).Hash + + # # Load function + # . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') + + # # Apply update with already compiled template content + # Set-ModuleReadMe -TemplateFilePath $templateFilePath -TemplateFileContent $templateContent + + # # Get hash after 'update' + # $fileHashAfter = (Get-FileHash $readMeFilePath).Hash + + # # Compare + # $filesAreTheSame = $fileHashBefore -eq $fileHashAfter + # if (-not $filesAreTheSame) { + # $diffReponse = git diff $readMeFilePath + # Write-Warning ($diffReponse | Out-String) -Verbose + + # # Reset readme file to original state + # git checkout HEAD -- $readMeFilePath + # } + # $filesAreTheSame | Should -Be $true -Because 'The file hashes before and after applying the Set-ModuleReadMe function should be identical' + # } } } @@ -1031,28 +1031,28 @@ Describe 'Deployment template tests' -Tag Template { $outputs | Should -Contain 'resourceId' } - It "[] parameters' description should start with a one word category starting with a capital letter, followed by a dot, a space and the actual description text ending with a dot." -TestCases $deploymentFolderTestCases { - - param( - [string] $moduleFolderName, - [hashtable] $templateContent - ) - - if (-not $templateContent.parameters) { - Set-ItResult -Skipped -Because 'the module template has no parameters.' - return - } - - $incorrectParameters = @() - $templateParameters = $templateContent.parameters.Keys - foreach ($parameter in $templateParameters) { - $data = ($templateContent.parameters.$parameter.metadata).description - if ($data -notmatch '(?s)^[A-Z][a-zA-Z]+\. .+\.$') { - $incorrectParameters += $parameter - } - } - $incorrectParameters | Should -BeNullOrEmpty - } + # It "[] parameters' description should start with a one word category starting with a capital letter, followed by a dot, a space and the actual description text ending with a dot." -TestCases $deploymentFolderTestCases { + + # param( + # [string] $moduleFolderName, + # [hashtable] $templateContent + # ) + + # if (-not $templateContent.parameters) { + # Set-ItResult -Skipped -Because 'the module template has no parameters.' + # return + # } + + # $incorrectParameters = @() + # $templateParameters = $templateContent.parameters.Keys + # foreach ($parameter in $templateParameters) { + # $data = ($templateContent.parameters.$parameter.metadata).description + # if ($data -notmatch '(?s)^[A-Z][a-zA-Z]+\. .+\.$') { + # $incorrectParameters += $parameter + # } + # } + # $incorrectParameters | Should -BeNullOrEmpty + # } It "[] Conditional parameters' description should contain 'Required if' followed by the condition making the parameter required." -TestCases $deploymentFolderTestCases { From ed2504c7bb774692e18051ece56670bf09779a9d Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Tue, 6 Dec 2022 20:47:40 -0500 Subject: [PATCH 30/81] fix test --- .../workspaces/.test/common/deploy.test.bicep | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep index c6416d74fc..e05ffeefac 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep @@ -74,7 +74,7 @@ module testDeployment '../../deploy.bicep' = { corsHeaders: [ '*' ] corsMethods: [ 'GET' ] corsMaxAge: 600 - corsAllowCredentials: true + corsAllowCredentials: false location: location diagnosticLogsRetentionInDays: 7 diagnosticStorageAccountId: diagnosticDependencies.outputs.storageAccountResourceId @@ -110,7 +110,7 @@ module testDeployment '../../deploy.bicep' = { corsHeaders: [ '*' ] corsMethods: [ 'GET' ] corsMaxAge: 600 - corsAllowCredentials: true + corsAllowCredentials: false location: location diagnosticLogsRetentionInDays: 7 diagnosticStorageAccountId: diagnosticDependencies.outputs.storageAccountResourceId From f795c68892bef56321a9378d637b22c22a863629 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 7 Dec 2022 09:29:27 -0500 Subject: [PATCH 31/81] test with different service short --- .../workspaces/.test/common/deploy.test.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep index e05ffeefac..587a1919ec 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep @@ -11,7 +11,7 @@ param resourceGroupName string = 'ms.healthcareapis.workspaces-${serviceShort}-r param location string = deployment().location @description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.') -param serviceShort string = 'hwcom' +param serviceShort string = 'hcom' @description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true From 27203f24c1d8bd5469d62ece487f15406730df09 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 7 Dec 2022 09:47:27 -0500 Subject: [PATCH 32/81] remove lock --- .../workspaces/.test/common/deploy.test.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep index 587a1919ec..09b5099d31 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep @@ -64,7 +64,7 @@ module testDeployment '../../deploy.bicep' = { name: '<>${serviceShort}001' location: location publicNetworkAccess: 'Enabled' - lock: 'CanNotDelete' + lock: '' fhirServices: [ { name: '<>-az-fhir-x-001' From 79021019a0e0d88eeecd186c07ae39a47a1bdc13 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 7 Dec 2022 10:10:38 -0500 Subject: [PATCH 33/81] add version --- .../workspaces/fhirservices/version.json | 4 ++++ .../workspaces/iotconnectors/version.json | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/version.json b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/version.json index e69de29bb2..41f66cc990 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/version.json +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/version.json b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/version.json index e69de29bb2..41f66cc990 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/version.json +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} From 5d6d2d64acb0edde01ba3057c2b9499e03778df0 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 7 Dec 2022 10:10:45 -0500 Subject: [PATCH 34/81] add version --- .../workspaces/dicomservices/version.json | 4 ++++ modules/Microsoft.HealthcareApis/workspaces/version.json | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/version.json b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/version.json index e69de29bb2..41f66cc990 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/version.json +++ b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.HealthcareApis/workspaces/version.json b/modules/Microsoft.HealthcareApis/workspaces/version.json index e69de29bb2..41f66cc990 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/version.json +++ b/modules/Microsoft.HealthcareApis/workspaces/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} From 04895b67757cbd2aaf4a4ca56a849f0c45e05b23 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 7 Dec 2022 11:36:58 -0500 Subject: [PATCH 35/81] disable registry --- settings.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.yml b/settings.yml index fce227c994..8137475936 100644 --- a/settings.yml +++ b/settings.yml @@ -55,7 +55,7 @@ variables: # Publish: Private Bicep Registry settings ###################################### - bicepRegistryDoPublish: true # Set to true, if you would like to publish module templates to a bicep registry + bicepRegistryDoPublish: false # Set to true, if you would like to publish module templates to a bicep registry bicepRegistryName: adpsxxazacrx001 # The name of the bicep registry (ACR) to publish to. If it does not exist, it will be created. bicepRegistryRGName: 'artifacts-rg' # The resource group that hosts the private bicep registry (ACR) bicepRegistryRgLocation: 'West Europe' # The location of the resource group to publish to From 3fe0c839ed5de16d8476a5e85f27d399ee653416 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 7 Dec 2022 11:44:34 -0500 Subject: [PATCH 36/81] test --- .../staticValidation/module.tests.ps1 | 39 ++++++++++--------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/utilities/pipelines/staticValidation/module.tests.ps1 b/utilities/pipelines/staticValidation/module.tests.ps1 index f3aae22103..a78623d669 100644 --- a/utilities/pipelines/staticValidation/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/module.tests.ps1 @@ -1031,28 +1031,29 @@ Describe 'Deployment template tests' -Tag Template { $outputs | Should -Contain 'resourceId' } - # It "[] parameters' description should start with a one word category starting with a capital letter, followed by a dot, a space and the actual description text ending with a dot." -TestCases $deploymentFolderTestCases { + It "[] parameters' description should start with a one word category starting with a capital letter, followed by a dot, a space and the actual description text ending with a dot." -TestCases $deploymentFolderTestCases { - # param( - # [string] $moduleFolderName, - # [hashtable] $templateContent - # ) + param( + [string] $moduleFolderName, + [hashtable] $templateContent + ) - # if (-not $templateContent.parameters) { - # Set-ItResult -Skipped -Because 'the module template has no parameters.' - # return - # } + if (-not $templateContent.parameters) { + Set-ItResult -Skipped -Because 'the module template has no parameters.' + return + } - # $incorrectParameters = @() - # $templateParameters = $templateContent.parameters.Keys - # foreach ($parameter in $templateParameters) { - # $data = ($templateContent.parameters.$parameter.metadata).description - # if ($data -notmatch '(?s)^[A-Z][a-zA-Z]+\. .+\.$') { - # $incorrectParameters += $parameter - # } - # } - # $incorrectParameters | Should -BeNullOrEmpty - # } + $incorrectParameters = @() + $templateParameters = $templateContent.parameters.Keys + foreach ($parameter in $templateParameters) { + $data = ($templateContent.parameters.$parameter.metadata).description + if ($data -notmatch '(?s)^[A-Z][a-zA-Z]+\. .+\.$') { + Write-Host "ERROR: Param: $parameter. '$data'." + $incorrectParameters += $parameter + } + } + $incorrectParameters | Should -BeNullOrEmpty + } It "[] Conditional parameters' description should contain 'Required if' followed by the condition making the parameter required." -TestCases $deploymentFolderTestCases { From ce7e5df543759dafdf25eacadc8cda894e83acc2 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 7 Dec 2022 11:54:07 -0500 Subject: [PATCH 37/81] fix test --- .../workspaces/fhirservices/deploy.bicep | 2 +- utilities/pipelines/staticValidation/module.tests.ps1 | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep index 9ab2c9b64d..1e5dd372c0 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep @@ -111,7 +111,7 @@ param resourceVersionPolicy string = 'versioned' @description('Optional. A list of FHIR Resources and their version policy overrides.') param resourceVersionOverrides object = {} -@description('Optional. If the SMART on FHIR proxy is enabled') +@description('Optional. If the SMART on FHIR proxy is enabled.') param smartProxyEnabled bool = false @description('Optional. Enables system assigned managed identity on the resource.') diff --git a/utilities/pipelines/staticValidation/module.tests.ps1 b/utilities/pipelines/staticValidation/module.tests.ps1 index a78623d669..3857542e08 100644 --- a/utilities/pipelines/staticValidation/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/module.tests.ps1 @@ -1048,7 +1048,6 @@ Describe 'Deployment template tests' -Tag Template { foreach ($parameter in $templateParameters) { $data = ($templateContent.parameters.$parameter.metadata).description if ($data -notmatch '(?s)^[A-Z][a-zA-Z]+\. .+\.$') { - Write-Host "ERROR: Param: $parameter. '$data'." $incorrectParameters += $parameter } } From 68bef9607a87c073a9535d33c4cdc04f27af8099 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 7 Dec 2022 13:16:12 -0500 Subject: [PATCH 38/81] update readme and test --- .../workspaces/.test/common/deploy.test.bicep | 2 +- .../workspaces/fhirservices/readme.md | 2 +- .../workspaces/readme.md | 245 ++++++++++-------- .../staticValidation/module.tests.ps1 | 64 ++--- 4 files changed, 175 insertions(+), 138 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep index 09b5099d31..af2db3c3cb 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep @@ -11,7 +11,7 @@ param resourceGroupName string = 'ms.healthcareapis.workspaces-${serviceShort}-r param location string = deployment().location @description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.') -param serviceShort string = 'hcom' +param serviceShort string = 'hwcom' @description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md index f0d4c95efe..b1d42ea1a2 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md @@ -62,7 +62,7 @@ This module deploys HealthcareApis Workspaces FHIR Service. | `resourceVersionOverrides` | object | `{object}` | | A list of FHIR Resources and their version policy overrides. | | `resourceVersionPolicy` | string | `'versioned'` | `[no-version, versioned, versioned-update]` | The default value for tracking history across all resources. | | `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | -| `smartProxyEnabled` | bool | `False` | | If the SMART on FHIR proxy is enabled | +| `smartProxyEnabled` | bool | `False` | | If the SMART on FHIR proxy is enabled. | | `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. | | `tags` | object | `{object}` | | Tags of the resource. | | `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. | diff --git a/modules/Microsoft.HealthcareApis/workspaces/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md index 55ad3113f5..af4bccd88d 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -183,82 +183,82 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { // Required parameters name: '<>hwcom001' // Non-required parameters - publicNetworkAccess: 'Enabled' - fhirServices: [ + dicomServices: [ { - corsAllowCredentials: true + diagnosticEventHubAuthorizationRuleId: '' corsMethods: [ 'GET' ] - diagnosticWorkspaceId: '' - corsMaxAge: 600 + corsOrigins: [ + '*' + ] publicNetworkAccess: 'Enabled' - kind: 'fhir-R4' - diagnosticLogsRetentionInDays: 7 - initialImportMode: false + name: '<>-az-dicom-x-001' userAssignedIdentities: { '': {} } - corsHeaders: [ - '*' - ] - roleAssignments: [ - { - principalType: 'ServicePrincipal' - roleDefinitionIdOrName: '' - principalIds: [ - '' - ] - } - ] - systemAssignedIdentity: true enableDefaultTelemetry: '' diagnosticStorageAccountId: '' - resourceVersionPolicy: 'versioned' - corsOrigins: [ + diagnosticLogsRetentionInDays: 7 + diagnosticWorkspaceId: '' + workspaceName: '<>hwcom001' + systemAssignedIdentity: true + corsMaxAge: 600 + location: '' + corsHeaders: [ '*' ] - diagnosticEventHubAuthorizationRuleId: '' - location: '' - name: '<>-az-fhir-x-001' - workspaceName: '<>hwcom001' - importEnabled: false - smartProxyEnabled: false + corsAllowCredentials: false diagnosticEventHubName: '' } ] location: '' + publicNetworkAccess: 'Enabled' enableDefaultTelemetry: '' - dicomServices: [ + fhirServices: [ { location: '' - corsHeaders: [ + diagnosticEventHubName: '' + corsOrigins: [ '*' ] - publicNetworkAccess: 'Enabled' - workspaceName: '<>hwcom001' corsMaxAge: 600 - enableDefaultTelemetry: '' + corsAllowCredentials: false + smartProxyEnabled: false + diagnosticEventHubAuthorizationRuleId: '' + diagnosticStorageAccountId: '' systemAssignedIdentity: true - corsMethods: [ - 'GET' + userAssignedIdentities: { + '': {} + } + importEnabled: false + roleAssignments: [ + { + principalType: 'ServicePrincipal' + roleDefinitionIdOrName: '' + principalIds: [ + '' + ] + } ] - name: '<>-az-dicom-x-001' - corsAllowCredentials: true - corsOrigins: [ + corsHeaders: [ '*' ] diagnosticWorkspaceId: '' - diagnosticEventHubName: '' + resourceVersionPolicy: 'versioned' + corsMethods: [ + 'GET' + ] + kind: 'fhir-R4' + enableDefaultTelemetry: '' diagnosticLogsRetentionInDays: 7 - diagnosticEventHubAuthorizationRuleId: '' - diagnosticStorageAccountId: '' - userAssignedIdentities: { - '': {} - } + workspaceName: '<>hwcom001' + initialImportMode: false + name: '<>-az-fhir-x-001' + publicNetworkAccess: 'Enabled' } ] - lock: 'CanNotDelete' + lock: '' } } ``` @@ -280,93 +280,130 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { "value": "<>hwcom001" }, // Non-required parameters - "lock": { - "value": "CanNotDelete" - }, - "publicNetworkAccess": { - "value": "Enabled" - }, - "fhirServices": { + "dicomServices": { "value": [ { - "corsAllowCredentials": true, + "diagnosticEventHubAuthorizationRuleId": "", "corsMethods": [ "GET" ], - "diagnosticWorkspaceId": "", - "corsMaxAge": 600, + "corsOrigins": [ + "*" + ], "publicNetworkAccess": "Enabled", - "kind": "fhir-R4", - "diagnosticLogsRetentionInDays": 7, - "initialImportMode": false, + "name": "<>-az-dicom-x-001", "userAssignedIdentities": { "": {} }, - "corsHeaders": [ - "*" - ], - "roleAssignments": [ - { - "principalType": "ServicePrincipal", - "roleDefinitionIdOrName": "", - "principalIds": [ - "" - ] - } - ], - "systemAssignedIdentity": true, "enableDefaultTelemetry": "", "diagnosticStorageAccountId": "", - "resourceVersionPolicy": "versioned", - "corsOrigins": [ + "diagnosticLogsRetentionInDays": 7, + "diagnosticWorkspaceId": "", + "workspaceName": "<>hwcom001", + "systemAssignedIdentity": true, + "corsMaxAge": 600, + "location": "", + "corsHeaders": [ "*" ], - "diagnosticEventHubAuthorizationRuleId": "", - "location": "", - "name": "<>-az-fhir-x-001", - "workspaceName": "<>hwcom001", - "importEnabled": false, - "smartProxyEnabled": false, + "corsAllowCredentials": false, "diagnosticEventHubName": "" } ] }, - "location": { - "value": "" - }, "enableDefaultTelemetry": { "value": "" }, - "dicomServices": { + "publicNetworkAccess": { + "value": "Enabled" + }, + "location": { + "value": "" + }, + "fhirServices": { "value": [ { "location": "", - "corsHeaders": [ + "diagnosticEventHubName": "", + "corsOrigins": [ "*" ], - "publicNetworkAccess": "Enabled", - "workspaceName": "<>hwcom001", "corsMaxAge": 600, - "enableDefaultTelemetry": "", + "corsAllowCredentials": false, + "smartProxyEnabled": false, + "diagnosticEventHubAuthorizationRuleId": "", + "diagnosticStorageAccountId": "", "systemAssignedIdentity": true, - "corsMethods": [ - "GET" + "userAssignedIdentities": { + "": {} + }, + "importEnabled": false, + "roleAssignments": [ + { + "principalType": "ServicePrincipal", + "roleDefinitionIdOrName": "", + "principalIds": [ + "" + ] + } ], - "name": "<>-az-dicom-x-001", - "corsAllowCredentials": true, - "corsOrigins": [ + "corsHeaders": [ "*" ], "diagnosticWorkspaceId": "", - "diagnosticEventHubName": "", + "resourceVersionPolicy": "versioned", + "corsMethods": [ + "GET" + ], + "kind": "fhir-R4", + "enableDefaultTelemetry": "", "diagnosticLogsRetentionInDays": 7, - "diagnosticEventHubAuthorizationRuleId": "", - "diagnosticStorageAccountId": "", - "userAssignedIdentities": { - "": {} - } + "workspaceName": "<>hwcom001", + "initialImportMode": false, + "name": "<>-az-fhir-x-001", + "publicNetworkAccess": "Enabled" } ] + }, + "lock": { + "value": "" + } + } +} +``` + +

+

+ +

Example 2: Common

+ +
+ +via Bicep module + +```bicep +module workspaces 'ts/modules:microsoft.healthcareapis.workspaces:1.0.0 = { + name: '${uniqueString(deployment().name)}-Workspaces' + params: { + serviceShort: 'hwcom2' + } +} +``` + +
+

+ +

+ +via JSON Parameter file + +```json +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "serviceShort": { + "value": "hwcom2" } } } @@ -375,7 +412,7 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = {

-

Example 2: Min

+

Example 3: Min

@@ -388,8 +425,8 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { // Required parameters name: '<>hwmin001' // Non-required parameters - publicNetworkAccess: 'Enabled' location: '' + publicNetworkAccess: 'Enabled' enableDefaultTelemetry: '' } } @@ -412,12 +449,12 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { "value": "<>hwmin001" }, // Non-required parameters - "publicNetworkAccess": { - "value": "Enabled" - }, "location": { "value": "" }, + "publicNetworkAccess": { + "value": "Enabled" + }, "enableDefaultTelemetry": { "value": "" } diff --git a/utilities/pipelines/staticValidation/module.tests.ps1 b/utilities/pipelines/staticValidation/module.tests.ps1 index 3857542e08..6548477ad7 100644 --- a/utilities/pipelines/staticValidation/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/module.tests.ps1 @@ -502,38 +502,38 @@ Describe 'Readme tests' -Tag Readme { } } - # It '[] Set-ModuleReadMe script should not apply any updates' -TestCases $readmeFolderTestCases { - - # param( - # [string] $moduleFolderName, - # [string] $templateFilePath, - # [hashtable] $templateContent, - # [string] $readMeFilePath - # ) - - # # Get current hash - # $fileHashBefore = (Get-FileHash $readMeFilePath).Hash - - # # Load function - # . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') - - # # Apply update with already compiled template content - # Set-ModuleReadMe -TemplateFilePath $templateFilePath -TemplateFileContent $templateContent - - # # Get hash after 'update' - # $fileHashAfter = (Get-FileHash $readMeFilePath).Hash - - # # Compare - # $filesAreTheSame = $fileHashBefore -eq $fileHashAfter - # if (-not $filesAreTheSame) { - # $diffReponse = git diff $readMeFilePath - # Write-Warning ($diffReponse | Out-String) -Verbose - - # # Reset readme file to original state - # git checkout HEAD -- $readMeFilePath - # } - # $filesAreTheSame | Should -Be $true -Because 'The file hashes before and after applying the Set-ModuleReadMe function should be identical' - # } + It '[] Set-ModuleReadMe script should not apply any updates' -TestCases $readmeFolderTestCases { + + param( + [string] $moduleFolderName, + [string] $templateFilePath, + [hashtable] $templateContent, + [string] $readMeFilePath + ) + + # Get current hash + $fileHashBefore = (Get-FileHash $readMeFilePath).Hash + + # Load function + . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') + + # Apply update with already compiled template content + Set-ModuleReadMe -TemplateFilePath $templateFilePath -TemplateFileContent $templateContent + + # Get hash after 'update' + $fileHashAfter = (Get-FileHash $readMeFilePath).Hash + + # Compare + $filesAreTheSame = $fileHashBefore -eq $fileHashAfter + if (-not $filesAreTheSame) { + $diffReponse = git diff $readMeFilePath + Write-Warning ($diffReponse | Out-String) -Verbose + + # Reset readme file to original state + git checkout HEAD -- $readMeFilePath + } + $filesAreTheSame | Should -Be $true -Because 'The file hashes before and after applying the Set-ModuleReadMe function should be identical' + } } } From 72e2aef9b08efd966544ce90597ab27c350e0524 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 7 Dec 2022 13:34:56 -0500 Subject: [PATCH 39/81] update readme --- .../workspaces/readme.md | 253 +++++++++++++++++- 1 file changed, 251 insertions(+), 2 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md index af4bccd88d..c7f489dbb4 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -46,9 +46,258 @@ This module deploys Healthcare Data Services workspace. | `tags` | object | `{object}` | | Tags of the resource. | -### Parameter Usage: `` +### Parameter Usage: `fhirServices` -// TODO: Fill in Parameter usage +Create a FHIR service with the workspace. + +
+ +Parameter JSON format + +```json +"fhirServices": { + "value": [ + { + "name": "<>-az-fhir-x-001", + "kind": "fhir-R4", + "workspaceName": "<>001", + "corsOrigins": [ "*" ], + "corsHeaders": [ "*" ], + "corsMethods": [ "GET" ], + "corsMaxAge": 600, + "corsAllowCredentials": false, + "location": "<>", + "diagnosticLogsRetentionInDays": 7, + "diagnosticStorageAccountId": "<>", + "diagnosticWorkspaceId": "<>", + "diagnosticEventHubAuthorizationRuleId": "<>", + "diagnosticEventHubName": "<>", + "publicNetworkAccess": "Enabled", + "resourceVersionPolicy": "versioned", + "smartProxyEnabled": false, + "enableDefaultTelemetry": false, + "systemAssignedIdentity": true, + "importEnabled": false, + "initialImportMode": false, + "userAssignedIdentities": { + "<>": {} + }, + "roleAssignments": [ + { + "roleDefinitionIdOrName": "Role Name", + "principalIds": [ + "managedIdentityPrincipalId" + ], + "principalType": "ServicePrincipal" + } + ] + } + ] +} +``` + +
+ +
+ +Bicep format + +```bicep +fhirServices: [ + { + name: '<>-az-fhir-x-001' + kind: 'fhir-R4' + workspaceName: '<>001' + corsOrigins: [ '*' ] + corsHeaders: [ '*' ] + corsMethods: [ 'GET' ] + corsMaxAge: 600 + corsAllowCredentials: false + location: location + diagnosticLogsRetentionInDays: 7 + diagnosticStorageAccountId: diagnosticDependencies.outputs.storageAccountResourceId + diagnosticWorkspaceId: diagnosticDependencies.outputs.logAnalyticsWorkspaceResourceId + diagnosticEventHubAuthorizationRuleId: diagnosticDependencies.outputs.eventHubAuthorizationRuleId + diagnosticEventHubName: diagnosticDependencies.outputs.eventHubNamespaceEventHubName + publicNetworkAccess: 'Enabled' + resourceVersionPolicy: 'versioned' + smartProxyEnabled: false + enableDefaultTelemetry: enableDefaultTelemetry + systemAssignedIdentity: true + importEnabled: false + initialImportMode: false + userAssignedIdentities: { + '${resourceGroupResources.outputs.managedIdentityResourceId}': {} + } + roleAssignments: [ + { + roleDefinitionIdOrName: resourceId('Microsoft.Authorization/roleDefinitions', '5a1fc7df-4bf1-4951-a576-89034ee01acd') + principalIds: [ + resourceGroupResources.outputs.managedIdentityPrincipalId + ] + principalType: 'ServicePrincipal' + } + ] + } +] +``` + +
+

+ +### Parameter Usage: `dicomServices` + +Create a DICOM service with the workspace. + +

+ +Parameter JSON format + +```json +"dicomServices": { + "value": [ + { + "name": "<>-az-dicom-x-001", + "workspaceName": "<>001", + "corsOrigins": [ "*" ], + "corsHeaders": [ "*" ], + "corsMethods": [ "GET" ], + "corsMaxAge": 600, + "corsAllowCredentials": false, + "location": "<>", + "diagnosticLogsRetentionInDays": 7, + "diagnosticStorageAccountId": "<>", + "diagnosticWorkspaceId": "<>", + "diagnosticEventHubAuthorizationRuleId": "<>", + "diagnosticEventHubName": "<>", + "publicNetworkAccess": "Enabled", + "enableDefaultTelemetry": false, + "systemAssignedIdentity": true, + "userAssignedIdentities": { + "<>": {} + } + } + ] +} +``` + +
+ +
+ +Bicep format + +```bicep +dicomServices: [ + { + name: '<>-az-dicom-x-001' + workspaceName: '<>001' + corsOrigins: [ '*' ] + corsHeaders: [ '*' ] + corsMethods: [ 'GET' ] + corsMaxAge: 600 + corsAllowCredentials: false + location: location + diagnosticLogsRetentionInDays: 7 + 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 Usage: `iotConnectors` + +Create an IOT Connector (MedTech) service with the workspace. + +

+ +Parameter JSON format + +```json +"iotConnectors": { + "value": [ + { + "name": "<>-az-iomt-x-001", + "workspaceName": "<>001", + "corsOrigins": [ "*" ], + "corsHeaders": [ "*" ], + "corsMethods": [ "GET" ], + "corsMaxAge": 600, + "corsAllowCredentials": false, + "location": "<>", + "diagnosticLogsRetentionInDays": 7, + "diagnosticStorageAccountId": "<>", + "diagnosticWorkspaceId": "<>", + "diagnosticEventHubAuthorizationRuleId": "<>", + "diagnosticEventHubName": "<>", + "publicNetworkAccess": "Enabled", + "enableDefaultTelemetry": false, + "systemAssignedIdentity": true, + "userAssignedIdentities": { + "<>": {} + }, + "eventHubName": "<>", + "consumerGroup": "<>", + "eventHubNamespaceName": "<>", + "deviceMapping": "<>", + "destinationMapping": "<>", + "fhirServiceResourceId": "<>", + } + ] +} +``` + +
+ +
+ +Bicep format + +```bicep +iotConnectors: [ + { + name: '<>-az-iomt-x-001' + workspaceName: '<>001' + corsOrigins: [ '*' ] + corsHeaders: [ '*' ] + corsMethods: [ 'GET' ] + corsMaxAge: 600 + corsAllowCredentials: false + location: location + diagnosticLogsRetentionInDays: 7 + 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: '<>' + consumerGroup: '<>' + eventHubNamespaceName: '<>' + deviceMapping: '<>' + destinationMapping: '<>' + fhirServiceResourceId: '<>' + } +] +``` + +
+

### Parameter Usage: `roleAssignments` From 41df18f11a3ef79f499e9f0c0b6a4d8988b101f2 Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:36:20 -0500 Subject: [PATCH 40/81] Update .github/workflows/ms.healthcareapis.workspaces.yml Co-authored-by: Alexander Sehr --- .github/workflows/ms.healthcareapis.workspaces.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ms.healthcareapis.workspaces.yml b/.github/workflows/ms.healthcareapis.workspaces.yml index 5fec93de24..1a7373b933 100644 --- a/.github/workflows/ms.healthcareapis.workspaces.yml +++ b/.github/workflows/ms.healthcareapis.workspaces.yml @@ -1,4 +1,4 @@ -name: 'HealthcareApis - Workspaces' +name: 'HealthcareApis: Workspaces' on: workflow_dispatch: From 234eb722fdba7eafeb98e5a89169950cced3a31e Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:36:46 -0500 Subject: [PATCH 41/81] Update modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep Co-authored-by: Alexander Sehr --- .../workspaces/.bicep/nested_roleAssignments.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep index 8ca258e626..a20b58df13 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep @@ -57,7 +57,7 @@ var builtInRoleNames = { 'User Access Administrator': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9') } -resource health 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { +resource workspace 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { name: resourceId } From 975467bf76b9b75d81a467b6d935ba43e354d910 Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:37:02 -0500 Subject: [PATCH 42/81] Update modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep Co-authored-by: Alexander Sehr --- .../workspaces/.bicep/nested_roleAssignments.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep index a20b58df13..906354a9a3 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep @@ -58,7 +58,7 @@ var builtInRoleNames = { } resource workspace 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { - name: resourceId + name: last(split(resourceId, '/')) } resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [for principalId in principalIds: { From 6d3347448933b5d201f1074d5ac8c48680e83952 Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:37:23 -0500 Subject: [PATCH 43/81] Update modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep Co-authored-by: Alexander Sehr --- .../workspaces/.bicep/nested_roleAssignments.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep index 906354a9a3..2c9cf6cc0c 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep @@ -62,7 +62,7 @@ resource workspace 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { } resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [for principalId in principalIds: { - name: guid(health.id, principalId, roleDefinitionIdOrName) + name: guid(workspace.id, principalId, roleDefinitionIdOrName) properties: { description: description roleDefinitionId: contains(builtInRoleNames, roleDefinitionIdOrName) ? builtInRoleNames[roleDefinitionIdOrName] : roleDefinitionIdOrName From 2ae68b2b30f988020f57cbd897282375c1eae58e Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:37:38 -0500 Subject: [PATCH 44/81] Update modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep Co-authored-by: Alexander Sehr --- .../workspaces/.bicep/nested_roleAssignments.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep index 2c9cf6cc0c..7652376ede 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.bicep/nested_roleAssignments.bicep @@ -72,5 +72,5 @@ resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [ conditionVersion: !empty(conditionVersion) && !empty(condition) ? conditionVersion : null delegatedManagedIdentityResourceId: !empty(delegatedManagedIdentityResourceId) ? delegatedManagedIdentityResourceId : null } - scope: health + scope: workspace }] From 8d702c0f7e4c6636dfc00974e5fb00d2054c6428 Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:38:21 -0500 Subject: [PATCH 45/81] Update modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep Co-authored-by: Alexander Sehr --- .../.test/common/dependencies.bicep | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep index 8618c98997..abb7ae71a7 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep @@ -39,22 +39,20 @@ resource ehns 'Microsoft.EventHub/namespaces@2022-01-01-preview' = { zoneRedundant: false isAutoInflateEnabled: false } -} -resource ehub 'Microsoft.EventHub/namespaces/eventhubs@2022-01-01-preview' = { - name: '${eventHubNamespaceName}-hub' - parent: ehns - properties: { - messageRetentionInDays: 1 - partitionCount: 1 + resource eventhub 'eventhubs@2022-01-01-preview' = { + name: '${eventHubNamespaceName}-hub' + properties: { + messageRetentionInDays: 1 + partitionCount: 1 + } + + resource consumergroup 'consumergroups@2022-01-01-preview' = { + name: eventHubConsumerGroupName + } } } -resource ehub_consumergroup 'Microsoft.EventHub/namespaces/eventhubs/consumergroups@2022-01-01-preview' = { - name: eventHubConsumerGroupName - parent: ehub -} - @description('The principal ID of the created Managed Identity.') output managedIdentityPrincipalId string = managedIdentity.properties.principalId From 04506683ffcd0276dfa2104ccd4bde44d97a2db5 Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:38:40 -0500 Subject: [PATCH 46/81] Update modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep Co-authored-by: Alexander Sehr --- .../workspaces/.test/common/dependencies.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep index abb7ae71a7..78c9d1f5e1 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep @@ -69,7 +69,7 @@ output eventHubNamespaceResourceId string = ehns.id output eventHubNamespaceName string = ehns.name @description('The resource ID of the created Event Hub.') -output eventHubResourceId string = ehub.id +output eventHubResourceId string = ehns::eventhub.id @description('The name of the created Event Hub.') output eventHubName string = ehub.name From 72588e0ca16141cd0de5006bb3284b130b367062 Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:39:31 -0500 Subject: [PATCH 47/81] Update modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep Co-authored-by: Alexander Sehr --- .../workspaces/.test/common/dependencies.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep index 78c9d1f5e1..3bfef43fdf 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/dependencies.bicep @@ -72,4 +72,4 @@ output eventHubNamespaceName string = ehns.name output eventHubResourceId string = ehns::eventhub.id @description('The name of the created Event Hub.') -output eventHubName string = ehub.name +output eventHubName string = ehns::eventhub.name From e3ed9e7255da76afe062290005cbf7798ff1d655 Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:39:47 -0500 Subject: [PATCH 48/81] Update modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep Co-authored-by: Alexander Sehr --- .../workspaces/.test/common/deploy.test.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep index af2db3c3cb..1ea7ea6a72 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep @@ -11,7 +11,7 @@ param resourceGroupName string = 'ms.healthcareapis.workspaces-${serviceShort}-r param location string = deployment().location @description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.') -param serviceShort string = 'hwcom' +param serviceShort string = 'hawcom' @description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true From 2fa053ee7b5b66de9d05d54cf838a72d7b93af7d Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:40:04 -0500 Subject: [PATCH 49/81] Update modules/Microsoft.HealthcareApis/workspaces/.test/min/deploy.test.bicep Co-authored-by: Alexander Sehr --- .../workspaces/.test/min/deploy.test.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/min/deploy.test.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/min/deploy.test.bicep index 26b2ca79b0..77e9c3a662 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/min/deploy.test.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/min/deploy.test.bicep @@ -11,7 +11,7 @@ param resourceGroupName string = 'ms.healthcareapis.workspaces-${serviceShort}-r param location string = deployment().location @description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.') -param serviceShort string = 'hwmin' +param serviceShort string = 'hawmin' @description('Optional. Enable telemetry via a Globally Unique Identifier (GUID).') param enableDefaultTelemetry bool = true From e2c28ac63b95cfd3224408c438578f26f3e5764d Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 18 Jan 2023 16:42:32 -0500 Subject: [PATCH 50/81] update resource name --- .../workspaces/deploy.bicep | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep index 1eef261b7b..1191c55537 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep @@ -55,7 +55,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource health 'Microsoft.HealthcareApis/workspaces@2022-06-01' = { +resource workspace 'Microsoft.HealthcareApis/workspaces@2022-06-01' = { name: name location: location tags: tags @@ -64,16 +64,16 @@ resource health 'Microsoft.HealthcareApis/workspaces@2022-06-01' = { } } -resource health_lock 'Microsoft.Authorization/locks@2020-05-01' = if (!empty(lock)) { - name: '${health.name}-${lock}-lock' +resource workspace_lock 'Microsoft.Authorization/locks@2020-05-01' = if (!empty(lock)) { + name: '${workspace.name}-${lock}-lock' properties: { level: any(lock) notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.' } - scope: health + scope: workspace } -module health_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment, index) in roleAssignments: { +module workspace_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment, index) in roleAssignments: { name: '${deployment().name}-Rbac-${index}' params: { description: contains(roleAssignment, 'description') ? roleAssignment.description : '' @@ -82,16 +82,16 @@ module health_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (role roleDefinitionIdOrName: roleAssignment.roleDefinitionIdOrName condition: contains(roleAssignment, 'condition') ? roleAssignment.condition : '' delegatedManagedIdentityResourceId: contains(roleAssignment, 'delegatedManagedIdentityResourceId') ? roleAssignment.delegatedManagedIdentityResourceId : '' - resourceId: health.id + resourceId: workspace.id } }] -module health_fhir 'fhirservices/deploy.bicep' = [for (fhir, index) in fhirServices: { +module workspace_fhir 'fhirservices/deploy.bicep' = [for (fhir, index) in fhirServices: { name: '${uniqueString(deployment().name, location)}-Health-FHIR-${index}' params: { name: fhir.name location: location - workspaceName: health.name + workspaceName: workspace.name kind: fhir.kind tags: contains(fhir, 'tags') ? fhir.tags : {} publicNetworkAccess: contains(fhir, 'publicNetworkAccess') ? fhir.publicNetworkAccess : 'Disabled' @@ -101,7 +101,7 @@ module health_fhir 'fhirservices/deploy.bicep' = [for (fhir, index) in fhirServi acrLoginServers: contains(fhir, 'acrLoginServers') ? fhir.acrLoginServers : [] acrOciArtifacts: contains(fhir, 'acrOciArtifacts') ? fhir.acrOciArtifacts : [] authenticationAuthority: contains(fhir, 'authenticationAuthority') ? fhir.authenticationAuthority : uri(environment().authentication.loginEndpoint, subscription().tenantId) - authenticationAudience: contains(fhir, 'authenticationAudience') ? fhir.authenticationAudience : 'https://${health.name}-${fhir.name}.fhir.azurehealthcareapis.com' + authenticationAudience: contains(fhir, 'authenticationAudience') ? fhir.authenticationAudience : 'https://${workspace.name}-${fhir.name}.fhir.azurehealthcareapis.com' corsOrigins: contains(fhir, 'corsOrigins') ? fhir.corsOrigins : [] corsHeaders: contains(fhir, 'corsHeaders') ? fhir.corsHeaders : [] corsMethods: contains(fhir, 'corsMethods') ? fhir.corsMethods : [] @@ -127,12 +127,12 @@ module health_fhir 'fhirservices/deploy.bicep' = [for (fhir, index) in fhirServi } }] -module health_dicom 'dicomservices/deploy.bicep' = [for (dicom, index) in dicomServices: { +module workspace_dicom 'dicomservices/deploy.bicep' = [for (dicom, index) in dicomServices: { name: '${uniqueString(deployment().name, location)}-Health-DICOM-${index}' params: { name: dicom.name location: location - workspaceName: health.name + workspaceName: workspace.name tags: contains(dicom, 'tags') ? dicom.tags : {} publicNetworkAccess: contains(dicom, 'publicNetworkAccess') ? dicom.publicNetworkAccess : 'Disabled' systemAssignedIdentity: contains(dicom, 'systemAssignedIdentity') ? dicom.systemAssignedIdentity : false @@ -153,12 +153,12 @@ module health_dicom 'dicomservices/deploy.bicep' = [for (dicom, index) in dicomS } }] -module health_iomt 'iotconnectors/deploy.bicep' = [for (iomt, index) in iotConnectors: { +module workspace_iomt 'iotconnectors/deploy.bicep' = [for (iomt, index) in iotConnectors: { name: '${uniqueString(deployment().name, location)}-Health-IOMT-${index}' params: { name: iomt.name location: location - workspaceName: health.name + workspaceName: workspace.name tags: contains(iomt, 'tags') ? iomt.tags : {} eventHubName: iomt.eventHubName eventHubNamespaceName: iomt.eventHubNamespaceName @@ -188,13 +188,13 @@ module health_iomt 'iotconnectors/deploy.bicep' = [for (iomt, index) in iotConne }] @description('The name of the health data services workspace.') -output name string = health.name +output name string = workspace.name @description('The resource ID of the health data services workspace.') -output resourceId string = health.id +output resourceId string = workspace.id @description('The resource group where the workspace is deployed.') output resourceGroupName string = resourceGroup().name @description('The location the resource was deployed into.') -output location string = health.location +output location string = workspace.location From c1445e0f7412301655b0e1f1a37b7a914c5ef146 Mon Sep 17 00:00:00 2001 From: CARMLPipelinePrincipal Date: Wed, 18 Jan 2023 21:43:41 +0000 Subject: [PATCH 51/81] Push updated Readme file(s) --- README.md | 2 +- docs/wiki/The library - Module overview.md | 220 ++++++++++----------- 2 files changed, 111 insertions(+), 111 deletions(-) diff --git a/README.md b/README.md index 82fcb5ffdb..3c9e831097 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ The CI environment supports both ARM and Bicep and can be leveraged using GitHub | [ExpressRoute Circuits](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | [!['Network: ExpressRouteCircuits'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20ExpressRouteCircuits/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.expressroutecircuits.yml) | | [Firewall Policies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | [!['Network: FirewallPolicies'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20FirewallPolicies/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.firewallpolicies.yml) | | [Front Doors](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | [!['Network: Frontdoors'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20Frontdoors/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.frontdoors.yml) | -| [HealthcareApis Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthcareApis/workspaces) | [!['HealthcareApis - Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/HealthcareApis%20-%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.healthcareapis.workspaces.yml) | +| [HealthcareApis Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthcareApis/workspaces) | [!['HealthcareApis: Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/HealthcareApis:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.healthcareapis.workspaces.yml) | | [Image Templates](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | [!['VirtualMachineImages: ImageTemplates'](https://github.com/lapellaniz/ResourceModules/workflows/VirtualMachineImages:%20ImageTemplates/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.virtualmachineimages.imagetemplates.yml) | | [Images](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/images) | [!['Compute: Images'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20Images/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.images.yml) | | [IP Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | [!['Network: IpGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20IpGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.ipgroups.yml) | diff --git a/docs/wiki/The library - Module overview.md b/docs/wiki/The library - Module overview.md index 9e38b9e387..ec5d75f16b 100644 --- a/docs/wiki/The library - Module overview.md +++ b/docs/wiki/The library - Module overview.md @@ -13,117 +13,117 @@ This section provides an overview of the library's feature set. | # | Module | RBAC | Locks | Tags | Diag | PE | PIP | # children | # lines | | - | - | - | - | - | - | - | - | - | - | -| 1 | MS.HealthBot

healthBots | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 68 | -| 2 | MS.KubernetesConfiguration

extensions | | | | | | | | 63 | -| 3 | MS.KubernetesConfiguration

fluxConfigurations | | | | | | | | 67 | -| 4 | MS.Cache

redis | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 233 | -| 5 | MS.EventGrid

topics | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 156 | -| 6 | MS.EventGrid

systemTopics | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 139 | -| 7 | MS.Compute

diskEncryptionSets | :white_check_mark: | | :white_check_mark: | | | | | 105 | -| 8 | MS.Compute

virtualMachineScaleSets | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 560 | -| 9 | MS.Compute

images | :white_check_mark: | | :white_check_mark: | | | | | 107 | -| 10 | MS.Compute

disks | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 170 | -| 11 | MS.Compute

proximityPlacementGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 80 | -| 12 | MS.Compute

galleries | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 102 | -| 13 | MS.Compute

availabilitySets | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 83 | -| 14 | MS.Compute

virtualMachines | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 586 | -| 15 | MS.Consumption

budgets | | | | | | | | 89 | -| 16 | MS.DesktopVirtualization

hostpools | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 179 | -| 17 | MS.DesktopVirtualization

scalingplans | :white_check_mark: | | :white_check_mark: | :white_check_mark: | | | | 151 | -| 18 | MS.DesktopVirtualization

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 119 | -| 19 | MS.DesktopVirtualization

applicationgroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 147 | -| 20 | MS.AnalysisServices

servers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 143 | -| 21 | MS.ContainerRegistry

registries | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:2] | 333 | -| 22 | MS.MachineLearningServices

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 277 | -| 23 | MS.Databricks

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 141 | -| 24 | MS.ContainerService

managedClusters | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 504 | -| 25 | MS.EventHub

namespaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:4, L2:2] | 279 | -| 26 | MS.NetApp

netAppAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1, L2:1] | 106 | -| 27 | MS.AAD

DomainServices | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 231 | -| 28 | MS.Logic

workflows | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 196 | -| 29 | MS.ServiceFabric

clusters | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 281 | -| 30 | MS.AppConfiguration

configurationStores | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 205 | -| 31 | MS.DocumentDB

databaseAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:3, L2:3] | 312 | -| 32 | MS.OperationsManagement

solutions | | | | | | | | 50 | -| 33 | MS.DataFactory

factories | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:2, L2:1] | 251 | -| 34 | MS.Insights

actionGroups | :white_check_mark: | | :white_check_mark: | | | | | 85 | -| 35 | MS.Insights

metricAlerts | :white_check_mark: | | :white_check_mark: | | | | | 122 | -| 36 | MS.Insights

activityLogAlerts | :white_check_mark: | | :white_check_mark: | | | | | 74 | -| 37 | MS.Insights

components | :white_check_mark: | | :white_check_mark: | | | | | 99 | -| 38 | MS.Insights

diagnosticSettings | | | | :white_check_mark: | | | | 79 | -| 39 | MS.Insights

privateLinkScopes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:1] | 97 | -| 40 | MS.Insights

scheduledQueryRules | :white_check_mark: | | :white_check_mark: | | | | | 106 | -| 41 | MS.DBforPostgreSQL

flexibleServers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:3] | 275 | -| 42 | MS.Web

hostingEnvironments | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 164 | -| 43 | MS.Web

sites | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:2] | 257 | -| 44 | MS.Web

staticSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:3] | 190 | -| 45 | MS.Web

connections | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 89 | -| 46 | MS.Web

serverfarms | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 159 | -| 47 | MS.ApiManagement

service | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:11, L2:3] | 413 | -| 48 | MS.Management

managementGroups | | | | | | | | 44 | -| 49 | MS.OperationalInsights

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:5] | 260 | -| 50 | MS.Authorization

roleAssignments | | | | | | | [L1:3] | 104 | -| 51 | MS.Authorization

policyDefinitions | | | | | | | [L1:2] | 82 | -| 52 | MS.Authorization

roleDefinitions | | | | | | | [L1:3] | 91 | -| 53 | MS.Authorization

policyExemptions | | | | | | | [L1:3] | 111 | -| 54 | MS.Authorization

locks | | | | | | | [L1:2] | 59 | -| 55 | MS.Authorization

policySetDefinitions | | | | | | | [L1:2] | 73 | -| 56 | MS.Authorization

policyAssignments | | | | | | | [L1:3] | 130 | -| 57 | MS.ContainerInstance

containerGroups | | :white_check_mark: | :white_check_mark: | | | | | 84 | -| 58 | MS.Synapse

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 264 | -| 59 | MS.Synapse

privateLinkHubs | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 87 | -| 60 | MS.Automation

automationAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6] | 365 | -| 61 | MS.DataProtection

backupVaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 105 | -| 62 | MS.ServiceBus

namespaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6, L2:2] | 326 | -| 63 | MS.PowerBIDedicated

capacities | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 96 | -| 64 | MS.Sql

managedInstances | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:6, L2:2] | 338 | -| 65 | MS.Sql

servers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:6] | 254 | -| 66 | MS.RecoveryServices

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:7, L2:2, L3:1] | 291 | -| 67 | MS.ManagedIdentity

userAssignedIdentities | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | -| 68 | MS.HealthcareApis

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:3, L2:1] | 180 | -| 69 | MS.Storage

storageAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:5, L2:4, L3:1] | 343 | -| 70 | MS.VirtualMachineImages

imageTemplates | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 167 | -| 71 | MS.Network

networkWatchers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 97 | -| 72 | MS.Network

expressRouteCircuits | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 188 | -| 73 | MS.Network

trafficmanagerprofiles | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 164 | -| 74 | MS.Network

vpnGateways | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 104 | -| 75 | MS.Network

frontDoors | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 151 | -| 76 | MS.Network

privateEndpoints | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 108 | -| 77 | MS.Network

virtualWans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 80 | -| 78 | MS.Network

virtualHubs | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 148 | -| 79 | MS.Network

applicationGatewayWebApplicationFirewallPolicies | | | :white_check_mark: | | | | | 44 | -| 80 | MS.Network

publicIPAddresses | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 167 | -| 81 | MS.Network

ddosProtectionPlans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | -| 82 | MS.Network

virtualNetworks | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 230 | -| 83 | MS.Network

publicIPPrefixes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 74 | -| 84 | MS.Network

privateLinkServices | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 85 | -| 85 | MS.Network

connections | | :white_check_mark: | :white_check_mark: | | | | | 107 | -| 86 | MS.Network

azureFirewalls | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 265 | -| 87 | MS.Network

firewallPolicies | | | :white_check_mark: | | | | [L1:1] | 153 | +| 1 | MS.Synapse

privateLinkHubs | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 87 | +| 2 | MS.Synapse

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 264 | +| 3 | MS.Compute

proximityPlacementGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 80 | +| 4 | MS.Compute

virtualMachineScaleSets | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 560 | +| 5 | MS.Compute

availabilitySets | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 83 | +| 6 | MS.Compute

images | :white_check_mark: | | :white_check_mark: | | | | | 107 | +| 7 | MS.Compute

virtualMachines | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 586 | +| 8 | MS.Compute

diskEncryptionSets | :white_check_mark: | | :white_check_mark: | | | | | 105 | +| 9 | MS.Compute

disks | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 170 | +| 10 | MS.Compute

galleries | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 102 | +| 11 | MS.Cache

redis | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 233 | +| 12 | MS.ContainerRegistry

registries | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:2] | 333 | +| 13 | MS.ManagedServices

registrationDefinitions | | | | | | | | 60 | +| 14 | MS.MachineLearningServices

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 277 | +| 15 | MS.Resources

tags | | | :white_check_mark: | | | | [L1:2] | 51 | +| 16 | MS.Resources

resourceGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | +| 17 | MS.Resources

deploymentScripts | | :white_check_mark: | :white_check_mark: | | | | | 111 | +| 18 | MS.Consumption

budgets | | | | | | | | 89 | +| 19 | MS.EventHub

namespaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:4, L2:2] | 279 | +| 20 | MS.ContainerService

managedClusters | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 504 | +| 21 | MS.KeyVault

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3] | 278 | +| 22 | MS.OperationalInsights

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:5] | 260 | +| 23 | MS.AnalysisServices

servers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 143 | +| 24 | MS.Management

managementGroups | | | | | | | | 44 | +| 25 | MS.ManagedIdentity

userAssignedIdentities | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | +| 26 | MS.OperationsManagement

solutions | | | | | | | | 50 | +| 27 | MS.AppConfiguration

configurationStores | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 205 | +| 28 | MS.ServiceBus

namespaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6, L2:2] | 326 | +| 29 | MS.DataFactory

factories | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:2, L2:1] | 251 | +| 30 | MS.ApiManagement

service | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:11, L2:3] | 413 | +| 31 | MS.Maintenance

maintenanceConfigurations | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 101 | +| 32 | MS.DBforPostgreSQL

flexibleServers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:3] | 275 | +| 33 | MS.VirtualMachineImages

imageTemplates | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 167 | +| 34 | MS.ContainerInstance

containerGroups | | :white_check_mark: | :white_check_mark: | | | | | 84 | +| 35 | MS.Authorization

policyDefinitions | | | | | | | [L1:2] | 82 | +| 36 | MS.Authorization

policyExemptions | | | | | | | [L1:3] | 111 | +| 37 | MS.Authorization

locks | | | | | | | [L1:2] | 59 | +| 38 | MS.Authorization

policyAssignments | | | | | | | [L1:3] | 130 | +| 39 | MS.Authorization

roleDefinitions | | | | | | | [L1:3] | 91 | +| 40 | MS.Authorization

policySetDefinitions | | | | | | | [L1:2] | 73 | +| 41 | MS.Authorization

roleAssignments | | | | | | | [L1:3] | 104 | +| 42 | MS.CognitiveServices

accounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 252 | +| 43 | MS.ServiceFabric

clusters | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 281 | +| 44 | MS.KubernetesConfiguration

fluxConfigurations | | | | | | | | 67 | +| 45 | MS.KubernetesConfiguration

extensions | | | | | | | | 63 | +| 46 | MS.AAD

DomainServices | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 231 | +| 47 | MS.Security

azureSecurityCenter | | | | | | | | 217 | +| 48 | MS.DesktopVirtualization

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 119 | +| 49 | MS.DesktopVirtualization

hostpools | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 179 | +| 50 | MS.DesktopVirtualization

scalingplans | :white_check_mark: | | :white_check_mark: | :white_check_mark: | | | | 151 | +| 51 | MS.DesktopVirtualization

applicationgroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 147 | +| 52 | MS.EventGrid

topics | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 156 | +| 53 | MS.EventGrid

systemTopics | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 139 | +| 54 | MS.HealthcareApis

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:3, L2:1] | 180 | +| 55 | MS.PowerBIDedicated

capacities | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 96 | +| 56 | MS.DocumentDB

databaseAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:3, L2:3] | 312 | +| 57 | MS.Automation

automationAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6] | 365 | +| 58 | MS.NetApp

netAppAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1, L2:1] | 106 | +| 59 | MS.HealthBot

healthBots | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 68 | +| 60 | MS.Batch

batchAccounts | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 225 | +| 61 | MS.Sql

managedInstances | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:6, L2:2] | 338 | +| 62 | MS.Sql

servers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:6] | 254 | +| 63 | MS.SignalRService

webPubSub | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 153 | +| 64 | MS.Insights

components | :white_check_mark: | | :white_check_mark: | | | | | 99 | +| 65 | MS.Insights

diagnosticSettings | | | | :white_check_mark: | | | | 79 | +| 66 | MS.Insights

privateLinkScopes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:1] | 97 | +| 67 | MS.Insights

scheduledQueryRules | :white_check_mark: | | :white_check_mark: | | | | | 106 | +| 68 | MS.Insights

actionGroups | :white_check_mark: | | :white_check_mark: | | | | | 85 | +| 69 | MS.Insights

metricAlerts | :white_check_mark: | | :white_check_mark: | | | | | 122 | +| 70 | MS.Insights

activityLogAlerts | :white_check_mark: | | :white_check_mark: | | | | | 74 | +| 71 | MS.Storage

storageAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:5, L2:4, L3:1] | 343 | +| 72 | MS.Logic

workflows | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 196 | +| 73 | MS.RecoveryServices

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:7, L2:2, L3:1] | 291 | +| 74 | MS.Network

trafficmanagerprofiles | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 164 | +| 75 | MS.Network

vpnSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | +| 76 | MS.Network

virtualNetworks | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 230 | +| 77 | MS.Network

privateEndpoints | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 108 | +| 78 | MS.Network

networkInterfaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 144 | +| 79 | MS.Network

publicIPAddresses | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 167 | +| 80 | MS.Network

routeTables | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 70 | +| 81 | MS.Network

virtualHubs | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 148 | +| 82 | MS.Network

applicationSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 63 | +| 83 | MS.Network

loadBalancers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 238 | +| 84 | MS.Network

applicationGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 308 | +| 85 | MS.Network

dnsResolvers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 100 | +| 86 | MS.Network

bastionHosts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 204 | +| 87 | MS.Network

networkSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 152 | | 88 | MS.Network

ipGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 68 | -| 89 | MS.Network

bastionHosts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 204 | -| 90 | MS.Network

privateDnsZones | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:9] | 189 | -| 91 | MS.Network

networkSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 152 | -| 92 | MS.Network

natGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 184 | -| 93 | MS.Network

virtualNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 378 | -| 94 | MS.Network

localNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | -| 95 | MS.Network

loadBalancers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 238 | -| 96 | MS.Network

vpnSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | -| 97 | MS.Network

routeTables | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 70 | -| 98 | MS.Network

dnsResolvers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 100 | -| 99 | MS.Network

applicationGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 308 | -| 100 | MS.Network

networkInterfaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 144 | -| 101 | MS.Network

applicationSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 63 | -| 102 | MS.CognitiveServices

accounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 252 | -| 103 | MS.Maintenance

maintenanceConfigurations | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 101 | -| 104 | MS.KeyVault

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3] | 278 | -| 105 | MS.SignalRService

webPubSub | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 153 | -| 106 | MS.Security

azureSecurityCenter | | | | | | | | 217 | -| 107 | MS.Batch

batchAccounts | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 225 | -| 108 | MS.ManagedServices

registrationDefinitions | | | | | | | | 60 | -| 109 | MS.Resources

resourceGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | -| 110 | MS.Resources

tags | | | :white_check_mark: | | | | [L1:2] | 51 | -| 111 | MS.Resources

deploymentScripts | | :white_check_mark: | :white_check_mark: | | | | | 111 | +| 89 | MS.Network

localNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | +| 90 | MS.Network

networkWatchers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 97 | +| 91 | MS.Network

privateLinkServices | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 85 | +| 92 | MS.Network

azureFirewalls | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 265 | +| 93 | MS.Network

expressRouteCircuits | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 188 | +| 94 | MS.Network

virtualWans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 80 | +| 95 | MS.Network

publicIPPrefixes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 74 | +| 96 | MS.Network

natGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 184 | +| 97 | MS.Network

privateDnsZones | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:9] | 189 | +| 98 | MS.Network

applicationGatewayWebApplicationFirewallPolicies | | | :white_check_mark: | | | | | 44 | +| 99 | MS.Network

firewallPolicies | | | :white_check_mark: | | | | [L1:1] | 153 | +| 100 | MS.Network

vpnGateways | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 104 | +| 101 | MS.Network

frontDoors | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 151 | +| 102 | MS.Network

connections | | :white_check_mark: | :white_check_mark: | | | | | 107 | +| 103 | MS.Network

ddosProtectionPlans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | +| 104 | MS.Network

virtualNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 378 | +| 105 | MS.Web

serverfarms | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 159 | +| 106 | MS.Web

staticSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:3] | 190 | +| 107 | MS.Web

sites | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:2] | 257 | +| 108 | MS.Web

hostingEnvironments | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 164 | +| 109 | MS.Web

connections | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 89 | +| 110 | MS.Databricks

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 141 | +| 111 | MS.DataProtection

backupVaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 105 | | Sum | | 87 | 85 | 96 | 49 | 21 | 2 | 154 | 18655 | ## Legend From 49eac769d121cfa9be9f4ba541e81123b8b76fcd Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 18 Jan 2023 16:44:20 -0500 Subject: [PATCH 52/81] update name convention --- .../workspaces/deploy.bicep | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep index 1191c55537..5f832e2e6e 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep @@ -153,36 +153,36 @@ module workspace_dicom 'dicomservices/deploy.bicep' = [for (dicom, index) in dic } }] -module workspace_iomt 'iotconnectors/deploy.bicep' = [for (iomt, index) in iotConnectors: { +module workspace_iotConnector 'iotconnectors/deploy.bicep' = [for (iotConnector, index) in iotConnectors: { name: '${uniqueString(deployment().name, location)}-Health-IOMT-${index}' params: { - name: iomt.name + name: iotConnector.name location: location workspaceName: workspace.name - tags: contains(iomt, 'tags') ? iomt.tags : {} - eventHubName: iomt.eventHubName - eventHubNamespaceName: iomt.eventHubNamespaceName - deviceMapping: contains(iomt, 'deviceMapping') ? iomt.deviceMapping : { + tags: contains(iotConnector, 'tags') ? iotConnector.tags : {} + eventHubName: iotConnector.eventHubName + eventHubNamespaceName: iotConnector.eventHubNamespaceName + deviceMapping: contains(iotConnector, 'deviceMapping') ? iotConnector.deviceMapping : { templateType: 'CollectionContent' template: [] } - destinationMapping: contains(iomt, 'destinationMapping') ? iomt.destinationMapping : { + destinationMapping: contains(iotConnector, 'destinationMapping') ? iotConnector.destinationMapping : { templateType: 'CollectionFhir' template: [] } - consumerGroup: contains(iomt, 'consumerGroup') ? iomt.consumerGroup : iomt.name - systemAssignedIdentity: contains(iomt, 'systemAssignedIdentity') ? iomt.systemAssignedIdentity : false - fhirServiceResourceId: iomt.fhirServiceResourceId - diagnosticLogsRetentionInDays: contains(iomt, 'diagnosticLogsRetentionInDays') ? iomt.diagnosticLogsRetentionInDays : 365 - diagnosticStorageAccountId: contains(iomt, 'diagnosticStorageAccountId') ? iomt.diagnosticStorageAccountId : '' - diagnosticWorkspaceId: contains(iomt, 'diagnosticWorkspaceId') ? iomt.diagnosticWorkspaceId : '' - diagnosticEventHubAuthorizationRuleId: contains(iomt, 'diagnosticEventHubAuthorizationRuleId') ? iomt.diagnosticEventHubAuthorizationRuleId : '' - diagnosticEventHubName: contains(iomt, 'diagnosticEventHubName') ? iomt.diagnosticEventHubName : '' - lock: contains(iomt, 'lock') ? iomt.lock : '' - userAssignedIdentities: contains(iomt, 'userAssignedIdentities') ? iomt.userAssignedIdentities : {} - diagnosticLogCategoriesToEnable: contains(iomt, 'diagnosticLogCategoriesToEnable') ? iomt.diagnosticLogCategoriesToEnable : [ 'DiagnosticLogs' ] - diagnosticMetricsToEnable: contains(iomt, 'diagnosticMetricsToEnable') ? iomt.diagnosticMetricsToEnable : [ 'AllMetrics' ] - resourceIdentityResolutionType: contains(iomt, 'resourceIdentityResolutionType') ? iomt.resourceIdentityResolutionType : 'Lookup' + consumerGroup: contains(iotConnector, 'consumerGroup') ? iotConnector.consumerGroup : iotConnector.name + systemAssignedIdentity: contains(iotConnector, 'systemAssignedIdentity') ? iotConnector.systemAssignedIdentity : false + fhirServiceResourceId: iotConnector.fhirServiceResourceId + diagnosticLogsRetentionInDays: contains(iotConnector, 'diagnosticLogsRetentionInDays') ? iotConnector.diagnosticLogsRetentionInDays : 365 + diagnosticStorageAccountId: contains(iotConnector, 'diagnosticStorageAccountId') ? iotConnector.diagnosticStorageAccountId : '' + diagnosticWorkspaceId: contains(iotConnector, 'diagnosticWorkspaceId') ? iotConnector.diagnosticWorkspaceId : '' + diagnosticEventHubAuthorizationRuleId: contains(iotConnector, 'diagnosticEventHubAuthorizationRuleId') ? iotConnector.diagnosticEventHubAuthorizationRuleId : '' + diagnosticEventHubName: contains(iotConnector, 'diagnosticEventHubName') ? iotConnector.diagnosticEventHubName : '' + lock: contains(iotConnector, 'lock') ? iotConnector.lock : '' + userAssignedIdentities: contains(iotConnector, 'userAssignedIdentities') ? iotConnector.userAssignedIdentities : {} + diagnosticLogCategoriesToEnable: contains(iotConnector, 'diagnosticLogCategoriesToEnable') ? iotConnector.diagnosticLogCategoriesToEnable : [ 'DiagnosticLogs' ] + diagnosticMetricsToEnable: contains(iotConnector, 'diagnosticMetricsToEnable') ? iotConnector.diagnosticMetricsToEnable : [ 'AllMetrics' ] + resourceIdentityResolutionType: contains(iotConnector, 'resourceIdentityResolutionType') ? iotConnector.resourceIdentityResolutionType : 'Lookup' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] From f3c0906ba964da3e28134d27d1506ff18938c8c4 Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:45:37 -0500 Subject: [PATCH 53/81] Update modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep Co-authored-by: Alexander Sehr --- .../workspaces/dicomservices/deploy.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep index 4a847d8f43..2d3f1efd00 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep @@ -2,7 +2,7 @@ @maxLength(50) param name string -@description('Required. The name of the parent health data services workspace.') +@description('Conditional. The name of the parent health data services workspace. Required if the template is used in a standalone deployment.')``` param workspaceName string @description('Optional. Specify URLs of origin sites that can access this API, or use "*" to allow access from any site.') From cbca6d0885e2a24781ba9c3ade3d55aabfc834a3 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 18 Jan 2023 16:50:12 -0500 Subject: [PATCH 54/81] remove deployment samples --- .../workspaces/dicomservices/readme.md | 45 ------------------- .../workspaces/iotconnectors/readme.md | 27 ----------- 2 files changed, 72 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md index f3b9bd9140..7f219af9f6 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md @@ -7,7 +7,6 @@ This module deploys a DICOM service. - [Resource Types](#Resource-Types) - [Parameters](#Parameters) - [Outputs](#Outputs) -- [Deployment examples](#Deployment-examples) - [Cross-referenced modules](#Cross-referenced-modules) ## Resource Types @@ -136,50 +135,6 @@ userAssignedIdentities: { | `resourceId` | string | The resource ID of the dicom service. | | `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. | -## Deployment examples - -

Example 1: Common

- -
- -via Bicep module - -```bicep -module dicom './Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-test-dicom' - params: { - // Required parameters - name: '<>dicom001' - workspaceName: '' - // Non-required parameters - diagnosticEventHubAuthorizationRuleId: '' - diagnosticEventHubName: '' - diagnosticLogsRetentionInDays: 7 - diagnosticStorageAccountId: '' - diagnosticWorkspaceId: '' - lock: 'CanNotDelete' - systemAssignedIdentity: true - userAssignedIdentities: { - '': {} - } - corsOrigins: [ - '*' - ] - corsHeaders: [ - '*' - ] - corsMethods: [ - 'GET' - ] - corsMaxAge: 600 - corsAllowCredentials: true - publicNetworkAccess: 'Enabled' - } -} -``` - -
- ## Cross-referenced modules _None_ diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md index 44082a7355..2cd8603a71 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md @@ -7,7 +7,6 @@ This module deploys HealthcareApis MedTech Service. - [Resource Types](#Resource-Types) - [Parameters](#Parameters) - [Outputs](#Outputs) -- [Deployment examples](#Deployment-examples) - [Cross-referenced modules](#Cross-referenced-modules) ## Resource Types @@ -277,32 +276,6 @@ userAssignedIdentities: { | `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. | | `workspaceName` | string | The name of the medtech workspace. | -## Deployment examples - -

Example 1: min

- -
- -via Bicep module - -```bicep -module iotConnector './Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-test-iomt' - params: { - // Required parameters - name: '<>iomt001' - workspaceName: '' - eventHubName: '' - eventHubNamespaceName: '' - deviceMapping: '' - destinationMapping '' - fhirServiceResourceId: '' - } -} -``` - -
- ## Cross-referenced modules _None_ From 959216ef7e57fe23227fa37d39e0ee1e49ccd057 Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:51:45 -0500 Subject: [PATCH 55/81] Update modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep Co-authored-by: Alexander Sehr --- .../fhirservices/.bicep/nested_roleAssignments.bicep | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep index eec89180ab..e9f316d784 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep @@ -58,9 +58,12 @@ var builtInRoleNames = { 'User Access Administrator': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9') } -resource fhir 'Microsoft.HealthcareApis/workspaces/fhirservices@2022-06-01' existing = { - name: '${split(resourceId, '/')[8]}/${split(resourceId, '/')[10]}' - //resourceName +resource workspace 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { + name: split(resourceId, '/')[8] + + resource fhir 'fhirservices@2022-06-01' existing = { + name: split(resourceId, '/')[10] + } } resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [for principalId in principalIds: { From cdb54a96f30bce9b4f40202d0ee5b9fe40f3c93e Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:54:30 -0500 Subject: [PATCH 56/81] Update modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep Co-authored-by: Alexander Sehr --- .../workspaces/fhirservices/.bicep/nested_roleAssignments.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep index e9f316d784..50ebbd40a5 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep @@ -67,7 +67,7 @@ resource workspace 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { } resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [for principalId in principalIds: { - name: guid(fhir.id, principalId, roleDefinitionIdOrName) + name: guid(workspace::fhir.id, principalId, roleDefinitionIdOrName) properties: { description: description roleDefinitionId: contains(builtInRoleNames, roleDefinitionIdOrName) ? builtInRoleNames[roleDefinitionIdOrName] : roleDefinitionIdOrName From ad1e752dc27f11eef51e4e610fd775551632b00b Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:54:52 -0500 Subject: [PATCH 57/81] Update modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep Co-authored-by: Alexander Sehr --- .../workspaces/fhirservices/deploy.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep index 1e5dd372c0..947f5648f2 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/deploy.bicep @@ -9,7 +9,7 @@ param name string @description('Optional. The kind of the service. Defaults to R4.') param kind string = 'fhir-R4' -@description('Required. The name of the parent health data services workspace.') +@description('Conditional. The name of the parent health data services workspace. Required if the template is used in a standalone deployment.') param workspaceName string @description('Optional. List of Azure AD object IDs (User or Apps) that is allowed access to the FHIR service.') From 4dee680cf2c692eddbd8754f0a94878888acc2ac Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:55:13 -0500 Subject: [PATCH 58/81] Update modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep Co-authored-by: Alexander Sehr --- .../workspaces/fhirservices/.bicep/nested_roleAssignments.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep index 50ebbd40a5..8973527791 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/.bicep/nested_roleAssignments.bicep @@ -77,5 +77,5 @@ resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [ conditionVersion: !empty(conditionVersion) && !empty(condition) ? conditionVersion : null delegatedManagedIdentityResourceId: !empty(delegatedManagedIdentityResourceId) ? delegatedManagedIdentityResourceId : null } - scope: fhir + scope: workspace::fhir }] From f0d90195aa9462d54f250732e171c85dbd511566 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 18 Jan 2023 16:56:33 -0500 Subject: [PATCH 59/81] remove deployment example --- .../workspaces/fhirservices/readme.md | 22 ------------------- 1 file changed, 22 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md index b1d42ea1a2..e3d0518e91 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md @@ -7,7 +7,6 @@ This module deploys HealthcareApis Workspaces FHIR Service. - [Resource Types](#Resource-Types) - [Parameters](#Parameters) - [Outputs](#Outputs) -- [Deployment examples](#Deployment-examples) - [Cross-referenced modules](#Cross-referenced-modules) ## Resource Types @@ -285,27 +284,6 @@ userAssignedIdentities: { | `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. | | `workspaceName` | string | The name of the fhir workspace. | -## Deployment examples - -

Example 1: min

- -
- -via Bicep module - -```bicep -module fhir './Microsoft.HealthcareApis/workspaces/fhireservices/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-test-fhir' - params: { - // Required parameters - name: '<>fhir001' - workspaceName: '' - } -} -``` - -
- ## Cross-referenced modules _None_ From 89abb4f0bbb523a1ca01685a17d36adb5620feeb Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 16:57:56 -0500 Subject: [PATCH 60/81] Update modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep Co-authored-by: Alexander Sehr --- .../workspaces/iotconnectors/deploy.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep index b324e16d8a..ea15025580 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep @@ -2,7 +2,7 @@ @maxLength(50) param name string -@description('Required. The name of the parent health data services workspace.') +@description('Conditional. The name of the parent health data services workspace. Required if the template is used in a standalone deployment.') param workspaceName string @description('Required. Event Hub name to connect to.') From 01c903f08c49765c85cde212aa500e9a48b93f1c Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 17:03:32 -0500 Subject: [PATCH 61/81] Update modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep Co-authored-by: Alexander Sehr --- .../workspaces/iotconnectors/fhirdestinations/deploy.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep index 23bcf04883..2247cc9a3d 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep @@ -8,7 +8,7 @@ param destinationMapping object = { template: [] } -@description('Required. The name of the MedTech service to add this destination to.') +@description('Conditional. The name of the MedTech service to add this destination to. Required if the template is used in a standalone deployment.') param iotConnectorName string @description('Required. The name of the parent health data services workspace.') From bf33d0a666834ea9155dad5a8b0999b6e3cfacb6 Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 17:04:03 -0500 Subject: [PATCH 62/81] Update modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep Co-authored-by: Alexander Sehr --- .../workspaces/iotconnectors/fhirdestinations/deploy.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep index 2247cc9a3d..623dbcb831 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep @@ -11,7 +11,7 @@ param destinationMapping object = { @description('Conditional. The name of the MedTech service to add this destination to. Required if the template is used in a standalone deployment.') param iotConnectorName string -@description('Required. The name of the parent health data services workspace.') +@description('Conditional. The name of the parent health data services workspace. Required if the template is used in a standalone deployment.') param workspaceName string @description('Required. The resource identifier of the FHIR Service to connect to.') From 79e9dc0bd20300ea3bd5f184a8a1db97520d2fc9 Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 17:12:11 -0500 Subject: [PATCH 63/81] Update modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep Co-authored-by: Alexander Sehr --- .../iotconnectors/fhirdestinations/deploy.bicep | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep index 623dbcb831..e517bc916c 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep @@ -45,8 +45,12 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource iotConnector 'Microsoft.HealthcareApis/workspaces/iotconnectors@2022-06-01' existing = { - name: '${workspaceName}/${iotConnectorName}' +resource workspace 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { + name: workspaceName + + resource iotConnector 'iotconnectors@2022-06-01' existing = { + name: iotConnectorName + } } resource fhirDestination 'Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations@2022-06-01' = { From 95e584610ae97dc3dfee5048690d507a3dff4af1 Mon Sep 17 00:00:00 2001 From: Luis R Apellaniz Date: Wed, 18 Jan 2023 17:12:33 -0500 Subject: [PATCH 64/81] Update modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep Co-authored-by: Alexander Sehr --- .../workspaces/iotconnectors/fhirdestinations/deploy.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep index e517bc916c..00364ad96b 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep @@ -55,7 +55,7 @@ resource workspace 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { resource fhirDestination 'Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations@2022-06-01' = { name: name - parent: iotConnector + parent: workspace::iotConnector location: location properties: { resourceIdentityResolutionType: resourceIdentityResolutionType From ba73116e20a973f6f7716a8d5b5d3f6af005a63f Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 18 Jan 2023 17:13:24 -0500 Subject: [PATCH 65/81] remove deployment samples --- .../iotconnectors/fhirdestinations/readme.md | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md index e1448da6ec..f45625a800 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md @@ -7,7 +7,6 @@ This module deploys HealthcareApis MedTech FHIR Destination. - [Resource Types](#Resource-Types) - [Parameters](#Parameters) - [Outputs](#Outputs) -- [Deployment examples](#Deployment-examples) - [Cross-referenced modules](#Cross-referenced-modules) ## Resource Types @@ -113,30 +112,6 @@ destinationMapping: { | `resourceGroupName` | string | The resource group where the namespace is deployed. | | `resourceId` | string | The resource ID of the FHIR destination. | -## Deployment examples - -

Example 1: min

- -
- -via Bicep module - -```bicep -module iotConnector_destination './Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-test-iomtmap' - params: { - // Required parameters - name: '<>iomtmap001' - workspaceName: '' - iotConnectorName: '' - destinationMapping '' - fhirServiceResourceId: '' - } -} -``` - -
- ## Cross-referenced modules _None_ From df965d13f953b9c32982e0448962a97f02152315 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 18 Jan 2023 17:14:09 -0500 Subject: [PATCH 66/81] add version --- .../workspaces/iotconnectors/fhirdestinations/version.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/version.json b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/version.json index e69de29bb2..41f66cc990 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/version.json +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} From 24fc9f6a4cee28cb14fc1e1b1725042ed26b67b1 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 18 Jan 2023 17:17:49 -0500 Subject: [PATCH 67/81] fix output --- .../workspaces/iotconnectors/fhirdestinations/deploy.bicep | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep index 00364ad96b..f87502a117 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/deploy.bicep @@ -49,7 +49,7 @@ resource workspace 'Microsoft.HealthcareApis/workspaces@2022-06-01' existing = { name: workspaceName resource iotConnector 'iotconnectors@2022-06-01' existing = { - name: iotConnectorName + name: iotConnectorName } } @@ -79,4 +79,4 @@ output resourceGroupName string = resourceGroup().name output location string = fhirDestination.location @description('The name of the medtech service.') -output iotConnectorName string = iotConnector.name +output iotConnectorName string = workspace::iotConnector.name From a19f810709e1aa5ec900de11c3af8b282769e1a5 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 18 Jan 2023 17:18:31 -0500 Subject: [PATCH 68/81] cleanup --- .../workspaces/dicomservices/deploy.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep index 2d3f1efd00..0102d91247 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/deploy.bicep @@ -2,7 +2,7 @@ @maxLength(50) param name string -@description('Conditional. The name of the parent health data services workspace. Required if the template is used in a standalone deployment.')``` +@description('Conditional. The name of the parent health data services workspace. Required if the template is used in a standalone deployment.') param workspaceName string @description('Optional. Specify URLs of origin sites that can access this API, or use "*" to allow access from any site.') From 36b97d67e2f43675e687aa89f33d229bde1ab84f Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 18 Jan 2023 17:34:08 -0500 Subject: [PATCH 69/81] update readme --- .../workspaces/dicomservices/readme.md | 7 +- .../workspaces/fhirservices/readme.md | 7 +- .../iotconnectors/fhirdestinations/readme.md | 9 +- .../workspaces/iotconnectors/readme.md | 7 +- .../workspaces/readme.md | 174 +++++++++--------- 5 files changed, 112 insertions(+), 92 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md index 7f219af9f6..558d59f589 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/dicomservices/readme.md @@ -24,7 +24,12 @@ This module deploys a DICOM service. | Parameter Name | Type | Description | | :-- | :-- | :-- | | `name` | string | The name of the DICOM service. | -| `workspaceName` | string | The name of the parent health data services workspace. | + +**Conditional parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `workspaceName` | string | The name of the parent health data services workspace. Required if the template is used in a standalone deployment. | **Optional parameters** diff --git a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md index e3d0518e91..55df16402c 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/fhirservices/readme.md @@ -25,7 +25,12 @@ This module deploys HealthcareApis Workspaces FHIR Service. | Parameter Name | Type | Description | | :-- | :-- | :-- | | `name` | string | The name of the FHIR service. | -| `workspaceName` | string | The name of the parent health data services workspace. | + +**Conditional parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `workspaceName` | string | The name of the parent health data services workspace. Required if the template is used in a standalone deployment. | **Optional parameters** diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md index f45625a800..cffca6b278 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations/readme.md @@ -23,9 +23,14 @@ This module deploys HealthcareApis MedTech FHIR Destination. | :-- | :-- | :-- | :-- | | `destinationMapping` | object | `{object}` | The mapping JSON that determines how normalized data is converted to FHIR Observations. | | `fhirServiceResourceId` | string | | The resource identifier of the FHIR Service to connect to. | -| `iotConnectorName` | string | | The name of the MedTech service to add this destination to. | | `name` | string | | The name of the FHIR destination. | -| `workspaceName` | string | | The name of the parent health data services workspace. | + +**Conditional parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `iotConnectorName` | string | The name of the MedTech service to add this destination to. Required if the template is used in a standalone deployment. | +| `workspaceName` | string | The name of the parent health data services workspace. Required if the template is used in a standalone deployment. | **Optional parameters** diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md index 2cd8603a71..0a8c45d516 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md @@ -30,7 +30,12 @@ This module deploys HealthcareApis MedTech Service. | `eventHubNamespaceName` | string | | Namespace of the Event Hub to connect to. | | `fhirServiceResourceId` | string | | The resource identifier of the FHIR Service to connect to. | | `name` | string | | The name of the MedTech service. | -| `workspaceName` | string | | The name of the parent health data services workspace. | + +**Conditional parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `workspaceName` | string | The name of the parent health data services workspace. Required if the template is used in a standalone deployment. | **Optional parameters** diff --git a/modules/Microsoft.HealthcareApis/workspaces/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md index c7f489dbb4..63aeb9b36b 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -427,86 +427,86 @@ The following module usage examples are retrieved from the content of the files ```bicep module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-test-hwcom' + name: '${uniqueString(deployment().name)}-test-hawcom' params: { // Required parameters - name: '<>hwcom001' + name: '<>hawcom001' // Non-required parameters dicomServices: [ { - diagnosticEventHubAuthorizationRuleId: '' - corsMethods: [ - 'GET' - ] - corsOrigins: [ - '*' - ] + workspaceName: '<>hawcom001' publicNetworkAccess: 'Enabled' + diagnosticLogsRetentionInDays: 7 name: '<>-az-dicom-x-001' userAssignedIdentities: { '': {} } - enableDefaultTelemetry: '' + corsOrigins: [ + '*' + ] diagnosticStorageAccountId: '' - diagnosticLogsRetentionInDays: 7 + corsMethods: [ + 'GET' + ] diagnosticWorkspaceId: '' - workspaceName: '<>hwcom001' - systemAssignedIdentity: true - corsMaxAge: 600 + corsAllowCredentials: false + enableDefaultTelemetry: '' location: '' corsHeaders: [ '*' ] - corsAllowCredentials: false + diagnosticEventHubAuthorizationRuleId: '' diagnosticEventHubName: '' + corsMaxAge: 600 + systemAssignedIdentity: true } ] - location: '' - publicNetworkAccess: 'Enabled' - enableDefaultTelemetry: '' fhirServices: [ { - location: '' - diagnosticEventHubName: '' corsOrigins: [ '*' ] - corsMaxAge: 600 - corsAllowCredentials: false - smartProxyEnabled: false + corsHeaders: [ + '*' + ] + diagnosticEventHubName: '' diagnosticEventHubAuthorizationRuleId: '' - diagnosticStorageAccountId: '' - systemAssignedIdentity: true + diagnosticWorkspaceId: '' + diagnosticLogsRetentionInDays: 7 userAssignedIdentities: { '': {} } - importEnabled: false roleAssignments: [ { - principalType: 'ServicePrincipal' roleDefinitionIdOrName: '' + principalType: 'ServicePrincipal' principalIds: [ '' ] } ] - corsHeaders: [ - '*' - ] - diagnosticWorkspaceId: '' resourceVersionPolicy: 'versioned' + corsAllowCredentials: false + importEnabled: false + name: '<>-az-fhir-x-001' + publicNetworkAccess: 'Enabled' + corsMaxAge: 600 + workspaceName: '<>hawcom001' + diagnosticStorageAccountId: '' + initialImportMode: false + systemAssignedIdentity: true + location: '' corsMethods: [ 'GET' ] kind: 'fhir-R4' enableDefaultTelemetry: '' - diagnosticLogsRetentionInDays: 7 - workspaceName: '<>hwcom001' - initialImportMode: false - name: '<>-az-fhir-x-001' - publicNetworkAccess: 'Enabled' + smartProxyEnabled: false } ] + publicNetworkAccess: 'Enabled' + enableDefaultTelemetry: '' + location: '' lock: '' } } @@ -526,94 +526,94 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { "parameters": { // Required parameters "name": { - "value": "<>hwcom001" + "value": "<>hawcom001" }, // Non-required parameters "dicomServices": { "value": [ { - "diagnosticEventHubAuthorizationRuleId": "", - "corsMethods": [ - "GET" - ], - "corsOrigins": [ - "*" - ], + "workspaceName": "<>hawcom001", "publicNetworkAccess": "Enabled", + "diagnosticLogsRetentionInDays": 7, "name": "<>-az-dicom-x-001", "userAssignedIdentities": { "": {} }, - "enableDefaultTelemetry": "", + "corsOrigins": [ + "*" + ], "diagnosticStorageAccountId": "", - "diagnosticLogsRetentionInDays": 7, + "corsMethods": [ + "GET" + ], "diagnosticWorkspaceId": "", - "workspaceName": "<>hwcom001", - "systemAssignedIdentity": true, - "corsMaxAge": 600, + "corsAllowCredentials": false, + "enableDefaultTelemetry": "", "location": "", "corsHeaders": [ "*" ], - "corsAllowCredentials": false, - "diagnosticEventHubName": "" + "diagnosticEventHubAuthorizationRuleId": "", + "diagnosticEventHubName": "", + "corsMaxAge": 600, + "systemAssignedIdentity": true } ] }, - "enableDefaultTelemetry": { - "value": "" - }, - "publicNetworkAccess": { - "value": "Enabled" - }, - "location": { - "value": "" - }, "fhirServices": { "value": [ { - "location": "", - "diagnosticEventHubName": "", "corsOrigins": [ "*" ], - "corsMaxAge": 600, - "corsAllowCredentials": false, - "smartProxyEnabled": false, + "corsHeaders": [ + "*" + ], + "diagnosticEventHubName": "", "diagnosticEventHubAuthorizationRuleId": "", - "diagnosticStorageAccountId": "", - "systemAssignedIdentity": true, + "diagnosticWorkspaceId": "", + "diagnosticLogsRetentionInDays": 7, "userAssignedIdentities": { "": {} }, - "importEnabled": false, "roleAssignments": [ { - "principalType": "ServicePrincipal", "roleDefinitionIdOrName": "", + "principalType": "ServicePrincipal", "principalIds": [ "" ] } ], - "corsHeaders": [ - "*" - ], - "diagnosticWorkspaceId": "", "resourceVersionPolicy": "versioned", + "corsAllowCredentials": false, + "importEnabled": false, + "name": "<>-az-fhir-x-001", + "publicNetworkAccess": "Enabled", + "corsMaxAge": 600, + "workspaceName": "<>hawcom001", + "diagnosticStorageAccountId": "", + "initialImportMode": false, + "systemAssignedIdentity": true, + "location": "", "corsMethods": [ "GET" ], "kind": "fhir-R4", "enableDefaultTelemetry": "", - "diagnosticLogsRetentionInDays": 7, - "workspaceName": "<>hwcom001", - "initialImportMode": false, - "name": "<>-az-fhir-x-001", - "publicNetworkAccess": "Enabled" + "smartProxyEnabled": false } ] }, + "publicNetworkAccess": { + "value": "Enabled" + }, + "enableDefaultTelemetry": { + "value": "" + }, + "location": { + "value": "" + }, "lock": { "value": "" } @@ -669,14 +669,14 @@ module workspaces 'ts/modules:microsoft.healthcareapis.workspaces:1.0.0 = { ```bicep module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-test-hwmin' + name: '${uniqueString(deployment().name)}-test-hawmin' params: { // Required parameters - name: '<>hwmin001' + name: '<>hawmin001' // Non-required parameters - location: '' - publicNetworkAccess: 'Enabled' enableDefaultTelemetry: '' + publicNetworkAccess: 'Enabled' + location: '' } } ``` @@ -695,17 +695,17 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { "parameters": { // Required parameters "name": { - "value": "<>hwmin001" + "value": "<>hawmin001" }, // Non-required parameters - "location": { - "value": "" + "enableDefaultTelemetry": { + "value": "" }, "publicNetworkAccess": { "value": "Enabled" }, - "enableDefaultTelemetry": { - "value": "" + "location": { + "value": "" } } } From 5309abfcfbd67b3f32a5c2b77e8f30caee324667 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 18 Jan 2023 17:54:16 -0500 Subject: [PATCH 70/81] test --- README.md | 112 +----------------------------------------------------- 1 file changed, 1 insertion(+), 111 deletions(-) diff --git a/README.md b/README.md index 3c9e831097..10565ae038 100644 --- a/README.md +++ b/README.md @@ -24,117 +24,7 @@ The CI environment supports both ARM and Bicep and can be leveraged using GitHub | Name | Status | | - | - | -| [Action Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | [!['Insights: ActionGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20ActionGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.actiongroups.yml) | -| [Activity Log Alerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | [!['Insights: ActivityLogAlerts'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20ActivityLogAlerts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.activitylogalerts.yml) | -| [Activity Logs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | [!['Insights: DiagnosticSettings'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20DiagnosticSettings/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.diagnosticsettings.yml) | -| [Analysis Services Servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | [!['AnalysisServices: Servers'](https://github.com/lapellaniz/ResourceModules/workflows/AnalysisServices:%20Servers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.analysisservices.servers.yml) | -| [API Connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/connections) | [!['Web: Connections'](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20Connections/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.connections.yml) | -| [API Management Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | [!['ApiManagement: Service'](https://github.com/lapellaniz/ResourceModules/workflows/ApiManagement:%20Service/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.apimanagement.service.yml) | -| [App Configuration](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | [!['AppConfiguration: ConfigurationStores'](https://github.com/lapellaniz/ResourceModules/workflows/AppConfiguration:%20ConfigurationStores/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.appconfiguration.configurationstores.yml) | -| [App Service Environments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | [!['Web: HostingEnvironments'](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20HostingEnvironments/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.hostingenvironments.yml) | -| [App Service Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | [!['Web: Serverfarms'](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20Serverfarms/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.serverfarms.yml) | -| [Application Gateway WebApp Firewall Policies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | [!['Network: ApplicationGatewayWebApplicationFirewallPolicies'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20ApplicationGatewayWebApplicationFirewallPolicies/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml) | -| [Application Insights](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/components) | [!['Insights: Components'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20Components/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.components.yml) | -| [Application Security Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | [!['Network: ApplicationSecurityGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20ApplicationSecurityGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.applicationsecuritygroups.yml) | -| [Authorization Locks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | [!['Authorization: Locks'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20Locks/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.locks.yml) | -| [Automation Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | [!['Automation: AutomationAccounts'](https://github.com/lapellaniz/ResourceModules/workflows/Automation:%20AutomationAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.automation.automationaccounts.yml) | -| [Availability Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | [!['Compute: AvailabilitySets'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20AvailabilitySets/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.availabilitysets.yml) | -| [AVD Application Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | [!['DesktopVirtualization: ApplicationGroups'](https://github.com/lapellaniz/ResourceModules/workflows/DesktopVirtualization:%20ApplicationGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.desktopvirtualization.applicationgroups.yml) | -| [AVD Host Pools](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | [!['DesktopVirtualization: HostPools'](https://github.com/lapellaniz/ResourceModules/workflows/DesktopVirtualization:%20HostPools/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.desktopvirtualization.hostpools.yml) | -| [AVD Scaling Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | [!['DesktopVirtualization: Scalingplans'](https://github.com/lapellaniz/ResourceModules/workflows/DesktopVirtualization:%20Scalingplans/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.desktopvirtualization.scalingplans.yml) | -| [AVD Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | [!['DesktopVirtualization: Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/DesktopVirtualization:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.desktopvirtualization.workspaces.yml) | -| [Azure Active Directory Domain Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | [!['AAD: DomainServices'](https://github.com/lapellaniz/ResourceModules/workflows/AAD:%20DomainServices/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.aad.domainservices.yml) | -| [Azure Compute Galleries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | [!['Compute: Galleries'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20Galleries/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.galleries.yml) | -| [Azure Databricks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | [!['Databricks: Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/Databricks:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.databricks.workspaces.yml) | -| [Azure Firewalls](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | [!['Network: AzureFirewalls'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20AzureFirewalls/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.azurefirewalls.yml) | -| [Azure Health Bots](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | [!['HealthBot: HealthBots'](https://github.com/lapellaniz/ResourceModules/workflows/HealthBot:%20HealthBots/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.healthbot.healthbots.yml) | -| [Azure Kubernetes Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | [!['ContainerService: ManagedClusters'](https://github.com/lapellaniz/ResourceModules/workflows/ContainerService:%20ManagedClusters/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.containerservice.managedclusters.yml) | -| [Azure Monitor Private Link Scopes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | [!['Insights: PrivateLinkScopes'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20PrivateLinkScopes/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.privatelinkscopes.yml) | -| [Azure NetApp Files](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | [!['NetApp: NetAppAccounts'](https://github.com/lapellaniz/ResourceModules/workflows/NetApp:%20NetAppAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.netapp.netappaccounts.yml) | -| [Azure Security Center](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | [!['Security: AzureSecurityCenter'](https://github.com/lapellaniz/ResourceModules/workflows/Security:%20AzureSecurityCenter/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.security.azuresecuritycenter.yml) | -| [Azure Synapse Analytics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | [!['Synapse: PrivateLinkHubs'](https://github.com/lapellaniz/ResourceModules/workflows/Synapse:%20PrivateLinkHubs/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.synapse.privatelinkhubs.yml) | -| [Bastion Hosts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | [!['Network: BastionHosts'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20BastionHosts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.bastionhosts.yml) | -| [Batch Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | [!['Batch: BatchAccounts'](https://github.com/lapellaniz/ResourceModules/workflows/Batch:%20BatchAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.batch.batchaccounts.yml) | -| [Budgets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | [!['Consumption: Budgets'](https://github.com/lapellaniz/ResourceModules/workflows/Consumption:%20Budgets/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.consumption.budgets.yml) | -| [Cache Redis](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | [!['Cache: Redis'](https://github.com/lapellaniz/ResourceModules/workflows/Cache:%20Redis/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.cache.redis.yml) | -| [Cognitive Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | [!['CognitiveServices: Accounts'](https://github.com/lapellaniz/ResourceModules/workflows/CognitiveServices:%20Accounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.cognitiveservices.accounts.yml) | -| [Compute Disks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | [!['Compute: Disks'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20Disks/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.disks.yml) | -| [Container Instances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | [!['ContainerInstance: ContainerGroups'](https://github.com/lapellaniz/ResourceModules/workflows/ContainerInstance:%20ContainerGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.containerinstance.containergroups.yml) | -| [Container Registries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | [!['ContainerRegistry: Registries'](https://github.com/lapellaniz/ResourceModules/workflows/ContainerRegistry:%20Registries/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.containerregistry.registries.yml) | -| [Data Factories](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | [!['DataFactory: Factories'](https://github.com/lapellaniz/ResourceModules/workflows/DataFactory:%20Factories/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.datafactory.factories.yml) | -| [DataProtection BackupVaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | [!['DataProtection: BackupVaults'](https://github.com/lapellaniz/ResourceModules/workflows/DataProtection:%20BackupVaults/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.dataprotection.backupvaults.yml) | -| [DBforPostgreSQL FlexibleServers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | [!['DbForPostgreSQL: FlexibleServers'](https://github.com/lapellaniz/ResourceModules/workflows/DbForPostgreSQL:%20FlexibleServers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.dbforpostgresql.flexibleservers.yml) | -| [DDoS Protection Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | [!['Network: DdosProtectionPlans'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20DdosProtectionPlans/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.ddosprotectionplans.yml) | -| [Deployment Scripts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | [!['Resources: DeploymentScripts'](https://github.com/lapellaniz/ResourceModules/workflows/Resources:%20DeploymentScripts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.resources.deploymentscripts.yml) | -| [Disk Encryption Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | [!['Compute: DiskEncryptionSets'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20DiskEncryptionSets/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.diskencryptionsets.yml) | -| [DocumentDB Database Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | [!['DocumentDB: DatabaseAccounts'](https://github.com/lapellaniz/ResourceModules/workflows/DocumentDB:%20DatabaseAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.documentdb.databaseaccounts.yml) | -| [Event Grid System Topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | [!['EventGrid: System Topics'](https://github.com/lapellaniz/ResourceModules/workflows/EventGrid:%20System%20Topics/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.eventgrid.systemtopics.yml) | -| [Event Grid Topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | [!['EventGrid: Topics'](https://github.com/lapellaniz/ResourceModules/workflows/EventGrid:%20Topics/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.eventgrid.topics.yml) | -| [Event Hub Namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | [!['EventHub: Namespaces'](https://github.com/lapellaniz/ResourceModules/workflows/EventHub:%20Namespaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.eventhub.namespaces.yml) | -| [ExpressRoute Circuits](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | [!['Network: ExpressRouteCircuits'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20ExpressRouteCircuits/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.expressroutecircuits.yml) | -| [Firewall Policies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | [!['Network: FirewallPolicies'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20FirewallPolicies/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.firewallpolicies.yml) | -| [Front Doors](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | [!['Network: Frontdoors'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20Frontdoors/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.frontdoors.yml) | -| [HealthcareApis Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthcareApis/workspaces) | [!['HealthcareApis: Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/HealthcareApis:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.healthcareapis.workspaces.yml) | -| [Image Templates](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | [!['VirtualMachineImages: ImageTemplates'](https://github.com/lapellaniz/ResourceModules/workflows/VirtualMachineImages:%20ImageTemplates/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.virtualmachineimages.imagetemplates.yml) | -| [Images](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/images) | [!['Compute: Images'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20Images/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.images.yml) | -| [IP Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | [!['Network: IpGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20IpGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.ipgroups.yml) | -| [Key Vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | [!['KeyVault: Vaults'](https://github.com/lapellaniz/ResourceModules/workflows/KeyVault:%20Vaults/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.keyvault.vaults.yml) | -| [Kubernetes Configuration Extensions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | [!['KubernetesConfiguration: Extensions'](https://github.com/lapellaniz/ResourceModules/workflows/KubernetesConfiguration:%20Extensions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.kubernetesconfiguration.extensions.yml) | -| [Kubernetes Configuration Flux Configurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | [!['KubernetesConfiguration: FluxConfigurations'](https://github.com/lapellaniz/ResourceModules/workflows/KubernetesConfiguration:%20FluxConfigurations/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.kubernetesconfiguration.fluxconfigurations.yml) | -| [Load Balancers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | [!['Network: LoadBalancers'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20LoadBalancers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.loadbalancers.yml) | -| [Local Network Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | [!['Network: LocalNetworkGateways'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20LocalNetworkGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.localnetworkgateways.yml) | -| [Log Analytics Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | [!['OperationalInsights: Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/OperationalInsights:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.operationalinsights.workspaces.yml) | -| [Logic Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | [!['Logic: Workflows'](https://github.com/lapellaniz/ResourceModules/workflows/Logic:%20Workflows/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.logic.workflows.yml) | -| [Machine Learning Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | [!['MachineLearningServices: Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/MachineLearningServices:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.machinelearningservices.workspaces.yml) | -| [Maintenance Configurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | [!['Maintenance: MaintenanceConfigurations'](https://github.com/lapellaniz/ResourceModules/workflows/Maintenance:%20MaintenanceConfigurations/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.maintenance.maintenanceconfigurations.yml) | -| [Management Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | [!['Management: ManagementGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Management:%20ManagementGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.management.managementgroups.yml) | -| [Metric Alerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | [!['Insights: MetricAlerts'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20MetricAlerts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.metricalerts.yml) | -| [NAT Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | [!['Network: NatGateways'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20NatGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.natgateways.yml) | -| [Network Application Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | [!['Network: ApplicationGateways'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20ApplicationGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.applicationgateways.yml) | -| [Network DnsResolvers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | [!['Network: DNS Resolvers'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20DNS%20Resolvers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.dnsresolvers.yml) | -| [Network Interface](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | [!['Network: NetworkInterfaces'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20NetworkInterfaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.networkinterfaces.yml) | -| [Network PrivateLinkServices](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | [!['Network: PrivateLinkServices'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PrivateLinkServices/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.privatelinkservices.yml) | -| [Network Security Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | [!['Network: NetworkSecurityGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20NetworkSecurityGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.networksecuritygroups.yml) | -| [Network Watchers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | [!['Network: NetworkWatchers'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20NetworkWatchers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.networkwatchers.yml) | -| [OperationsManagement Solutions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | [!['OperationsManagement: Solutions'](https://github.com/lapellaniz/ResourceModules/workflows/OperationsManagement:%20Solutions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.operationsmanagement.solutions.yml) | -| [Policy Assignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | [!['Authorization: PolicyAssignments'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20PolicyAssignments/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.policyassignments.yml) | -| [Policy Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | [!['Authorization: PolicyDefinitions'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20PolicyDefinitions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.policydefinitions.yml) | -| [Policy Exemptions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | [!['Authorization: PolicyExemptions'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20PolicyExemptions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.policyexemptions.yml) | -| [Policy Set Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | [!['Authorization: PolicySetDefinitions'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20PolicySetDefinitions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.policysetdefinitions.yml) | -| [PowerBIDedicated Capacities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | [!['PowerBiDedicated: Capacities'](https://github.com/lapellaniz/ResourceModules/workflows/PowerBiDedicated:%20Capacities/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.powerbidedicated.capacities.yml) | -| [Private DNS Zones](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | [!['Network: PrivateDnsZones'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PrivateDnsZones/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.privatednszones.yml) | -| [Private Endpoints](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | [!['Network: PrivateEndpoints'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PrivateEndpoints/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.privateendpoints.yml) | -| [Proximity Placement Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | [!['Compute: ProximityPlacementGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20ProximityPlacementGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.proximityplacementgroups.yml) | -| [Public IP Addresses](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | [!['Network: PublicIpAddresses'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PublicIpAddresses/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.publicipaddresses.yml) | -| [Public IP Prefixes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | [!['Network: PublicIpPrefixes'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PublicIpPrefixes/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.publicipprefixes.yml) | -| [Recovery Services Vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | [!['RecoveryServices: Vaults'](https://github.com/lapellaniz/ResourceModules/workflows/RecoveryServices:%20Vaults/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.recoveryservices.vaults.yml) | -| [Registration Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | [!['ManagedServices: RegistrationDefinitions'](https://github.com/lapellaniz/ResourceModules/workflows/ManagedServices:%20RegistrationDefinitions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.managedservices.registrationdefinitions.yml) | -| [Resource Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | [!['Resources: ResourceGroups'](https://github.com/lapellaniz/ResourceModules/workflows/Resources:%20ResourceGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.resources.resourcegroups.yml) | -| [Resources Tags](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | [!['Resources: Tags'](https://github.com/lapellaniz/ResourceModules/workflows/Resources:%20Tags/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.resources.tags.yml) | -| [Role Assignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | [!['Authorization: RoleAssignments'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20RoleAssignments/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.roleassignments.yml) | -| [Role Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | [!['Authorization: RoleDefinitions'](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20RoleDefinitions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.roledefinitions.yml) | -| [Route Tables](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | [!['Network: RouteTables'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20RouteTables/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.routetables.yml) | -| [Scheduled Query Rules](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | [!['Insights: ScheduledQueryRules'](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20ScheduledQueryRules/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.scheduledqueryrules.yml) | -| [Service Bus Namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | [!['ServiceBus: Namespaces'](https://github.com/lapellaniz/ResourceModules/workflows/ServiceBus:%20Namespaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.servicebus.namespaces.yml) | -| [Service Fabric Clusters](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | [!['Service Fabric: Clusters'](https://github.com/lapellaniz/ResourceModules/workflows/Service%20Fabric:%20Clusters/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.servicefabric.clusters.yml) | -| [SQL Managed Instances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | [!['Sql: ManagedInstances'](https://github.com/lapellaniz/ResourceModules/workflows/Sql:%20ManagedInstances/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.sql.managedinstances.yml) | -| [SQL Servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | [!['Sql: Servers'](https://github.com/lapellaniz/ResourceModules/workflows/Sql:%20Servers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.sql.servers.yml) | -| [Static Web Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | [!['Web: StaticSites'](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20StaticSites/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.staticsites.yml) | -| [Storage Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | [!['Storage: StorageAccounts'](https://github.com/lapellaniz/ResourceModules/workflows/Storage:%20StorageAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.storage.storageaccounts.yml) | -| [Synapse Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | [!['Synapse: Workspaces'](https://github.com/lapellaniz/ResourceModules/workflows/Synapse:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.synapse.workspaces.yml) | -| [Traffic Manager Profiles](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | [!['Network: TrafficManagerProfiles'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20TrafficManagerProfiles/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.trafficmanagerprofiles.yml) | -| [User Assigned Identities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | [!['ManagedIdentity: UserAssignedIdentities'](https://github.com/lapellaniz/ResourceModules/workflows/ManagedIdentity:%20UserAssignedIdentities/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.managedidentity.userassignedidentities.yml) | -| [Virtual Hubs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | [!['Network: VirtualHubs'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VirtualHubs/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.virtualhubs.yml) | -| [Virtual Machine Scale Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | [!['Compute: VirtualMachineScaleSets'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20VirtualMachineScaleSets/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.virtualmachinescalesets.yml) | -| [Virtual Machines](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | [!['Compute: VirtualMachines'](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20VirtualMachines/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.virtualmachines.yml) | -| [Virtual Network Gateway Connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/connections) | [!['Network: Connections'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20Connections/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.connections.yml) | -| [Virtual Network Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | [!['Network: VirtualNetworkGateways'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VirtualNetworkGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.virtualnetworkgateways.yml) | -| [Virtual Networks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | [!['Network: VirtualNetworks'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VirtualNetworks/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.virtualnetworks.yml) | -| [Virtual WANs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | [!['Network: VirtualWans'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VirtualWans/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.virtualwans.yml) | -| [VPN Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | [!['Network: VPNGateways'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VPNGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.vpngateways.yml) | -| [VPN Sites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | [!['Network: VPN Sites'](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VPN%20Sites/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.vpnsites.yml) | -| [Web PubSub Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | [!['SignalR Service: Web PubSub'](https://github.com/lapellaniz/ResourceModules/workflows/SignalR%20Service:%20Web%20PubSub/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.signalrservice.webpubsub.yml) | -| [Web/Function Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/sites) | [!['Web: Sites'](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20Sites/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.sites.yml) | + ## Tooling From 046adc247f679233b05e613495470d9b5be6daf8 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 18 Jan 2023 18:00:58 -0500 Subject: [PATCH 71/81] update readme --- README.md | 118 ++++++++++- docs/wiki/The library - Module overview.md | 230 +++++++++++---------- modules/README.md | 228 ++++++++++---------- 3 files changed, 352 insertions(+), 224 deletions(-) diff --git a/README.md b/README.md index 10565ae038..60cdc48de4 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,123 @@ The CI environment supports both ARM and Bicep and can be leveraged using GitHub | Name | Status | | - | - | - +| [Action Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | [!['Insights: ActionGroups'](https://github.com/Azure/ResourceModules/workflows/Insights:%20ActionGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.actiongroups.yml) | +| [Activity Log Alerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | [!['Insights: ActivityLogAlerts'](https://github.com/Azure/ResourceModules/workflows/Insights:%20ActivityLogAlerts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.activitylogalerts.yml) | +| [Activity Logs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | [!['Insights: DiagnosticSettings'](https://github.com/Azure/ResourceModules/workflows/Insights:%20DiagnosticSettings/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.diagnosticsettings.yml) | +| [Analysis Services Servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | [!['AnalysisServices: Servers'](https://github.com/Azure/ResourceModules/workflows/AnalysisServices:%20Servers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.analysisservices.servers.yml) | +| [API Connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/connections) | [!['Web: Connections'](https://github.com/Azure/ResourceModules/workflows/Web:%20Connections/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.connections.yml) | +| [API Management Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | [!['ApiManagement: Service'](https://github.com/Azure/ResourceModules/workflows/ApiManagement:%20Service/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.apimanagement.service.yml) | +| [App Configuration](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | [!['AppConfiguration: ConfigurationStores'](https://github.com/Azure/ResourceModules/workflows/AppConfiguration:%20ConfigurationStores/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.appconfiguration.configurationstores.yml) | +| [App Service Environments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | [!['Web: HostingEnvironments'](https://github.com/Azure/ResourceModules/workflows/Web:%20HostingEnvironments/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.hostingenvironments.yml) | +| [App Service Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | [!['Web: Serverfarms'](https://github.com/Azure/ResourceModules/workflows/Web:%20Serverfarms/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.serverfarms.yml) | +| [Application Gateway WebApp Firewall Policies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | [!['Network: ApplicationGatewayWebApplicationFirewallPolicies'](https://github.com/Azure/ResourceModules/workflows/Network:%20ApplicationGatewayWebApplicationFirewallPolicies/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml) | +| [Application Insights](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/components) | [!['Insights: Components'](https://github.com/Azure/ResourceModules/workflows/Insights:%20Components/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.components.yml) | +| [Application Security Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | [!['Network: ApplicationSecurityGroups'](https://github.com/Azure/ResourceModules/workflows/Network:%20ApplicationSecurityGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.applicationsecuritygroups.yml) | +| [Authorization Locks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | [!['Authorization: Locks'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20Locks/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.locks.yml) | +| [Automation Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | [!['Automation: AutomationAccounts'](https://github.com/Azure/ResourceModules/workflows/Automation:%20AutomationAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.automation.automationaccounts.yml) | +| [Availability Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | [!['Compute: AvailabilitySets'](https://github.com/Azure/ResourceModules/workflows/Compute:%20AvailabilitySets/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.availabilitysets.yml) | +| [AVD Application Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | [!['DesktopVirtualization: ApplicationGroups'](https://github.com/Azure/ResourceModules/workflows/DesktopVirtualization:%20ApplicationGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.desktopvirtualization.applicationgroups.yml) | +| [AVD Host Pools](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | [!['DesktopVirtualization: HostPools'](https://github.com/Azure/ResourceModules/workflows/DesktopVirtualization:%20HostPools/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.desktopvirtualization.hostpools.yml) | +| [AVD Scaling Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | [!['DesktopVirtualization: Scalingplans'](https://github.com/Azure/ResourceModules/workflows/DesktopVirtualization:%20Scalingplans/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.desktopvirtualization.scalingplans.yml) | +| [AVD Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | [!['DesktopVirtualization: Workspaces'](https://github.com/Azure/ResourceModules/workflows/DesktopVirtualization:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.desktopvirtualization.workspaces.yml) | +| [Azure Active Directory Domain Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | [!['AAD: DomainServices'](https://github.com/Azure/ResourceModules/workflows/AAD:%20DomainServices/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.aad.domainservices.yml) | +| [Azure Compute Galleries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | [!['Compute: Galleries'](https://github.com/Azure/ResourceModules/workflows/Compute:%20Galleries/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.galleries.yml) | +| [Azure Databricks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | [!['Databricks: Workspaces'](https://github.com/Azure/ResourceModules/workflows/Databricks:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.databricks.workspaces.yml) | +| [Azure Firewalls](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | [!['Network: AzureFirewalls'](https://github.com/Azure/ResourceModules/workflows/Network:%20AzureFirewalls/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.azurefirewalls.yml) | +| [Azure Health Bots](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | [!['HealthBot: HealthBots'](https://github.com/Azure/ResourceModules/workflows/HealthBot:%20HealthBots/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.healthbot.healthbots.yml) | +| [Azure Kubernetes Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | [!['ContainerService: ManagedClusters'](https://github.com/Azure/ResourceModules/workflows/ContainerService:%20ManagedClusters/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.containerservice.managedclusters.yml) | +| [Azure Monitor Private Link Scopes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | [!['Insights: PrivateLinkScopes'](https://github.com/Azure/ResourceModules/workflows/Insights:%20PrivateLinkScopes/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.privatelinkscopes.yml) | +| [Azure NetApp Files](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | [!['NetApp: NetAppAccounts'](https://github.com/Azure/ResourceModules/workflows/NetApp:%20NetAppAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.netapp.netappaccounts.yml) | +| [Azure Security Center](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | [!['Security: AzureSecurityCenter'](https://github.com/Azure/ResourceModules/workflows/Security:%20AzureSecurityCenter/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.security.azuresecuritycenter.yml) | +| [Azure Synapse Analytics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | [!['Synapse: PrivateLinkHubs'](https://github.com/Azure/ResourceModules/workflows/Synapse:%20PrivateLinkHubs/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.synapse.privatelinkhubs.yml) | +| [Bastion Hosts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | [!['Network: BastionHosts'](https://github.com/Azure/ResourceModules/workflows/Network:%20BastionHosts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.bastionhosts.yml) | +| [Batch Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | [!['Batch: BatchAccounts'](https://github.com/Azure/ResourceModules/workflows/Batch:%20BatchAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.batch.batchaccounts.yml) | +| [Budgets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | [!['Consumption: Budgets'](https://github.com/Azure/ResourceModules/workflows/Consumption:%20Budgets/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.consumption.budgets.yml) | +| [Cache Redis](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | [!['Cache: Redis'](https://github.com/Azure/ResourceModules/workflows/Cache:%20Redis/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.cache.redis.yml) | +| [CDN Profiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CDN/profiles) | [!['CDN: Profiles'](https://github.com/Azure/ResourceModules/workflows/CDN:%20Profiles/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.cdn.profiles.yml) | +| [Cognitive Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | [!['CognitiveServices: Accounts'](https://github.com/Azure/ResourceModules/workflows/CognitiveServices:%20Accounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.cognitiveservices.accounts.yml) | +| [Compute Disks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | [!['Compute: Disks'](https://github.com/Azure/ResourceModules/workflows/Compute:%20Disks/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.disks.yml) | +| [Container Instances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | [!['ContainerInstance: ContainerGroups'](https://github.com/Azure/ResourceModules/workflows/ContainerInstance:%20ContainerGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.containerinstance.containergroups.yml) | +| [Container Registries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | [!['ContainerRegistry: Registries'](https://github.com/Azure/ResourceModules/workflows/ContainerRegistry:%20Registries/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.containerregistry.registries.yml) | +| [Data Factories](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | [!['DataFactory: Factories'](https://github.com/Azure/ResourceModules/workflows/DataFactory:%20Factories/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.datafactory.factories.yml) | +| [DataProtection BackupVaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | [!['DataProtection: BackupVaults'](https://github.com/Azure/ResourceModules/workflows/DataProtection:%20BackupVaults/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.dataprotection.backupvaults.yml) | +| [DBforPostgreSQL FlexibleServers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | [!['DbForPostgreSQL: FlexibleServers'](https://github.com/Azure/ResourceModules/workflows/DbForPostgreSQL:%20FlexibleServers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.dbforpostgresql.flexibleservers.yml) | +| [DDoS Protection Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | [!['Network: DdosProtectionPlans'](https://github.com/Azure/ResourceModules/workflows/Network:%20DdosProtectionPlans/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.ddosprotectionplans.yml) | +| [Deployment Scripts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | [!['Resources: DeploymentScripts'](https://github.com/Azure/ResourceModules/workflows/Resources:%20DeploymentScripts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.resources.deploymentscripts.yml) | +| [DevTestLab Labs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DevTestLab/labs) | [!['DevTestLab: Labs'](https://github.com/Azure/ResourceModules/workflows/DevTestLab:%20Labs/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.devtestlab.labs.yml) | +| [Disk Encryption Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | [!['Compute: DiskEncryptionSets'](https://github.com/Azure/ResourceModules/workflows/Compute:%20DiskEncryptionSets/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.diskencryptionsets.yml) | +| [DocumentDB Database Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | [!['DocumentDB: DatabaseAccounts'](https://github.com/Azure/ResourceModules/workflows/DocumentDB:%20DatabaseAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.documentdb.databaseaccounts.yml) | +| [Event Grid System Topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | [!['EventGrid: System Topics'](https://github.com/Azure/ResourceModules/workflows/EventGrid:%20System%20Topics/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.eventgrid.systemtopics.yml) | +| [Event Grid Topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | [!['EventGrid: Topics'](https://github.com/Azure/ResourceModules/workflows/EventGrid:%20Topics/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.eventgrid.topics.yml) | +| [Event Hub Namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | [!['EventHub: Namespaces'](https://github.com/Azure/ResourceModules/workflows/EventHub:%20Namespaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.eventhub.namespaces.yml) | +| [EventGrid Domains](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/domains) | [!['EventGrid: Domains'](https://github.com/Azure/ResourceModules/workflows/EventGrid:%20Domains/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.eventgrid.domains.yml) | +| [EventGrid EventSubscriptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/eventSubscriptions) | [!['EventGrid: Event Subscriptions'](https://github.com/Azure/ResourceModules/workflows/EventGrid:%20Event%20Subscriptions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.eventgrid.eventsubscriptions.yml) | +| [ExpressRoute Circuits](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | [!['Network: ExpressRouteCircuits'](https://github.com/Azure/ResourceModules/workflows/Network:%20ExpressRouteCircuits/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.expressroutecircuits.yml) | +| [Firewall Policies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | [!['Network: FirewallPolicies'](https://github.com/Azure/ResourceModules/workflows/Network:%20FirewallPolicies/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.firewallpolicies.yml) | +| [Front Doors](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | [!['Network: Frontdoors'](https://github.com/Azure/ResourceModules/workflows/Network:%20Frontdoors/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.frontdoors.yml) | +| [Image Templates](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | [!['VirtualMachineImages: ImageTemplates'](https://github.com/Azure/ResourceModules/workflows/VirtualMachineImages:%20ImageTemplates/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.virtualmachineimages.imagetemplates.yml) | +| [Images](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/images) | [!['Compute: Images'](https://github.com/Azure/ResourceModules/workflows/Compute:%20Images/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.images.yml) | +| [IP Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | [!['Network: IpGroups'](https://github.com/Azure/ResourceModules/workflows/Network:%20IpGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.ipgroups.yml) | +| [Key Vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | [!['KeyVault: Vaults'](https://github.com/Azure/ResourceModules/workflows/KeyVault:%20Vaults/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.keyvault.vaults.yml) | +| [Kubernetes Configuration Extensions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | [!['KubernetesConfiguration: Extensions'](https://github.com/Azure/ResourceModules/workflows/KubernetesConfiguration:%20Extensions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.kubernetesconfiguration.extensions.yml) | +| [Kubernetes Configuration Flux Configurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | [!['KubernetesConfiguration: FluxConfigurations'](https://github.com/Azure/ResourceModules/workflows/KubernetesConfiguration:%20FluxConfigurations/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.kubernetesconfiguration.fluxconfigurations.yml) | +| [Load Balancers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | [!['Network: LoadBalancers'](https://github.com/Azure/ResourceModules/workflows/Network:%20LoadBalancers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.loadbalancers.yml) | +| [Local Network Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | [!['Network: LocalNetworkGateways'](https://github.com/Azure/ResourceModules/workflows/Network:%20LocalNetworkGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.localnetworkgateways.yml) | +| [Log Analytics Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | [!['OperationalInsights: Workspaces'](https://github.com/Azure/ResourceModules/workflows/OperationalInsights:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.operationalinsights.workspaces.yml) | +| [Logic Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | [!['Logic: Workflows'](https://github.com/Azure/ResourceModules/workflows/Logic:%20Workflows/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.logic.workflows.yml) | +| [Machine Learning Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | [!['MachineLearningServices: Workspaces'](https://github.com/Azure/ResourceModules/workflows/MachineLearningServices:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.machinelearningservices.workspaces.yml) | +| [Maintenance Configurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | [!['Maintenance: MaintenanceConfigurations'](https://github.com/Azure/ResourceModules/workflows/Maintenance:%20MaintenanceConfigurations/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.maintenance.maintenanceconfigurations.yml) | +| [Management Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | [!['Management: ManagementGroups'](https://github.com/Azure/ResourceModules/workflows/Management:%20ManagementGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.management.managementgroups.yml) | +| [Metric Alerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | [!['Insights: MetricAlerts'](https://github.com/Azure/ResourceModules/workflows/Insights:%20MetricAlerts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.metricalerts.yml) | +| [NAT Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | [!['Network: NatGateways'](https://github.com/Azure/ResourceModules/workflows/Network:%20NatGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.natgateways.yml) | +| [Network Application Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | [!['Network: ApplicationGateways'](https://github.com/Azure/ResourceModules/workflows/Network:%20ApplicationGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.applicationgateways.yml) | +| [Network DnsResolvers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | [!['Network: DNS Resolvers'](https://github.com/Azure/ResourceModules/workflows/Network:%20DNS%20Resolvers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.dnsresolvers.yml) | +| [Network Interface](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | [!['Network: NetworkInterfaces'](https://github.com/Azure/ResourceModules/workflows/Network:%20NetworkInterfaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.networkinterfaces.yml) | +| [Network NetworkManagers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkManagers) | [!['Network: Network Managers'](https://github.com/Azure/ResourceModules/workflows/Network:%20Network%20Managers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.networkmanagers.yml) | +| [Network PrivateLinkServices](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | [!['Network: PrivateLinkServices'](https://github.com/Azure/ResourceModules/workflows/Network:%20PrivateLinkServices/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.privatelinkservices.yml) | +| [Network Security Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | [!['Network: NetworkSecurityGroups'](https://github.com/Azure/ResourceModules/workflows/Network:%20NetworkSecurityGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.networksecuritygroups.yml) | +| [Network Watchers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | [!['Network: NetworkWatchers'](https://github.com/Azure/ResourceModules/workflows/Network:%20NetworkWatchers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.networkwatchers.yml) | +| [OperationsManagement Solutions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | [!['OperationsManagement: Solutions'](https://github.com/Azure/ResourceModules/workflows/OperationsManagement:%20Solutions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.operationsmanagement.solutions.yml) | +| [Policy Assignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | [!['Authorization: PolicyAssignments'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20PolicyAssignments/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.policyassignments.yml) | +| [Policy Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | [!['Authorization: PolicyDefinitions'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20PolicyDefinitions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.policydefinitions.yml) | +| [Policy Exemptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | [!['Authorization: PolicyExemptions'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20PolicyExemptions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.policyexemptions.yml) | +| [Policy Set Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | [!['Authorization: PolicySetDefinitions'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20PolicySetDefinitions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.policysetdefinitions.yml) | +| [PolicyInsights Remediations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PolicyInsights/remediations) | [!['Policy Insights: Remediations'](https://github.com/Azure/ResourceModules/workflows/Policy%20Insights:%20Remediations/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.policyinsights.remediations.yml) | +| [PowerBIDedicated Capacities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | [!['PowerBiDedicated: Capacities'](https://github.com/Azure/ResourceModules/workflows/PowerBiDedicated:%20Capacities/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.powerbidedicated.capacities.yml) | +| [Private DNS Zones](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | [!['Network: PrivateDnsZones'](https://github.com/Azure/ResourceModules/workflows/Network:%20PrivateDnsZones/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.privatednszones.yml) | +| [Private Endpoints](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | [!['Network: PrivateEndpoints'](https://github.com/Azure/ResourceModules/workflows/Network:%20PrivateEndpoints/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.privateendpoints.yml) | +| [Proximity Placement Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | [!['Compute: ProximityPlacementGroups'](https://github.com/Azure/ResourceModules/workflows/Compute:%20ProximityPlacementGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.proximityplacementgroups.yml) | +| [Public IP Addresses](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | [!['Network: PublicIpAddresses'](https://github.com/Azure/ResourceModules/workflows/Network:%20PublicIpAddresses/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.publicipaddresses.yml) | +| [Public IP Prefixes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | [!['Network: PublicIpPrefixes'](https://github.com/Azure/ResourceModules/workflows/Network:%20PublicIpPrefixes/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.publicipprefixes.yml) | +| [Recovery Services Vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | [!['RecoveryServices: Vaults'](https://github.com/Azure/ResourceModules/workflows/RecoveryServices:%20Vaults/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.recoveryservices.vaults.yml) | +| [Registration Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | [!['ManagedServices: RegistrationDefinitions'](https://github.com/Azure/ResourceModules/workflows/ManagedServices:%20RegistrationDefinitions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.managedservices.registrationdefinitions.yml) | +| [Resource Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | [!['Resources: ResourceGroups'](https://github.com/Azure/ResourceModules/workflows/Resources:%20ResourceGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.resources.resourcegroups.yml) | +| [Resources Tags](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | [!['Resources: Tags'](https://github.com/Azure/ResourceModules/workflows/Resources:%20Tags/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.resources.tags.yml) | +| [Role Assignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | [!['Authorization: RoleAssignments'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20RoleAssignments/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.roleassignments.yml) | +| [Role Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | [!['Authorization: RoleDefinitions'](https://github.com/Azure/ResourceModules/workflows/Authorization:%20RoleDefinitions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.roledefinitions.yml) | +| [Route Tables](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | [!['Network: RouteTables'](https://github.com/Azure/ResourceModules/workflows/Network:%20RouteTables/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.routetables.yml) | +| [Scheduled Query Rules](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | [!['Insights: ScheduledQueryRules'](https://github.com/Azure/ResourceModules/workflows/Insights:%20ScheduledQueryRules/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.scheduledqueryrules.yml) | +| [Service Bus Namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | [!['ServiceBus: Namespaces'](https://github.com/Azure/ResourceModules/workflows/ServiceBus:%20Namespaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.servicebus.namespaces.yml) | +| [Service Fabric Clusters](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | [!['Service Fabric: Clusters'](https://github.com/Azure/ResourceModules/workflows/Service%20Fabric:%20Clusters/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.servicefabric.clusters.yml) | +| [SignalRService SignalR](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/signalR) | [!['SignalR Service: SignalR'](https://github.com/Azure/ResourceModules/workflows/SignalR%20Service:%20SignalR/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.signalrservice.signalr.yml) | +| [SQL Managed Instances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | [!['Sql: ManagedInstances'](https://github.com/Azure/ResourceModules/workflows/Sql:%20ManagedInstances/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.sql.managedinstances.yml) | +| [SQL Servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | [!['Sql: Servers'](https://github.com/Azure/ResourceModules/workflows/Sql:%20Servers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.sql.servers.yml) | +| [Static Web Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | [!['Web: StaticSites'](https://github.com/Azure/ResourceModules/workflows/Web:%20StaticSites/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.staticsites.yml) | +| [Storage Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | [!['Storage: StorageAccounts'](https://github.com/Azure/ResourceModules/workflows/Storage:%20StorageAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.storage.storageaccounts.yml) | +| [Synapse Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | [!['Synapse: Workspaces'](https://github.com/Azure/ResourceModules/workflows/Synapse:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.synapse.workspaces.yml) | +| [Traffic Manager Profiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | [!['Network: TrafficManagerProfiles'](https://github.com/Azure/ResourceModules/workflows/Network:%20TrafficManagerProfiles/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.trafficmanagerprofiles.yml) | +| [User Assigned Identities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | [!['ManagedIdentity: UserAssignedIdentities'](https://github.com/Azure/ResourceModules/workflows/ManagedIdentity:%20UserAssignedIdentities/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.managedidentity.userassignedidentities.yml) | +| [Virtual Hubs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | [!['Network: VirtualHubs'](https://github.com/Azure/ResourceModules/workflows/Network:%20VirtualHubs/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.virtualhubs.yml) | +| [Virtual Machine Scale Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | [!['Compute: VirtualMachineScaleSets'](https://github.com/Azure/ResourceModules/workflows/Compute:%20VirtualMachineScaleSets/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.virtualmachinescalesets.yml) | +| [Virtual Machines](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | [!['Compute: VirtualMachines'](https://github.com/Azure/ResourceModules/workflows/Compute:%20VirtualMachines/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.virtualmachines.yml) | +| [Virtual Network Gateway Connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/connections) | [!['Network: Connections'](https://github.com/Azure/ResourceModules/workflows/Network:%20Connections/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.connections.yml) | +| [Virtual Network Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | [!['Network: VirtualNetworkGateways'](https://github.com/Azure/ResourceModules/workflows/Network:%20VirtualNetworkGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.virtualnetworkgateways.yml) | +| [Virtual Networks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | [!['Network: VirtualNetworks'](https://github.com/Azure/ResourceModules/workflows/Network:%20VirtualNetworks/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.virtualnetworks.yml) | +| [Virtual WANs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | [!['Network: VirtualWans'](https://github.com/Azure/ResourceModules/workflows/Network:%20VirtualWans/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.virtualwans.yml) | +| [VPN Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | [!['Network: VPNGateways'](https://github.com/Azure/ResourceModules/workflows/Network:%20VPNGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.vpngateways.yml) | +| [VPN Sites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | [!['Network: VPN Sites'](https://github.com/Azure/ResourceModules/workflows/Network:%20VPN%20Sites/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.vpnsites.yml) | +| [Web PubSub Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | [!['SignalR Service: Web PubSub'](https://github.com/Azure/ResourceModules/workflows/SignalR%20Service:%20Web%20PubSub/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.signalrservice.webpubsub.yml) | +| [Web/Function Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/sites) | [!['Web: Sites'](https://github.com/Azure/ResourceModules/workflows/Web:%20Sites/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.sites.yml) | ## Tooling diff --git a/docs/wiki/The library - Module overview.md b/docs/wiki/The library - Module overview.md index ec5d75f16b..70249751ab 100644 --- a/docs/wiki/The library - Module overview.md +++ b/docs/wiki/The library - Module overview.md @@ -13,118 +13,124 @@ This section provides an overview of the library's feature set. | # | Module | RBAC | Locks | Tags | Diag | PE | PIP | # children | # lines | | - | - | - | - | - | - | - | - | - | - | -| 1 | MS.Synapse

privateLinkHubs | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 87 | -| 2 | MS.Synapse

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 264 | -| 3 | MS.Compute

proximityPlacementGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 80 | -| 4 | MS.Compute

virtualMachineScaleSets | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 560 | -| 5 | MS.Compute

availabilitySets | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 83 | -| 6 | MS.Compute

images | :white_check_mark: | | :white_check_mark: | | | | | 107 | -| 7 | MS.Compute

virtualMachines | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 586 | -| 8 | MS.Compute

diskEncryptionSets | :white_check_mark: | | :white_check_mark: | | | | | 105 | -| 9 | MS.Compute

disks | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 170 | -| 10 | MS.Compute

galleries | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 102 | -| 11 | MS.Cache

redis | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 233 | -| 12 | MS.ContainerRegistry

registries | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:2] | 333 | -| 13 | MS.ManagedServices

registrationDefinitions | | | | | | | | 60 | -| 14 | MS.MachineLearningServices

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 277 | -| 15 | MS.Resources

tags | | | :white_check_mark: | | | | [L1:2] | 51 | -| 16 | MS.Resources

resourceGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | -| 17 | MS.Resources

deploymentScripts | | :white_check_mark: | :white_check_mark: | | | | | 111 | -| 18 | MS.Consumption

budgets | | | | | | | | 89 | -| 19 | MS.EventHub

namespaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:4, L2:2] | 279 | -| 20 | MS.ContainerService

managedClusters | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 504 | -| 21 | MS.KeyVault

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3] | 278 | -| 22 | MS.OperationalInsights

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:5] | 260 | -| 23 | MS.AnalysisServices

servers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 143 | -| 24 | MS.Management

managementGroups | | | | | | | | 44 | -| 25 | MS.ManagedIdentity

userAssignedIdentities | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | -| 26 | MS.OperationsManagement

solutions | | | | | | | | 50 | -| 27 | MS.AppConfiguration

configurationStores | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 205 | -| 28 | MS.ServiceBus

namespaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6, L2:2] | 326 | -| 29 | MS.DataFactory

factories | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:2, L2:1] | 251 | -| 30 | MS.ApiManagement

service | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:11, L2:3] | 413 | -| 31 | MS.Maintenance

maintenanceConfigurations | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 101 | -| 32 | MS.DBforPostgreSQL

flexibleServers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:3] | 275 | -| 33 | MS.VirtualMachineImages

imageTemplates | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 167 | -| 34 | MS.ContainerInstance

containerGroups | | :white_check_mark: | :white_check_mark: | | | | | 84 | -| 35 | MS.Authorization

policyDefinitions | | | | | | | [L1:2] | 82 | -| 36 | MS.Authorization

policyExemptions | | | | | | | [L1:3] | 111 | -| 37 | MS.Authorization

locks | | | | | | | [L1:2] | 59 | -| 38 | MS.Authorization

policyAssignments | | | | | | | [L1:3] | 130 | -| 39 | MS.Authorization

roleDefinitions | | | | | | | [L1:3] | 91 | -| 40 | MS.Authorization

policySetDefinitions | | | | | | | [L1:2] | 73 | -| 41 | MS.Authorization

roleAssignments | | | | | | | [L1:3] | 104 | -| 42 | MS.CognitiveServices

accounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 252 | -| 43 | MS.ServiceFabric

clusters | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 281 | -| 44 | MS.KubernetesConfiguration

fluxConfigurations | | | | | | | | 67 | -| 45 | MS.KubernetesConfiguration

extensions | | | | | | | | 63 | -| 46 | MS.AAD

DomainServices | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 231 | -| 47 | MS.Security

azureSecurityCenter | | | | | | | | 217 | -| 48 | MS.DesktopVirtualization

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 119 | -| 49 | MS.DesktopVirtualization

hostpools | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 179 | -| 50 | MS.DesktopVirtualization

scalingplans | :white_check_mark: | | :white_check_mark: | :white_check_mark: | | | | 151 | -| 51 | MS.DesktopVirtualization

applicationgroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 147 | -| 52 | MS.EventGrid

topics | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 156 | -| 53 | MS.EventGrid

systemTopics | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 139 | -| 54 | MS.HealthcareApis

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:3, L2:1] | 180 | -| 55 | MS.PowerBIDedicated

capacities | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 96 | -| 56 | MS.DocumentDB

databaseAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:3, L2:3] | 312 | -| 57 | MS.Automation

automationAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6] | 365 | -| 58 | MS.NetApp

netAppAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1, L2:1] | 106 | -| 59 | MS.HealthBot

healthBots | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 68 | -| 60 | MS.Batch

batchAccounts | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 225 | -| 61 | MS.Sql

managedInstances | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:6, L2:2] | 338 | -| 62 | MS.Sql

servers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:6] | 254 | -| 63 | MS.SignalRService

webPubSub | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 153 | -| 64 | MS.Insights

components | :white_check_mark: | | :white_check_mark: | | | | | 99 | -| 65 | MS.Insights

diagnosticSettings | | | | :white_check_mark: | | | | 79 | -| 66 | MS.Insights

privateLinkScopes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:1] | 97 | -| 67 | MS.Insights

scheduledQueryRules | :white_check_mark: | | :white_check_mark: | | | | | 106 | -| 68 | MS.Insights

actionGroups | :white_check_mark: | | :white_check_mark: | | | | | 85 | -| 69 | MS.Insights

metricAlerts | :white_check_mark: | | :white_check_mark: | | | | | 122 | -| 70 | MS.Insights

activityLogAlerts | :white_check_mark: | | :white_check_mark: | | | | | 74 | -| 71 | MS.Storage

storageAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:5, L2:4, L3:1] | 343 | -| 72 | MS.Logic

workflows | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 196 | -| 73 | MS.RecoveryServices

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:7, L2:2, L3:1] | 291 | -| 74 | MS.Network

trafficmanagerprofiles | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 164 | -| 75 | MS.Network

vpnSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | -| 76 | MS.Network

virtualNetworks | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 230 | -| 77 | MS.Network

privateEndpoints | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 108 | -| 78 | MS.Network

networkInterfaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 144 | -| 79 | MS.Network

publicIPAddresses | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 167 | -| 80 | MS.Network

routeTables | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 70 | -| 81 | MS.Network

virtualHubs | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 148 | -| 82 | MS.Network

applicationSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 63 | -| 83 | MS.Network

loadBalancers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 238 | -| 84 | MS.Network

applicationGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 308 | -| 85 | MS.Network

dnsResolvers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 100 | -| 86 | MS.Network

bastionHosts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 204 | -| 87 | MS.Network

networkSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 152 | -| 88 | MS.Network

ipGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 68 | -| 89 | MS.Network

localNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | -| 90 | MS.Network

networkWatchers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 97 | -| 91 | MS.Network

privateLinkServices | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 85 | -| 92 | MS.Network

azureFirewalls | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 265 | -| 93 | MS.Network

expressRouteCircuits | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 188 | -| 94 | MS.Network

virtualWans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 80 | -| 95 | MS.Network

publicIPPrefixes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 74 | -| 96 | MS.Network

natGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 184 | -| 97 | MS.Network

privateDnsZones | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:9] | 189 | -| 98 | MS.Network

applicationGatewayWebApplicationFirewallPolicies | | | :white_check_mark: | | | | | 44 | -| 99 | MS.Network

firewallPolicies | | | :white_check_mark: | | | | [L1:1] | 153 | -| 100 | MS.Network

vpnGateways | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 104 | -| 101 | MS.Network

frontDoors | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 151 | -| 102 | MS.Network

connections | | :white_check_mark: | :white_check_mark: | | | | | 107 | -| 103 | MS.Network

ddosProtectionPlans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | -| 104 | MS.Network

virtualNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 378 | -| 105 | MS.Web

serverfarms | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 159 | -| 106 | MS.Web

staticSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:3] | 190 | -| 107 | MS.Web

sites | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:2] | 257 | -| 108 | MS.Web

hostingEnvironments | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 164 | -| 109 | MS.Web

connections | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 89 | -| 110 | MS.Databricks

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 141 | -| 111 | MS.DataProtection

backupVaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 105 | -| Sum | | 87 | 85 | 96 | 49 | 21 | 2 | 154 | 18655 | +| 1 | MS.AAD

DomainServices | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 234 | +| 2 | MS.AnalysisServices

servers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 153 | +| 3 | MS.ApiManagement

service | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:11, L2:3] | 424 | +| 4 | MS.AppConfiguration

configurationStores | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 218 | +| 5 | MS.Authorization

locks | | | | | | | [L1:2] | 59 | +| 6 | MS.Authorization

policyAssignments | | | | | | | [L1:3] | 140 | +| 7 | MS.Authorization

policyDefinitions | | | | | | | [L1:2] | 83 | +| 8 | MS.Authorization

policyExemptions | | | | | | | [L1:3] | 111 | +| 9 | MS.Authorization

policySetDefinitions | | | | | | | [L1:2] | 73 | +| 10 | MS.Authorization

roleAssignments | | | | | | | [L1:3] | 104 | +| 11 | MS.Authorization

roleDefinitions | | | | | | | [L1:3] | 91 | +| 12 | MS.Automation

automationAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6] | 377 | +| 13 | MS.Batch

batchAccounts | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 239 | +| 14 | MS.Cache

redis | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 247 | +| 15 | MS.CDN

profiles | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1, L2:1] | 106 | +| 16 | MS.CognitiveServices

accounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 294 | +| 17 | MS.Compute

availabilitySets | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 83 | +| 18 | MS.Compute

diskEncryptionSets | :white_check_mark: | | :white_check_mark: | | | | | 105 | +| 19 | MS.Compute

disks | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 170 | +| 20 | MS.Compute

galleries | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 123 | +| 21 | MS.Compute

images | :white_check_mark: | | :white_check_mark: | | | | | 107 | +| 22 | MS.Compute

proximityPlacementGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 80 | +| 23 | MS.Compute

virtualMachines | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 637 | +| 24 | MS.Compute

virtualMachineScaleSets | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 560 | +| 25 | MS.Consumption

budgets | | | | | | | | 89 | +| 26 | MS.ContainerInstance

containerGroups | | :white_check_mark: | :white_check_mark: | | | | | 154 | +| 27 | MS.ContainerRegistry

registries | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:2] | 349 | +| 28 | MS.ContainerService

managedClusters | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 509 | +| 29 | MS.Databricks

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 143 | +| 30 | MS.DataFactory

factories | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:2, L2:1] | 257 | +| 31 | MS.DataProtection

backupVaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 105 | +| 32 | MS.DBforPostgreSQL

flexibleServers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:3] | 309 | +| 33 | MS.DesktopVirtualization

applicationgroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 156 | +| 34 | MS.DesktopVirtualization

hostpools | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 185 | +| 35 | MS.DesktopVirtualization

scalingplans | :white_check_mark: | | :white_check_mark: | :white_check_mark: | | | | 162 | +| 36 | MS.DesktopVirtualization

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 127 | +| 37 | MS.DevTestLab

labs | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:6, L2:1] | 262 | +| 38 | MS.DocumentDB

databaseAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:3, L2:3] | 315 | +| 39 | MS.EventGrid

domains | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 175 | +| 40 | MS.EventGrid

eventSubscriptions | | | | | | | | 72 | +| 41 | MS.EventGrid

systemTopics | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 150 | +| 42 | MS.EventGrid

topics | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 169 | +| 43 | MS.EventHub

namespaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:4, L2:2] | 285 | +| 44 | MS.HealthBot

healthBots | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 68 | +| 45 | MS.Insights

actionGroups | :white_check_mark: | | :white_check_mark: | | | | | 85 | +| 46 | MS.Insights

activityLogAlerts | :white_check_mark: | | :white_check_mark: | | | | | 74 | +| 47 | MS.Insights

components | :white_check_mark: | | :white_check_mark: | | | | | 99 | +| 48 | MS.Insights

diagnosticSettings | | | | :white_check_mark: | | | | 83 | +| 49 | MS.Insights

metricAlerts | :white_check_mark: | | :white_check_mark: | | | | | 122 | +| 50 | MS.Insights

privateLinkScopes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:1] | 100 | +| 51 | MS.Insights

scheduledQueryRules | :white_check_mark: | | :white_check_mark: | | | | | 106 | +| 52 | MS.KeyVault

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3] | 279 | +| 53 | MS.KubernetesConfiguration

extensions | | | | | | | | 63 | +| 54 | MS.KubernetesConfiguration

fluxConfigurations | | | | | | | | 67 | +| 55 | MS.Logic

workflows | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 207 | +| 56 | MS.MachineLearningServices

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 284 | +| 57 | MS.Maintenance

maintenanceConfigurations | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 101 | +| 58 | MS.ManagedIdentity

userAssignedIdentities | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | +| 59 | MS.ManagedServices

registrationDefinitions | | | | | | | | 60 | +| 60 | MS.Management

managementGroups | | | | | | | | 44 | +| 61 | MS.NetApp

netAppAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1, L2:1] | 106 | +| 62 | MS.Network

applicationGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 317 | +| 63 | MS.Network

applicationGatewayWebApplicationFirewallPolicies | | | :white_check_mark: | | | | | 44 | +| 64 | MS.Network

applicationSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 63 | +| 65 | MS.Network

azureFirewalls | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 285 | +| 66 | MS.Network

bastionHosts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 215 | +| 67 | MS.Network

connections | | :white_check_mark: | :white_check_mark: | | | | | 107 | +| 68 | MS.Network

ddosProtectionPlans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | +| 69 | MS.Network

dnsResolvers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 100 | +| 70 | MS.Network

expressRouteCircuits | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 195 | +| 71 | MS.Network

firewallPolicies | | | :white_check_mark: | | | | [L1:1] | 153 | +| 72 | MS.Network

frontDoors | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 161 | +| 73 | MS.Network

ipGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 68 | +| 74 | MS.Network

loadBalancers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 238 | +| 75 | MS.Network

localNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | +| 76 | MS.Network

natGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 193 | +| 77 | MS.Network

networkInterfaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 144 | +| 78 | MS.Network

networkManagers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:4, L2:2, L3:1] | 133 | +| 79 | MS.Network

networkSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 162 | +| 80 | MS.Network

networkWatchers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 97 | +| 81 | MS.Network

privateDnsZones | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:9] | 189 | +| 82 | MS.Network

privateEndpoints | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 108 | +| 83 | MS.Network

privateLinkServices | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 85 | +| 84 | MS.Network

publicIPAddresses | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 187 | +| 85 | MS.Network

publicIPPrefixes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 74 | +| 86 | MS.Network

routeTables | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 70 | +| 87 | MS.Network

trafficmanagerprofiles | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 175 | +| 88 | MS.Network

virtualHubs | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 143 | +| 89 | MS.Network

virtualNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 358 | +| 90 | MS.Network

virtualNetworks | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 243 | +| 91 | MS.Network

virtualWans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 80 | +| 92 | MS.Network

vpnGateways | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 104 | +| 93 | MS.Network

vpnSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | +| 94 | MS.OperationalInsights

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:5] | 271 | +| 95 | MS.OperationsManagement

solutions | | | | | | | | 50 | +| 96 | MS.PolicyInsights

remediations | | | | | | | [L1:3] | 103 | +| 97 | MS.PowerBIDedicated

capacities | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 96 | +| 98 | MS.RecoveryServices

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:7, L2:2, L3:1] | 299 | +| 99 | MS.Resources

deploymentScripts | | :white_check_mark: | :white_check_mark: | | | | | 111 | +| 100 | MS.Resources

resourceGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 67 | +| 101 | MS.Resources

tags | | | :white_check_mark: | | | | [L1:2] | 51 | +| 102 | MS.Security

azureSecurityCenter | | | | | | | | 217 | +| 103 | MS.ServiceBus

namespaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6, L2:2] | 340 | +| 104 | MS.ServiceFabric

clusters | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 281 | +| 105 | MS.SignalRService

signalR | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 186 | +| 106 | MS.SignalRService

webPubSub | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 156 | +| 107 | MS.Sql

managedInstances | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:6, L2:2] | 348 | +| 108 | MS.Sql

servers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:7] | 272 | +| 109 | MS.Storage

storageAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6, L2:4, L3:1] | 376 | +| 110 | MS.Synapse

privateLinkHubs | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 90 | +| 111 | MS.Synapse

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 273 | +| 112 | MS.VirtualMachineImages

imageTemplates | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 197 | +| 113 | MS.Web

connections | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 89 | +| 114 | MS.Web

hostingEnvironments | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 175 | +| 115 | MS.Web

serverfarms | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 159 | +| 116 | MS.Web

sites | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3, L2:2] | 380 | +| 117 | MS.Web

staticSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:3] | 193 | +| Sum | | 91 | 89 | 100 | 50 | 23 | 2 | 175 | 20314 | ## Legend diff --git a/modules/README.md b/modules/README.md index 6539e2682c..eb9e234c77 100644 --- a/modules/README.md +++ b/modules/README.md @@ -4,114 +4,120 @@ In this section you can find useful information regarding the Modules that are c | Name | Provider namespace | Resource Type | | - | - | - | -| [Azure Active Directory Domain Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | `MS.AAD` | [DomainServices](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | -| [Analysis Services Servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | `MS.AnalysisServices` | [servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | -| [API Management Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | `MS.ApiManagement` | [service](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | -| [App Configuration](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | `MS.AppConfiguration` | [configurationStores](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | -| [Authorization Locks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | `MS.Authorization` | [locks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | -| [Policy Assignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | | [policyAssignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | -| [Policy Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | | [policyDefinitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | -| [Policy Exemptions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | | [policyExemptions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | -| [Policy Set Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | | [policySetDefinitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | -| [Role Assignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | | [roleAssignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | -| [Role Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | | [roleDefinitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | -| [Automation Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | `MS.Automation` | [automationAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | -| [Batch Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | `MS.Batch` | [batchAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | -| [Cache Redis](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | `MS.Cache` | [redis](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | -| [Cognitive Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | `MS.CognitiveServices` | [accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | -| [Availability Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | `MS.Compute` | [availabilitySets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | -| [Disk Encryption Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | | [diskEncryptionSets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | -| [Compute Disks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | | [disks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | -| [Azure Compute Galleries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | | [galleries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | -| [Images](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/images) | | [images](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/images) | -| [Proximity Placement Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | | [proximityPlacementGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | -| [Virtual Machines](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | | [virtualMachines](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | -| [Virtual Machine Scale Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | | [virtualMachineScaleSets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | -| [Budgets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | `MS.Consumption` | [budgets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | -| [Container Instances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | `MS.ContainerInstance` | [containerGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | -| [Container Registries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | `MS.ContainerRegistry` | [registries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | -| [Azure Kubernetes Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | `MS.ContainerService` | [managedClusters](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | -| [Azure Databricks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | `MS.Databricks` | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | -| [Data Factories](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | `MS.DataFactory` | [factories](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | -| [DataProtection BackupVaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | `MS.DataProtection` | [backupVaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | -| [DBforPostgreSQL FlexibleServers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | `MS.DBforPostgreSQL` | [flexibleServers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | -| [AVD Application Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | `MS.DesktopVirtualization` | [applicationgroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | -| [AVD Host Pools](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | | [hostpools](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | -| [AVD Scaling Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | | [scalingplans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | -| [AVD Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | -| [DocumentDB Database Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | `MS.DocumentDB` | [databaseAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | -| [Event Grid System Topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | `MS.EventGrid` | [systemTopics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | -| [Event Grid Topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | | [topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | -| [Event Hub Namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | `MS.EventHub` | [namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | -| [Azure Health Bots](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | `MS.HealthBot` | [healthBots](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | -| [HealthcareApis Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthcareApis/workspaces) | `MS.HealthcareApis` | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthcareApis/workspaces) | -| [Action Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | `MS.Insights` | [actionGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | -| [Activity Log Alerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | | [activityLogAlerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | -| [Application Insights](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/components) | | [components](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/components) | -| [Activity Logs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | | [diagnosticSettings](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | -| [Metric Alerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | | [metricAlerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | -| [Azure Monitor Private Link Scopes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | | [privateLinkScopes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | -| [Scheduled Query Rules](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | | [scheduledQueryRules](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | -| [Key Vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | `MS.KeyVault` | [vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | -| [Kubernetes Configuration Extensions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | `MS.KubernetesConfiguration` | [extensions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | -| [Kubernetes Configuration Flux Configurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | | [fluxConfigurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | -| [Logic Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | `MS.Logic` | [workflows](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | -| [Machine Learning Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | `MS.achineLearningServices` | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | -| [Maintenance Configurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | `MS.aintenance` | [maintenanceConfigurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | -| [User Assigned Identities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | `MS.anagedIdentity` | [userAssignedIdentities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | -| [Registration Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | `MS.anagedServices` | [registrationDefinitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | -| [Management Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | `MS.anagement` | [managementGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | -| [Azure NetApp Files](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | `MS.NetApp` | [netAppAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | -| [Network Application Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | `MS.Network` | [applicationGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | -| [Application Gateway WebApp Firewall Policies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | | [applicationGatewayWebApplicationFirewallPolicies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | -| [Application Security Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | | [applicationSecurityGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | -| [Azure Firewalls](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | | [azureFirewalls](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | -| [Bastion Hosts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | | [bastionHosts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | -| [Virtual Network Gateway Connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/connections) | | [connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/connections) | -| [DDoS Protection Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | | [ddosProtectionPlans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | -| [Network DnsResolvers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | | [dnsResolvers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | -| [ExpressRoute Circuits](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | | [expressRouteCircuits](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | -| [Firewall Policies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | | [firewallPolicies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | -| [Front Doors](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | | [frontDoors](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | -| [IP Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | | [ipGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | -| [Load Balancers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | | [loadBalancers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | -| [Local Network Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | | [localNetworkGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | -| [NAT Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | | [natGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | -| [Network Interface](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | | [networkInterfaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | -| [Network Security Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | | [networkSecurityGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | -| [Network Watchers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | | [networkWatchers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | -| [Private DNS Zones](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | | [privateDnsZones](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | -| [Private Endpoints](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | | [privateEndpoints](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | -| [Network PrivateLinkServices](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | | [privateLinkServices](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | -| [Public IP Addresses](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | | [publicIPAddresses](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | -| [Public IP Prefixes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | | [publicIPPrefixes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | -| [Route Tables](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | | [routeTables](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | -| [Traffic Manager Profiles](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | | [trafficmanagerprofiles](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | -| [Virtual Hubs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | | [virtualHubs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | -| [Virtual Network Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | | [virtualNetworkGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | -| [Virtual Networks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | | [virtualNetworks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | -| [Virtual WANs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | | [virtualWans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | -| [VPN Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | | [vpnGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | -| [VPN Sites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | | [vpnSites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | -| [Log Analytics Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | `MS.OperationalInsights` | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | -| [OperationsManagement Solutions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | `MS.OperationsManagement` | [solutions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | -| [PowerBIDedicated Capacities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | `MS.PowerBIDedicated` | [capacities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | -| [Recovery Services Vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | `MS.RecoveryServices` | [vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | -| [Deployment Scripts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | `MS.Resources` | [deploymentScripts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | -| [Resource Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | | [resourceGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | -| [Resources Tags](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | | [tags](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | -| [Azure Security Center](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | `MS.Security` | [azureSecurityCenter](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | -| [Service Bus Namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | `MS.ServiceBus` | [namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | -| [Service Fabric Clusters](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | `MS.ServiceFabric` | [clusters](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | -| [Web PubSub Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | `MS.SignalRService` | [webPubSub](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | -| [SQL Managed Instances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | `MS.Sql` | [managedInstances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | -| [SQL Servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | | [servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | -| [Storage Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | `MS.Storage` | [storageAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | -| [Azure Synapse Analytics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | `MS.Synapse` | [privateLinkHubs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | -| [Synapse Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | -| [Image Templates](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | `MS.VirtualMachineImages` | [imageTemplates](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | -| [API Connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/connections) | `MS.Web` | [connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/connections) | -| [App Service Environments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | | [hostingEnvironments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | -| [App Service Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | | [serverfarms](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | -| [Web/Function Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/sites) | | [sites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/sites) | -| [Static Web Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | | [staticSites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | +| [Azure Active Directory Domain Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | `MS.AAD` | [DomainServices](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | +| [Analysis Services Servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | `MS.AnalysisServices` | [servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | +| [API Management Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | `MS.ApiManagement` | [service](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | +| [App Configuration](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | `MS.AppConfiguration` | [configurationStores](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | +| [Authorization Locks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | `MS.Authorization` | [locks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | +| [Policy Assignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | | [policyAssignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | +| [Policy Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | | [policyDefinitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | +| [Policy Exemptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | | [policyExemptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | +| [Policy Set Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | | [policySetDefinitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | +| [Role Assignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | | [roleAssignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | +| [Role Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | | [roleDefinitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | +| [Automation Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | `MS.Automation` | [automationAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | +| [Batch Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | `MS.Batch` | [batchAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | +| [Cache Redis](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | `MS.Cache` | [redis](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | +| [CDN Profiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CDN/profiles) | `MS.CDN` | [profiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CDN/profiles) | +| [Cognitive Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | `MS.CognitiveServices` | [accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | +| [Availability Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | `MS.Compute` | [availabilitySets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | +| [Disk Encryption Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | | [diskEncryptionSets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | +| [Compute Disks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | | [disks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | +| [Azure Compute Galleries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | | [galleries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | +| [Images](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/images) | | [images](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/images) | +| [Proximity Placement Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | | [proximityPlacementGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | +| [Virtual Machines](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | | [virtualMachines](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | +| [Virtual Machine Scale Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | | [virtualMachineScaleSets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | +| [Budgets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | `MS.Consumption` | [budgets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | +| [Container Instances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | `MS.ContainerInstance` | [containerGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | +| [Container Registries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | `MS.ContainerRegistry` | [registries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | +| [Azure Kubernetes Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | `MS.ContainerService` | [managedClusters](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | +| [Azure Databricks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | `MS.Databricks` | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | +| [Data Factories](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | `MS.DataFactory` | [factories](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | +| [DataProtection BackupVaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | `MS.DataProtection` | [backupVaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | +| [DBforPostgreSQL FlexibleServers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | `MS.DBforPostgreSQL` | [flexibleServers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | +| [AVD Application Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | `MS.DesktopVirtualization` | [applicationgroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | +| [AVD Host Pools](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | | [hostpools](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | +| [AVD Scaling Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | | [scalingplans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | +| [AVD Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | +| [DevTestLab Labs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DevTestLab/labs) | `MS.DevTestLab` | [labs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DevTestLab/labs) | +| [DocumentDB Database Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | `MS.DocumentDB` | [databaseAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | +| [EventGrid Domains](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/domains) | `MS.EventGrid` | [domains](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/domains) | +| [EventGrid EventSubscriptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/eventSubscriptions) | | [eventSubscriptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/eventSubscriptions) | +| [Event Grid System Topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | | [systemTopics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | +| [Event Grid Topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | | [topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | +| [Event Hub Namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | `MS.EventHub` | [namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | +| [Azure Health Bots](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | `MS.HealthBot` | [healthBots](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | +| [Action Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | `MS.Insights` | [actionGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | +| [Activity Log Alerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | | [activityLogAlerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | +| [Application Insights](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/components) | | [components](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/components) | +| [Activity Logs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | | [diagnosticSettings](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | +| [Metric Alerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | | [metricAlerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | +| [Azure Monitor Private Link Scopes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | | [privateLinkScopes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | +| [Scheduled Query Rules](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | | [scheduledQueryRules](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | +| [Key Vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | `MS.KeyVault` | [vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | +| [Kubernetes Configuration Extensions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | `MS.KubernetesConfiguration` | [extensions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | +| [Kubernetes Configuration Flux Configurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | | [fluxConfigurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | +| [Logic Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | `MS.Logic` | [workflows](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | +| [Machine Learning Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | `MS.achineLearningServices` | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | +| [Maintenance Configurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | `MS.aintenance` | [maintenanceConfigurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | +| [User Assigned Identities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | `MS.anagedIdentity` | [userAssignedIdentities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | +| [Registration Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | `MS.anagedServices` | [registrationDefinitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | +| [Management Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | `MS.anagement` | [managementGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | +| [Azure NetApp Files](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | `MS.NetApp` | [netAppAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | +| [Network Application Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | `MS.Network` | [applicationGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | +| [Application Gateway WebApp Firewall Policies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | | [applicationGatewayWebApplicationFirewallPolicies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | +| [Application Security Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | | [applicationSecurityGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | +| [Azure Firewalls](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | | [azureFirewalls](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | +| [Bastion Hosts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | | [bastionHosts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | +| [Virtual Network Gateway Connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/connections) | | [connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/connections) | +| [DDoS Protection Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | | [ddosProtectionPlans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | +| [Network DnsResolvers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | | [dnsResolvers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | +| [ExpressRoute Circuits](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | | [expressRouteCircuits](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | +| [Firewall Policies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | | [firewallPolicies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | +| [Front Doors](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | | [frontDoors](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | +| [IP Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | | [ipGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | +| [Load Balancers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | | [loadBalancers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | +| [Local Network Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | | [localNetworkGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | +| [NAT Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | | [natGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | +| [Network Interface](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | | [networkInterfaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | +| [Network NetworkManagers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkManagers) | | [networkManagers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkManagers) | +| [Network Security Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | | [networkSecurityGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | +| [Network Watchers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | | [networkWatchers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | +| [Private DNS Zones](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | | [privateDnsZones](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | +| [Private Endpoints](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | | [privateEndpoints](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | +| [Network PrivateLinkServices](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | | [privateLinkServices](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | +| [Public IP Addresses](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | | [publicIPAddresses](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | +| [Public IP Prefixes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | | [publicIPPrefixes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | +| [Route Tables](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | | [routeTables](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | +| [Traffic Manager Profiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | | [trafficmanagerprofiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | +| [Virtual Hubs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | | [virtualHubs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | +| [Virtual Network Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | | [virtualNetworkGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | +| [Virtual Networks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | | [virtualNetworks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | +| [Virtual WANs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | | [virtualWans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | +| [VPN Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | | [vpnGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | +| [VPN Sites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | | [vpnSites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | +| [Log Analytics Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | `MS.OperationalInsights` | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | +| [OperationsManagement Solutions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | `MS.OperationsManagement` | [solutions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | +| [PolicyInsights Remediations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PolicyInsights/remediations) | `MS.PolicyInsights` | [remediations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PolicyInsights/remediations) | +| [PowerBIDedicated Capacities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | `MS.PowerBIDedicated` | [capacities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | +| [Recovery Services Vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | `MS.RecoveryServices` | [vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | +| [Deployment Scripts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | `MS.Resources` | [deploymentScripts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | +| [Resource Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | | [resourceGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | +| [Resources Tags](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | | [tags](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | +| [Azure Security Center](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | `MS.Security` | [azureSecurityCenter](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | +| [Service Bus Namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | `MS.ServiceBus` | [namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | +| [Service Fabric Clusters](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | `MS.ServiceFabric` | [clusters](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | +| [SignalRService SignalR](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/signalR) | `MS.SignalRService` | [signalR](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/signalR) | +| [Web PubSub Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | | [webPubSub](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | +| [SQL Managed Instances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | `MS.Sql` | [managedInstances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | +| [SQL Servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | | [servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | +| [Storage Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | `MS.Storage` | [storageAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | +| [Azure Synapse Analytics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | `MS.Synapse` | [privateLinkHubs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | +| [Synapse Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | +| [Image Templates](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | `MS.VirtualMachineImages` | [imageTemplates](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | +| [API Connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/connections) | `MS.Web` | [connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/connections) | +| [App Service Environments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | | [hostingEnvironments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | +| [App Service Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | | [serverfarms](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | +| [Web/Function Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/sites) | | [sites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/sites) | +| [Static Web Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | | [staticSites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | From b7175e86df26fecb5e820ceb25f037a801575dbd Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Wed, 18 Jan 2023 21:15:37 -0500 Subject: [PATCH 72/81] update readme --- .../workspaces/readme.md | 188 +++++++++--------- 1 file changed, 94 insertions(+), 94 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md index 63aeb9b36b..ed03082a5e 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -434,80 +434,80 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { // Non-required parameters dicomServices: [ { - workspaceName: '<>hawcom001' - publicNetworkAccess: 'Enabled' - diagnosticLogsRetentionInDays: 7 - name: '<>-az-dicom-x-001' - userAssignedIdentities: { - '': {} - } - corsOrigins: [ + corsAllowCredentials: false + corsHeaders: [ '*' ] - diagnosticStorageAccountId: '' + corsMaxAge: 600 corsMethods: [ 'GET' ] - diagnosticWorkspaceId: '' - corsAllowCredentials: false - enableDefaultTelemetry: '' - location: '' - corsHeaders: [ + corsOrigins: [ '*' ] diagnosticEventHubAuthorizationRuleId: '' diagnosticEventHubName: '' - corsMaxAge: 600 + diagnosticLogsRetentionInDays: 7 + diagnosticStorageAccountId: '' + diagnosticWorkspaceId: '' + enableDefaultTelemetry: '' + location: '' + name: '<>-az-dicom-x-001' + publicNetworkAccess: 'Enabled' systemAssignedIdentity: true + userAssignedIdentities: { + '': {} + } + workspaceName: '<>hawcom001' } ] + enableDefaultTelemetry: '' fhirServices: [ { - corsOrigins: [ + corsAllowCredentials: false + corsHeaders: [ '*' ] - corsHeaders: [ + corsMaxAge: 600 + corsMethods: [ + 'GET' + ] + corsOrigins: [ '*' ] - diagnosticEventHubName: '' diagnosticEventHubAuthorizationRuleId: '' - diagnosticWorkspaceId: '' + diagnosticEventHubName: '' diagnosticLogsRetentionInDays: 7 - userAssignedIdentities: { - '': {} - } + diagnosticStorageAccountId: '' + diagnosticWorkspaceId: '' + enableDefaultTelemetry: '' + importEnabled: false + initialImportMode: false + kind: 'fhir-R4' + location: '' + name: '<>-az-fhir-x-001' + publicNetworkAccess: 'Enabled' + resourceVersionPolicy: 'versioned' roleAssignments: [ { - roleDefinitionIdOrName: '' - principalType: 'ServicePrincipal' principalIds: [ '' ] + principalType: 'ServicePrincipal' + roleDefinitionIdOrName: '' } ] - resourceVersionPolicy: 'versioned' - corsAllowCredentials: false - importEnabled: false - name: '<>-az-fhir-x-001' - publicNetworkAccess: 'Enabled' - corsMaxAge: 600 - workspaceName: '<>hawcom001' - diagnosticStorageAccountId: '' - initialImportMode: false - systemAssignedIdentity: true - location: '' - corsMethods: [ - 'GET' - ] - kind: 'fhir-R4' - enableDefaultTelemetry: '' smartProxyEnabled: false + systemAssignedIdentity: true + userAssignedIdentities: { + '': {} + } + workspaceName: '<>hawcom001' } ] - publicNetworkAccess: 'Enabled' - enableDefaultTelemetry: '' location: '' lock: '' + publicNetworkAccess: 'Enabled' } } ``` @@ -532,90 +532,90 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { "dicomServices": { "value": [ { - "workspaceName": "<>hawcom001", - "publicNetworkAccess": "Enabled", - "diagnosticLogsRetentionInDays": 7, - "name": "<>-az-dicom-x-001", - "userAssignedIdentities": { - "": {} - }, - "corsOrigins": [ + "corsAllowCredentials": false, + "corsHeaders": [ "*" ], - "diagnosticStorageAccountId": "", + "corsMaxAge": 600, "corsMethods": [ "GET" ], - "diagnosticWorkspaceId": "", - "corsAllowCredentials": false, - "enableDefaultTelemetry": "", - "location": "", - "corsHeaders": [ + "corsOrigins": [ "*" ], "diagnosticEventHubAuthorizationRuleId": "", "diagnosticEventHubName": "", - "corsMaxAge": 600, - "systemAssignedIdentity": true + "diagnosticLogsRetentionInDays": 7, + "diagnosticStorageAccountId": "", + "diagnosticWorkspaceId": "", + "enableDefaultTelemetry": "", + "location": "", + "name": "<>-az-dicom-x-001", + "publicNetworkAccess": "Enabled", + "systemAssignedIdentity": true, + "userAssignedIdentities": { + "": {} + }, + "workspaceName": "<>hawcom001" } ] }, + "enableDefaultTelemetry": { + "value": "" + }, "fhirServices": { "value": [ { - "corsOrigins": [ + "corsAllowCredentials": false, + "corsHeaders": [ "*" ], - "corsHeaders": [ + "corsMaxAge": 600, + "corsMethods": [ + "GET" + ], + "corsOrigins": [ "*" ], - "diagnosticEventHubName": "", "diagnosticEventHubAuthorizationRuleId": "", - "diagnosticWorkspaceId": "", + "diagnosticEventHubName": "", "diagnosticLogsRetentionInDays": 7, - "userAssignedIdentities": { - "": {} - }, + "diagnosticStorageAccountId": "", + "diagnosticWorkspaceId": "", + "enableDefaultTelemetry": "", + "importEnabled": false, + "initialImportMode": false, + "kind": "fhir-R4", + "location": "", + "name": "<>-az-fhir-x-001", + "publicNetworkAccess": "Enabled", + "resourceVersionPolicy": "versioned", "roleAssignments": [ { - "roleDefinitionIdOrName": "", - "principalType": "ServicePrincipal", "principalIds": [ "" - ] + ], + "principalType": "ServicePrincipal", + "roleDefinitionIdOrName": "" } ], - "resourceVersionPolicy": "versioned", - "corsAllowCredentials": false, - "importEnabled": false, - "name": "<>-az-fhir-x-001", - "publicNetworkAccess": "Enabled", - "corsMaxAge": 600, - "workspaceName": "<>hawcom001", - "diagnosticStorageAccountId": "", - "initialImportMode": false, + "smartProxyEnabled": false, "systemAssignedIdentity": true, - "location": "", - "corsMethods": [ - "GET" - ], - "kind": "fhir-R4", - "enableDefaultTelemetry": "", - "smartProxyEnabled": false + "userAssignedIdentities": { + "": {} + }, + "workspaceName": "<>hawcom001" } ] }, - "publicNetworkAccess": { - "value": "Enabled" - }, - "enableDefaultTelemetry": { - "value": "" - }, "location": { "value": "" }, "lock": { "value": "" + }, + "publicNetworkAccess": { + "value": "Enabled" } } } @@ -675,8 +675,8 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { name: '<>hawmin001' // Non-required parameters enableDefaultTelemetry: '' - publicNetworkAccess: 'Enabled' location: '' + publicNetworkAccess: 'Enabled' } } ``` @@ -701,11 +701,11 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { "enableDefaultTelemetry": { "value": "" }, - "publicNetworkAccess": { - "value": "Enabled" - }, "location": { "value": "" + }, + "publicNetworkAccess": { + "value": "Enabled" } } } From e3f2f364aa470e4c8f69bcad01f7c3e7945de065 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Thu, 9 Feb 2023 10:57:23 -0500 Subject: [PATCH 73/81] remove readme section --- .../workspaces/readme.md | 302 ------------------ 1 file changed, 302 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md index ed03082a5e..b9dd5e531e 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -411,305 +411,3 @@ tags: { ## Cross-referenced modules _None_ - -## Deployment examples - -The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder. - >**Note**: The name of each example is based on the name of the file from which it is taken. - - >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. - -

Example 1: Common

- -
- -via Bicep module - -```bicep -module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-test-hawcom' - params: { - // Required parameters - name: '<>hawcom001' - // Non-required parameters - dicomServices: [ - { - corsAllowCredentials: false - corsHeaders: [ - '*' - ] - corsMaxAge: 600 - corsMethods: [ - 'GET' - ] - corsOrigins: [ - '*' - ] - diagnosticEventHubAuthorizationRuleId: '' - diagnosticEventHubName: '' - diagnosticLogsRetentionInDays: 7 - diagnosticStorageAccountId: '' - diagnosticWorkspaceId: '' - enableDefaultTelemetry: '' - location: '' - name: '<>-az-dicom-x-001' - publicNetworkAccess: 'Enabled' - systemAssignedIdentity: true - userAssignedIdentities: { - '': {} - } - workspaceName: '<>hawcom001' - } - ] - enableDefaultTelemetry: '' - fhirServices: [ - { - corsAllowCredentials: false - corsHeaders: [ - '*' - ] - corsMaxAge: 600 - corsMethods: [ - 'GET' - ] - corsOrigins: [ - '*' - ] - diagnosticEventHubAuthorizationRuleId: '' - diagnosticEventHubName: '' - diagnosticLogsRetentionInDays: 7 - diagnosticStorageAccountId: '' - diagnosticWorkspaceId: '' - enableDefaultTelemetry: '' - importEnabled: false - initialImportMode: false - kind: 'fhir-R4' - location: '' - name: '<>-az-fhir-x-001' - publicNetworkAccess: 'Enabled' - resourceVersionPolicy: 'versioned' - roleAssignments: [ - { - principalIds: [ - '' - ] - principalType: 'ServicePrincipal' - roleDefinitionIdOrName: '' - } - ] - smartProxyEnabled: false - systemAssignedIdentity: true - userAssignedIdentities: { - '': {} - } - workspaceName: '<>hawcom001' - } - ] - location: '' - lock: '' - publicNetworkAccess: 'Enabled' - } -} -``` - -
-

- -

- -via JSON Parameter file - -```json -{ - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", - "contentVersion": "1.0.0.0", - "parameters": { - // Required parameters - "name": { - "value": "<>hawcom001" - }, - // Non-required parameters - "dicomServices": { - "value": [ - { - "corsAllowCredentials": false, - "corsHeaders": [ - "*" - ], - "corsMaxAge": 600, - "corsMethods": [ - "GET" - ], - "corsOrigins": [ - "*" - ], - "diagnosticEventHubAuthorizationRuleId": "", - "diagnosticEventHubName": "", - "diagnosticLogsRetentionInDays": 7, - "diagnosticStorageAccountId": "", - "diagnosticWorkspaceId": "", - "enableDefaultTelemetry": "", - "location": "", - "name": "<>-az-dicom-x-001", - "publicNetworkAccess": "Enabled", - "systemAssignedIdentity": true, - "userAssignedIdentities": { - "": {} - }, - "workspaceName": "<>hawcom001" - } - ] - }, - "enableDefaultTelemetry": { - "value": "" - }, - "fhirServices": { - "value": [ - { - "corsAllowCredentials": false, - "corsHeaders": [ - "*" - ], - "corsMaxAge": 600, - "corsMethods": [ - "GET" - ], - "corsOrigins": [ - "*" - ], - "diagnosticEventHubAuthorizationRuleId": "", - "diagnosticEventHubName": "", - "diagnosticLogsRetentionInDays": 7, - "diagnosticStorageAccountId": "", - "diagnosticWorkspaceId": "", - "enableDefaultTelemetry": "", - "importEnabled": false, - "initialImportMode": false, - "kind": "fhir-R4", - "location": "", - "name": "<>-az-fhir-x-001", - "publicNetworkAccess": "Enabled", - "resourceVersionPolicy": "versioned", - "roleAssignments": [ - { - "principalIds": [ - "" - ], - "principalType": "ServicePrincipal", - "roleDefinitionIdOrName": "" - } - ], - "smartProxyEnabled": false, - "systemAssignedIdentity": true, - "userAssignedIdentities": { - "": {} - }, - "workspaceName": "<>hawcom001" - } - ] - }, - "location": { - "value": "" - }, - "lock": { - "value": "" - }, - "publicNetworkAccess": { - "value": "Enabled" - } - } -} -``` - -
-

- -

Example 2: Common

- -
- -via Bicep module - -```bicep -module workspaces 'ts/modules:microsoft.healthcareapis.workspaces:1.0.0 = { - name: '${uniqueString(deployment().name)}-Workspaces' - params: { - serviceShort: 'hwcom2' - } -} -``` - -
-

- -

- -via JSON Parameter file - -```json -{ - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "serviceShort": { - "value": "hwcom2" - } - } -} -``` - -
-

- -

Example 3: Min

- -
- -via Bicep module - -```bicep -module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-test-hawmin' - params: { - // Required parameters - name: '<>hawmin001' - // Non-required parameters - enableDefaultTelemetry: '' - location: '' - publicNetworkAccess: 'Enabled' - } -} -``` - -
-

- -

- -via JSON Parameter file - -```json -{ - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", - "contentVersion": "1.0.0.0", - "parameters": { - // Required parameters - "name": { - "value": "<>hawmin001" - }, - // Non-required parameters - "enableDefaultTelemetry": { - "value": "" - }, - "location": { - "value": "" - }, - "publicNetworkAccess": { - "value": "Enabled" - } - } -} -``` - -
-

From 1f7d339f5ed4094f8cd285e516b48a5566f0387a Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Thu, 9 Feb 2023 10:58:01 -0500 Subject: [PATCH 74/81] update readme --- .../workspaces/readme.md | 265 ++++++++++++++++++ 1 file changed, 265 insertions(+) diff --git a/modules/Microsoft.HealthcareApis/workspaces/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md index b9dd5e531e..edd03a446d 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -411,3 +411,268 @@ tags: { ## Cross-referenced modules _None_ + +## Deployment examples + +The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder. + >**Note**: The name of each example is based on the name of the file from which it is taken. + + >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. + +

Example 1: Common

+ +
+ +via Bicep module + +```bicep +module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { + name: '${uniqueString(deployment().name)}-test-hawcom' + params: { + // Required parameters + name: '<>hawcom001' + // Non-required parameters + dicomServices: [ + { + corsAllowCredentials: false + corsHeaders: [ + '*' + ] + corsMaxAge: 600 + corsMethods: [ + 'GET' + ] + corsOrigins: [ + '*' + ] + diagnosticEventHubAuthorizationRuleId: '' + diagnosticEventHubName: '' + diagnosticLogsRetentionInDays: 7 + diagnosticStorageAccountId: '' + diagnosticWorkspaceId: '' + enableDefaultTelemetry: '' + location: '' + name: '<>-az-dicom-x-001' + publicNetworkAccess: 'Enabled' + systemAssignedIdentity: true + userAssignedIdentities: { + '': {} + } + workspaceName: '<>hawcom001' + } + ] + enableDefaultTelemetry: '' + fhirServices: [ + { + corsAllowCredentials: false + corsHeaders: [ + '*' + ] + corsMaxAge: 600 + corsMethods: [ + 'GET' + ] + corsOrigins: [ + '*' + ] + diagnosticEventHubAuthorizationRuleId: '' + diagnosticEventHubName: '' + diagnosticLogsRetentionInDays: 7 + diagnosticStorageAccountId: '' + diagnosticWorkspaceId: '' + enableDefaultTelemetry: '' + importEnabled: false + initialImportMode: false + kind: 'fhir-R4' + location: '' + name: '<>-az-fhir-x-001' + publicNetworkAccess: 'Enabled' + resourceVersionPolicy: 'versioned' + roleAssignments: [ + { + principalIds: [ + '' + ] + principalType: 'ServicePrincipal' + roleDefinitionIdOrName: '' + } + ] + smartProxyEnabled: false + systemAssignedIdentity: true + userAssignedIdentities: { + '': {} + } + workspaceName: '<>hawcom001' + } + ] + location: '' + lock: '' + publicNetworkAccess: 'Enabled' + } +} +``` + +
+

+ +

+ +via JSON Parameter file + +```json +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + // Required parameters + "name": { + "value": "<>hawcom001" + }, + // Non-required parameters + "dicomServices": { + "value": [ + { + "corsAllowCredentials": false, + "corsHeaders": [ + "*" + ], + "corsMaxAge": 600, + "corsMethods": [ + "GET" + ], + "corsOrigins": [ + "*" + ], + "diagnosticEventHubAuthorizationRuleId": "", + "diagnosticEventHubName": "", + "diagnosticLogsRetentionInDays": 7, + "diagnosticStorageAccountId": "", + "diagnosticWorkspaceId": "", + "enableDefaultTelemetry": "", + "location": "", + "name": "<>-az-dicom-x-001", + "publicNetworkAccess": "Enabled", + "systemAssignedIdentity": true, + "userAssignedIdentities": { + "": {} + }, + "workspaceName": "<>hawcom001" + } + ] + }, + "enableDefaultTelemetry": { + "value": "" + }, + "fhirServices": { + "value": [ + { + "corsAllowCredentials": false, + "corsHeaders": [ + "*" + ], + "corsMaxAge": 600, + "corsMethods": [ + "GET" + ], + "corsOrigins": [ + "*" + ], + "diagnosticEventHubAuthorizationRuleId": "", + "diagnosticEventHubName": "", + "diagnosticLogsRetentionInDays": 7, + "diagnosticStorageAccountId": "", + "diagnosticWorkspaceId": "", + "enableDefaultTelemetry": "", + "importEnabled": false, + "initialImportMode": false, + "kind": "fhir-R4", + "location": "", + "name": "<>-az-fhir-x-001", + "publicNetworkAccess": "Enabled", + "resourceVersionPolicy": "versioned", + "roleAssignments": [ + { + "principalIds": [ + "" + ], + "principalType": "ServicePrincipal", + "roleDefinitionIdOrName": "" + } + ], + "smartProxyEnabled": false, + "systemAssignedIdentity": true, + "userAssignedIdentities": { + "": {} + }, + "workspaceName": "<>hawcom001" + } + ] + }, + "location": { + "value": "" + }, + "lock": { + "value": "" + }, + "publicNetworkAccess": { + "value": "Enabled" + } + } +} +``` + +
+

+ +

Example 2: Min

+ +
+ +via Bicep module + +```bicep +module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { + name: '${uniqueString(deployment().name)}-test-hawmin' + params: { + // Required parameters + name: '<>hawmin001' + // Non-required parameters + enableDefaultTelemetry: '' + location: '' + publicNetworkAccess: 'Enabled' + } +} +``` + +
+

+ +

+ +via JSON Parameter file + +```json +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + // Required parameters + "name": { + "value": "<>hawmin001" + }, + // Non-required parameters + "enableDefaultTelemetry": { + "value": "" + }, + "location": { + "value": "" + }, + "publicNetworkAccess": { + "value": "Enabled" + } + } +} +``` + +
+

From da01e6111b45ed17d7c7a15bd789d49755441856 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Thu, 9 Feb 2023 11:17:05 -0500 Subject: [PATCH 75/81] fix test --- .../workspaces/.test/common/deploy.test.bicep | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep index 1ea7ea6a72..1f890480cd 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/.test/common/deploy.test.bicep @@ -85,7 +85,7 @@ module testDeployment '../../deploy.bicep' = { resourceVersionPolicy: 'versioned' smartProxyEnabled: false enableDefaultTelemetry: enableDefaultTelemetry - systemAssignedIdentity: true + systemAssignedIdentity: false importEnabled: false initialImportMode: false userAssignedIdentities: { @@ -119,7 +119,7 @@ module testDeployment '../../deploy.bicep' = { diagnosticEventHubName: diagnosticDependencies.outputs.eventHubNamespaceEventHubName publicNetworkAccess: 'Enabled' enableDefaultTelemetry: enableDefaultTelemetry - systemAssignedIdentity: true + systemAssignedIdentity: false userAssignedIdentities: { '${resourceGroupResources.outputs.managedIdentityResourceId}': {} } From 2bf46de7c4d6f8b8dc82ab90102b325a733e22c4 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Thu, 9 Feb 2023 11:30:02 -0500 Subject: [PATCH 76/81] update readme --- modules/Microsoft.HealthcareApis/workspaces/readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/readme.md b/modules/Microsoft.HealthcareApis/workspaces/readme.md index edd03a446d..a826bdd0cc 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/readme.md @@ -454,7 +454,7 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { location: '' name: '<>-az-dicom-x-001' publicNetworkAccess: 'Enabled' - systemAssignedIdentity: true + systemAssignedIdentity: false userAssignedIdentities: { '': {} } @@ -498,7 +498,7 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { } ] smartProxyEnabled: false - systemAssignedIdentity: true + systemAssignedIdentity: false userAssignedIdentities: { '': {} } @@ -552,7 +552,7 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { "location": "", "name": "<>-az-dicom-x-001", "publicNetworkAccess": "Enabled", - "systemAssignedIdentity": true, + "systemAssignedIdentity": false, "userAssignedIdentities": { "": {} }, @@ -600,7 +600,7 @@ module workspaces './Microsoft.HealthcareApis/workspaces/deploy.bicep' = { } ], "smartProxyEnabled": false, - "systemAssignedIdentity": true, + "systemAssignedIdentity": false, "userAssignedIdentities": { "": {} }, From 5645ee18e2177eedc14cf7fd11cacfec6506e9b3 Mon Sep 17 00:00:00 2001 From: CARMLPipelinePrincipal Date: Thu, 9 Feb 2023 17:03:47 +0000 Subject: [PATCH 77/81] Push updated Readme file(s) --- README.md | 265 +++++++++++---------- docs/wiki/The library - Module overview.md | 155 ++++++------ modules/README.md | 241 +++++++++---------- 3 files changed, 332 insertions(+), 329 deletions(-) diff --git a/README.md b/README.md index ac20196658..9d3aeb690a 100644 --- a/README.md +++ b/README.md @@ -18,143 +18,144 @@ The CI environment supports both ARM and Bicep and can be leveraged using GitHub | Name | Status | | - | - | -| [Action Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | [![Insights: ActionGroups](https://github.com/Azure/ResourceModules/workflows/Insights:%20ActionGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.actiongroups.yml) | -| [Activity Log Alerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | [![Insights: ActivityLogAlerts](https://github.com/Azure/ResourceModules/workflows/Insights:%20ActivityLogAlerts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.activitylogalerts.yml) | -| [Activity Logs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | [![Insights: DiagnosticSettings](https://github.com/Azure/ResourceModules/workflows/Insights:%20DiagnosticSettings/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.diagnosticsettings.yml) | -| [Analysis Services Servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | [![AnalysisServices: Servers](https://github.com/Azure/ResourceModules/workflows/AnalysisServices:%20Servers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.analysisservices.servers.yml) | -| [API Connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/connections) | [![Web: Connections](https://github.com/Azure/ResourceModules/workflows/Web:%20Connections/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.connections.yml) | -| [API Management Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | [![ApiManagement: Service](https://github.com/Azure/ResourceModules/workflows/ApiManagement:%20Service/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.apimanagement.service.yml) | -| [App Configuration](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | [![AppConfiguration: ConfigurationStores](https://github.com/Azure/ResourceModules/workflows/AppConfiguration:%20ConfigurationStores/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.appconfiguration.configurationstores.yml) | -| [App Service Environments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | [![Web: HostingEnvironments](https://github.com/Azure/ResourceModules/workflows/Web:%20HostingEnvironments/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.hostingenvironments.yml) | -| [App Service Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | [![Web: Serverfarms](https://github.com/Azure/ResourceModules/workflows/Web:%20Serverfarms/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.serverfarms.yml) | -| [Application Gateway WebApp Firewall Policies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | [![Network: ApplicationGatewayWebApplicationFirewallPolicies](https://github.com/Azure/ResourceModules/workflows/Network:%20ApplicationGatewayWebApplicationFirewallPolicies/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml) | -| [Application Insights](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/components) | [![Insights: Components](https://github.com/Azure/ResourceModules/workflows/Insights:%20Components/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.components.yml) | -| [Application Security Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | [![Network: ApplicationSecurityGroups](https://github.com/Azure/ResourceModules/workflows/Network:%20ApplicationSecurityGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.applicationsecuritygroups.yml) | -| [Authorization Locks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | [![Authorization: Locks](https://github.com/Azure/ResourceModules/workflows/Authorization:%20Locks/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.locks.yml) | -| [Automation Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | [![Automation: AutomationAccounts](https://github.com/Azure/ResourceModules/workflows/Automation:%20AutomationAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.automation.automationaccounts.yml) | -| [Availability Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | [![Compute: AvailabilitySets](https://github.com/Azure/ResourceModules/workflows/Compute:%20AvailabilitySets/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.availabilitysets.yml) | -| [AVD Application Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | [![DesktopVirtualization: ApplicationGroups](https://github.com/Azure/ResourceModules/workflows/DesktopVirtualization:%20ApplicationGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.desktopvirtualization.applicationgroups.yml) | -| [AVD Host Pools](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | [![DesktopVirtualization: HostPools](https://github.com/Azure/ResourceModules/workflows/DesktopVirtualization:%20HostPools/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.desktopvirtualization.hostpools.yml) | -| [AVD Scaling Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | [![DesktopVirtualization: Scalingplans](https://github.com/Azure/ResourceModules/workflows/DesktopVirtualization:%20Scalingplans/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.desktopvirtualization.scalingplans.yml) | -| [AVD Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | [![DesktopVirtualization: Workspaces](https://github.com/Azure/ResourceModules/workflows/DesktopVirtualization:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.desktopvirtualization.workspaces.yml) | -| [Azure Active Directory Domain Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | [![AAD: DomainServices](https://github.com/Azure/ResourceModules/workflows/AAD:%20DomainServices/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.aad.domainservices.yml) | -| [Azure Compute Galleries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | [![Compute: Galleries](https://github.com/Azure/ResourceModules/workflows/Compute:%20Galleries/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.galleries.yml) | -| [Azure Databricks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | [![Databricks: Workspaces](https://github.com/Azure/ResourceModules/workflows/Databricks:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.databricks.workspaces.yml) | -| [Azure Firewalls](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | [![Network: AzureFirewalls](https://github.com/Azure/ResourceModules/workflows/Network:%20AzureFirewalls/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.azurefirewalls.yml) | -| [Azure Health Bots](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | [![HealthBot: HealthBots](https://github.com/Azure/ResourceModules/workflows/HealthBot:%20HealthBots/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.healthbot.healthbots.yml) | -| [Azure Kubernetes Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | [![ContainerService: ManagedClusters](https://github.com/Azure/ResourceModules/workflows/ContainerService:%20ManagedClusters/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.containerservice.managedclusters.yml) | -| [Azure Monitor Private Link Scopes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | [![Insights: PrivateLinkScopes](https://github.com/Azure/ResourceModules/workflows/Insights:%20PrivateLinkScopes/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.privatelinkscopes.yml) | -| [Azure NetApp Files](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | [![NetApp: NetAppAccounts](https://github.com/Azure/ResourceModules/workflows/NetApp:%20NetAppAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.netapp.netappaccounts.yml) | -| [Azure Security Center](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | [![Security: AzureSecurityCenter](https://github.com/Azure/ResourceModules/workflows/Security:%20AzureSecurityCenter/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.security.azuresecuritycenter.yml) | -| [Azure Synapse Analytics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | [![Synapse: PrivateLinkHubs](https://github.com/Azure/ResourceModules/workflows/Synapse:%20PrivateLinkHubs/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.synapse.privatelinkhubs.yml) | -| [Bastion Hosts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | [![Network: BastionHosts](https://github.com/Azure/ResourceModules/workflows/Network:%20BastionHosts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.bastionhosts.yml) | -| [Batch Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | [![Batch: BatchAccounts](https://github.com/Azure/ResourceModules/workflows/Batch:%20BatchAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.batch.batchaccounts.yml) | -| [Budgets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | [![Consumption: Budgets](https://github.com/Azure/ResourceModules/workflows/Consumption:%20Budgets/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.consumption.budgets.yml) | -| [Cache Redis](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | [![Cache: Redis](https://github.com/Azure/ResourceModules/workflows/Cache:%20Redis/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.cache.redis.yml) | -| [CDN Profiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CDN/profiles) | [![CDN: Profiles](https://github.com/Azure/ResourceModules/workflows/CDN:%20Profiles/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.cdn.profiles.yml) | -| [Cognitive Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | [![CognitiveServices: Accounts](https://github.com/Azure/ResourceModules/workflows/CognitiveServices:%20Accounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.cognitiveservices.accounts.yml) | -| [Compute Disks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | [![Compute: Disks](https://github.com/Azure/ResourceModules/workflows/Compute:%20Disks/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.disks.yml) | -| [Container Instances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | [![ContainerInstance: ContainerGroups](https://github.com/Azure/ResourceModules/workflows/ContainerInstance:%20ContainerGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.containerinstance.containergroups.yml) | -| [Container Registries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | [![ContainerRegistry: Registries](https://github.com/Azure/ResourceModules/workflows/ContainerRegistry:%20Registries/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.containerregistry.registries.yml) | -| [Data Factories](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | [![DataFactory: Factories](https://github.com/Azure/ResourceModules/workflows/DataFactory:%20Factories/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.datafactory.factories.yml) | -| [DataCollectionEndpoints](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/dataCollectionEndpoints) | [![Insights: DataCollectionEndpoints](https://github.com/Azure/ResourceModules/workflows/Insights:%20DataCollectionEndpoints/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.datacollectionendpoints.yml) | -| [DataCollectionRules](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/dataCollectionRules) | [![Insights: DataCollectionRules](https://github.com/Azure/ResourceModules/workflows/Insights:%20DataCollectionRules/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.datacollectionrules.yml) | -| [DataProtection BackupVaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | [![DataProtection: BackupVaults](https://github.com/Azure/ResourceModules/workflows/DataProtection:%20BackupVaults/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.dataprotection.backupvaults.yml) | -| [DBforPostgreSQL FlexibleServers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | [![DbForPostgreSQL: FlexibleServers](https://github.com/Azure/ResourceModules/workflows/DbForPostgreSQL:%20FlexibleServers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.dbforpostgresql.flexibleservers.yml) | -| [DDoS Protection Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | [![Network: DdosProtectionPlans](https://github.com/Azure/ResourceModules/workflows/Network:%20DdosProtectionPlans/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.ddosprotectionplans.yml) | -| [Deployment Scripts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | [![Resources: DeploymentScripts](https://github.com/Azure/ResourceModules/workflows/Resources:%20DeploymentScripts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.resources.deploymentscripts.yml) | -| [DevTestLab Labs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DevTestLab/labs) | [![DevTestLab: Labs](https://github.com/Azure/ResourceModules/workflows/DevTestLab:%20Labs/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.devtestlab.labs.yml) | -| [Disk Encryption Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | [![Compute: DiskEncryptionSets](https://github.com/Azure/ResourceModules/workflows/Compute:%20DiskEncryptionSets/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.diskencryptionsets.yml) | -| [DocumentDB Database Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | [![DocumentDB: DatabaseAccounts](https://github.com/Azure/ResourceModules/workflows/DocumentDB:%20DatabaseAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.documentdb.databaseaccounts.yml) | -| [Event Grid System Topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | [![EventGrid: System Topics](https://github.com/Azure/ResourceModules/workflows/EventGrid:%20System%20Topics/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.eventgrid.systemtopics.yml) | -| [Event Grid Topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | [![EventGrid: Topics](https://github.com/Azure/ResourceModules/workflows/EventGrid:%20Topics/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.eventgrid.topics.yml) | -| [Event Hub Namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | [![EventHub: Namespaces](https://github.com/Azure/ResourceModules/workflows/EventHub:%20Namespaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.eventhub.namespaces.yml) | -| [EventGrid Domains](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/domains) | [![EventGrid: Domains](https://github.com/Azure/ResourceModules/workflows/EventGrid:%20Domains/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.eventgrid.domains.yml) | -| [EventGrid EventSubscriptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/eventSubscriptions) | [![EventGrid: Event Subscriptions](https://github.com/Azure/ResourceModules/workflows/EventGrid:%20Event%20Subscriptions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.eventgrid.eventsubscriptions.yml) | -| [ExpressRoute Circuits](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | [![Network: ExpressRouteCircuits](https://github.com/Azure/ResourceModules/workflows/Network:%20ExpressRouteCircuits/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.expressroutecircuits.yml) | -| [Firewall Policies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | [![Network: FirewallPolicies](https://github.com/Azure/ResourceModules/workflows/Network:%20FirewallPolicies/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.firewallpolicies.yml) | -| [Front Doors](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | [![Network: Frontdoors](https://github.com/Azure/ResourceModules/workflows/Network:%20Frontdoors/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.frontdoors.yml) | -| [Image Templates](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | [![VirtualMachineImages: ImageTemplates](https://github.com/Azure/ResourceModules/workflows/VirtualMachineImages:%20ImageTemplates/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.virtualmachineimages.imagetemplates.yml) | -| [Images](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/images) | [![Compute: Images](https://github.com/Azure/ResourceModules/workflows/Compute:%20Images/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.images.yml) | -| [IP Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | [![Network: IpGroups](https://github.com/Azure/ResourceModules/workflows/Network:%20IpGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.ipgroups.yml) | -| [Key Vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | [![KeyVault: Vaults](https://github.com/Azure/ResourceModules/workflows/KeyVault:%20Vaults/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.keyvault.vaults.yml) | -| [Kubernetes Configuration Extensions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | [![KubernetesConfiguration: Extensions](https://github.com/Azure/ResourceModules/workflows/KubernetesConfiguration:%20Extensions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.kubernetesconfiguration.extensions.yml) | -| [Kubernetes Configuration Flux Configurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | [![KubernetesConfiguration: FluxConfigurations](https://github.com/Azure/ResourceModules/workflows/KubernetesConfiguration:%20FluxConfigurations/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.kubernetesconfiguration.fluxconfigurations.yml) | -| [Load Balancers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | [![Network: LoadBalancers](https://github.com/Azure/ResourceModules/workflows/Network:%20LoadBalancers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.loadbalancers.yml) | -| [Local Network Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | [![Network: LocalNetworkGateways](https://github.com/Azure/ResourceModules/workflows/Network:%20LocalNetworkGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.localnetworkgateways.yml) | -| [Log Analytics Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | [![OperationalInsights: Workspaces](https://github.com/Azure/ResourceModules/workflows/OperationalInsights:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.operationalinsights.workspaces.yml) | -| [Logic Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | [![Logic: Workflows](https://github.com/Azure/ResourceModules/workflows/Logic:%20Workflows/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.logic.workflows.yml) | -| [Machine Learning Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | [![MachineLearningServices: Workspaces](https://github.com/Azure/ResourceModules/workflows/MachineLearningServices:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.machinelearningservices.workspaces.yml) | -| [Maintenance Configurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | [![Maintenance: MaintenanceConfigurations](https://github.com/Azure/ResourceModules/workflows/Maintenance:%20MaintenanceConfigurations/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.maintenance.maintenanceconfigurations.yml) | -| [Management Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | [![Management: ManagementGroups](https://github.com/Azure/ResourceModules/workflows/Management:%20ManagementGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.management.managementgroups.yml) | -| [Metric Alerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | [![Insights: MetricAlerts](https://github.com/Azure/ResourceModules/workflows/Insights:%20MetricAlerts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.metricalerts.yml) | -| [NAT Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | [![Network: NatGateways](https://github.com/Azure/ResourceModules/workflows/Network:%20NatGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.natgateways.yml) | -| [Network Application Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | [![Network: ApplicationGateways](https://github.com/Azure/ResourceModules/workflows/Network:%20ApplicationGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.applicationgateways.yml) | -| [Network DnsResolvers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | [![Network: DNS Resolvers](https://github.com/Azure/ResourceModules/workflows/Network:%20DNS%20Resolvers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.dnsresolvers.yml) | -| [Network Interface](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | [![Network: NetworkInterfaces](https://github.com/Azure/ResourceModules/workflows/Network:%20NetworkInterfaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.networkinterfaces.yml) | -| [Network NetworkManagers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkManagers) | [![Network: Network Managers](https://github.com/Azure/ResourceModules/workflows/Network:%20Network%20Managers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.networkmanagers.yml) | -| [Network PrivateLinkServices](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | [![Network: PrivateLinkServices](https://github.com/Azure/ResourceModules/workflows/Network:%20PrivateLinkServices/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.privatelinkservices.yml) | -| [Network Security Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | [![Network: NetworkSecurityGroups](https://github.com/Azure/ResourceModules/workflows/Network:%20NetworkSecurityGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.networksecuritygroups.yml) | -| [Network Watchers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | [![Network: NetworkWatchers](https://github.com/Azure/ResourceModules/workflows/Network:%20NetworkWatchers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.networkwatchers.yml) | -| [OperationsManagement Solutions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | [![OperationsManagement: Solutions](https://github.com/Azure/ResourceModules/workflows/OperationsManagement:%20Solutions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.operationsmanagement.solutions.yml) | -| [Policy Assignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | [![Authorization: PolicyAssignments](https://github.com/Azure/ResourceModules/workflows/Authorization:%20PolicyAssignments/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.policyassignments.yml) | -| [Policy Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | [![Authorization: PolicyDefinitions](https://github.com/Azure/ResourceModules/workflows/Authorization:%20PolicyDefinitions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.policydefinitions.yml) | -| [Policy Exemptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | [![Authorization: PolicyExemptions](https://github.com/Azure/ResourceModules/workflows/Authorization:%20PolicyExemptions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.policyexemptions.yml) | -| [Policy Set Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | [![Authorization: PolicySetDefinitions](https://github.com/Azure/ResourceModules/workflows/Authorization:%20PolicySetDefinitions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.policysetdefinitions.yml) | -| [PolicyInsights Remediations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PolicyInsights/remediations) | [![Policy Insights: Remediations](https://github.com/Azure/ResourceModules/workflows/Policy%20Insights:%20Remediations/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.policyinsights.remediations.yml) | -| [PowerBIDedicated Capacities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | [![PowerBiDedicated: Capacities](https://github.com/Azure/ResourceModules/workflows/PowerBiDedicated:%20Capacities/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.powerbidedicated.capacities.yml) | -| [Private DNS Zones](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | [![Network: PrivateDnsZones](https://github.com/Azure/ResourceModules/workflows/Network:%20PrivateDnsZones/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.privatednszones.yml) | -| [Private Endpoints](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | [![Network: PrivateEndpoints](https://github.com/Azure/ResourceModules/workflows/Network:%20PrivateEndpoints/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.privateendpoints.yml) | -| [Proximity Placement Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | [![Compute: ProximityPlacementGroups](https://github.com/Azure/ResourceModules/workflows/Compute:%20ProximityPlacementGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.proximityplacementgroups.yml) | -| [Public IP Addresses](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | [![Network: PublicIpAddresses](https://github.com/Azure/ResourceModules/workflows/Network:%20PublicIpAddresses/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.publicipaddresses.yml) | -| [Public IP Prefixes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | [![Network: PublicIpPrefixes](https://github.com/Azure/ResourceModules/workflows/Network:%20PublicIpPrefixes/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.publicipprefixes.yml) | -| [Purview Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Purview/accounts) | [![Purview: Accounts](https://github.com/Azure/ResourceModules/workflows/Purview:%20Accounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.purview.accounts.yml) | -| [Recovery Services Vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | [![RecoveryServices: Vaults](https://github.com/Azure/ResourceModules/workflows/RecoveryServices:%20Vaults/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.recoveryservices.vaults.yml) | -| [Registration Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | [![ManagedServices: RegistrationDefinitions](https://github.com/Azure/ResourceModules/workflows/ManagedServices:%20RegistrationDefinitions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.managedservices.registrationdefinitions.yml) | -| [Resource Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | [![Resources: ResourceGroups](https://github.com/Azure/ResourceModules/workflows/Resources:%20ResourceGroups/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.resources.resourcegroups.yml) | -| [Resources Tags](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | [![Resources: Tags](https://github.com/Azure/ResourceModules/workflows/Resources:%20Tags/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.resources.tags.yml) | -| [Role Assignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | [![Authorization: RoleAssignments](https://github.com/Azure/ResourceModules/workflows/Authorization:%20RoleAssignments/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.roleassignments.yml) | -| [Role Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | [![Authorization: RoleDefinitions](https://github.com/Azure/ResourceModules/workflows/Authorization:%20RoleDefinitions/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.authorization.roledefinitions.yml) | -| [Route Tables](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | [![Network: RouteTables](https://github.com/Azure/ResourceModules/workflows/Network:%20RouteTables/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.routetables.yml) | -| [Scheduled Query Rules](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | [![Insights: ScheduledQueryRules](https://github.com/Azure/ResourceModules/workflows/Insights:%20ScheduledQueryRules/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.insights.scheduledqueryrules.yml) | -| [Service Bus Namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | [![ServiceBus: Namespaces](https://github.com/Azure/ResourceModules/workflows/ServiceBus:%20Namespaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.servicebus.namespaces.yml) | -| [Service Fabric Clusters](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | [![Service Fabric: Clusters](https://github.com/Azure/ResourceModules/workflows/Service%20Fabric:%20Clusters/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.servicefabric.clusters.yml) | -| [SignalRService SignalR](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/signalR) | [![SignalR Service: SignalR](https://github.com/Azure/ResourceModules/workflows/SignalR%20Service:%20SignalR/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.signalrservice.signalr.yml) | -| [SQL Managed Instances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | [![Sql: ManagedInstances](https://github.com/Azure/ResourceModules/workflows/Sql:%20ManagedInstances/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.sql.managedinstances.yml) | -| [SQL Servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | [![Sql: Servers](https://github.com/Azure/ResourceModules/workflows/Sql:%20Servers/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.sql.servers.yml) | -| [Static Web Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | [![Web: StaticSites](https://github.com/Azure/ResourceModules/workflows/Web:%20StaticSites/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.staticsites.yml) | -| [Storage Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | [![Storage: StorageAccounts](https://github.com/Azure/ResourceModules/workflows/Storage:%20StorageAccounts/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.storage.storageaccounts.yml) | -| [Synapse Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | [![Synapse: Workspaces](https://github.com/Azure/ResourceModules/workflows/Synapse:%20Workspaces/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.synapse.workspaces.yml) | -| [Traffic Manager Profiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | [![Network: TrafficManagerProfiles](https://github.com/Azure/ResourceModules/workflows/Network:%20TrafficManagerProfiles/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.trafficmanagerprofiles.yml) | -| [User Assigned Identities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | [![ManagedIdentity: UserAssignedIdentities](https://github.com/Azure/ResourceModules/workflows/ManagedIdentity:%20UserAssignedIdentities/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.managedidentity.userassignedidentities.yml) | -| [Virtual Hubs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | [![Network: VirtualHubs](https://github.com/Azure/ResourceModules/workflows/Network:%20VirtualHubs/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.virtualhubs.yml) | -| [Virtual Machine Scale Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | [![Compute: VirtualMachineScaleSets](https://github.com/Azure/ResourceModules/workflows/Compute:%20VirtualMachineScaleSets/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.virtualmachinescalesets.yml) | -| [Virtual Machines](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | [![Compute: VirtualMachines](https://github.com/Azure/ResourceModules/workflows/Compute:%20VirtualMachines/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.compute.virtualmachines.yml) | -| [Virtual Network Gateway Connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/connections) | [![Network: Connections](https://github.com/Azure/ResourceModules/workflows/Network:%20Connections/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.connections.yml) | -| [Virtual Network Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | [![Network: VirtualNetworkGateways](https://github.com/Azure/ResourceModules/workflows/Network:%20VirtualNetworkGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.virtualnetworkgateways.yml) | -| [Virtual Networks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | [![Network: VirtualNetworks](https://github.com/Azure/ResourceModules/workflows/Network:%20VirtualNetworks/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.virtualnetworks.yml) | -| [Virtual WANs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | [![Network: VirtualWans](https://github.com/Azure/ResourceModules/workflows/Network:%20VirtualWans/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.virtualwans.yml) | -| [VPN Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | [![Network: VPNGateways](https://github.com/Azure/ResourceModules/workflows/Network:%20VPNGateways/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.vpngateways.yml) | -| [VPN Sites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | [![Network: VPN Sites](https://github.com/Azure/ResourceModules/workflows/Network:%20VPN%20Sites/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.network.vpnsites.yml) | -| [Web PubSub Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | [![SignalR Service: Web PubSub](https://github.com/Azure/ResourceModules/workflows/SignalR%20Service:%20Web%20PubSub/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.signalrservice.webpubsub.yml) | -| [Web/Function Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/sites) | [![Web: Sites](https://github.com/Azure/ResourceModules/workflows/Web:%20Sites/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/ms.web.sites.yml) | +| [Action Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | [![Insights: ActionGroups](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20ActionGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.actiongroups.yml) | +| [Activity Log Alerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | [![Insights: ActivityLogAlerts](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20ActivityLogAlerts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.activitylogalerts.yml) | +| [Activity Logs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | [![Insights: DiagnosticSettings](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20DiagnosticSettings/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.diagnosticsettings.yml) | +| [Analysis Services Servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | [![AnalysisServices: Servers](https://github.com/lapellaniz/ResourceModules/workflows/AnalysisServices:%20Servers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.analysisservices.servers.yml) | +| [API Connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/connections) | [![Web: Connections](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20Connections/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.connections.yml) | +| [API Management Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | [![ApiManagement: Service](https://github.com/lapellaniz/ResourceModules/workflows/ApiManagement:%20Service/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.apimanagement.service.yml) | +| [App Configuration](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | [![AppConfiguration: ConfigurationStores](https://github.com/lapellaniz/ResourceModules/workflows/AppConfiguration:%20ConfigurationStores/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.appconfiguration.configurationstores.yml) | +| [App Service Environments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | [![Web: HostingEnvironments](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20HostingEnvironments/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.hostingenvironments.yml) | +| [App Service Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | [![Web: Serverfarms](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20Serverfarms/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.serverfarms.yml) | +| [Application Gateway WebApp Firewall Policies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | [![Network: ApplicationGatewayWebApplicationFirewallPolicies](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20ApplicationGatewayWebApplicationFirewallPolicies/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml) | +| [Application Insights](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/components) | [![Insights: Components](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20Components/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.components.yml) | +| [Application Security Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | [![Network: ApplicationSecurityGroups](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20ApplicationSecurityGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.applicationsecuritygroups.yml) | +| [Authorization Locks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | [![Authorization: Locks](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20Locks/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.locks.yml) | +| [Automation Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | [![Automation: AutomationAccounts](https://github.com/lapellaniz/ResourceModules/workflows/Automation:%20AutomationAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.automation.automationaccounts.yml) | +| [Availability Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | [![Compute: AvailabilitySets](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20AvailabilitySets/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.availabilitysets.yml) | +| [AVD Application Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | [![DesktopVirtualization: ApplicationGroups](https://github.com/lapellaniz/ResourceModules/workflows/DesktopVirtualization:%20ApplicationGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.desktopvirtualization.applicationgroups.yml) | +| [AVD Host Pools](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | [![DesktopVirtualization: HostPools](https://github.com/lapellaniz/ResourceModules/workflows/DesktopVirtualization:%20HostPools/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.desktopvirtualization.hostpools.yml) | +| [AVD Scaling Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | [![DesktopVirtualization: Scalingplans](https://github.com/lapellaniz/ResourceModules/workflows/DesktopVirtualization:%20Scalingplans/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.desktopvirtualization.scalingplans.yml) | +| [AVD Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | [![DesktopVirtualization: Workspaces](https://github.com/lapellaniz/ResourceModules/workflows/DesktopVirtualization:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.desktopvirtualization.workspaces.yml) | +| [Azure Active Directory Domain Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | [![AAD: DomainServices](https://github.com/lapellaniz/ResourceModules/workflows/AAD:%20DomainServices/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.aad.domainservices.yml) | +| [Azure Compute Galleries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | [![Compute: Galleries](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20Galleries/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.galleries.yml) | +| [Azure Databricks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | [![Databricks: Workspaces](https://github.com/lapellaniz/ResourceModules/workflows/Databricks:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.databricks.workspaces.yml) | +| [Azure Firewalls](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | [![Network: AzureFirewalls](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20AzureFirewalls/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.azurefirewalls.yml) | +| [Azure Health Bots](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | [![HealthBot: HealthBots](https://github.com/lapellaniz/ResourceModules/workflows/HealthBot:%20HealthBots/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.healthbot.healthbots.yml) | +| [Azure Kubernetes Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | [![ContainerService: ManagedClusters](https://github.com/lapellaniz/ResourceModules/workflows/ContainerService:%20ManagedClusters/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.containerservice.managedclusters.yml) | +| [Azure Monitor Private Link Scopes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | [![Insights: PrivateLinkScopes](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20PrivateLinkScopes/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.privatelinkscopes.yml) | +| [Azure NetApp Files](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | [![NetApp: NetAppAccounts](https://github.com/lapellaniz/ResourceModules/workflows/NetApp:%20NetAppAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.netapp.netappaccounts.yml) | +| [Azure Security Center](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | [![Security: AzureSecurityCenter](https://github.com/lapellaniz/ResourceModules/workflows/Security:%20AzureSecurityCenter/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.security.azuresecuritycenter.yml) | +| [Azure Synapse Analytics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | [![Synapse: PrivateLinkHubs](https://github.com/lapellaniz/ResourceModules/workflows/Synapse:%20PrivateLinkHubs/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.synapse.privatelinkhubs.yml) | +| [Bastion Hosts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | [![Network: BastionHosts](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20BastionHosts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.bastionhosts.yml) | +| [Batch Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | [![Batch: BatchAccounts](https://github.com/lapellaniz/ResourceModules/workflows/Batch:%20BatchAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.batch.batchaccounts.yml) | +| [Budgets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | [![Consumption: Budgets](https://github.com/lapellaniz/ResourceModules/workflows/Consumption:%20Budgets/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.consumption.budgets.yml) | +| [Cache Redis](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | [![Cache: Redis](https://github.com/lapellaniz/ResourceModules/workflows/Cache:%20Redis/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.cache.redis.yml) | +| [CDN Profiles](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.CDN/profiles) | [![CDN: Profiles](https://github.com/lapellaniz/ResourceModules/workflows/CDN:%20Profiles/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.cdn.profiles.yml) | +| [Cognitive Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | [![CognitiveServices: Accounts](https://github.com/lapellaniz/ResourceModules/workflows/CognitiveServices:%20Accounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.cognitiveservices.accounts.yml) | +| [Compute Disks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | [![Compute: Disks](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20Disks/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.disks.yml) | +| [Container Instances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | [![ContainerInstance: ContainerGroups](https://github.com/lapellaniz/ResourceModules/workflows/ContainerInstance:%20ContainerGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.containerinstance.containergroups.yml) | +| [Container Registries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | [![ContainerRegistry: Registries](https://github.com/lapellaniz/ResourceModules/workflows/ContainerRegistry:%20Registries/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.containerregistry.registries.yml) | +| [Data Factories](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | [![DataFactory: Factories](https://github.com/lapellaniz/ResourceModules/workflows/DataFactory:%20Factories/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.datafactory.factories.yml) | +| [DataCollectionEndpoints](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/dataCollectionEndpoints) | [![Insights: DataCollectionEndpoints](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20DataCollectionEndpoints/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.datacollectionendpoints.yml) | +| [DataCollectionRules](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/dataCollectionRules) | [![Insights: DataCollectionRules](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20DataCollectionRules/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.datacollectionrules.yml) | +| [DataProtection BackupVaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | [![DataProtection: BackupVaults](https://github.com/lapellaniz/ResourceModules/workflows/DataProtection:%20BackupVaults/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.dataprotection.backupvaults.yml) | +| [DBforPostgreSQL FlexibleServers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | [![DbForPostgreSQL: FlexibleServers](https://github.com/lapellaniz/ResourceModules/workflows/DbForPostgreSQL:%20FlexibleServers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.dbforpostgresql.flexibleservers.yml) | +| [DDoS Protection Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | [![Network: DdosProtectionPlans](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20DdosProtectionPlans/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.ddosprotectionplans.yml) | +| [Deployment Scripts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | [![Resources: DeploymentScripts](https://github.com/lapellaniz/ResourceModules/workflows/Resources:%20DeploymentScripts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.resources.deploymentscripts.yml) | +| [DevTestLab Labs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DevTestLab/labs) | [![DevTestLab: Labs](https://github.com/lapellaniz/ResourceModules/workflows/DevTestLab:%20Labs/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.devtestlab.labs.yml) | +| [Disk Encryption Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | [![Compute: DiskEncryptionSets](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20DiskEncryptionSets/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.diskencryptionsets.yml) | +| [DocumentDB Database Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | [![DocumentDB: DatabaseAccounts](https://github.com/lapellaniz/ResourceModules/workflows/DocumentDB:%20DatabaseAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.documentdb.databaseaccounts.yml) | +| [Event Grid System Topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | [![EventGrid: System Topics](https://github.com/lapellaniz/ResourceModules/workflows/EventGrid:%20System%20Topics/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.eventgrid.systemtopics.yml) | +| [Event Grid Topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | [![EventGrid: Topics](https://github.com/lapellaniz/ResourceModules/workflows/EventGrid:%20Topics/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.eventgrid.topics.yml) | +| [Event Hub Namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | [![EventHub: Namespaces](https://github.com/lapellaniz/ResourceModules/workflows/EventHub:%20Namespaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.eventhub.namespaces.yml) | +| [EventGrid Domains](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/domains) | [![EventGrid: Domains](https://github.com/lapellaniz/ResourceModules/workflows/EventGrid:%20Domains/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.eventgrid.domains.yml) | +| [EventGrid EventSubscriptions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/eventSubscriptions) | [![EventGrid: Event Subscriptions](https://github.com/lapellaniz/ResourceModules/workflows/EventGrid:%20Event%20Subscriptions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.eventgrid.eventsubscriptions.yml) | +| [ExpressRoute Circuits](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | [![Network: ExpressRouteCircuits](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20ExpressRouteCircuits/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.expressroutecircuits.yml) | +| [Firewall Policies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | [![Network: FirewallPolicies](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20FirewallPolicies/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.firewallpolicies.yml) | +| [Front Doors](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | [![Network: Frontdoors](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20Frontdoors/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.frontdoors.yml) | +| [HealthcareApis Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthcareApis/workspaces) | [![HealthcareApis: Workspaces](https://github.com/lapellaniz/ResourceModules/workflows/HealthcareApis:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.healthcareapis.workspaces.yml) | +| [Image Templates](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | [![VirtualMachineImages: ImageTemplates](https://github.com/lapellaniz/ResourceModules/workflows/VirtualMachineImages:%20ImageTemplates/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.virtualmachineimages.imagetemplates.yml) | +| [Images](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/images) | [![Compute: Images](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20Images/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.images.yml) | +| [IP Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | [![Network: IpGroups](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20IpGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.ipgroups.yml) | +| [Key Vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | [![KeyVault: Vaults](https://github.com/lapellaniz/ResourceModules/workflows/KeyVault:%20Vaults/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.keyvault.vaults.yml) | +| [Kubernetes Configuration Extensions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | [![KubernetesConfiguration: Extensions](https://github.com/lapellaniz/ResourceModules/workflows/KubernetesConfiguration:%20Extensions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.kubernetesconfiguration.extensions.yml) | +| [Kubernetes Configuration Flux Configurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | [![KubernetesConfiguration: FluxConfigurations](https://github.com/lapellaniz/ResourceModules/workflows/KubernetesConfiguration:%20FluxConfigurations/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.kubernetesconfiguration.fluxconfigurations.yml) | +| [Load Balancers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | [![Network: LoadBalancers](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20LoadBalancers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.loadbalancers.yml) | +| [Local Network Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | [![Network: LocalNetworkGateways](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20LocalNetworkGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.localnetworkgateways.yml) | +| [Log Analytics Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | [![OperationalInsights: Workspaces](https://github.com/lapellaniz/ResourceModules/workflows/OperationalInsights:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.operationalinsights.workspaces.yml) | +| [Logic Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | [![Logic: Workflows](https://github.com/lapellaniz/ResourceModules/workflows/Logic:%20Workflows/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.logic.workflows.yml) | +| [Machine Learning Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | [![MachineLearningServices: Workspaces](https://github.com/lapellaniz/ResourceModules/workflows/MachineLearningServices:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.machinelearningservices.workspaces.yml) | +| [Maintenance Configurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | [![Maintenance: MaintenanceConfigurations](https://github.com/lapellaniz/ResourceModules/workflows/Maintenance:%20MaintenanceConfigurations/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.maintenance.maintenanceconfigurations.yml) | +| [Management Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | [![Management: ManagementGroups](https://github.com/lapellaniz/ResourceModules/workflows/Management:%20ManagementGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.management.managementgroups.yml) | +| [Metric Alerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | [![Insights: MetricAlerts](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20MetricAlerts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.metricalerts.yml) | +| [NAT Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | [![Network: NatGateways](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20NatGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.natgateways.yml) | +| [Network Application Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | [![Network: ApplicationGateways](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20ApplicationGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.applicationgateways.yml) | +| [Network DnsResolvers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | [![Network: DNS Resolvers](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20DNS%20Resolvers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.dnsresolvers.yml) | +| [Network Interface](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | [![Network: NetworkInterfaces](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20NetworkInterfaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.networkinterfaces.yml) | +| [Network NetworkManagers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkManagers) | [![Network: Network Managers](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20Network%20Managers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.networkmanagers.yml) | +| [Network PrivateLinkServices](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | [![Network: PrivateLinkServices](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PrivateLinkServices/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.privatelinkservices.yml) | +| [Network Security Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | [![Network: NetworkSecurityGroups](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20NetworkSecurityGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.networksecuritygroups.yml) | +| [Network Watchers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | [![Network: NetworkWatchers](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20NetworkWatchers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.networkwatchers.yml) | +| [OperationsManagement Solutions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | [![OperationsManagement: Solutions](https://github.com/lapellaniz/ResourceModules/workflows/OperationsManagement:%20Solutions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.operationsmanagement.solutions.yml) | +| [Policy Assignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | [![Authorization: PolicyAssignments](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20PolicyAssignments/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.policyassignments.yml) | +| [Policy Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | [![Authorization: PolicyDefinitions](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20PolicyDefinitions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.policydefinitions.yml) | +| [Policy Exemptions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | [![Authorization: PolicyExemptions](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20PolicyExemptions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.policyexemptions.yml) | +| [Policy Set Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | [![Authorization: PolicySetDefinitions](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20PolicySetDefinitions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.policysetdefinitions.yml) | +| [PolicyInsights Remediations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.PolicyInsights/remediations) | [![Policy Insights: Remediations](https://github.com/lapellaniz/ResourceModules/workflows/Policy%20Insights:%20Remediations/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.policyinsights.remediations.yml) | +| [PowerBIDedicated Capacities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | [![PowerBiDedicated: Capacities](https://github.com/lapellaniz/ResourceModules/workflows/PowerBiDedicated:%20Capacities/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.powerbidedicated.capacities.yml) | +| [Private DNS Zones](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | [![Network: PrivateDnsZones](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PrivateDnsZones/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.privatednszones.yml) | +| [Private Endpoints](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | [![Network: PrivateEndpoints](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PrivateEndpoints/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.privateendpoints.yml) | +| [Proximity Placement Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | [![Compute: ProximityPlacementGroups](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20ProximityPlacementGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.proximityplacementgroups.yml) | +| [Public IP Addresses](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | [![Network: PublicIpAddresses](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PublicIpAddresses/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.publicipaddresses.yml) | +| [Public IP Prefixes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | [![Network: PublicIpPrefixes](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20PublicIpPrefixes/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.publicipprefixes.yml) | +| [Purview Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Purview/accounts) | [![Purview: Accounts](https://github.com/lapellaniz/ResourceModules/workflows/Purview:%20Accounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.purview.accounts.yml) | +| [Recovery Services Vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | [![RecoveryServices: Vaults](https://github.com/lapellaniz/ResourceModules/workflows/RecoveryServices:%20Vaults/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.recoveryservices.vaults.yml) | +| [Registration Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | [![ManagedServices: RegistrationDefinitions](https://github.com/lapellaniz/ResourceModules/workflows/ManagedServices:%20RegistrationDefinitions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.managedservices.registrationdefinitions.yml) | +| [Resource Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | [![Resources: ResourceGroups](https://github.com/lapellaniz/ResourceModules/workflows/Resources:%20ResourceGroups/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.resources.resourcegroups.yml) | +| [Resources Tags](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | [![Resources: Tags](https://github.com/lapellaniz/ResourceModules/workflows/Resources:%20Tags/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.resources.tags.yml) | +| [Role Assignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | [![Authorization: RoleAssignments](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20RoleAssignments/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.roleassignments.yml) | +| [Role Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | [![Authorization: RoleDefinitions](https://github.com/lapellaniz/ResourceModules/workflows/Authorization:%20RoleDefinitions/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.authorization.roledefinitions.yml) | +| [Route Tables](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | [![Network: RouteTables](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20RouteTables/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.routetables.yml) | +| [Scheduled Query Rules](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | [![Insights: ScheduledQueryRules](https://github.com/lapellaniz/ResourceModules/workflows/Insights:%20ScheduledQueryRules/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.insights.scheduledqueryrules.yml) | +| [Service Bus Namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | [![ServiceBus: Namespaces](https://github.com/lapellaniz/ResourceModules/workflows/ServiceBus:%20Namespaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.servicebus.namespaces.yml) | +| [Service Fabric Clusters](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | [![Service Fabric: Clusters](https://github.com/lapellaniz/ResourceModules/workflows/Service%20Fabric:%20Clusters/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.servicefabric.clusters.yml) | +| [SignalRService SignalR](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.SignalRService/signalR) | [![SignalR Service: SignalR](https://github.com/lapellaniz/ResourceModules/workflows/SignalR%20Service:%20SignalR/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.signalrservice.signalr.yml) | +| [SQL Managed Instances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | [![Sql: ManagedInstances](https://github.com/lapellaniz/ResourceModules/workflows/Sql:%20ManagedInstances/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.sql.managedinstances.yml) | +| [SQL Servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | [![Sql: Servers](https://github.com/lapellaniz/ResourceModules/workflows/Sql:%20Servers/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.sql.servers.yml) | +| [Static Web Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | [![Web: StaticSites](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20StaticSites/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.staticsites.yml) | +| [Storage Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | [![Storage: StorageAccounts](https://github.com/lapellaniz/ResourceModules/workflows/Storage:%20StorageAccounts/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.storage.storageaccounts.yml) | +| [Synapse Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | [![Synapse: Workspaces](https://github.com/lapellaniz/ResourceModules/workflows/Synapse:%20Workspaces/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.synapse.workspaces.yml) | +| [Traffic Manager Profiles](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | [![Network: TrafficManagerProfiles](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20TrafficManagerProfiles/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.trafficmanagerprofiles.yml) | +| [User Assigned Identities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | [![ManagedIdentity: UserAssignedIdentities](https://github.com/lapellaniz/ResourceModules/workflows/ManagedIdentity:%20UserAssignedIdentities/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.managedidentity.userassignedidentities.yml) | +| [Virtual Hubs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | [![Network: VirtualHubs](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VirtualHubs/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.virtualhubs.yml) | +| [Virtual Machine Scale Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | [![Compute: VirtualMachineScaleSets](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20VirtualMachineScaleSets/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.virtualmachinescalesets.yml) | +| [Virtual Machines](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | [![Compute: VirtualMachines](https://github.com/lapellaniz/ResourceModules/workflows/Compute:%20VirtualMachines/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.compute.virtualmachines.yml) | +| [Virtual Network Gateway Connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/connections) | [![Network: Connections](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20Connections/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.connections.yml) | +| [Virtual Network Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | [![Network: VirtualNetworkGateways](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VirtualNetworkGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.virtualnetworkgateways.yml) | +| [Virtual Networks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | [![Network: VirtualNetworks](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VirtualNetworks/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.virtualnetworks.yml) | +| [Virtual WANs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | [![Network: VirtualWans](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VirtualWans/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.virtualwans.yml) | +| [VPN Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | [![Network: VPNGateways](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VPNGateways/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.vpngateways.yml) | +| [VPN Sites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | [![Network: VPN Sites](https://github.com/lapellaniz/ResourceModules/workflows/Network:%20VPN%20Sites/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.network.vpnsites.yml) | +| [Web PubSub Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | [![SignalR Service: Web PubSub](https://github.com/lapellaniz/ResourceModules/workflows/SignalR%20Service:%20Web%20PubSub/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.signalrservice.webpubsub.yml) | +| [Web/Function Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/sites) | [![Web: Sites](https://github.com/lapellaniz/ResourceModules/workflows/Web:%20Sites/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/ms.web.sites.yml) | ## Platform | Name | Status | | - | - | -| Update API Specs file | [![.Platform: Update API Specs file](https://github.com/Azure/ResourceModules/workflows/.Platform:%20Update%20API%20Specs%20file/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/platform.apiSpecs.yml) | -| Assign Issue to Project | [![.Platform: Assign Issue to Project](https://github.com/Azure/ResourceModules/workflows/.Platform:%20Assign%20Issue%20to%20Project/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/platform.assignIssueToProject.yml) | -| Assign Pull Request to Author | [![.Platform: Assign Pull Request to Author](https://github.com/Azure/ResourceModules/workflows/.Platform:%20Assign%20Pull%20Request%20to%20Author/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/platform.assignPrToAuthor.yml) | -| Test - ConvertTo-ARMTemplate.ps1 | [![.Platform: Test - ConvertTo-ARMTemplate.ps1](https://github.com/Azure/ResourceModules/workflows/.Platform:%20Test%20-%20ConvertTo-ARMTemplate.ps1/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/platform.convertToArmTemplate.tests.yml) | -| Clean up deployment history | [![.Platform: Clean up deployment history](https://github.com/Azure/ResourceModules/workflows/.Platform:%20Clean%20up%20deployment%20history/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/platform.deployment.history.cleanup.yml) | -| Library PSRule pre-flight validation | [![.Platform: Library PSRule pre-flight validation](https://github.com/Azure/ResourceModules/workflows/.Platform:%20Library%20PSRule%20pre-flight%20validation/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/platform.librarycheck.psrule.yml) | -| Broken Links Check | [![.Platform: Broken Links Check](https://github.com/Azure/ResourceModules/workflows/.Platform:%20Broken%20Links%20Check/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/platform.linkcheck.yml) | -| Linter | [![.Platform: Linter](https://github.com/Azure/ResourceModules/workflows/.Platform:%20Linter/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/platform.linter.yml) | -| Manage issues for failing pipelines | [![.Platform: Manage issues for failing pipelines](https://github.com/Azure/ResourceModules/workflows/.Platform:%20Manage%20issues%20for%20failing%20pipelines/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/platform.ManageIssueForFailingPipelines.yml) | -| Update ReadMe status Tables | [![.Platform: Update ReadMe status Tables](https://github.com/Azure/ResourceModules/workflows/.Platform:%20Update%20ReadMe%20status%20Tables/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/platform.updateReadMe.yml) | -| Update Static Test Documentation | [![.Platform: Update Static Test Documentation](https://github.com/Azure/ResourceModules/workflows/.Platform:%20Update%20Static%20Test%20Documentation/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/platform.updateStaticTestDocs.yml) | -| Sync Docs/Wiki | [![.Platform: Sync Docs/Wiki](https://github.com/Azure/ResourceModules/workflows/.Platform:%20Sync%20Docs/Wiki/badge.svg)](https://github.com/Azure/ResourceModules/actions/workflows/platform.wiki-sync.yml) | +| Update API Specs file | [![.Platform: Update API Specs file](https://github.com/lapellaniz/ResourceModules/workflows/.Platform:%20Update%20API%20Specs%20file/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/platform.apiSpecs.yml) | +| Assign Issue to Project | [![.Platform: Assign Issue to Project](https://github.com/lapellaniz/ResourceModules/workflows/.Platform:%20Assign%20Issue%20to%20Project/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/platform.assignIssueToProject.yml) | +| Assign Pull Request to Author | [![.Platform: Assign Pull Request to Author](https://github.com/lapellaniz/ResourceModules/workflows/.Platform:%20Assign%20Pull%20Request%20to%20Author/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/platform.assignPrToAuthor.yml) | +| Test - ConvertTo-ARMTemplate.ps1 | [![.Platform: Test - ConvertTo-ARMTemplate.ps1](https://github.com/lapellaniz/ResourceModules/workflows/.Platform:%20Test%20-%20ConvertTo-ARMTemplate.ps1/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/platform.convertToArmTemplate.tests.yml) | +| Clean up deployment history | [![.Platform: Clean up deployment history](https://github.com/lapellaniz/ResourceModules/workflows/.Platform:%20Clean%20up%20deployment%20history/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/platform.deployment.history.cleanup.yml) | +| Library PSRule pre-flight validation | [![.Platform: Library PSRule pre-flight validation](https://github.com/lapellaniz/ResourceModules/workflows/.Platform:%20Library%20PSRule%20pre-flight%20validation/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/platform.librarycheck.psrule.yml) | +| Broken Links Check | [![.Platform: Broken Links Check](https://github.com/lapellaniz/ResourceModules/workflows/.Platform:%20Broken%20Links%20Check/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/platform.linkcheck.yml) | +| Linter | [![.Platform: Linter](https://github.com/lapellaniz/ResourceModules/workflows/.Platform:%20Linter/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/platform.linter.yml) | +| Manage issues for failing pipelines | [![.Platform: Manage issues for failing pipelines](https://github.com/lapellaniz/ResourceModules/workflows/.Platform:%20Manage%20issues%20for%20failing%20pipelines/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/platform.ManageIssueForFailingPipelines.yml) | +| Update ReadMe status Tables | [![.Platform: Update ReadMe status Tables](https://github.com/lapellaniz/ResourceModules/workflows/.Platform:%20Update%20ReadMe%20status%20Tables/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/platform.updateReadMe.yml) | +| Update Static Test Documentation | [![.Platform: Update Static Test Documentation](https://github.com/lapellaniz/ResourceModules/workflows/.Platform:%20Update%20Static%20Test%20Documentation/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/platform.updateStaticTestDocs.yml) | +| Sync Docs/Wiki | [![.Platform: Sync Docs/Wiki](https://github.com/lapellaniz/ResourceModules/workflows/.Platform:%20Sync%20Docs/Wiki/badge.svg)](https://github.com/lapellaniz/ResourceModules/actions/workflows/platform.wiki-sync.yml) | ## Contributing diff --git a/docs/wiki/The library - Module overview.md b/docs/wiki/The library - Module overview.md index 10fc73f7cb..5b8348f149 100644 --- a/docs/wiki/The library - Module overview.md +++ b/docs/wiki/The library - Module overview.md @@ -57,83 +57,84 @@ This section provides an overview of the library's feature set. | 42 | MS.EventGrid

topics | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 169 | | 43 | MS.EventHub

namespaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:4, L2:2] | 285 | | 44 | MS.HealthBot

healthBots | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 68 | -| 45 | MS.Insights

actionGroups | :white_check_mark: | | :white_check_mark: | | | | | 85 | -| 46 | MS.Insights

activityLogAlerts | :white_check_mark: | | :white_check_mark: | | | | | 74 | -| 47 | MS.Insights

components | :white_check_mark: | | :white_check_mark: | | | | | 99 | -| 48 | MS.Insights

dataCollectionEndpoints | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 89 | -| 49 | MS.Insights

dataCollectionRules | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 98 | -| 50 | MS.Insights

diagnosticSettings | | | | :white_check_mark: | | | | 83 | -| 51 | MS.Insights

metricAlerts | :white_check_mark: | | :white_check_mark: | | | | | 122 | -| 52 | MS.Insights

privateLinkScopes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:1] | 100 | -| 53 | MS.Insights

scheduledQueryRules | :white_check_mark: | | :white_check_mark: | | | | | 106 | -| 54 | MS.KeyVault

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3] | 279 | -| 55 | MS.KubernetesConfiguration

extensions | | | | | | | | 63 | -| 56 | MS.KubernetesConfiguration

fluxConfigurations | | | | | | | | 67 | -| 57 | MS.Logic

workflows | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 207 | -| 58 | MS.MachineLearningServices

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 284 | -| 59 | MS.Maintenance

maintenanceConfigurations | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 101 | -| 60 | MS.ManagedIdentity

userAssignedIdentities | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | -| 61 | MS.ManagedServices

registrationDefinitions | | | | | | | | 60 | -| 62 | MS.Management

managementGroups | | | | | | | | 44 | -| 63 | MS.NetApp

netAppAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1, L2:1] | 106 | -| 64 | MS.Network

applicationGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 318 | -| 65 | MS.Network

applicationGatewayWebApplicationFirewallPolicies | | | :white_check_mark: | | | | | 44 | -| 66 | MS.Network

applicationSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 63 | -| 67 | MS.Network

azureFirewalls | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 285 | -| 68 | MS.Network

bastionHosts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 216 | -| 69 | MS.Network

connections | | :white_check_mark: | :white_check_mark: | | | | | 107 | -| 70 | MS.Network

ddosProtectionPlans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | -| 71 | MS.Network

dnsResolvers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 100 | -| 72 | MS.Network

expressRouteCircuits | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 195 | -| 73 | MS.Network

firewallPolicies | | | :white_check_mark: | | | | [L1:1] | 153 | -| 74 | MS.Network

frontDoors | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 161 | -| 75 | MS.Network

ipGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 68 | -| 76 | MS.Network

loadBalancers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 238 | -| 77 | MS.Network

localNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | -| 78 | MS.Network

natGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 151 | -| 79 | MS.Network

networkInterfaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 144 | -| 80 | MS.Network

networkManagers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:4, L2:2, L3:1] | 133 | -| 81 | MS.Network

networkSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 162 | -| 82 | MS.Network

networkWatchers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 97 | -| 83 | MS.Network

privateDnsZones | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:9] | 189 | -| 84 | MS.Network

privateEndpoints | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 108 | -| 85 | MS.Network

privateLinkServices | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 85 | -| 86 | MS.Network

publicIPAddresses | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 187 | -| 87 | MS.Network

publicIPPrefixes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 74 | -| 88 | MS.Network

routeTables | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 70 | -| 89 | MS.Network

trafficmanagerprofiles | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 175 | -| 90 | MS.Network

virtualHubs | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 143 | -| 91 | MS.Network

virtualNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 359 | -| 92 | MS.Network

virtualNetworks | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 243 | -| 93 | MS.Network

virtualWans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 80 | -| 94 | MS.Network

vpnGateways | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 104 | -| 95 | MS.Network

vpnSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | -| 96 | MS.OperationalInsights

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:5] | 271 | -| 97 | MS.OperationsManagement

solutions | | | | | | | | 50 | -| 98 | MS.PolicyInsights

remediations | | | | | | | [L1:3] | 103 | -| 99 | MS.PowerBIDedicated

capacities | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 96 | -| 100 | MS.Purview

accounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 290 | -| 101 | MS.RecoveryServices

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:7, L2:2, L3:1] | 299 | -| 102 | MS.Resources

deploymentScripts | | :white_check_mark: | :white_check_mark: | | | | | 111 | -| 103 | MS.Resources

resourceGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 67 | -| 104 | MS.Resources

tags | | | :white_check_mark: | | | | [L1:2] | 51 | -| 105 | MS.Security

azureSecurityCenter | | | | | | | | 217 | -| 106 | MS.ServiceBus

namespaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6, L2:2] | 340 | -| 107 | MS.ServiceFabric

clusters | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 281 | -| 108 | MS.SignalRService

signalR | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 186 | -| 109 | MS.SignalRService

webPubSub | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 156 | -| 110 | MS.Sql

managedInstances | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:6, L2:2] | 348 | -| 111 | MS.Sql

servers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:7] | 272 | -| 112 | MS.Storage

storageAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6, L2:4, L3:1] | 413 | -| 113 | MS.Synapse

privateLinkHubs | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 90 | -| 114 | MS.Synapse

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 273 | -| 115 | MS.VirtualMachineImages

imageTemplates | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 197 | -| 116 | MS.Web

connections | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 89 | -| 117 | MS.Web

hostingEnvironments | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 175 | -| 118 | MS.Web

serverfarms | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 159 | -| 119 | MS.Web

sites | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3, L2:2] | 380 | -| 120 | MS.Web

staticSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:3] | 193 | -| Sum | | 94 | 92 | 103 | 51 | 23 | 2 | 175 | 20807 | +| 45 | MS.HealthcareApis

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:3, L2:1] | 180 | +| 46 | MS.Insights

actionGroups | :white_check_mark: | | :white_check_mark: | | | | | 85 | +| 47 | MS.Insights

activityLogAlerts | :white_check_mark: | | :white_check_mark: | | | | | 74 | +| 48 | MS.Insights

components | :white_check_mark: | | :white_check_mark: | | | | | 99 | +| 49 | MS.Insights

dataCollectionEndpoints | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 89 | +| 50 | MS.Insights

dataCollectionRules | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 98 | +| 51 | MS.Insights

diagnosticSettings | | | | :white_check_mark: | | | | 83 | +| 52 | MS.Insights

metricAlerts | :white_check_mark: | | :white_check_mark: | | | | | 122 | +| 53 | MS.Insights

privateLinkScopes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:1] | 100 | +| 54 | MS.Insights

scheduledQueryRules | :white_check_mark: | | :white_check_mark: | | | | | 106 | +| 55 | MS.KeyVault

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3] | 279 | +| 56 | MS.KubernetesConfiguration

extensions | | | | | | | | 63 | +| 57 | MS.KubernetesConfiguration

fluxConfigurations | | | | | | | | 67 | +| 58 | MS.Logic

workflows | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 207 | +| 59 | MS.MachineLearningServices

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 284 | +| 60 | MS.Maintenance

maintenanceConfigurations | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 101 | +| 61 | MS.ManagedIdentity

userAssignedIdentities | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | +| 62 | MS.ManagedServices

registrationDefinitions | | | | | | | | 60 | +| 63 | MS.Management

managementGroups | | | | | | | | 44 | +| 64 | MS.NetApp

netAppAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1, L2:1] | 106 | +| 65 | MS.Network

applicationGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 318 | +| 66 | MS.Network

applicationGatewayWebApplicationFirewallPolicies | | | :white_check_mark: | | | | | 44 | +| 67 | MS.Network

applicationSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 63 | +| 68 | MS.Network

azureFirewalls | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 285 | +| 69 | MS.Network

bastionHosts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | 216 | +| 70 | MS.Network

connections | | :white_check_mark: | :white_check_mark: | | | | | 107 | +| 71 | MS.Network

ddosProtectionPlans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 64 | +| 72 | MS.Network

dnsResolvers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 100 | +| 73 | MS.Network

expressRouteCircuits | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 195 | +| 74 | MS.Network

firewallPolicies | | | :white_check_mark: | | | | [L1:1] | 153 | +| 75 | MS.Network

frontDoors | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 161 | +| 76 | MS.Network

ipGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 68 | +| 77 | MS.Network

loadBalancers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 238 | +| 78 | MS.Network

localNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | +| 79 | MS.Network

natGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 151 | +| 80 | MS.Network

networkInterfaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 144 | +| 81 | MS.Network

networkManagers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:4, L2:2, L3:1] | 133 | +| 82 | MS.Network

networkSecurityGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:1] | 162 | +| 83 | MS.Network

networkWatchers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 97 | +| 84 | MS.Network

privateDnsZones | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:9] | 189 | +| 85 | MS.Network

privateEndpoints | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 108 | +| 86 | MS.Network

privateLinkServices | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 85 | +| 87 | MS.Network

publicIPAddresses | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 187 | +| 88 | MS.Network

publicIPPrefixes | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 74 | +| 89 | MS.Network

routeTables | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 70 | +| 90 | MS.Network

trafficmanagerprofiles | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 175 | +| 91 | MS.Network

virtualHubs | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 143 | +| 92 | MS.Network

virtualNetworkGateways | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 359 | +| 93 | MS.Network

virtualNetworks | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:2] | 243 | +| 94 | MS.Network

virtualWans | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 80 | +| 95 | MS.Network

vpnGateways | | :white_check_mark: | :white_check_mark: | | | | [L1:2] | 104 | +| 96 | MS.Network

vpnSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 88 | +| 97 | MS.OperationalInsights

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:5] | 271 | +| 98 | MS.OperationsManagement

solutions | | | | | | | | 50 | +| 99 | MS.PolicyInsights

remediations | | | | | | | [L1:3] | 103 | +| 100 | MS.PowerBIDedicated

capacities | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 96 | +| 101 | MS.Purview

accounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 290 | +| 102 | MS.RecoveryServices

vaults | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:7, L2:2, L3:1] | 299 | +| 103 | MS.Resources

deploymentScripts | | :white_check_mark: | :white_check_mark: | | | | | 111 | +| 104 | MS.Resources

resourceGroups | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 67 | +| 105 | MS.Resources

tags | | | :white_check_mark: | | | | [L1:2] | 51 | +| 106 | MS.Security

azureSecurityCenter | | | | | | | | 217 | +| 107 | MS.ServiceBus

namespaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6, L2:2] | 340 | +| 108 | MS.ServiceFabric

clusters | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:1] | 281 | +| 109 | MS.SignalRService

signalR | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 186 | +| 110 | MS.SignalRService

webPubSub | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 156 | +| 111 | MS.Sql

managedInstances | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | [L1:6, L2:2] | 348 | +| 112 | MS.Sql

servers | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:7] | 272 | +| 113 | MS.Storage

storageAccounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:6, L2:4, L3:1] | 413 | +| 114 | MS.Synapse

privateLinkHubs | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | | 90 | +| 115 | MS.Synapse

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:1] | 273 | +| 116 | MS.VirtualMachineImages

imageTemplates | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 197 | +| 117 | MS.Web

connections | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 89 | +| 118 | MS.Web

hostingEnvironments | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 175 | +| 119 | MS.Web

serverfarms | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 159 | +| 120 | MS.Web

sites | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3, L2:2] | 380 | +| 121 | MS.Web

staticSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:3] | 193 | +| Sum | | 95 | 93 | 104 | 51 | 23 | 2 | 179 | 20987 | ## Legend diff --git a/modules/README.md b/modules/README.md index 48d1ae3810..e698410af0 100644 --- a/modules/README.md +++ b/modules/README.md @@ -4,123 +4,124 @@ In this section you can find useful information regarding the Modules that are c | Name | Provider namespace | Resource Type | | - | - | - | -| [Azure Active Directory Domain Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | `MS.AAD` | [DomainServices](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | -| [Analysis Services Servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | `MS.AnalysisServices` | [servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | -| [API Management Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | `MS.ApiManagement` | [service](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | -| [App Configuration](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | `MS.AppConfiguration` | [configurationStores](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | -| [Authorization Locks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | `MS.Authorization` | [locks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | -| [Policy Assignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | | [policyAssignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | -| [Policy Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | | [policyDefinitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | -| [Policy Exemptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | | [policyExemptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | -| [Policy Set Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | | [policySetDefinitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | -| [Role Assignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | | [roleAssignments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | -| [Role Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | | [roleDefinitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | -| [Automation Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | `MS.Automation` | [automationAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | -| [Batch Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | `MS.Batch` | [batchAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | -| [Cache Redis](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | `MS.Cache` | [redis](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | -| [CDN Profiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CDN/profiles) | `MS.CDN` | [profiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CDN/profiles) | -| [Cognitive Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | `MS.CognitiveServices` | [accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | -| [Availability Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | `MS.Compute` | [availabilitySets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | -| [Disk Encryption Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | | [diskEncryptionSets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | -| [Compute Disks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | | [disks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | -| [Azure Compute Galleries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | | [galleries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | -| [Images](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/images) | | [images](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/images) | -| [Proximity Placement Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | | [proximityPlacementGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | -| [Virtual Machines](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | | [virtualMachines](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | -| [Virtual Machine Scale Sets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | | [virtualMachineScaleSets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | -| [Budgets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | `MS.Consumption` | [budgets](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | -| [Container Instances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | `MS.ContainerInstance` | [containerGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | -| [Container Registries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | `MS.ContainerRegistry` | [registries](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | -| [Azure Kubernetes Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | `MS.ContainerService` | [managedClusters](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | -| [Azure Databricks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | `MS.Databricks` | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | -| [Data Factories](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | `MS.DataFactory` | [factories](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | -| [DataProtection BackupVaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | `MS.DataProtection` | [backupVaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | -| [DBforPostgreSQL FlexibleServers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | `MS.DBforPostgreSQL` | [flexibleServers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | -| [AVD Application Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | `MS.DesktopVirtualization` | [applicationgroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | -| [AVD Host Pools](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | | [hostpools](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | -| [AVD Scaling Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | | [scalingplans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | -| [AVD Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | -| [DevTestLab Labs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DevTestLab/labs) | `MS.DevTestLab` | [labs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DevTestLab/labs) | -| [DocumentDB Database Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | `MS.DocumentDB` | [databaseAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | -| [EventGrid Domains](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/domains) | `MS.EventGrid` | [domains](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/domains) | -| [EventGrid EventSubscriptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/eventSubscriptions) | | [eventSubscriptions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/eventSubscriptions) | -| [Event Grid System Topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | | [systemTopics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | -| [Event Grid Topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | | [topics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | -| [Event Hub Namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | `MS.EventHub` | [namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | -| [Azure Health Bots](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | `MS.HealthBot` | [healthBots](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | -| [Action Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | `MS.Insights` | [actionGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | -| [Activity Log Alerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | | [activityLogAlerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | -| [Application Insights](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/components) | | [components](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/components) | -| [DataCollectionEndpoints](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/dataCollectionEndpoints) | | [dataCollectionEndpoints](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/dataCollectionEndpoints) | -| [DataCollectionRules](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/dataCollectionRules) | | [dataCollectionRules](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/dataCollectionRules) | -| [Activity Logs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | | [diagnosticSettings](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | -| [Metric Alerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | | [metricAlerts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | -| [Azure Monitor Private Link Scopes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | | [privateLinkScopes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | -| [Scheduled Query Rules](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | | [scheduledQueryRules](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | -| [Key Vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | `MS.KeyVault` | [vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | -| [Kubernetes Configuration Extensions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | `MS.KubernetesConfiguration` | [extensions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | -| [Kubernetes Configuration Flux Configurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | | [fluxConfigurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | -| [Logic Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | `MS.Logic` | [workflows](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | -| [Machine Learning Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | `MS.achineLearningServices` | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | -| [Maintenance Configurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | `MS.aintenance` | [maintenanceConfigurations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | -| [User Assigned Identities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | `MS.anagedIdentity` | [userAssignedIdentities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | -| [Registration Definitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | `MS.anagedServices` | [registrationDefinitions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | -| [Management Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | `MS.anagement` | [managementGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | -| [Azure NetApp Files](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | `MS.NetApp` | [netAppAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | -| [Network Application Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | `MS.Network` | [applicationGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | -| [Application Gateway WebApp Firewall Policies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | | [applicationGatewayWebApplicationFirewallPolicies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | -| [Application Security Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | | [applicationSecurityGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | -| [Azure Firewalls](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | | [azureFirewalls](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | -| [Bastion Hosts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | | [bastionHosts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | -| [Virtual Network Gateway Connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/connections) | | [connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/connections) | -| [DDoS Protection Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | | [ddosProtectionPlans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | -| [Network DnsResolvers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | | [dnsResolvers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | -| [ExpressRoute Circuits](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | | [expressRouteCircuits](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | -| [Firewall Policies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | | [firewallPolicies](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | -| [Front Doors](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | | [frontDoors](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | -| [IP Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | | [ipGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | -| [Load Balancers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | | [loadBalancers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | -| [Local Network Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | | [localNetworkGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | -| [NAT Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | | [natGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | -| [Network Interface](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | | [networkInterfaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | -| [Network NetworkManagers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkManagers) | | [networkManagers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkManagers) | -| [Network Security Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | | [networkSecurityGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | -| [Network Watchers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | | [networkWatchers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | -| [Private DNS Zones](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | | [privateDnsZones](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | -| [Private Endpoints](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | | [privateEndpoints](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | -| [Network PrivateLinkServices](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | | [privateLinkServices](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | -| [Public IP Addresses](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | | [publicIPAddresses](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | -| [Public IP Prefixes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | | [publicIPPrefixes](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | -| [Route Tables](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | | [routeTables](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | -| [Traffic Manager Profiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | | [trafficmanagerprofiles](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | -| [Virtual Hubs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | | [virtualHubs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | -| [Virtual Network Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | | [virtualNetworkGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | -| [Virtual Networks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | | [virtualNetworks](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | -| [Virtual WANs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | | [virtualWans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | -| [VPN Gateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | | [vpnGateways](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | -| [VPN Sites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | | [vpnSites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | -| [Log Analytics Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | `MS.OperationalInsights` | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | -| [OperationsManagement Solutions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | `MS.OperationsManagement` | [solutions](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | -| [PolicyInsights Remediations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PolicyInsights/remediations) | `MS.PolicyInsights` | [remediations](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PolicyInsights/remediations) | -| [PowerBIDedicated Capacities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | `MS.PowerBIDedicated` | [capacities](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | -| [Purview Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Purview/accounts) | `MS.Purview` | [accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Purview/accounts) | -| [Recovery Services Vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | `MS.RecoveryServices` | [vaults](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | -| [Deployment Scripts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | `MS.Resources` | [deploymentScripts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | -| [Resource Groups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | | [resourceGroups](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | -| [Resources Tags](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | | [tags](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | -| [Azure Security Center](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | `MS.Security` | [azureSecurityCenter](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | -| [Service Bus Namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | `MS.ServiceBus` | [namespaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | -| [Service Fabric Clusters](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | `MS.ServiceFabric` | [clusters](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | -| [SignalRService SignalR](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/signalR) | `MS.SignalRService` | [signalR](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/signalR) | -| [Web PubSub Services](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | | [webPubSub](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | -| [SQL Managed Instances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | `MS.Sql` | [managedInstances](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | -| [SQL Servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | | [servers](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | -| [Storage Accounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | `MS.Storage` | [storageAccounts](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | -| [Azure Synapse Analytics](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | `MS.Synapse` | [privateLinkHubs](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | -| [Synapse Workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | | [workspaces](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | -| [Image Templates](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | `MS.VirtualMachineImages` | [imageTemplates](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | -| [API Connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/connections) | `MS.Web` | [connections](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/connections) | -| [App Service Environments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | | [hostingEnvironments](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | -| [App Service Plans](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | | [serverfarms](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | -| [Web/Function Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/sites) | | [sites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/sites) | -| [Static Web Apps](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | | [staticSites](https://github.com/Azure/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | +| [Azure Active Directory Domain Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | `MS.AAD` | [DomainServices](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AAD/DomainServices) | +| [Analysis Services Servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | `MS.AnalysisServices` | [servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AnalysisServices/servers) | +| [API Management Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | `MS.ApiManagement` | [service](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ApiManagement/service) | +| [App Configuration](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | `MS.AppConfiguration` | [configurationStores](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.AppConfiguration/configurationStores) | +| [Authorization Locks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | `MS.Authorization` | [locks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/locks) | +| [Policy Assignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | | [policyAssignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyAssignments) | +| [Policy Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | | [policyDefinitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyDefinitions) | +| [Policy Exemptions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | | [policyExemptions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policyExemptions) | +| [Policy Set Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | | [policySetDefinitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/policySetDefinitions) | +| [Role Assignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | | [roleAssignments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleAssignments) | +| [Role Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | | [roleDefinitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Authorization/roleDefinitions) | +| [Automation Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | `MS.Automation` | [automationAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Automation/automationAccounts) | +| [Batch Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | `MS.Batch` | [batchAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Batch/batchAccounts) | +| [Cache Redis](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | `MS.Cache` | [redis](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Cache/redis) | +| [CDN Profiles](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.CDN/profiles) | `MS.CDN` | [profiles](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.CDN/profiles) | +| [Cognitive Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | `MS.CognitiveServices` | [accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.CognitiveServices/accounts) | +| [Availability Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | `MS.Compute` | [availabilitySets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/availabilitySets) | +| [Disk Encryption Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | | [diskEncryptionSets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/diskEncryptionSets) | +| [Compute Disks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | | [disks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/disks) | +| [Azure Compute Galleries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | | [galleries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/galleries) | +| [Images](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/images) | | [images](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/images) | +| [Proximity Placement Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | | [proximityPlacementGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/proximityPlacementGroups) | +| [Virtual Machines](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | | [virtualMachines](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachines) | +| [Virtual Machine Scale Sets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | | [virtualMachineScaleSets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Compute/virtualMachineScaleSets) | +| [Budgets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | `MS.Consumption` | [budgets](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Consumption/budgets) | +| [Container Instances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | `MS.ContainerInstance` | [containerGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerInstance/containerGroups) | +| [Container Registries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | `MS.ContainerRegistry` | [registries](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerRegistry/registries) | +| [Azure Kubernetes Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | `MS.ContainerService` | [managedClusters](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ContainerService/managedClusters) | +| [Azure Databricks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | `MS.Databricks` | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Databricks/workspaces) | +| [Data Factories](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | `MS.DataFactory` | [factories](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataFactory/factories) | +| [DataProtection BackupVaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | `MS.DataProtection` | [backupVaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DataProtection/backupVaults) | +| [DBforPostgreSQL FlexibleServers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | `MS.DBforPostgreSQL` | [flexibleServers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DBforPostgreSQL/flexibleServers) | +| [AVD Application Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | `MS.DesktopVirtualization` | [applicationgroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/applicationgroups) | +| [AVD Host Pools](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | | [hostpools](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/hostpools) | +| [AVD Scaling Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | | [scalingplans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/scalingplans) | +| [AVD Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DesktopVirtualization/workspaces) | +| [DevTestLab Labs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DevTestLab/labs) | `MS.DevTestLab` | [labs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DevTestLab/labs) | +| [DocumentDB Database Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | `MS.DocumentDB` | [databaseAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.DocumentDB/databaseAccounts) | +| [EventGrid Domains](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/domains) | `MS.EventGrid` | [domains](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/domains) | +| [EventGrid EventSubscriptions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/eventSubscriptions) | | [eventSubscriptions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/eventSubscriptions) | +| [Event Grid System Topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | | [systemTopics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/systemTopics) | +| [Event Grid Topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | | [topics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventGrid/topics) | +| [Event Hub Namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | `MS.EventHub` | [namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.EventHub/namespaces) | +| [Azure Health Bots](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | `MS.HealthBot` | [healthBots](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthBot/healthBots) | +| [HealthcareApis Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthcareApis/workspaces) | `MS.HealthcareApis` | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.HealthcareApis/workspaces) | +| [Action Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | `MS.Insights` | [actionGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/actionGroups) | +| [Activity Log Alerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | | [activityLogAlerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/activityLogAlerts) | +| [Application Insights](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/components) | | [components](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/components) | +| [DataCollectionEndpoints](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/dataCollectionEndpoints) | | [dataCollectionEndpoints](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/dataCollectionEndpoints) | +| [DataCollectionRules](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/dataCollectionRules) | | [dataCollectionRules](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/dataCollectionRules) | +| [Activity Logs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | | [diagnosticSettings](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/diagnosticSettings) | +| [Metric Alerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | | [metricAlerts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/metricAlerts) | +| [Azure Monitor Private Link Scopes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | | [privateLinkScopes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/privateLinkScopes) | +| [Scheduled Query Rules](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | | [scheduledQueryRules](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Insights/scheduledQueryRules) | +| [Key Vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | `MS.KeyVault` | [vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KeyVault/vaults) | +| [Kubernetes Configuration Extensions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | `MS.KubernetesConfiguration` | [extensions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/extensions) | +| [Kubernetes Configuration Flux Configurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | | [fluxConfigurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.KubernetesConfiguration/fluxConfigurations) | +| [Logic Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | `MS.Logic` | [workflows](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Logic/workflows) | +| [Machine Learning Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | `MS.achineLearningServices` | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.MachineLearningServices/workspaces) | +| [Maintenance Configurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | `MS.aintenance` | [maintenanceConfigurations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Maintenance/maintenanceConfigurations) | +| [User Assigned Identities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | `MS.anagedIdentity` | [userAssignedIdentities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedIdentity/userAssignedIdentities) | +| [Registration Definitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | `MS.anagedServices` | [registrationDefinitions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ManagedServices/registrationDefinitions) | +| [Management Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | `MS.anagement` | [managementGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Management/managementGroups) | +| [Azure NetApp Files](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | `MS.NetApp` | [netAppAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.NetApp/netAppAccounts) | +| [Network Application Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | `MS.Network` | [applicationGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGateways) | +| [Application Gateway WebApp Firewall Policies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | | [applicationGatewayWebApplicationFirewallPolicies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies) | +| [Application Security Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | | [applicationSecurityGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/applicationSecurityGroups) | +| [Azure Firewalls](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | | [azureFirewalls](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/azureFirewalls) | +| [Bastion Hosts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | | [bastionHosts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/bastionHosts) | +| [Virtual Network Gateway Connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/connections) | | [connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/connections) | +| [DDoS Protection Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | | [ddosProtectionPlans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ddosProtectionPlans) | +| [Network DnsResolvers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | | [dnsResolvers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/dnsResolvers) | +| [ExpressRoute Circuits](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | | [expressRouteCircuits](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/expressRouteCircuits) | +| [Firewall Policies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | | [firewallPolicies](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/firewallPolicies) | +| [Front Doors](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | | [frontDoors](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/frontDoors) | +| [IP Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | | [ipGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/ipGroups) | +| [Load Balancers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | | [loadBalancers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/loadBalancers) | +| [Local Network Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | | [localNetworkGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/localNetworkGateways) | +| [NAT Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | | [natGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/natGateways) | +| [Network Interface](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | | [networkInterfaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkInterfaces) | +| [Network NetworkManagers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkManagers) | | [networkManagers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkManagers) | +| [Network Security Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | | [networkSecurityGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkSecurityGroups) | +| [Network Watchers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | | [networkWatchers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/networkWatchers) | +| [Private DNS Zones](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | | [privateDnsZones](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateDnsZones) | +| [Private Endpoints](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | | [privateEndpoints](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateEndpoints) | +| [Network PrivateLinkServices](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | | [privateLinkServices](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/privateLinkServices) | +| [Public IP Addresses](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | | [publicIPAddresses](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPAddresses) | +| [Public IP Prefixes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | | [publicIPPrefixes](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/publicIPPrefixes) | +| [Route Tables](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | | [routeTables](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/routeTables) | +| [Traffic Manager Profiles](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | | [trafficmanagerprofiles](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/trafficmanagerprofiles) | +| [Virtual Hubs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | | [virtualHubs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualHubs) | +| [Virtual Network Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | | [virtualNetworkGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworkGateways) | +| [Virtual Networks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | | [virtualNetworks](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualNetworks) | +| [Virtual WANs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | | [virtualWans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/virtualWans) | +| [VPN Gateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | | [vpnGateways](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnGateways) | +| [VPN Sites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | | [vpnSites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Network/vpnSites) | +| [Log Analytics Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | `MS.OperationalInsights` | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationalInsights/workspaces) | +| [OperationsManagement Solutions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | `MS.OperationsManagement` | [solutions](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.OperationsManagement/solutions) | +| [PolicyInsights Remediations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.PolicyInsights/remediations) | `MS.PolicyInsights` | [remediations](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.PolicyInsights/remediations) | +| [PowerBIDedicated Capacities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | `MS.PowerBIDedicated` | [capacities](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.PowerBIDedicated/capacities) | +| [Purview Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Purview/accounts) | `MS.Purview` | [accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Purview/accounts) | +| [Recovery Services Vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | `MS.RecoveryServices` | [vaults](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.RecoveryServices/vaults) | +| [Deployment Scripts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | `MS.Resources` | [deploymentScripts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/deploymentScripts) | +| [Resource Groups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | | [resourceGroups](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/resourceGroups) | +| [Resources Tags](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | | [tags](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Resources/tags) | +| [Azure Security Center](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | `MS.Security` | [azureSecurityCenter](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Security/azureSecurityCenter) | +| [Service Bus Namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | `MS.ServiceBus` | [namespaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceBus/namespaces) | +| [Service Fabric Clusters](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | `MS.ServiceFabric` | [clusters](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.ServiceFabric/clusters) | +| [SignalRService SignalR](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.SignalRService/signalR) | `MS.SignalRService` | [signalR](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.SignalRService/signalR) | +| [Web PubSub Services](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | | [webPubSub](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.SignalRService/webPubSub) | +| [SQL Managed Instances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | `MS.Sql` | [managedInstances](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/managedInstances) | +| [SQL Servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | | [servers](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Sql/servers) | +| [Storage Accounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | `MS.Storage` | [storageAccounts](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Storage/storageAccounts) | +| [Azure Synapse Analytics](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | `MS.Synapse` | [privateLinkHubs](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/privateLinkHubs) | +| [Synapse Workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | | [workspaces](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Synapse/workspaces) | +| [Image Templates](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | `MS.VirtualMachineImages` | [imageTemplates](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.VirtualMachineImages/imageTemplates) | +| [API Connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/connections) | `MS.Web` | [connections](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/connections) | +| [App Service Environments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | | [hostingEnvironments](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/hostingEnvironments) | +| [App Service Plans](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | | [serverfarms](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/serverfarms) | +| [Web/Function Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/sites) | | [sites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/sites) | +| [Static Web Apps](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | | [staticSites](https://github.com/lapellaniz/ResourceModules/tree/main/modules/Microsoft.Web/staticSites) | From c009d4aa7d8750243df17c1c2dda3eee32034042 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Thu, 9 Feb 2023 12:34:44 -0500 Subject: [PATCH 78/81] set setting to true --- settings.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/settings.yml b/settings.yml index 7947d1820b..6ed96e59e8 100644 --- a/settings.yml +++ b/settings.yml @@ -67,7 +67,7 @@ variables: # Private Bicep Registry settings # # ------------------------------- # - bicepRegistryDoPublish: false # Set to true, if you would like to publish module templates to a bicep registry + bicepRegistryDoPublish: true # Set to true, if you would like to publish module templates to a bicep registry bicepRegistryName: adpsxxazacrx001 # The name of the bicep registry (ACR) to publish to. If it does not exist, it will be created. bicepRegistryRGName: 'artifacts-rg' # The resource group that hosts the private bicep registry (ACR) bicepRegistryRgLocation: 'West Europe' # The location of the resource group to publish to @@ -91,7 +91,6 @@ variables: modulesRepository: ResourceModules # The repository hosting the deployment code (i.e. 'Components'). MUST be provided as a variable with every pipeline pipelineFunctionsPath: 'utilities/pipelines' - ############################# ## Publishing settings ## ############################# From 0a3d57319a0c8d48f36610bae7785c35a4e8b779 Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Thu, 9 Feb 2023 12:45:15 -0500 Subject: [PATCH 79/81] update iot connector --- .../workspaces/deploy.bicep | 7 +---- .../workspaces/iotconnectors/deploy.bicep | 28 ++++++------------- 2 files changed, 10 insertions(+), 25 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep index 5f832e2e6e..910ae28f33 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/deploy.bicep @@ -166,13 +166,9 @@ module workspace_iotConnector 'iotconnectors/deploy.bicep' = [for (iotConnector, templateType: 'CollectionContent' template: [] } - destinationMapping: contains(iotConnector, 'destinationMapping') ? iotConnector.destinationMapping : { - templateType: 'CollectionFhir' - template: [] - } + fhirdestination: contains(iotConnector, 'fhirdestination') ? iotConnector.fhirdestination : {} consumerGroup: contains(iotConnector, 'consumerGroup') ? iotConnector.consumerGroup : iotConnector.name systemAssignedIdentity: contains(iotConnector, 'systemAssignedIdentity') ? iotConnector.systemAssignedIdentity : false - fhirServiceResourceId: iotConnector.fhirServiceResourceId diagnosticLogsRetentionInDays: contains(iotConnector, 'diagnosticLogsRetentionInDays') ? iotConnector.diagnosticLogsRetentionInDays : 365 diagnosticStorageAccountId: contains(iotConnector, 'diagnosticStorageAccountId') ? iotConnector.diagnosticStorageAccountId : '' diagnosticWorkspaceId: contains(iotConnector, 'diagnosticWorkspaceId') ? iotConnector.diagnosticWorkspaceId : '' @@ -182,7 +178,6 @@ module workspace_iotConnector 'iotconnectors/deploy.bicep' = [for (iotConnector, userAssignedIdentities: contains(iotConnector, 'userAssignedIdentities') ? iotConnector.userAssignedIdentities : {} diagnosticLogCategoriesToEnable: contains(iotConnector, 'diagnosticLogCategoriesToEnable') ? iotConnector.diagnosticLogCategoriesToEnable : [ 'DiagnosticLogs' ] diagnosticMetricsToEnable: contains(iotConnector, 'diagnosticMetricsToEnable') ? iotConnector.diagnosticMetricsToEnable : [ 'AllMetrics' ] - resourceIdentityResolutionType: contains(iotConnector, 'resourceIdentityResolutionType') ? iotConnector.resourceIdentityResolutionType : 'Lookup' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep index ea15025580..b0cd58d2af 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/deploy.bicep @@ -20,14 +20,8 @@ param deviceMapping object = { template: [] } -@description('Required. The mapping JSON that determines how normalized data is converted to FHIR Observations.') -param destinationMapping object = { - templateType: 'CollectionFhir' - template: [] -} - -@description('Required. The resource identifier of the FHIR Service to connect to.') -param fhirServiceResourceId string +@description('Optional. FHIR Destination.') +param fhirdestination object = {} @description('Optional. Location for all resources.') param location string = resourceGroup().location @@ -69,13 +63,6 @@ param tags object = {} @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -@allowed([ - 'Create' - 'Lookup' -]) -@description('Optional. Determines how resource identity is resolved on the destination.') -param resourceIdentityResolutionType string = 'Lookup' - @description('Optional. The name of logs that will be streamed.') @allowed([ 'DiagnosticLogs' @@ -182,14 +169,17 @@ resource iotConnector_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@ scope: iotConnector } -module fhir_destination 'fhirdestinations/deploy.bicep' = { +module fhir_destination 'fhirdestinations/deploy.bicep' = if (!empty(fhirdestination)) { name: '${deployment().name}-FhirDestination' params: { name: '${uniqueString(workspaceName, iotConnector.name)}-map' iotConnectorName: iotConnector.name - resourceIdentityResolutionType: resourceIdentityResolutionType - fhirServiceResourceId: fhirServiceResourceId - destinationMapping: destinationMapping + resourceIdentityResolutionType: contains(fhirdestination, 'resourceIdentityResolutionType') ? fhirdestination.resourceIdentityResolutionType : 'Lookup' + fhirServiceResourceId: fhirdestination.fhirServiceResourceId + destinationMapping: contains(fhirdestination, 'destinationMapping') ? fhirdestination.destinationMapping : { + templateType: 'CollectionFhir' + template: [] + } enableDefaultTelemetry: enableReferencedModulesTelemetry location: location workspaceName: workspaceName From ed045c251eb828948f0029b6cfd29013bea23c2c Mon Sep 17 00:00:00 2001 From: CARMLPipelinePrincipal Date: Thu, 9 Feb 2023 17:45:45 +0000 Subject: [PATCH 80/81] Push updated Readme file(s) --- docs/wiki/The library - Module overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/wiki/The library - Module overview.md b/docs/wiki/The library - Module overview.md index 5b8348f149..476f6eae3f 100644 --- a/docs/wiki/The library - Module overview.md +++ b/docs/wiki/The library - Module overview.md @@ -57,7 +57,7 @@ This section provides an overview of the library's feature set. | 42 | MS.EventGrid

topics | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | 169 | | 43 | MS.EventHub

namespaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:4, L2:2] | 285 | | 44 | MS.HealthBot

healthBots | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | 68 | -| 45 | MS.HealthcareApis

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:3, L2:1] | 180 | +| 45 | MS.HealthcareApis

workspaces | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | [L1:3, L2:1] | 175 | | 46 | MS.Insights

actionGroups | :white_check_mark: | | :white_check_mark: | | | | | 85 | | 47 | MS.Insights

activityLogAlerts | :white_check_mark: | | :white_check_mark: | | | | | 74 | | 48 | MS.Insights

components | :white_check_mark: | | :white_check_mark: | | | | | 99 | @@ -134,7 +134,7 @@ This section provides an overview of the library's feature set. | 119 | MS.Web

serverfarms | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | 159 | | 120 | MS.Web

sites | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [L1:3, L2:2] | 380 | | 121 | MS.Web

staticSites | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | | [L1:3] | 193 | -| Sum | | 95 | 93 | 104 | 51 | 23 | 2 | 179 | 20987 | +| Sum | | 95 | 93 | 104 | 51 | 23 | 2 | 179 | 20982 | ## Legend From 6c0c83accac3400c16b856c66ce141972c237d2c Mon Sep 17 00:00:00 2001 From: Luis Apellaniz Date: Thu, 9 Feb 2023 12:50:52 -0500 Subject: [PATCH 81/81] update doc --- .../workspaces/iotconnectors/readme.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md index 0a8c45d516..ad02bf12c0 100644 --- a/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md +++ b/modules/Microsoft.HealthcareApis/workspaces/iotconnectors/readme.md @@ -24,11 +24,9 @@ This module deploys HealthcareApis MedTech Service. | Parameter Name | Type | Default Value | Description | | :-- | :-- | :-- | :-- | -| `destinationMapping` | object | `{object}` | The mapping JSON that determines how normalized data is converted to FHIR Observations. | | `deviceMapping` | object | `{object}` | The mapping JSON that determines how incoming device data is normalized. | | `eventHubName` | string | | Event Hub name to connect to. | | `eventHubNamespaceName` | string | | Namespace of the Event Hub to connect to. | -| `fhirServiceResourceId` | string | | The resource identifier of the FHIR Service to connect to. | | `name` | string | | The name of the MedTech service. | **Conditional parameters** @@ -51,9 +49,9 @@ This module deploys HealthcareApis MedTech Service. | `diagnosticStorageAccountId` | string | `''` | | Resource ID of the diagnostic storage account. | | `diagnosticWorkspaceId` | string | `''` | | Resource ID of the diagnostic log analytics workspace. | | `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | +| `fhirdestination` | object | `{object}` | | FHIR Destination. | | `location` | string | `[resourceGroup().location]` | | Location for all resources. | | `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | -| `resourceIdentityResolutionType` | string | `'Lookup'` | `[Create, Lookup]` | Determines how resource identity is resolved on the destination. | | `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. | | `tags` | object | `{object}` | | Tags of the resource. | | `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. |