From ec8302eadf519acd3c5a185af61a9d268eb9b9c7 Mon Sep 17 00:00:00 2001 From: Elisa Anzelmo Date: Fri, 30 Sep 2022 12:03:49 +0200 Subject: [PATCH 1/5] web connection new dependency --- .github/workflows/ms.web.connections.yml | 3 +- .../.test/common/dependencies.bicep | 14 +++++ .../.test/common/deploy.test.bicep | 60 +++++++++++++++++++ .../connections/.test/parameters.json | 30 ---------- modules/Microsoft.Web/connections/readme.md | 8 +-- 5 files changed, 79 insertions(+), 36 deletions(-) create mode 100644 modules/Microsoft.Web/connections/.test/common/dependencies.bicep create mode 100644 modules/Microsoft.Web/connections/.test/common/deploy.test.bicep delete mode 100644 modules/Microsoft.Web/connections/.test/parameters.json diff --git a/.github/workflows/ms.web.connections.yml b/.github/workflows/ms.web.connections.yml index 01f583a09d..95223dee50 100644 --- a/.github/workflows/ms.web.connections.yml +++ b/.github/workflows/ms.web.connections.yml @@ -106,8 +106,7 @@ jobs: - name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' uses: ./.github/actions/templates/validateModuleDeployment with: - templateFilePath: '${{ env.modulePath }}/deploy.bicep' - parameterFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' + templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' location: '${{ env.location }}' resourceGroupName: '${{ env.resourceGroupName }}' subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' diff --git a/modules/Microsoft.Web/connections/.test/common/dependencies.bicep b/modules/Microsoft.Web/connections/.test/common/dependencies.bicep new file mode 100644 index 0000000000..7371d4437b --- /dev/null +++ b/modules/Microsoft.Web/connections/.test/common/dependencies.bicep @@ -0,0 +1,14 @@ +@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 + +resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = { + name: managedIdentityName + location: location +} + +@description('The principal ID of the created Managed Identity.') +output managedIdentityPrincipalId string = managedIdentity.properties.principalId + diff --git a/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep b/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep new file mode 100644 index 0000000000..1ed9651cca --- /dev/null +++ b/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep @@ -0,0 +1,60 @@ +targetScope = 'subscription' + +// ========== // +// Parameters // +// ========== // +@description('Optional. The name of the resource group to deploy for testing purposes') +@maxLength(90) +param resourceGroupName string = 'ms.web.connections-${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 = 'wccom' + +// =========== // +// 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: { + managedIdentityName: 'dep-<>-msi-${serviceShort}' + } +} + +// ============== // +// Test Execution // +// ============== // + +module testDeployment '../../deploy.bicep' = { + scope: resourceGroup + name: '${uniqueString(deployment().name)}-test-${serviceShort}' + params: { + // Required parameters + displayName: 'azuremonitorlogs' + name: 'azuremonitor' + // Non-required parameters + connectionApi: { + id: '/subscriptions/<>/providers/Microsoft.Web/locations/westeurope/managedApis/azuremonitorlogs' + } + lock: 'CanNotDelete' + roleAssignments: [ + { + principalIds: [ + resourceGroupResources.outputs.managedIdentityPrincipalId + ] + roleDefinitionIdOrName: 'Reader' + } + ] + } +} diff --git a/modules/Microsoft.Web/connections/.test/parameters.json b/modules/Microsoft.Web/connections/.test/parameters.json deleted file mode 100644 index c2862592b5..0000000000 --- a/modules/Microsoft.Web/connections/.test/parameters.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "name": { - "value": "azuremonitor" - }, - "lock": { - "value": "CanNotDelete" - }, - "displayName": { - "value": "azuremonitorlogs" - }, - "connectionApi": { - "value": { - "id": "/subscriptions/<>/providers/Microsoft.Web/locations/westeurope/managedApis/azuremonitorlogs" - } - }, - "roleAssignments": { - "value": [ - { - "roleDefinitionIdOrName": "Reader", - "principalIds": [ - "<>" - ] - } - ] - } - } -} diff --git a/modules/Microsoft.Web/connections/readme.md b/modules/Microsoft.Web/connections/readme.md index a3631325d0..9504e0b5b0 100644 --- a/modules/Microsoft.Web/connections/readme.md +++ b/modules/Microsoft.Web/connections/readme.md @@ -165,7 +165,7 @@ 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: Parameters

+

Example 1: Common

@@ -173,7 +173,7 @@ The following module usage examples are retrieved from the content of the files ```bicep module connections './Microsoft.Web/connections/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-Connections' + name: '${uniqueString(deployment().name)}-test-wccom' params: { // Required parameters displayName: 'azuremonitorlogs' @@ -186,7 +186,7 @@ module connections './Microsoft.Web/connections/deploy.bicep' = { roleAssignments: [ { principalIds: [ - '<>' + '' ] roleDefinitionIdOrName: 'Reader' } @@ -227,7 +227,7 @@ module connections './Microsoft.Web/connections/deploy.bicep' = { "value": [ { "principalIds": [ - "<>" + "" ], "roleDefinitionIdOrName": "Reader" } From 2ac9ff706cf208267c3ec879ddbd44da08c62b5d Mon Sep 17 00:00:00 2001 From: elisa anzelmo Date: Fri, 30 Sep 2022 14:44:10 +0200 Subject: [PATCH 2/5] Update modules/Microsoft.Web/connections/.test/common/deploy.test.bicep Co-authored-by: Erika Gressi <56914614+eriqua@users.noreply.github.com> --- .../Microsoft.Web/connections/.test/common/deploy.test.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep b/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep index 1ed9651cca..d13eeffbe9 100644 --- a/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep +++ b/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep @@ -3,7 +3,7 @@ targetScope = 'subscription' // ========== // // Parameters // // ========== // -@description('Optional. The name of the resource group to deploy for testing purposes') +@description('Optional. The name of the resource group to deploy for testing purposes.') @maxLength(90) param resourceGroupName string = 'ms.web.connections-${serviceShort}-rg' From 9d69e68171a9300bf4a84bcee5e0b6d33b66eddf Mon Sep 17 00:00:00 2001 From: elisa anzelmo Date: Fri, 30 Sep 2022 14:44:24 +0200 Subject: [PATCH 3/5] Update modules/Microsoft.Web/connections/.test/common/deploy.test.bicep Co-authored-by: Erika Gressi <56914614+eriqua@users.noreply.github.com> --- .../Microsoft.Web/connections/.test/common/deploy.test.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep b/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep index d13eeffbe9..bee36cdd26 100644 --- a/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep +++ b/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep @@ -7,7 +7,7 @@ targetScope = 'subscription' @maxLength(90) param resourceGroupName string = 'ms.web.connections-${serviceShort}-rg' -@description('Optional. The location to deploy resources to') +@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') From 122a09d5fda3c1e0d418f7246fde4bffdf4eb277 Mon Sep 17 00:00:00 2001 From: elisa anzelmo Date: Fri, 30 Sep 2022 14:44:42 +0200 Subject: [PATCH 4/5] Update modules/Microsoft.Web/connections/.test/common/deploy.test.bicep Co-authored-by: Erika Gressi <56914614+eriqua@users.noreply.github.com> --- .../Microsoft.Web/connections/.test/common/deploy.test.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep b/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep index bee36cdd26..3e6178d764 100644 --- a/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep +++ b/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep @@ -10,7 +10,7 @@ param resourceGroupName string = 'ms.web.connections-${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') +@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 = 'wccom' // =========== // From f208f9aaa8fde3efde6254ae32a4c67df1815a6a Mon Sep 17 00:00:00 2001 From: elisa anzelmo Date: Fri, 30 Sep 2022 14:47:02 +0200 Subject: [PATCH 5/5] Update modules/Microsoft.Web/connections/.test/common/deploy.test.bicep Co-authored-by: Erika Gressi <56914614+eriqua@users.noreply.github.com> --- .../Microsoft.Web/connections/.test/common/deploy.test.bicep | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep b/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep index 3e6178d764..302d07d104 100644 --- a/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep +++ b/modules/Microsoft.Web/connections/.test/common/deploy.test.bicep @@ -40,10 +40,8 @@ module testDeployment '../../deploy.bicep' = { scope: resourceGroup name: '${uniqueString(deployment().name)}-test-${serviceShort}' params: { - // Required parameters displayName: 'azuremonitorlogs' name: 'azuremonitor' - // Non-required parameters connectionApi: { id: '/subscriptions/<>/providers/Microsoft.Web/locations/westeurope/managedApis/azuremonitorlogs' }