From e6805a2d1d82560b94ca2a70b8a7c5f449109e8a Mon Sep 17 00:00:00 2001 From: MrMCake Date: Tue, 30 Aug 2022 21:56:44 +0200 Subject: [PATCH 01/13] [Modules] Updated Network/VPNGateways to new dependency approach --- .github/workflows/ms.network.vpngateways.yml | 3 +- .../.test/default/dependencies.bicep | 64 ++++++++++ .../.test/default/deploy.test.bicep | 96 +++++++++++++++ .../vpnGateways/.test/min.parameters.json | 12 -- .../vpnGateways/.test/min/dependencies.bicep | 27 +++++ .../vpnGateways/.test/min/deploy.test.bicep | 47 ++++++++ .../vpnGateways/.test/parameters.json | 68 ----------- .../Microsoft.Network/vpnGateways/readme.md | 112 +++++++++--------- utilities/tools/Set-ModuleReadMe.ps1 | 6 +- 9 files changed, 294 insertions(+), 141 deletions(-) create mode 100644 modules/Microsoft.Network/vpnGateways/.test/default/dependencies.bicep create mode 100644 modules/Microsoft.Network/vpnGateways/.test/default/deploy.test.bicep delete mode 100644 modules/Microsoft.Network/vpnGateways/.test/min.parameters.json create mode 100644 modules/Microsoft.Network/vpnGateways/.test/min/dependencies.bicep create mode 100644 modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep delete mode 100644 modules/Microsoft.Network/vpnGateways/.test/parameters.json diff --git a/.github/workflows/ms.network.vpngateways.yml b/.github/workflows/ms.network.vpngateways.yml index e2f13f404c..f4b2c490f8 100644 --- a/.github/workflows/ms.network.vpngateways.yml +++ b/.github/workflows/ms.network.vpngateways.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.Network/vpnGateways/.test/default/dependencies.bicep b/modules/Microsoft.Network/vpnGateways/.test/default/dependencies.bicep new file mode 100644 index 0000000000..8a8b520dfc --- /dev/null +++ b/modules/Microsoft.Network/vpnGateways/.test/default/dependencies.bicep @@ -0,0 +1,64 @@ +@description('Optional. The location to deploy resources to.') +param location string = resourceGroup().location + +@description('Optional. The name of the Virtual Hub to create.') +param virtualHubName string + +@description('Optional. The name of the VPN Site to create.') +param vpnSiteName string + +@description('Required. The name of the virtual WAN to create.') +param virtualWANName string + +resource virtualWan 'Microsoft.Network/virtualWans@2021-05-01' = { + name: virtualWANName + location: location +} + +resource virtualHub 'Microsoft.Network/virtualHubs@2022-01-01' = { + name: virtualHubName + location: location + properties: { + virtualWan: { + id: virtualWan.id + } + addressPrefix: '10.1.0.0/16' + } +} + +resource vpnSite 'Microsoft.Network/vpnSites@2022-01-01' = { + name: vpnSiteName + location: location + properties: { + virtualWan: { + id: virtualWan.id + } + addressSpace: { + addressPrefixes: [ + '10.0.0.0/16' + ] + } + vpnSiteLinks: [ + { + name: '${vpnSiteName}-vSite-link' + properties: { + bgpProperties: { + asn: 65010 + bgpPeeringAddress: '1.1.1.1' + } + ipAddress: '1.2.3.4' + linkProperties: { + linkProviderName: 'contoso' + linkSpeedInMbps: 5 + } + } + } + ] + } +} + +@description('The resource ID of the created Virtual Hub') +output virtualHubResourceId string = virtualHub.id + +@description('The resource ID of the created VPN site') +output vpnSiteResourceId string = vpnSite.id diff --git a/modules/Microsoft.Network/vpnGateways/.test/default/deploy.test.bicep b/modules/Microsoft.Network/vpnGateways/.test/default/deploy.test.bicep new file mode 100644 index 0000000000..8cb3a36da9 --- /dev/null +++ b/modules/Microsoft.Network/vpnGateways/.test/default/deploy.test.bicep @@ -0,0 +1,96 @@ +targetScope = 'subscription' + +// ========== // +// Parameters // +// ========== // +@description('Optional. The name of the resource group to deploy for a testing purposes') +@maxLength(90) +param resourceGroupName string = 'ms.network.vpngateways-${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 = 'nvgdef' + +// =========== // +// 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: { + virtualHubName: 'dep-<>-vh-${serviceShort}' + virtualWANName: 'dep-<>-vw-${serviceShort}' + vpnSiteName: 'dep-<>-vs-${serviceShort}' + } +} + +// ============== // +// Test Execution // +// ============== // +var vHubResourceId = '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup.name}/providers/Microsoft.Network/virtualHubs/<>${serviceShort}001' +module testDeployment '../../deploy.bicep' = { + scope: resourceGroup + name: '${uniqueString(deployment().name)}-test-${serviceShort}' + params: { + name: '<>${serviceShort}001' + virtualHubResourceId: resourceGroupResources.outputs.virtualHubResourceId + bgpSettings: { + asn: 65515 + peerWeight: 0 + } + connections: [ + { + connectionBandwidth: 10 + enableBgp: true + name: 'Connection-<>-az-vsite-x-001' + remoteVpnSiteResourceId: resourceGroupResources.outputs.vpnSiteResourceId + routingConfiguration: { + associatedRouteTable: { + id: '${vHubResourceId}/hubRouteTables/defaultRouteTable' + } + propagatedRouteTables: { + ids: [ + { + id: '${vHubResourceId}/hubRouteTables/defaultRouteTable' + } + ] + labels: [ + 'default' + ] + } + vnetRoutes: { + staticRoutes: [] + } + } + } + ] + lock: 'CanNotDelete' + natRules: [ + { + externalMappings: [ + { + addressSpace: '192.168.21.0/24' + } + ] + internalMappings: [ + { + addressSpace: '10.4.0.0/24' + } + ] + mode: 'EgressSnat' + name: 'natRule1' + type: 'Static' + } + ] + } +} diff --git a/modules/Microsoft.Network/vpnGateways/.test/min.parameters.json b/modules/Microsoft.Network/vpnGateways/.test/min.parameters.json deleted file mode 100644 index 4ed3a736e6..0000000000 --- a/modules/Microsoft.Network/vpnGateways/.test/min.parameters.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "name": { - "value": "<>-az-vpngw-min-001" - }, - "virtualHubResourceId": { - "value": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-min-001" - } - } -} diff --git a/modules/Microsoft.Network/vpnGateways/.test/min/dependencies.bicep b/modules/Microsoft.Network/vpnGateways/.test/min/dependencies.bicep new file mode 100644 index 0000000000..c5e41c32af --- /dev/null +++ b/modules/Microsoft.Network/vpnGateways/.test/min/dependencies.bicep @@ -0,0 +1,27 @@ +@description('Optional. The location to deploy resources to.') +param location string = resourceGroup().location + +@description('Optional. The name of the Virtual Hub to create.') +param virtualHubName string + +@description('Required. The name of the virtual WAN to create.') +param virtualWANName string + +resource virtualWan 'Microsoft.Network/virtualWans@2021-05-01' = { + name: virtualWANName + location: location +} + +resource virtualHub 'Microsoft.Network/virtualHubs@2022-01-01' = { + name: virtualHubName + location: location + properties: { + virtualWan: { + id: virtualWan.id + } + addressPrefix: '10.1.0.0/16' + } +} + +@description('The resource ID of the created Virtual Hub') +output virtualHubResourceId string = virtualHub.id diff --git a/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep b/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep new file mode 100644 index 0000000000..5ef7693e2d --- /dev/null +++ b/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep @@ -0,0 +1,47 @@ +targetScope = 'subscription' + +// ========== // +// Parameters // +// ========== // +@description('Optional. The name of the resource group to deploy for a testing purposes') +@maxLength(90) +param resourceGroupName string = 'ms.network.vpngateways-${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 = 'nvgmin' + +// =========== // +// 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: { + virtualHubName: 'dep-<>-vh-${serviceShort}' + virtualWANName: 'dep-<>-vw-${serviceShort}' + } +} + +// ============== // +// Test Execution // +// ============== // + +module testDeployment '../../deploy.bicep' = { + scope: resourceGroup + name: '${uniqueString(deployment().name)}-test-${serviceShort}' + params: { + name: '<>${serviceShort}001' + virtualHubResourceId: resourceGroupResources.outputs.virtualHubResourceId + } +} diff --git a/modules/Microsoft.Network/vpnGateways/.test/parameters.json b/modules/Microsoft.Network/vpnGateways/.test/parameters.json deleted file mode 100644 index 620e1c6ff7..0000000000 --- a/modules/Microsoft.Network/vpnGateways/.test/parameters.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "name": { - "value": "<>-az-vpngw-x-001" - }, - "lock": { - "value": "CanNotDelete" - }, - "virtualHubResourceId": { - "value": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001" - }, - "bgpSettings": { - "value": { - "asn": 65515, - "peerWeight": 0 - } - }, - "connections": { - "value": [ - { - "name": "Connection-<>-az-vsite-x-001", - "connectionBandwidth": 10, - "enableBgp": true, - "routingConfiguration": { - "associatedRouteTable": { - "id": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001/hubRouteTables/defaultRouteTable" - }, - "propagatedRouteTables": { - "labels": [ - "default" - ], - "ids": [ - { - "id": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001/hubRouteTables/defaultRouteTable" - } - ] - }, - "vnetRoutes": { - "staticRoutes": [] - } - }, - "remoteVpnSiteResourceId": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/vpnSites/<>-az-vsite-x-001" - } - ] - }, - "natRules": { - "value": [ - { - "name": "natRule1", - "internalMappings": [ - { - "addressSpace": "10.4.0.0/24" - } - ], - "externalMappings": [ - { - "addressSpace": "192.168.21.0/24" - } - ], - "type": "Static", - "mode": "EgressSnat" - } - ] - } - } -} diff --git a/modules/Microsoft.Network/vpnGateways/readme.md b/modules/Microsoft.Network/vpnGateways/readme.md index 225a008542..dc05ad3503 100644 --- a/modules/Microsoft.Network/vpnGateways/readme.md +++ b/modules/Microsoft.Network/vpnGateways/readme.md @@ -179,62 +179,19 @@ The following module usage examples are retrieved from the content of the files >**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

+

Example 1: Default

via Bicep module ```bicep -module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-vpnGateways' +module Vpngateways './Microsoft.Network/Vpngateways/deploy.bicep' = { + name: '${uniqueString(deployment().name)}-test-nvgdef' params: { // Required parameters - name: '<>-az-vpngw-min-001' - virtualHubResourceId: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-min-001' - } -} -``` - -
-

- -

- -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": "<>-az-vpngw-min-001" - }, - "virtualHubResourceId": { - "value": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-min-001" - } - } -} -``` - -
-

- -

Example 2: Parameters

- -
- -via Bicep module - -```bicep -module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-vpnGateways' - params: { - // Required parameters - name: '<>-az-vpngw-x-001' - virtualHubResourceId: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001' + name: '<>nvgdef001' + virtualHubResourceId: '' // Non-required parameters bgpSettings: { asn: 65515 @@ -245,15 +202,15 @@ module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { connectionBandwidth: 10 enableBgp: true name: 'Connection-<>-az-vsite-x-001' - remoteVpnSiteResourceId: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/vpnSites/<>-az-vsite-x-001' + remoteVpnSiteResourceId: '' routingConfiguration: { associatedRouteTable: { - id: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001/hubRouteTables/defaultRouteTable' + id: '${vHubResourceId}/hubRouteTables/defaultRouteTable' } propagatedRouteTables: { ids: [ { - id: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001/hubRouteTables/defaultRouteTable' + id: '${vHubResourceId}/hubRouteTables/defaultRouteTable' } ] labels: [ @@ -302,10 +259,10 @@ module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { "parameters": { // Required parameters "name": { - "value": "<>-az-vpngw-x-001" + "value": "<>nvgdef001" }, "virtualHubResourceId": { - "value": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001" + "value": "" }, // Non-required parameters "bgpSettings": { @@ -320,15 +277,15 @@ module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { "connectionBandwidth": 10, "enableBgp": true, "name": "Connection-<>-az-vsite-x-001", - "remoteVpnSiteResourceId": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/vpnSites/<>-az-vsite-x-001", + "remoteVpnSiteResourceId": "", "routingConfiguration": { "associatedRouteTable": { - "id": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001/hubRouteTables/defaultRouteTable" + "id": "${vHubResourceId}/hubRouteTables/defaultRouteTable" }, "propagatedRouteTables": { "ids": [ { - "id": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001/hubRouteTables/defaultRouteTable" + "id": "${vHubResourceId}/hubRouteTables/defaultRouteTable" } ], "labels": [ @@ -370,3 +327,46 @@ module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = {

+ +

Example 2: Min

+ +
+ +via Bicep module + +```bicep +module Vpngateways './Microsoft.Network/Vpngateways/deploy.bicep' = { + name: '${uniqueString(deployment().name)}-test-nvgmin' + params: { + // Required parameters + name: '<>nvgmin001' + virtualHubResourceId: '' + } +} +``` + +
+

+ +

+ +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": "<>nvgmin001" + }, + "virtualHubResourceId": { + "value": "" + } + } +} +``` + +
+

diff --git a/utilities/tools/Set-ModuleReadMe.ps1 b/utilities/tools/Set-ModuleReadMe.ps1 index a1074fed21..6b922d65e8 100644 --- a/utilities/tools/Set-ModuleReadMe.ps1 +++ b/utilities/tools/Set-ModuleReadMe.ps1 @@ -883,9 +883,10 @@ function Set-DeploymentExamplesSection { '' ) + $TextInfo = (Get-Culture -Name 'en-US').TextInfo $moduleRoot = Split-Path $TemplateFilePath -Parent - $resourceTypeIdentifier = $moduleRoot.Replace('\', '/').Split('/modules/')[1].TrimStart('/') - $resourceType = $resourceTypeIdentifier.Split('/')[1] + $resourceTypeIdentifier = $TextInfo.ToTitleCase($moduleRoot.Replace('\', '/').Split('/modules/')[1].TrimStart('/')) + $resourceType = $TextInfo.ToTitleCase($resourceTypeIdentifier.Split('/')[1]) $testFilePaths = Get-ModuleTestFileList -ModulePath $moduleRoot | ForEach-Object { Join-Path $moduleRoot $_ } $RequiredParametersList = $TemplateFileContent.parameters.Keys | Where-Object { $TemplateFileContent.parameters[$_].Keys -notcontains 'defaultValue' } | Sort-Object @@ -906,7 +907,6 @@ function Set-DeploymentExamplesSection { } else { $exampleTitle = ((Split-Path $testFilePath -LeafBase) -replace '\.', ' ') -replace ' parameters', '' } - $TextInfo = (Get-Culture -Name 'en-US').TextInfo $exampleTitle = $TextInfo.ToTitleCase($exampleTitle) $SectionContent += @( '

Example {0}: {1}

' -f $pathIndex, $exampleTitle From e82c8a0bb2e9adeccaede928fbf5b533a21c7c40 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 1 Sep 2022 11:36:12 +0200 Subject: [PATCH 02/13] Update to latest --- .../Microsoft.Network/vpnGateways/readme.md | 53 ++----------------- 1 file changed, 5 insertions(+), 48 deletions(-) diff --git a/modules/Microsoft.Network/vpnGateways/readme.md b/modules/Microsoft.Network/vpnGateways/readme.md index adaa32e032..13bfdd3886 100644 --- a/modules/Microsoft.Network/vpnGateways/readme.md +++ b/modules/Microsoft.Network/vpnGateways/readme.md @@ -186,55 +186,12 @@ The following module usage examples are retrieved from the content of the files via Bicep module ```bicep -module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-VpnGateways' +module VPNGateways './Microsoft.Network/VPNGateways/deploy.bicep' = { + name: '${uniqueString(deployment().name)}-test-nvgdef' params: { // Required parameters - name: '<>-az-vpngw-min-001' - virtualHubResourceId: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-min-001' - } -} -``` - - -

- -

- -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": "<>-az-vpngw-min-001" - }, - "virtualHubResourceId": { - "value": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-min-001" - } - } -} -``` - -
-

- -

Example 2: Parameters

- -
- -via Bicep module - -```bicep -module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-VpnGateways' - params: { - // Required parameters - name: '<>-az-vpngw-x-001' - virtualHubResourceId: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001' + name: '<>nvgdef001' + virtualHubResourceId: '' // Non-required parameters bgpSettings: { asn: 65515 @@ -378,7 +335,7 @@ module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { via Bicep module ```bicep -module Vpngateways './Microsoft.Network/Vpngateways/deploy.bicep' = { +module VPNGateways './Microsoft.Network/VPNGateways/deploy.bicep' = { name: '${uniqueString(deployment().name)}-test-nvgmin' params: { // Required parameters From 14a166ad57216b8c74e834f896198a07da94c66c Mon Sep 17 00:00:00 2001 From: MrMCake Date: Mon, 5 Sep 2022 20:26:51 +0200 Subject: [PATCH 03/13] Updated docs --- modules/Microsoft.Network/vpnGateways/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/Microsoft.Network/vpnGateways/readme.md b/modules/Microsoft.Network/vpnGateways/readme.md index 13bfdd3886..2ad6ece7b2 100644 --- a/modules/Microsoft.Network/vpnGateways/readme.md +++ b/modules/Microsoft.Network/vpnGateways/readme.md @@ -186,7 +186,7 @@ The following module usage examples are retrieved from the content of the files via Bicep module ```bicep -module VPNGateways './Microsoft.Network/VPNGateways/deploy.bicep' = { +module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { name: '${uniqueString(deployment().name)}-test-nvgdef' params: { // Required parameters @@ -335,7 +335,7 @@ module VPNGateways './Microsoft.Network/VPNGateways/deploy.bicep' = { via Bicep module ```bicep -module VPNGateways './Microsoft.Network/VPNGateways/deploy.bicep' = { +module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { name: '${uniqueString(deployment().name)}-test-nvgmin' params: { // Required parameters From e4ed801d2d690fd556268e41a6a0512451a49e74 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 8 Sep 2022 19:12:31 +0200 Subject: [PATCH 04/13] Updated folder default to common. --- .../vpnGateways/.test/{default => common}/dependencies.bicep | 0 .../vpnGateways/.test/{default => common}/deploy.test.bicep | 0 modules/Microsoft.Network/vpnGateways/readme.md | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename modules/Microsoft.Network/vpnGateways/.test/{default => common}/dependencies.bicep (100%) rename modules/Microsoft.Network/vpnGateways/.test/{default => common}/deploy.test.bicep (100%) diff --git a/modules/Microsoft.Network/vpnGateways/.test/default/dependencies.bicep b/modules/Microsoft.Network/vpnGateways/.test/common/dependencies.bicep similarity index 100% rename from modules/Microsoft.Network/vpnGateways/.test/default/dependencies.bicep rename to modules/Microsoft.Network/vpnGateways/.test/common/dependencies.bicep diff --git a/modules/Microsoft.Network/vpnGateways/.test/default/deploy.test.bicep b/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep similarity index 100% rename from modules/Microsoft.Network/vpnGateways/.test/default/deploy.test.bicep rename to modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep diff --git a/modules/Microsoft.Network/vpnGateways/readme.md b/modules/Microsoft.Network/vpnGateways/readme.md index 2ad6ece7b2..8bcec7f32a 100644 --- a/modules/Microsoft.Network/vpnGateways/readme.md +++ b/modules/Microsoft.Network/vpnGateways/readme.md @@ -179,7 +179,7 @@ The following module usage examples are retrieved from the content of the files >**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: Default

+

Example 1: Common

From 2de4a804791f9e44c8b39b57e8fe107a1bd1eda9 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 9 Sep 2022 12:51:36 +0200 Subject: [PATCH 05/13] Update to latest --- .../vpnGateways/.test/common/deploy.test.bicep | 4 ++-- .../Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep b/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep index 8cb3a36da9..9e34cdb021 100644 --- a/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep +++ b/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep @@ -10,8 +10,8 @@ param resourceGroupName string = 'ms.network.vpngateways-${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 = 'nvgdef' +@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 = 'nvgcom' // =========== // // Deployments // diff --git a/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep b/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep index 5ef7693e2d..a54f18caa4 100644 --- a/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep +++ b/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep @@ -10,7 +10,7 @@ param resourceGroupName string = 'ms.network.vpngateways-${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 = 'nvgmin' // =========== // From de49c20c26f851a758bdc943b709014d9384398b Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 9 Sep 2022 13:04:41 +0200 Subject: [PATCH 06/13] Update to latest --- .../vpnGateways/.test/common/deploy.test.bicep | 6 +++--- .../vpnGateways/.test/min/deploy.test.bicep | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep b/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep index 9e34cdb021..3e1cf19c9c 100644 --- a/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep +++ b/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep @@ -3,14 +3,14 @@ targetScope = 'subscription' // ========== // // Parameters // // ========== // -@description('Optional. The name of the resource group to deploy for a testing purposes') +@description('Optional. The name of the resource group to deploy for a testing purposes.') @maxLength(90) param resourceGroupName string = 'ms.network.vpngateways-${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') +@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 = 'nvgcom' // =========== // diff --git a/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep b/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep index a54f18caa4..365ee4917f 100644 --- a/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep +++ b/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep @@ -3,14 +3,14 @@ targetScope = 'subscription' // ========== // // Parameters // // ========== // -@description('Optional. The name of the resource group to deploy for a testing purposes') +@description('Optional. The name of the resource group to deploy for a testing purposes.') @maxLength(90) param resourceGroupName string = 'ms.network.vpngateways-${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') +@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 = 'nvgmin' // =========== // From 5305ad33ff205ff2fdd1aee5bd83116974370352 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 9 Sep 2022 13:55:22 +0200 Subject: [PATCH 07/13] Update to latest --- modules/Microsoft.Network/vpnGateways/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/Microsoft.Network/vpnGateways/readme.md b/modules/Microsoft.Network/vpnGateways/readme.md index 5a4c228e0c..e9868c71d9 100644 --- a/modules/Microsoft.Network/vpnGateways/readme.md +++ b/modules/Microsoft.Network/vpnGateways/readme.md @@ -188,10 +188,10 @@ The following module usage examples are retrieved from the content of the files ```bicep module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-test-nvgdef' + name: '${uniqueString(deployment().name)}-test-nvgcom' params: { // Required parameters - name: '<>nvgdef001' + name: '<>nvgcom001' virtualHubResourceId: '' // Non-required parameters bgpSettings: { @@ -260,7 +260,7 @@ module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { "parameters": { // Required parameters "name": { - "value": "<>nvgdef001" + "value": "<>nvgcom001" }, "virtualHubResourceId": { "value": "" From ce0f3c58dd8b1473e441d7a270910b690d0c52fb Mon Sep 17 00:00:00 2001 From: Alexander Sehr Date: Mon, 19 Sep 2022 19:54:33 +0200 Subject: [PATCH 08/13] Update modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep --- .../vpnGateways/.test/common/deploy.test.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep b/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep index 3e1cf19c9c..22dc15945c 100644 --- a/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep +++ b/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep @@ -3,7 +3,7 @@ targetScope = 'subscription' // ========== // // Parameters // // ========== // -@description('Optional. The name of the resource group to deploy for a testing purposes.') +@description('Optional. The name of the resource group to deploy for testing purposes.') @maxLength(90) param resourceGroupName string = 'ms.network.vpngateways-${serviceShort}-rg' From d6de4a863e42b5a3a3c394f1604d27d5e7ec7b2a Mon Sep 17 00:00:00 2001 From: Alexander Sehr Date: Mon, 19 Sep 2022 19:54:48 +0200 Subject: [PATCH 09/13] Update modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep --- .../Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep b/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep index 365ee4917f..b88a24dad4 100644 --- a/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep +++ b/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep @@ -3,7 +3,7 @@ targetScope = 'subscription' // ========== // // Parameters // // ========== // -@description('Optional. The name of the resource group to deploy for a testing purposes.') +@description('Optional. The name of the resource group to deploy for testing purposes.') @maxLength(90) param resourceGroupName string = 'ms.network.vpngateways-${serviceShort}-rg' From 0791b190ffaf1ed5b656b7ba776e0da60edc53a0 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Mon, 19 Sep 2022 21:16:50 +0200 Subject: [PATCH 10/13] Update to latest --- utilities/tools/Set-ModuleReadMe.ps1 | 7 ------- 1 file changed, 7 deletions(-) diff --git a/utilities/tools/Set-ModuleReadMe.ps1 b/utilities/tools/Set-ModuleReadMe.ps1 index 6469605289..25923c3d62 100644 --- a/utilities/tools/Set-ModuleReadMe.ps1 +++ b/utilities/tools/Set-ModuleReadMe.ps1 @@ -896,13 +896,6 @@ function Set-DeploymentExamplesSection { '' ) -<<<<<<< HEAD - $TextInfo = (Get-Culture -Name 'en-US').TextInfo - $moduleRoot = Split-Path $TemplateFilePath -Parent - $fullIdentifier = $moduleRoot.Replace('\', '/').Split('/modules/')[1].TrimStart('/') - -======= ->>>>>>> main # Get resource type and make first letter upper case. Requires manual handling as ToTitleCase lowercases everything but the first letter $providerNamespace = ($fullModuleIdentifier.Split('/')[0] -split '\.' | ForEach-Object { $_.Substring(0, 1).ToUpper() + $_.Substring(1) }) -join '.' $resourceType = $fullModuleIdentifier.Split('/')[1] From 3e037019288536b460bbe0ce41a3627fb6332746 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 29 Sep 2022 09:51:19 +0200 Subject: [PATCH 11/13] Small fixes --- ...network.applicationgatewaywebapplicationfirewallpolicies.yml | 2 +- .../applicationGatewayWebApplicationFirewallPolicies/readme.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.azuredevops/modulePipelines/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml b/.azuredevops/modulePipelines/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml index 3bce6f820b..03de0ee701 100644 --- a/.azuredevops/modulePipelines/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml +++ b/.azuredevops/modulePipelines/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml @@ -1,4 +1,4 @@ -name: 'Network: ApplicationGatewayWebApplicationFirewallPolicies' +name: 'Network - ApplicationGatewayWebApplicationFirewallPolicies' parameters: - name: removeDeployment diff --git a/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/readme.md b/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/readme.md index f7d94ca2aa..e411967b44 100644 --- a/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/readme.md +++ b/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/readme.md @@ -1,4 +1,4 @@ -# `[Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies]` +# Application Gateway WebApp Firewall Policy `[Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies]` This module deploys a WAF policy. From d234fee85deb17be7a982f26db8d6d2fdbb27cc8 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 29 Sep 2022 09:53:41 +0200 Subject: [PATCH 12/13] Cleanup --- .../.test/common/dependencies.bicep | 64 ---------- .../.test/common/deploy.test.bicep | 96 --------------- .../vpnGateways/.test/min.parameters.json | 12 ++ .../vpnGateways/.test/min/dependencies.bicep | 27 ----- .../vpnGateways/.test/min/deploy.test.bicep | 47 -------- .../vpnGateways/.test/parameters.json | 68 +++++++++++ .../Microsoft.Network/vpnGateways/readme.md | 110 +++++++++--------- 7 files changed, 135 insertions(+), 289 deletions(-) delete mode 100644 modules/Microsoft.Network/vpnGateways/.test/common/dependencies.bicep delete mode 100644 modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep create mode 100644 modules/Microsoft.Network/vpnGateways/.test/min.parameters.json delete mode 100644 modules/Microsoft.Network/vpnGateways/.test/min/dependencies.bicep delete mode 100644 modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep create mode 100644 modules/Microsoft.Network/vpnGateways/.test/parameters.json diff --git a/modules/Microsoft.Network/vpnGateways/.test/common/dependencies.bicep b/modules/Microsoft.Network/vpnGateways/.test/common/dependencies.bicep deleted file mode 100644 index 8a8b520dfc..0000000000 --- a/modules/Microsoft.Network/vpnGateways/.test/common/dependencies.bicep +++ /dev/null @@ -1,64 +0,0 @@ -@description('Optional. The location to deploy resources to.') -param location string = resourceGroup().location - -@description('Optional. The name of the Virtual Hub to create.') -param virtualHubName string - -@description('Optional. The name of the VPN Site to create.') -param vpnSiteName string - -@description('Required. The name of the virtual WAN to create.') -param virtualWANName string - -resource virtualWan 'Microsoft.Network/virtualWans@2021-05-01' = { - name: virtualWANName - location: location -} - -resource virtualHub 'Microsoft.Network/virtualHubs@2022-01-01' = { - name: virtualHubName - location: location - properties: { - virtualWan: { - id: virtualWan.id - } - addressPrefix: '10.1.0.0/16' - } -} - -resource vpnSite 'Microsoft.Network/vpnSites@2022-01-01' = { - name: vpnSiteName - location: location - properties: { - virtualWan: { - id: virtualWan.id - } - addressSpace: { - addressPrefixes: [ - '10.0.0.0/16' - ] - } - vpnSiteLinks: [ - { - name: '${vpnSiteName}-vSite-link' - properties: { - bgpProperties: { - asn: 65010 - bgpPeeringAddress: '1.1.1.1' - } - ipAddress: '1.2.3.4' - linkProperties: { - linkProviderName: 'contoso' - linkSpeedInMbps: 5 - } - } - } - ] - } -} - -@description('The resource ID of the created Virtual Hub') -output virtualHubResourceId string = virtualHub.id - -@description('The resource ID of the created VPN site') -output vpnSiteResourceId string = vpnSite.id diff --git a/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep b/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep deleted file mode 100644 index 22dc15945c..0000000000 --- a/modules/Microsoft.Network/vpnGateways/.test/common/deploy.test.bicep +++ /dev/null @@ -1,96 +0,0 @@ -targetScope = 'subscription' - -// ========== // -// Parameters // -// ========== // -@description('Optional. The name of the resource group to deploy for testing purposes.') -@maxLength(90) -param resourceGroupName string = 'ms.network.vpngateways-${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 = 'nvgcom' - -// =========== // -// 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: { - virtualHubName: 'dep-<>-vh-${serviceShort}' - virtualWANName: 'dep-<>-vw-${serviceShort}' - vpnSiteName: 'dep-<>-vs-${serviceShort}' - } -} - -// ============== // -// Test Execution // -// ============== // -var vHubResourceId = '/subscriptions/${subscription().subscriptionId}/resourceGroups/${resourceGroup.name}/providers/Microsoft.Network/virtualHubs/<>${serviceShort}001' -module testDeployment '../../deploy.bicep' = { - scope: resourceGroup - name: '${uniqueString(deployment().name)}-test-${serviceShort}' - params: { - name: '<>${serviceShort}001' - virtualHubResourceId: resourceGroupResources.outputs.virtualHubResourceId - bgpSettings: { - asn: 65515 - peerWeight: 0 - } - connections: [ - { - connectionBandwidth: 10 - enableBgp: true - name: 'Connection-<>-az-vsite-x-001' - remoteVpnSiteResourceId: resourceGroupResources.outputs.vpnSiteResourceId - routingConfiguration: { - associatedRouteTable: { - id: '${vHubResourceId}/hubRouteTables/defaultRouteTable' - } - propagatedRouteTables: { - ids: [ - { - id: '${vHubResourceId}/hubRouteTables/defaultRouteTable' - } - ] - labels: [ - 'default' - ] - } - vnetRoutes: { - staticRoutes: [] - } - } - } - ] - lock: 'CanNotDelete' - natRules: [ - { - externalMappings: [ - { - addressSpace: '192.168.21.0/24' - } - ] - internalMappings: [ - { - addressSpace: '10.4.0.0/24' - } - ] - mode: 'EgressSnat' - name: 'natRule1' - type: 'Static' - } - ] - } -} diff --git a/modules/Microsoft.Network/vpnGateways/.test/min.parameters.json b/modules/Microsoft.Network/vpnGateways/.test/min.parameters.json new file mode 100644 index 0000000000..4ed3a736e6 --- /dev/null +++ b/modules/Microsoft.Network/vpnGateways/.test/min.parameters.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "name": { + "value": "<>-az-vpngw-min-001" + }, + "virtualHubResourceId": { + "value": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-min-001" + } + } +} diff --git a/modules/Microsoft.Network/vpnGateways/.test/min/dependencies.bicep b/modules/Microsoft.Network/vpnGateways/.test/min/dependencies.bicep deleted file mode 100644 index c5e41c32af..0000000000 --- a/modules/Microsoft.Network/vpnGateways/.test/min/dependencies.bicep +++ /dev/null @@ -1,27 +0,0 @@ -@description('Optional. The location to deploy resources to.') -param location string = resourceGroup().location - -@description('Optional. The name of the Virtual Hub to create.') -param virtualHubName string - -@description('Required. The name of the virtual WAN to create.') -param virtualWANName string - -resource virtualWan 'Microsoft.Network/virtualWans@2021-05-01' = { - name: virtualWANName - location: location -} - -resource virtualHub 'Microsoft.Network/virtualHubs@2022-01-01' = { - name: virtualHubName - location: location - properties: { - virtualWan: { - id: virtualWan.id - } - addressPrefix: '10.1.0.0/16' - } -} - -@description('The resource ID of the created Virtual Hub') -output virtualHubResourceId string = virtualHub.id diff --git a/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep b/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep deleted file mode 100644 index b88a24dad4..0000000000 --- a/modules/Microsoft.Network/vpnGateways/.test/min/deploy.test.bicep +++ /dev/null @@ -1,47 +0,0 @@ -targetScope = 'subscription' - -// ========== // -// Parameters // -// ========== // -@description('Optional. The name of the resource group to deploy for testing purposes.') -@maxLength(90) -param resourceGroupName string = 'ms.network.vpngateways-${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 = 'nvgmin' - -// =========== // -// 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: { - virtualHubName: 'dep-<>-vh-${serviceShort}' - virtualWANName: 'dep-<>-vw-${serviceShort}' - } -} - -// ============== // -// Test Execution // -// ============== // - -module testDeployment '../../deploy.bicep' = { - scope: resourceGroup - name: '${uniqueString(deployment().name)}-test-${serviceShort}' - params: { - name: '<>${serviceShort}001' - virtualHubResourceId: resourceGroupResources.outputs.virtualHubResourceId - } -} diff --git a/modules/Microsoft.Network/vpnGateways/.test/parameters.json b/modules/Microsoft.Network/vpnGateways/.test/parameters.json new file mode 100644 index 0000000000..620e1c6ff7 --- /dev/null +++ b/modules/Microsoft.Network/vpnGateways/.test/parameters.json @@ -0,0 +1,68 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "name": { + "value": "<>-az-vpngw-x-001" + }, + "lock": { + "value": "CanNotDelete" + }, + "virtualHubResourceId": { + "value": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001" + }, + "bgpSettings": { + "value": { + "asn": 65515, + "peerWeight": 0 + } + }, + "connections": { + "value": [ + { + "name": "Connection-<>-az-vsite-x-001", + "connectionBandwidth": 10, + "enableBgp": true, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001/hubRouteTables/defaultRouteTable" + }, + "propagatedRouteTables": { + "labels": [ + "default" + ], + "ids": [ + { + "id": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001/hubRouteTables/defaultRouteTable" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "remoteVpnSiteResourceId": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/vpnSites/<>-az-vsite-x-001" + } + ] + }, + "natRules": { + "value": [ + { + "name": "natRule1", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ], + "type": "Static", + "mode": "EgressSnat" + } + ] + } + } +} diff --git a/modules/Microsoft.Network/vpnGateways/readme.md b/modules/Microsoft.Network/vpnGateways/readme.md index c5104198df..0e2968839a 100644 --- a/modules/Microsoft.Network/vpnGateways/readme.md +++ b/modules/Microsoft.Network/vpnGateways/readme.md @@ -182,7 +182,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: Common

+

Example 1: Min

@@ -190,11 +190,54 @@ The following module usage examples are retrieved from the content of the files ```bicep module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-test-nvgcom' + name: '${uniqueString(deployment().name)}-VpnGateways' params: { // Required parameters - name: '<>nvgcom001' - virtualHubResourceId: '' + name: '<>-az-vpngw-min-001' + virtualHubResourceId: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-min-001' + } +} +``` + +
+

+ +

+ +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": "<>-az-vpngw-min-001" + }, + "virtualHubResourceId": { + "value": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-min-001" + } + } +} +``` + +
+

+ +

Example 2: Parameters

+ +
+ +via Bicep module + +```bicep +module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { + name: '${uniqueString(deployment().name)}-VpnGateways' + params: { + // Required parameters + name: '<>-az-vpngw-x-001' + virtualHubResourceId: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001' // Non-required parameters bgpSettings: { asn: 65515 @@ -205,15 +248,15 @@ module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { connectionBandwidth: 10 enableBgp: true name: 'Connection-<>-az-vsite-x-001' - remoteVpnSiteResourceId: '' + remoteVpnSiteResourceId: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/vpnSites/<>-az-vsite-x-001' routingConfiguration: { associatedRouteTable: { - id: '${vHubResourceId}/hubRouteTables/defaultRouteTable' + id: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001/hubRouteTables/defaultRouteTable' } propagatedRouteTables: { ids: [ { - id: '${vHubResourceId}/hubRouteTables/defaultRouteTable' + id: '/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001/hubRouteTables/defaultRouteTable' } ] labels: [ @@ -262,10 +305,10 @@ module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { "parameters": { // Required parameters "name": { - "value": "<>nvgcom001" + "value": "<>-az-vpngw-x-001" }, "virtualHubResourceId": { - "value": "" + "value": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001" }, // Non-required parameters "bgpSettings": { @@ -280,15 +323,15 @@ module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { "connectionBandwidth": 10, "enableBgp": true, "name": "Connection-<>-az-vsite-x-001", - "remoteVpnSiteResourceId": "", + "remoteVpnSiteResourceId": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/vpnSites/<>-az-vsite-x-001", "routingConfiguration": { "associatedRouteTable": { - "id": "${vHubResourceId}/hubRouteTables/defaultRouteTable" + "id": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001/hubRouteTables/defaultRouteTable" }, "propagatedRouteTables": { "ids": [ { - "id": "${vHubResourceId}/hubRouteTables/defaultRouteTable" + "id": "/subscriptions/<>/resourceGroups/validation-rg/providers/Microsoft.Network/virtualHubs/<>-az-vhub-x-001/hubRouteTables/defaultRouteTable" } ], "labels": [ @@ -330,46 +373,3 @@ module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = {

- -

Example 2: Min

- -
- -via Bicep module - -```bicep -module vpnGateways './Microsoft.Network/vpnGateways/deploy.bicep' = { - name: '${uniqueString(deployment().name)}-test-nvgmin' - params: { - // Required parameters - name: '<>nvgmin001' - virtualHubResourceId: '' - } -} -``` - -
-

- -

- -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": "<>nvgmin001" - }, - "virtualHubResourceId": { - "value": "" - } - } -} -``` - -
-

From 320f7d6b7d50bd636923c048636bd9d4945915d3 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 29 Sep 2022 09:55:13 +0200 Subject: [PATCH 13/13] Cleanup --- .github/workflows/ms.network.vpngateways.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ms.network.vpngateways.yml b/.github/workflows/ms.network.vpngateways.yml index f4b2c490f8..e2f13f404c 100644 --- a/.github/workflows/ms.network.vpngateways.yml +++ b/.github/workflows/ms.network.vpngateways.yml @@ -106,7 +106,8 @@ jobs: - name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' uses: ./.github/actions/templates/validateModuleDeployment with: - templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' + templateFilePath: '${{ env.modulePath }}/deploy.bicep' + parameterFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' location: '${{ env.location }}' resourceGroupName: '${{ env.resourceGroupName }}' subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}'