diff --git a/.azuredevops/modulePipelines/ms.aad.domainservices.yml b/.azuredevops/modulePipelines/ms.aad.domainservices.yml index f08e32f1ac..b04ab7daef 100644 --- a/.azuredevops/modulePipelines/ms.aad.domainservices.yml +++ b/.azuredevops/modulePipelines/ms.aad.domainservices.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.AAD/DomainServices/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.analysisservices.servers.yml b/.azuredevops/modulePipelines/ms.analysisservices.servers.yml index 6d5e5dc944..a63669a49f 100644 --- a/.azuredevops/modulePipelines/ms.analysisservices.servers.yml +++ b/.azuredevops/modulePipelines/ms.analysisservices.servers.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.AnalysisServices/servers/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.apimanagement.service.yml b/.azuredevops/modulePipelines/ms.apimanagement.service.yml index 894163fe64..1ee00a1810 100644 --- a/.azuredevops/modulePipelines/ms.apimanagement.service.yml +++ b/.azuredevops/modulePipelines/ms.apimanagement.service.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.ApiManagement/service/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.appconfiguration.configurationstores.yml b/.azuredevops/modulePipelines/ms.appconfiguration.configurationstores.yml index 77f822aec3..33b161c3de 100644 --- a/.azuredevops/modulePipelines/ms.appconfiguration.configurationstores.yml +++ b/.azuredevops/modulePipelines/ms.appconfiguration.configurationstores.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.AppConfiguration/configurationStores/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.authorization.locks.yml b/.azuredevops/modulePipelines/ms.authorization.locks.yml index e777ca3d09..98fe12a1b0 100644 --- a/.azuredevops/modulePipelines/ms.authorization.locks.yml +++ b/.azuredevops/modulePipelines/ms.authorization.locks.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Authorization/locks/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.authorization.policyassignments.yml b/.azuredevops/modulePipelines/ms.authorization.policyassignments.yml index 08193e5b3a..4e4da9e102 100644 --- a/.azuredevops/modulePipelines/ms.authorization.policyassignments.yml +++ b/.azuredevops/modulePipelines/ms.authorization.policyassignments.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Authorization/policyAssignments/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.authorization.policydefinitions.yml b/.azuredevops/modulePipelines/ms.authorization.policydefinitions.yml index cefd988794..c01ab32a8d 100644 --- a/.azuredevops/modulePipelines/ms.authorization.policydefinitions.yml +++ b/.azuredevops/modulePipelines/ms.authorization.policydefinitions.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Authorization/policyDefinitions/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.authorization.policyexemptions.yml b/.azuredevops/modulePipelines/ms.authorization.policyexemptions.yml index b6c2daf94a..1429cfa993 100644 --- a/.azuredevops/modulePipelines/ms.authorization.policyexemptions.yml +++ b/.azuredevops/modulePipelines/ms.authorization.policyexemptions.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Authorization/policyExemptions/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.authorization.policysetdefinitions.yml b/.azuredevops/modulePipelines/ms.authorization.policysetdefinitions.yml index ad5d987672..a0e19507fe 100644 --- a/.azuredevops/modulePipelines/ms.authorization.policysetdefinitions.yml +++ b/.azuredevops/modulePipelines/ms.authorization.policysetdefinitions.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Authorization/policySetDefinitions/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.authorization.roleassignments.yml b/.azuredevops/modulePipelines/ms.authorization.roleassignments.yml index cd1144f862..222bd82c84 100644 --- a/.azuredevops/modulePipelines/ms.authorization.roleassignments.yml +++ b/.azuredevops/modulePipelines/ms.authorization.roleassignments.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Authorization/roleAssignments/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.authorization.roledefinitions.yml b/.azuredevops/modulePipelines/ms.authorization.roledefinitions.yml index 30b0f155d9..5a112eca33 100644 --- a/.azuredevops/modulePipelines/ms.authorization.roledefinitions.yml +++ b/.azuredevops/modulePipelines/ms.authorization.roledefinitions.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Authorization/roleDefinitions/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.automation.automationaccounts.yml b/.azuredevops/modulePipelines/ms.automation.automationaccounts.yml index 663c2ce39d..c996d96503 100644 --- a/.azuredevops/modulePipelines/ms.automation.automationaccounts.yml +++ b/.azuredevops/modulePipelines/ms.automation.automationaccounts.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Automation/automationAccounts/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.batch.batchaccounts.yml b/.azuredevops/modulePipelines/ms.batch.batchaccounts.yml index 7af1587c98..c3efb484b2 100644 --- a/.azuredevops/modulePipelines/ms.batch.batchaccounts.yml +++ b/.azuredevops/modulePipelines/ms.batch.batchaccounts.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Batch/batchAccounts/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.cache.redis.yml b/.azuredevops/modulePipelines/ms.cache.redis.yml index b5cacf039f..163c298839 100644 --- a/.azuredevops/modulePipelines/ms.cache.redis.yml +++ b/.azuredevops/modulePipelines/ms.cache.redis.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Cache/Redis/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.cognitiveservices.accounts.yml b/.azuredevops/modulePipelines/ms.cognitiveservices.accounts.yml index 9b12c66fed..f55b3b522b 100644 --- a/.azuredevops/modulePipelines/ms.cognitiveservices.accounts.yml +++ b/.azuredevops/modulePipelines/ms.cognitiveservices.accounts.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.CognitiveServices/accounts/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.compute.availabilitysets.yml b/.azuredevops/modulePipelines/ms.compute.availabilitysets.yml index 32e3abefdf..f43da9d07d 100644 --- a/.azuredevops/modulePipelines/ms.compute.availabilitysets.yml +++ b/.azuredevops/modulePipelines/ms.compute.availabilitysets.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Compute/availabilitySets/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.compute.diskencryptionsets.yml b/.azuredevops/modulePipelines/ms.compute.diskencryptionsets.yml index dd6e8a6a71..b36d44ad6f 100644 --- a/.azuredevops/modulePipelines/ms.compute.diskencryptionsets.yml +++ b/.azuredevops/modulePipelines/ms.compute.diskencryptionsets.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Compute/diskEncryptionSets/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.compute.disks.yml b/.azuredevops/modulePipelines/ms.compute.disks.yml index c77f0595bf..a85269ef2d 100644 --- a/.azuredevops/modulePipelines/ms.compute.disks.yml +++ b/.azuredevops/modulePipelines/ms.compute.disks.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Compute/disks/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.compute.galleries.yml b/.azuredevops/modulePipelines/ms.compute.galleries.yml index b7213c4349..9b5a9b4b19 100644 --- a/.azuredevops/modulePipelines/ms.compute.galleries.yml +++ b/.azuredevops/modulePipelines/ms.compute.galleries.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Compute/galleries/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.compute.images.yml b/.azuredevops/modulePipelines/ms.compute.images.yml index ae8e816a57..387446cf0d 100644 --- a/.azuredevops/modulePipelines/ms.compute.images.yml +++ b/.azuredevops/modulePipelines/ms.compute.images.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Compute/images/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.compute.proximityplacementgroups.yml b/.azuredevops/modulePipelines/ms.compute.proximityplacementgroups.yml index bd351f6d74..fd5ef9c8ee 100644 --- a/.azuredevops/modulePipelines/ms.compute.proximityplacementgroups.yml +++ b/.azuredevops/modulePipelines/ms.compute.proximityplacementgroups.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Compute/proximityPlacementGroups/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.compute.virtualmachines.yml b/.azuredevops/modulePipelines/ms.compute.virtualmachines.yml index 6defd20ea1..9a18e28d8f 100644 --- a/.azuredevops/modulePipelines/ms.compute.virtualmachines.yml +++ b/.azuredevops/modulePipelines/ms.compute.virtualmachines.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Compute/virtualMachines/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.compute.virtualmachinescalesets.yml b/.azuredevops/modulePipelines/ms.compute.virtualmachinescalesets.yml index c9f4a0e44b..6a764ee349 100644 --- a/.azuredevops/modulePipelines/ms.compute.virtualmachinescalesets.yml +++ b/.azuredevops/modulePipelines/ms.compute.virtualmachinescalesets.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Compute/virtualMachineScaleSets/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.consumption.budgets.yml b/.azuredevops/modulePipelines/ms.consumption.budgets.yml index a776b93fff..802e80c6e1 100644 --- a/.azuredevops/modulePipelines/ms.consumption.budgets.yml +++ b/.azuredevops/modulePipelines/ms.consumption.budgets.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Consumption/budgets/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.containerinstance.containergroups.yml b/.azuredevops/modulePipelines/ms.containerinstance.containergroups.yml index 0a2a0d78f2..4831d5be2c 100644 --- a/.azuredevops/modulePipelines/ms.containerinstance.containergroups.yml +++ b/.azuredevops/modulePipelines/ms.containerinstance.containergroups.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.ContainerInstance/containerGroups/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.containerregistry.registries.yml b/.azuredevops/modulePipelines/ms.containerregistry.registries.yml index ff6edfe972..72270d5325 100644 --- a/.azuredevops/modulePipelines/ms.containerregistry.registries.yml +++ b/.azuredevops/modulePipelines/ms.containerregistry.registries.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.ContainerRegistry/registries/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.containerservice.managedclusters.yml b/.azuredevops/modulePipelines/ms.containerservice.managedclusters.yml index a5f2f13721..66c567b41d 100644 --- a/.azuredevops/modulePipelines/ms.containerservice.managedclusters.yml +++ b/.azuredevops/modulePipelines/ms.containerservice.managedclusters.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.ContainerService/managedClusters/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.databricks.workspaces.yml b/.azuredevops/modulePipelines/ms.databricks.workspaces.yml index addf220e37..79688bbbc8 100644 --- a/.azuredevops/modulePipelines/ms.databricks.workspaces.yml +++ b/.azuredevops/modulePipelines/ms.databricks.workspaces.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Databricks/workspaces/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.datafactory.factories.yml b/.azuredevops/modulePipelines/ms.datafactory.factories.yml index 73ea5faa9f..90af5ad870 100644 --- a/.azuredevops/modulePipelines/ms.datafactory.factories.yml +++ b/.azuredevops/modulePipelines/ms.datafactory.factories.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.DataFactory/factories/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.dataprotection.backupvaults.yml b/.azuredevops/modulePipelines/ms.dataprotection.backupvaults.yml index 64c4479310..23f1ffa3b2 100644 --- a/.azuredevops/modulePipelines/ms.dataprotection.backupvaults.yml +++ b/.azuredevops/modulePipelines/ms.dataprotection.backupvaults.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.DataProtection/vaults/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.dbforpostgresql.flexibleservers.yml b/.azuredevops/modulePipelines/ms.dbforpostgresql.flexibleservers.yml index ac9bbf40da..8cffdc2453 100644 --- a/.azuredevops/modulePipelines/ms.dbforpostgresql.flexibleservers.yml +++ b/.azuredevops/modulePipelines/ms.dbforpostgresql.flexibleservers.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.DBforPostgreSQL/flexibleServers/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.desktopvirtualization.applicationgroups.yml b/.azuredevops/modulePipelines/ms.desktopvirtualization.applicationgroups.yml index 3015a89b61..6d3c0c184f 100644 --- a/.azuredevops/modulePipelines/ms.desktopvirtualization.applicationgroups.yml +++ b/.azuredevops/modulePipelines/ms.desktopvirtualization.applicationgroups.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.DesktopVirtualization/applicationgroups/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.desktopvirtualization.hostpools.yml b/.azuredevops/modulePipelines/ms.desktopvirtualization.hostpools.yml index 554a8aac44..b600c880ce 100644 --- a/.azuredevops/modulePipelines/ms.desktopvirtualization.hostpools.yml +++ b/.azuredevops/modulePipelines/ms.desktopvirtualization.hostpools.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.DesktopVirtualization/hostpools/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.desktopvirtualization.scalingplans.yml b/.azuredevops/modulePipelines/ms.desktopvirtualization.scalingplans.yml index 243e4020d9..cad3b00ce8 100644 --- a/.azuredevops/modulePipelines/ms.desktopvirtualization.scalingplans.yml +++ b/.azuredevops/modulePipelines/ms.desktopvirtualization.scalingplans.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.DesktopVirtualization/scalingplans/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.desktopvirtualization.workspaces.yml b/.azuredevops/modulePipelines/ms.desktopvirtualization.workspaces.yml index 52c94c19b5..f30091d116 100644 --- a/.azuredevops/modulePipelines/ms.desktopvirtualization.workspaces.yml +++ b/.azuredevops/modulePipelines/ms.desktopvirtualization.workspaces.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.DesktopVirtualization/workspaces/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.documentdb.databaseaccounts.yml b/.azuredevops/modulePipelines/ms.documentdb.databaseaccounts.yml index b273c7a1e3..af5b7a4d34 100644 --- a/.azuredevops/modulePipelines/ms.documentdb.databaseaccounts.yml +++ b/.azuredevops/modulePipelines/ms.documentdb.databaseaccounts.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.DocumentDB/databaseAccounts/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.eventgrid.systemtopics.yml b/.azuredevops/modulePipelines/ms.eventgrid.systemtopics.yml index d4c379b3dc..ff4cff5632 100644 --- a/.azuredevops/modulePipelines/ms.eventgrid.systemtopics.yml +++ b/.azuredevops/modulePipelines/ms.eventgrid.systemtopics.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.EventGrid/systemTopics/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.eventgrid.topics.yml b/.azuredevops/modulePipelines/ms.eventgrid.topics.yml index 3a40a70fa8..a0b6380c03 100644 --- a/.azuredevops/modulePipelines/ms.eventgrid.topics.yml +++ b/.azuredevops/modulePipelines/ms.eventgrid.topics.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.EventGrid/topics/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.eventhub.namespaces.yml b/.azuredevops/modulePipelines/ms.eventhub.namespaces.yml index 887c109ef1..0ce7ba5906 100644 --- a/.azuredevops/modulePipelines/ms.eventhub.namespaces.yml +++ b/.azuredevops/modulePipelines/ms.eventhub.namespaces.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.EventHub/namespaces/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.healthbot.healthbots.yml b/.azuredevops/modulePipelines/ms.healthbot.healthbots.yml index acd1e08630..12ec38c76d 100644 --- a/.azuredevops/modulePipelines/ms.healthbot.healthbots.yml +++ b/.azuredevops/modulePipelines/ms.healthbot.healthbots.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.HealthBot/healthBots/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.insights.actiongroups.yml b/.azuredevops/modulePipelines/ms.insights.actiongroups.yml index d04079fdf0..5a72be97bb 100644 --- a/.azuredevops/modulePipelines/ms.insights.actiongroups.yml +++ b/.azuredevops/modulePipelines/ms.insights.actiongroups.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Insights/actionGroups/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.insights.activitylogalerts.yml b/.azuredevops/modulePipelines/ms.insights.activitylogalerts.yml index f6aca87387..44f761114a 100644 --- a/.azuredevops/modulePipelines/ms.insights.activitylogalerts.yml +++ b/.azuredevops/modulePipelines/ms.insights.activitylogalerts.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Insights/activityLogAlerts/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.insights.components.yml b/.azuredevops/modulePipelines/ms.insights.components.yml index 03ce67402b..c68a81635f 100644 --- a/.azuredevops/modulePipelines/ms.insights.components.yml +++ b/.azuredevops/modulePipelines/ms.insights.components.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Insights/components/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.insights.diagnosticsettings.yml b/.azuredevops/modulePipelines/ms.insights.diagnosticsettings.yml index 313bcb73d5..64d15f7046 100644 --- a/.azuredevops/modulePipelines/ms.insights.diagnosticsettings.yml +++ b/.azuredevops/modulePipelines/ms.insights.diagnosticsettings.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Insights/diagnosticSettings/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.insights.metricalerts.yml b/.azuredevops/modulePipelines/ms.insights.metricalerts.yml index 708f87d56a..e4e0236805 100644 --- a/.azuredevops/modulePipelines/ms.insights.metricalerts.yml +++ b/.azuredevops/modulePipelines/ms.insights.metricalerts.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Insights/metricAlerts/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.insights.privatelinkscopes.yml b/.azuredevops/modulePipelines/ms.insights.privatelinkscopes.yml index af597a8e69..777c0d2a40 100644 --- a/.azuredevops/modulePipelines/ms.insights.privatelinkscopes.yml +++ b/.azuredevops/modulePipelines/ms.insights.privatelinkscopes.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Insights/privateLinkScopes/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.insights.scheduledqueryrules.yml b/.azuredevops/modulePipelines/ms.insights.scheduledqueryrules.yml index d807f5080e..7455256a10 100644 --- a/.azuredevops/modulePipelines/ms.insights.scheduledqueryrules.yml +++ b/.azuredevops/modulePipelines/ms.insights.scheduledqueryrules.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Insights/scheduledQueryRules/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.keyvault.vaults.yml b/.azuredevops/modulePipelines/ms.keyvault.vaults.yml index d0bd85483c..7abc22dffd 100644 --- a/.azuredevops/modulePipelines/ms.keyvault.vaults.yml +++ b/.azuredevops/modulePipelines/ms.keyvault.vaults.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.KeyVault/vaults/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.kubernetesconfiguration.extensions.yml b/.azuredevops/modulePipelines/ms.kubernetesconfiguration.extensions.yml index 4a41865cce..c8014faee8 100644 --- a/.azuredevops/modulePipelines/ms.kubernetesconfiguration.extensions.yml +++ b/.azuredevops/modulePipelines/ms.kubernetesconfiguration.extensions.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.KubernetesConfiguration/extensions/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.kubernetesconfiguration.fluxconfigurations.yml b/.azuredevops/modulePipelines/ms.kubernetesconfiguration.fluxconfigurations.yml index 245185b5a5..7cef1bc138 100644 --- a/.azuredevops/modulePipelines/ms.kubernetesconfiguration.fluxconfigurations.yml +++ b/.azuredevops/modulePipelines/ms.kubernetesconfiguration.fluxconfigurations.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.KubernetesConfiguration/fluxConfigurations/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.logic.workflows.yml b/.azuredevops/modulePipelines/ms.logic.workflows.yml index 0186d76afc..efb294fd85 100644 --- a/.azuredevops/modulePipelines/ms.logic.workflows.yml +++ b/.azuredevops/modulePipelines/ms.logic.workflows.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Logic/workflows/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.machinelearningservices.workspaces.yml b/.azuredevops/modulePipelines/ms.machinelearningservices.workspaces.yml index 6e99ccc773..8166869ae7 100644 --- a/.azuredevops/modulePipelines/ms.machinelearningservices.workspaces.yml +++ b/.azuredevops/modulePipelines/ms.machinelearningservices.workspaces.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.MachineLearningServices/workspaces/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.maintenance.maintenanceconfigurations.yml b/.azuredevops/modulePipelines/ms.maintenance.maintenanceconfigurations.yml index ca5076934a..e2db410007 100644 --- a/.azuredevops/modulePipelines/ms.maintenance.maintenanceconfigurations.yml +++ b/.azuredevops/modulePipelines/ms.maintenance.maintenanceconfigurations.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Maintenance/maintenanceConfigurations/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.managedidentity.userassignedidentities.yml b/.azuredevops/modulePipelines/ms.managedidentity.userassignedidentities.yml index 4786df1779..63b6de4000 100644 --- a/.azuredevops/modulePipelines/ms.managedidentity.userassignedidentities.yml +++ b/.azuredevops/modulePipelines/ms.managedidentity.userassignedidentities.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.ManagedIdentity/userAssignedIdentities/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.managedservices.registrationdefinitions.yml b/.azuredevops/modulePipelines/ms.managedservices.registrationdefinitions.yml index ad0742634d..beb3a82e26 100644 --- a/.azuredevops/modulePipelines/ms.managedservices.registrationdefinitions.yml +++ b/.azuredevops/modulePipelines/ms.managedservices.registrationdefinitions.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.ManagedServices/registrationDefinitions/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.management.managementgroups.yml b/.azuredevops/modulePipelines/ms.management.managementgroups.yml index ff8a25fdf8..289e349c9a 100644 --- a/.azuredevops/modulePipelines/ms.management.managementgroups.yml +++ b/.azuredevops/modulePipelines/ms.management.managementgroups.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Management/managementGroups/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.netapp.netappaccounts.yml b/.azuredevops/modulePipelines/ms.netapp.netappaccounts.yml index 8fafefa848..ee9fa76b36 100644 --- a/.azuredevops/modulePipelines/ms.netapp.netappaccounts.yml +++ b/.azuredevops/modulePipelines/ms.netapp.netappaccounts.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.NetApp/netAppAccounts/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.applicationgateways.yml b/.azuredevops/modulePipelines/ms.network.applicationgateways.yml index ad2fb6115b..0598fd93ab 100644 --- a/.azuredevops/modulePipelines/ms.network.applicationgateways.yml +++ b/.azuredevops/modulePipelines/ms.network.applicationgateways.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/applicationGateways/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml b/.azuredevops/modulePipelines/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml index 03de0ee701..58a17edaf6 100644 --- a/.azuredevops/modulePipelines/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml +++ b/.azuredevops/modulePipelines/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.applicationsecuritygroups.yml b/.azuredevops/modulePipelines/ms.network.applicationsecuritygroups.yml index c67b2799fb..5e4acd8faa 100644 --- a/.azuredevops/modulePipelines/ms.network.applicationsecuritygroups.yml +++ b/.azuredevops/modulePipelines/ms.network.applicationsecuritygroups.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/applicationSecurityGroups/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.azurefirewalls.yml b/.azuredevops/modulePipelines/ms.network.azurefirewalls.yml index 696ab36d5b..e072131a7e 100644 --- a/.azuredevops/modulePipelines/ms.network.azurefirewalls.yml +++ b/.azuredevops/modulePipelines/ms.network.azurefirewalls.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/azureFirewalls/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.bastionhosts.yml b/.azuredevops/modulePipelines/ms.network.bastionhosts.yml index adf627ee53..382dcd152e 100644 --- a/.azuredevops/modulePipelines/ms.network.bastionhosts.yml +++ b/.azuredevops/modulePipelines/ms.network.bastionhosts.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/bastionHosts/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.connections.yml b/.azuredevops/modulePipelines/ms.network.connections.yml index 838352c8de..d3ca0c907e 100644 --- a/.azuredevops/modulePipelines/ms.network.connections.yml +++ b/.azuredevops/modulePipelines/ms.network.connections.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/connections/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.ddosprotectionplans.yml b/.azuredevops/modulePipelines/ms.network.ddosprotectionplans.yml index f3867a8ce6..c0c790a71f 100644 --- a/.azuredevops/modulePipelines/ms.network.ddosprotectionplans.yml +++ b/.azuredevops/modulePipelines/ms.network.ddosprotectionplans.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/ddosProtectionPlans/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.dnsresolvers.yml b/.azuredevops/modulePipelines/ms.network.dnsresolvers.yml index 20b3be8038..f95ef2cb46 100644 --- a/.azuredevops/modulePipelines/ms.network.dnsresolvers.yml +++ b/.azuredevops/modulePipelines/ms.network.dnsresolvers.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/dnsResolvers/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.expressroutecircuits.yml b/.azuredevops/modulePipelines/ms.network.expressroutecircuits.yml index f2b7577cd8..e09d627848 100644 --- a/.azuredevops/modulePipelines/ms.network.expressroutecircuits.yml +++ b/.azuredevops/modulePipelines/ms.network.expressroutecircuits.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/expressRouteCircuits/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.firewallpolicies.yml b/.azuredevops/modulePipelines/ms.network.firewallpolicies.yml index 6c0ac083db..30a09061c5 100644 --- a/.azuredevops/modulePipelines/ms.network.firewallpolicies.yml +++ b/.azuredevops/modulePipelines/ms.network.firewallpolicies.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/firewallPolicies/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.frontdoors.yml b/.azuredevops/modulePipelines/ms.network.frontdoors.yml index 5c13d99e0c..81dd818b4a 100644 --- a/.azuredevops/modulePipelines/ms.network.frontdoors.yml +++ b/.azuredevops/modulePipelines/ms.network.frontdoors.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/frontDoors/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.ipgroups.yml b/.azuredevops/modulePipelines/ms.network.ipgroups.yml index 08b10ac123..a8e510a90e 100644 --- a/.azuredevops/modulePipelines/ms.network.ipgroups.yml +++ b/.azuredevops/modulePipelines/ms.network.ipgroups.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/ipGroups/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.loadbalancers.yml b/.azuredevops/modulePipelines/ms.network.loadbalancers.yml index 48010157c8..e5ff249744 100644 --- a/.azuredevops/modulePipelines/ms.network.loadbalancers.yml +++ b/.azuredevops/modulePipelines/ms.network.loadbalancers.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/loadBalancers/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.localnetworkgateways.yml b/.azuredevops/modulePipelines/ms.network.localnetworkgateways.yml index 10abe167da..79b733a75c 100644 --- a/.azuredevops/modulePipelines/ms.network.localnetworkgateways.yml +++ b/.azuredevops/modulePipelines/ms.network.localnetworkgateways.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/localNetworkGateways/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.natgateways.yml b/.azuredevops/modulePipelines/ms.network.natgateways.yml index ae9c6bf12d..04eca546d9 100644 --- a/.azuredevops/modulePipelines/ms.network.natgateways.yml +++ b/.azuredevops/modulePipelines/ms.network.natgateways.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/natGateways/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.networkinterfaces.yml b/.azuredevops/modulePipelines/ms.network.networkinterfaces.yml index a92492abb0..b2144f8032 100644 --- a/.azuredevops/modulePipelines/ms.network.networkinterfaces.yml +++ b/.azuredevops/modulePipelines/ms.network.networkinterfaces.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/networkInterfaces/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.networksecuritygroups.yml b/.azuredevops/modulePipelines/ms.network.networksecuritygroups.yml index 2831ca481d..6e3542d1f9 100644 --- a/.azuredevops/modulePipelines/ms.network.networksecuritygroups.yml +++ b/.azuredevops/modulePipelines/ms.network.networksecuritygroups.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/networkSecurityGroups/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.networkwatchers.yml b/.azuredevops/modulePipelines/ms.network.networkwatchers.yml index 93d889b368..6079b14399 100644 --- a/.azuredevops/modulePipelines/ms.network.networkwatchers.yml +++ b/.azuredevops/modulePipelines/ms.network.networkwatchers.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/networkWatchers/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.privatednszones.yml b/.azuredevops/modulePipelines/ms.network.privatednszones.yml index bf0eac95ad..74b275577c 100644 --- a/.azuredevops/modulePipelines/ms.network.privatednszones.yml +++ b/.azuredevops/modulePipelines/ms.network.privatednszones.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/privateDnsZones/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.privateendpoints.yml b/.azuredevops/modulePipelines/ms.network.privateendpoints.yml index 789bea5a76..8a88ce1549 100644 --- a/.azuredevops/modulePipelines/ms.network.privateendpoints.yml +++ b/.azuredevops/modulePipelines/ms.network.privateendpoints.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/privateEndpoints/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.privatelinkservices.yml b/.azuredevops/modulePipelines/ms.network.privatelinkservices.yml index 3cce936b5d..8008553b17 100644 --- a/.azuredevops/modulePipelines/ms.network.privatelinkservices.yml +++ b/.azuredevops/modulePipelines/ms.network.privatelinkservices.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/privateLinkServices/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.publicipaddresses.yml b/.azuredevops/modulePipelines/ms.network.publicipaddresses.yml index 45314893af..1efce35662 100644 --- a/.azuredevops/modulePipelines/ms.network.publicipaddresses.yml +++ b/.azuredevops/modulePipelines/ms.network.publicipaddresses.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/publicIPAddresses/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.publicipprefixes.yml b/.azuredevops/modulePipelines/ms.network.publicipprefixes.yml index 9d23a1e84a..8974fb514e 100644 --- a/.azuredevops/modulePipelines/ms.network.publicipprefixes.yml +++ b/.azuredevops/modulePipelines/ms.network.publicipprefixes.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/publicIPPrefixes/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.routetables.yml b/.azuredevops/modulePipelines/ms.network.routetables.yml index ac459ec110..e13c6979a0 100644 --- a/.azuredevops/modulePipelines/ms.network.routetables.yml +++ b/.azuredevops/modulePipelines/ms.network.routetables.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/routeTables/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.trafficmanagerprofiles.yml b/.azuredevops/modulePipelines/ms.network.trafficmanagerprofiles.yml index 854f128957..09a84220d3 100644 --- a/.azuredevops/modulePipelines/ms.network.trafficmanagerprofiles.yml +++ b/.azuredevops/modulePipelines/ms.network.trafficmanagerprofiles.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/trafficmanagerprofiles/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.virtualhubs.yml b/.azuredevops/modulePipelines/ms.network.virtualhubs.yml index 8759fc8cd5..3fc0dbbe65 100644 --- a/.azuredevops/modulePipelines/ms.network.virtualhubs.yml +++ b/.azuredevops/modulePipelines/ms.network.virtualhubs.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/virtualHubs/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.virtualnetworkgateways.yml b/.azuredevops/modulePipelines/ms.network.virtualnetworkgateways.yml index d43aa2736c..2885e21201 100644 --- a/.azuredevops/modulePipelines/ms.network.virtualnetworkgateways.yml +++ b/.azuredevops/modulePipelines/ms.network.virtualnetworkgateways.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/virtualNetworkGateways/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.virtualnetworks.yml b/.azuredevops/modulePipelines/ms.network.virtualnetworks.yml index 13e49cbeec..a3d80e1889 100644 --- a/.azuredevops/modulePipelines/ms.network.virtualnetworks.yml +++ b/.azuredevops/modulePipelines/ms.network.virtualnetworks.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/virtualNetworks/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.virtualwans.yml b/.azuredevops/modulePipelines/ms.network.virtualwans.yml index 85f633ddf1..2db8f41fc2 100644 --- a/.azuredevops/modulePipelines/ms.network.virtualwans.yml +++ b/.azuredevops/modulePipelines/ms.network.virtualwans.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/virtualWans/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.vpngateways.yml b/.azuredevops/modulePipelines/ms.network.vpngateways.yml index 3e44f1ac6c..be17134a79 100644 --- a/.azuredevops/modulePipelines/ms.network.vpngateways.yml +++ b/.azuredevops/modulePipelines/ms.network.vpngateways.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/vpnGateways/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.network.vpnsites.yml b/.azuredevops/modulePipelines/ms.network.vpnsites.yml index edc348cf21..b4c61df9a4 100644 --- a/.azuredevops/modulePipelines/ms.network.vpnsites.yml +++ b/.azuredevops/modulePipelines/ms.network.vpnsites.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Network/vpnSites/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.operationalinsights.workspaces.yml b/.azuredevops/modulePipelines/ms.operationalinsights.workspaces.yml index 4b3f32ea81..5faae73f7e 100644 --- a/.azuredevops/modulePipelines/ms.operationalinsights.workspaces.yml +++ b/.azuredevops/modulePipelines/ms.operationalinsights.workspaces.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.OperationalInsights/workspaces/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.operationsmanagement.solutions.yml b/.azuredevops/modulePipelines/ms.operationsmanagement.solutions.yml index ab03457bca..208a178014 100644 --- a/.azuredevops/modulePipelines/ms.operationsmanagement.solutions.yml +++ b/.azuredevops/modulePipelines/ms.operationsmanagement.solutions.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.OperationsManagement/solutions/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.powerbidedicated.capacities.yml b/.azuredevops/modulePipelines/ms.powerbidedicated.capacities.yml index 118ac200ca..ef4fe7ec10 100644 --- a/.azuredevops/modulePipelines/ms.powerbidedicated.capacities.yml +++ b/.azuredevops/modulePipelines/ms.powerbidedicated.capacities.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.PowerBIDedicated/capacities/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.recoveryservices.vaults.yml b/.azuredevops/modulePipelines/ms.recoveryservices.vaults.yml index b8ebd28f86..52e1e40eec 100644 --- a/.azuredevops/modulePipelines/ms.recoveryservices.vaults.yml +++ b/.azuredevops/modulePipelines/ms.recoveryservices.vaults.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.RecoveryServices/vaults/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.resources.deploymentscripts.yml b/.azuredevops/modulePipelines/ms.resources.deploymentscripts.yml index abf8533470..53831bca7d 100644 --- a/.azuredevops/modulePipelines/ms.resources.deploymentscripts.yml +++ b/.azuredevops/modulePipelines/ms.resources.deploymentscripts.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Resources/deploymentScripts/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.resources.resourcegroups.yml b/.azuredevops/modulePipelines/ms.resources.resourcegroups.yml index fad7974434..af2dc0a686 100644 --- a/.azuredevops/modulePipelines/ms.resources.resourcegroups.yml +++ b/.azuredevops/modulePipelines/ms.resources.resourcegroups.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Resources/resourceGroups/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.resources.tags.yml b/.azuredevops/modulePipelines/ms.resources.tags.yml index 41641f7ee3..ad80909b33 100644 --- a/.azuredevops/modulePipelines/ms.resources.tags.yml +++ b/.azuredevops/modulePipelines/ms.resources.tags.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Resources/tags/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.security.azuresecuritycenter.yml b/.azuredevops/modulePipelines/ms.security.azuresecuritycenter.yml index 839e0b195f..7d08d03fe2 100644 --- a/.azuredevops/modulePipelines/ms.security.azuresecuritycenter.yml +++ b/.azuredevops/modulePipelines/ms.security.azuresecuritycenter.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Security/azureSecurityCenter/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.servicebus.namespaces.yml b/.azuredevops/modulePipelines/ms.servicebus.namespaces.yml index 564a8133d5..b724c864f6 100644 --- a/.azuredevops/modulePipelines/ms.servicebus.namespaces.yml +++ b/.azuredevops/modulePipelines/ms.servicebus.namespaces.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.ServiceBus/namespaces/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.servicefabric.clusters.yml b/.azuredevops/modulePipelines/ms.servicefabric.clusters.yml index 8ba4a654d6..b832760839 100644 --- a/.azuredevops/modulePipelines/ms.servicefabric.clusters.yml +++ b/.azuredevops/modulePipelines/ms.servicefabric.clusters.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.ServiceFabric/clusters/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.signalrservice.webpubsub.yml b/.azuredevops/modulePipelines/ms.signalrservice.webpubsub.yml index 1d0a1cba6f..aa0dca3113 100644 --- a/.azuredevops/modulePipelines/ms.signalrservice.webpubsub.yml +++ b/.azuredevops/modulePipelines/ms.signalrservice.webpubsub.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.SignalRService/webPubSub/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.sql.managedinstances.yml b/.azuredevops/modulePipelines/ms.sql.managedinstances.yml index 61552ee82f..895aa935d8 100644 --- a/.azuredevops/modulePipelines/ms.sql.managedinstances.yml +++ b/.azuredevops/modulePipelines/ms.sql.managedinstances.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Sql/managedInstances/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.sql.servers.yml b/.azuredevops/modulePipelines/ms.sql.servers.yml index 1c3c4447b5..301833025f 100644 --- a/.azuredevops/modulePipelines/ms.sql.servers.yml +++ b/.azuredevops/modulePipelines/ms.sql.servers.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Sql/servers/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.storage.storageaccounts.yml b/.azuredevops/modulePipelines/ms.storage.storageaccounts.yml index 4851344f95..61c62c8816 100644 --- a/.azuredevops/modulePipelines/ms.storage.storageaccounts.yml +++ b/.azuredevops/modulePipelines/ms.storage.storageaccounts.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Storage/storageAccounts/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.synapse.privatelinkhubs.yml b/.azuredevops/modulePipelines/ms.synapse.privatelinkhubs.yml index ad74af481a..da4556b048 100644 --- a/.azuredevops/modulePipelines/ms.synapse.privatelinkhubs.yml +++ b/.azuredevops/modulePipelines/ms.synapse.privatelinkhubs.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Synapse/privateLinkHubs/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.synapse.workspaces.yml b/.azuredevops/modulePipelines/ms.synapse.workspaces.yml index 2868ab338a..fc7eb8961b 100644 --- a/.azuredevops/modulePipelines/ms.synapse.workspaces.yml +++ b/.azuredevops/modulePipelines/ms.synapse.workspaces.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Synapse/workspaces/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.virtualmachineimages.imagetemplates.yml b/.azuredevops/modulePipelines/ms.virtualmachineimages.imagetemplates.yml index 230c0fb553..11df46769e 100644 --- a/.azuredevops/modulePipelines/ms.virtualmachineimages.imagetemplates.yml +++ b/.azuredevops/modulePipelines/ms.virtualmachineimages.imagetemplates.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.VirtualMachineImages/imageTemplates/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.web.connections.yml b/.azuredevops/modulePipelines/ms.web.connections.yml index 52a1aacbc6..3eca755c43 100644 --- a/.azuredevops/modulePipelines/ms.web.connections.yml +++ b/.azuredevops/modulePipelines/ms.web.connections.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Web/connections/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.web.hostingenvironments.yml b/.azuredevops/modulePipelines/ms.web.hostingenvironments.yml index 778e24099d..bc92ee231e 100644 --- a/.azuredevops/modulePipelines/ms.web.hostingenvironments.yml +++ b/.azuredevops/modulePipelines/ms.web.hostingenvironments.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Web/hostingEnvironments/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.web.serverfarms.yml b/.azuredevops/modulePipelines/ms.web.serverfarms.yml index 6104be01e3..d2bf22d92a 100644 --- a/.azuredevops/modulePipelines/ms.web.serverfarms.yml +++ b/.azuredevops/modulePipelines/ms.web.serverfarms.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Web/serverfarms/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.web.sites.yml b/.azuredevops/modulePipelines/ms.web.sites.yml index 26278d7bbf..0b102def09 100644 --- a/.azuredevops/modulePipelines/ms.web.sites.yml +++ b/.azuredevops/modulePipelines/ms.web.sites.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Web/sites/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/modulePipelines/ms.web.staticsites.yml b/.azuredevops/modulePipelines/ms.web.staticsites.yml index 9f9294b298..ac5bf370fc 100644 --- a/.azuredevops/modulePipelines/ms.web.staticsites.yml +++ b/.azuredevops/modulePipelines/ms.web.staticsites.yml @@ -24,7 +24,6 @@ trigger: - '/modules/Microsoft.Web/staticSites/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' - '/**/*.md' variables: diff --git a/.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml b/.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml deleted file mode 100644 index bb7ad964d5..0000000000 --- a/.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml +++ /dev/null @@ -1,273 +0,0 @@ -######################################################### -## DEPLOYMENT PIPELINE ## -######################################################### -## -## This pipeline template contains the logic to deploy a given module's ARM template using the provided parameter file(s) -## -## Enabled levels of deployment -## - Resource-Group-Level -## - Subscription-Level -## - Management-Group-Level -## - Tenant-Level -## -######################################################## -## -##---------------------------------------------## -## TEMPLATE PARAMETERS ## -##---------------------------------------------## -## -## By default it uses the variables specified in the below [parameters] section. However, you can overwrite these variables in the -## referencing pipeline by providing the parameter explicitly. -## -## NOTE: If you don't need to overwrite a shared value, you can IGNORE this section -## -## |=================================================================================================================================================================================================================================| -## | Parameter | Default Value | Description | Example | -## |---------------------------------|--------------------------------------|-----------------------------------------------------------------------------------------------------------|--------------------------------------------| -## | serviceConnection | '$(serviceConnection)' | The service connection that connects to Azure | 'demo-internal' | -## | poolName | '$(poolName)' | You can provide either a [poolname] or [vmImage] to run the job on | 'Custom Deployment Pool' | -## | vmImage | '$(vmImage)' | You can provide either a [poolname] or [vmImage] to run the job on | 'ubuntu20.04' | -## | defaultJobTimeoutInMinutes | 120 | The timeout for the job in this pipeline | 120 | -## | deploymentBlocks | | The parameter file(s) to deploy with. Must be provided | path: 'C:/parameters.json' | -## | location | '$(location)' | The location to deploy with | 'EastUs2' | -## | resourceGroupName | '$(resourceGroupName)' | The resourcegroup to deploy into. Required only for Resource-Group-Level deployments | 'validation-rg' | -## | subscriptionId | '$(ARM_SUBSCRIPTION_ID)' | The id of the subscription to deploy into when using a Management group service connection | 'aed7c000-6387-412e-bed0-24dfddf4bbc6' | -## | managementGroupId | '$(ARM_MGMTGROUP_ID)' | The id of the management group to deploy into. Required only for Management-Group-Level deployments | '6ycc9620-cb01-454f-9ebc-fc6b1df48d64' | -## | azurePowerShellVersion | '$(azurePowerShellVersion)' | Used for configuring the Azure PowerShellModules Version, one of the example values. | 'latestVersion' or 'OtherVersion' | -## | preferredAzurePowerShellVersion | '$(preferredAzurePowerShellVersion)' | Used for configuring the Azure PowerShellModules Version, either an empty string or the specific version. | '4.4.0' | -## |=================================================================================================================================================================================================================================| -## -##---------------------------------------------## - -parameters: - # Pipeline-related parameters - serviceConnection: '$(serviceConnection)' - poolName: '$(poolName)' - vmImage: '$(vmImage)' - defaultJobTimeoutInMinutes: 120 - dependsOn: [] - # Logic-related parameters - deploymentBlocks: '' - location: '$(location)' - resourceGroupName: '$(resourceGroupName)' - subscriptionId: '$(ARM_SUBSCRIPTION_ID)' - managementGroupId: '$(ARM_MGMTGROUP_ID)' - # Azure PowerShell Version parameters - azurePowerShellVersion: '$(azurePowerShellVersion)' - preferredAzurePowerShellVersion: '$(preferredAzurePowerShellVersion)' - -##---------------------------------------------## -## TEMPLATE LOGIC ## -##---------------------------------------------## - -jobs: - - ${{ each deploymentBlock in parameters.deploymentBlocks }}: - - job: ${{ deploymentBlock.jobName }} - displayName: ${{ deploymentBlock.displayName }} - timeoutInMinutes: ${{ parameters.defaultJobTimeoutInMinutes }} - ${{ if ne( parameters.dependsOn, '') }}: - dependsOn: ${{ parameters.dependsOn }} - pool: - ${{ if ne(parameters.vmImage, '') }}: - vmImage: ${{ parameters.vmImage }} - ${{ if ne(parameters.poolName, '') }}: - name: ${{ parameters.poolName }} - - steps: - # [Checkout Repositories] task(s) - #-------------------------------- - - checkout: self - - # [Agent] Prepare environment - #---------------------------- - - task: PowerShell@2 - displayName: 'Setup agent' - inputs: - targetType: inline - pwsh: true - script: | - # Load used functions - . (Join-Path '$(System.DefaultWorkingDirectory)' 'utilities' 'pipelines' 'sharedScripts' 'Set-EnvironmentOnAgent.ps1') - - # Define PS modules to install on the runner - $Modules = @( - @{ Name = 'Az.Accounts' }, - @{ Name = 'Az.Resources' } - ) - - # Set agent up - Set-EnvironmentOnAgent -PSModules $Modules - - # [Agent] Replace tokens - #----------------------- - - task: AzurePowerShell@5 - displayName: 'Replace tokens in template file via connection [${{ parameters.serviceConnection }}]' - inputs: - azureSubscription: ${{ parameters.serviceConnection }} - azurePowerShellVersion: ${{ parameters.azurePowerShellVersion }} - preferredAzurePowerShellVersion: ${{ parameters.preferredAzurePowerShellVersion }} - ScriptType: InlineScript - pwsh: true - inline: | - # Load used functions - . (Join-Path '$(System.DefaultWorkingDirectory)' 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInFileList.ps1') - - # Get target files - $targetFileList = @('${{ deploymentBlock.templateFilePath }}') - if(-not [String]::IsNullOrEmpty('${{ deploymentBlock.path }}')) { - $targetFileList += '${{ deploymentBlock.path }}' - } - - # Get Service Principal Object ID - $context = Get-AzContext - $servicePrincipalAppId = $context.Account.Id - $servicePrincipal = Get-AzADServicePrincipal -ApplicationId $servicePrincipalAppId - $servicePrincipalObjectId = $servicePrincipal.Id - - # Construct Token Function Input - $ConvertTokensInputs = @{ - FilePathList = $targetFileList - Tokens = @{} - TokenPrefix = '$(tokenPrefix)' - TokenSuffix = '$(tokenSuffix)' - } - - # Add enforced tokens - $ConvertTokensInputs.Tokens += @{ - resourceGroupName = '${{ parameters.resourceGroupName }}' - subscriptionId = '${{ parameters.subscriptionId }}' - managementGroupId = '${{ parameters.managementGroupId }}' - tenantId = '$(ARM_TENANT_ID)' - deploymentSpId = $servicePrincipalObjectId - } - - # Add local (source control) tokens - $tokenMap = @{} - foreach ($token in (Get-ChildItem env: | Where-Object -Property Name -Like "localToken_*")) { - $tokenMap += @{ $token.Name.Replace('localToken_','','OrdinalIgnoreCase') = $token.value } - } - Write-Verbose ('Using local tokens [{0}]' -f ($tokenMap.Keys -join ', ')) -Verbose - $ConvertTokensInputs.Tokens += $tokenMap - - # Swap 'namePrefix' token if empty and provided as a Azure DevOps variable - if([String]::IsNullOrEmpty($ConvertTokensInputs.Tokens['namePrefix'])){ - Write-Verbose 'Using [namePrefix] token from Azure DevOps Variable Groups' -Verbose - $ConvertTokensInputs.Tokens['namePrefix'] = "$(TOKEN_NAMEPREFIX)" - } - - # Add custom tokens (passed in via the pipeline) - if(-not [String]::IsNullOrEmpty('${{ deploymentBlock.customParameterFileTokens }}')) { - $customTokens = '${{ deploymentBlock.customParameterFileTokens }}' | ConvertFrom-Json -AsHashTable - Write-Verbose ('Using custom parameter file tokens [{0}]' -f ($customTokens.Keys -join ', ')) -Verbose - $ConvertTokensInputs.Tokens += $customTokens - } - - Write-Verbose "Convert Tokens Input:`n $($ConvertTokensInputs | ConvertTo-Json -Depth 10)" -Verbose - - # Invoke Token Replacement Functionality - $null = Convert-TokensInFileList @ConvertTokensInputs - - # [Validation] task(s) - #--------------------- - - task: AzurePowerShell@5 - displayName: 'Validate template file via connection [${{ parameters.serviceConnection }}]' - inputs: - azureSubscription: ${{ parameters.serviceConnection }} - azurePowerShellVersion: ${{ parameters.azurePowerShellVersion }} - preferredAzurePowerShellVersion: ${{ parameters.preferredAzurePowerShellVersion }} - ScriptType: InlineScript - pwsh: true - inline: | - # Load used functions - . (Join-Path '$(System.DefaultWorkingDirectory)' '$(pipelineFunctionsPath)' 'resourceDeployment' 'Test-TemplateDeployment.ps1') - - # ----------------- # - # Invoke validation # - # ----------------- # - $functionInput = @{ - templateFilePath = Join-Path '$(System.DefaultWorkingDirectory)' '${{ deploymentBlock.templateFilePath }}' - location = '${{ parameters.location }}' - resourceGroupName = '${{ parameters.resourceGroupName }}' - subscriptionId = '${{ parameters.subscriptionId }}' - managementGroupId = '${{ parameters.managementGroupId }}' - additionalParameters = @{} - } - - if(-not [String]::IsNullOrEmpty('${{ deploymentBlock.path }}')) { - $functionInput['parameterFilePath'] = Join-Path '$(System.DefaultWorkingDirectory)' '${{ deploymentBlock.path }}' - } - - if (-not [System.Convert]::ToBoolean('$(enableDefaultTelemetry)') -and (Get-Content -Path $functionInput.templateFilePath -Raw) -like '*param enableDefaultTelemetry*') { - $functionInput['additionalParameters'] += @{ - enableDefaultTelemetry = [System.Convert]::ToBoolean('$(enableDefaultTelemetry)') - } - } - - Write-Verbose "Invoke task with" -Verbose - Write-Verbose ($functionInput | ConvertTo-Json | Out-String) -Verbose - - Test-TemplateDeployment @functionInput -Verbose - - # [Deployment] task(s) - #--------------------- - - task: AzurePowerShell@5 - displayName: 'Deploy template file via connection [${{ parameters.serviceConnection }}]' - name: 'DeployModule' - inputs: - azureSubscription: ${{ parameters.serviceConnection }} - azurePowerShellVersion: ${{ parameters.azurePowerShellVersion }} - preferredAzurePowerShellVersion: ${{ parameters.preferredAzurePowerShellVersion }} - pwsh: true - ScriptType: InlineScript - inline: | - # Load used functions - . (Join-Path '$(System.DefaultWorkingDirectory)' '$(pipelineFunctionsPath)' 'resourceDeployment' 'New-TemplateDeployment.ps1') - - # ----------------- # - # Invoke deployment # - # ----------------- # - $functionInput = @{ - templateFilePath = Join-Path '$(System.DefaultWorkingDirectory)' '${{ deploymentBlock.templateFilePath }}' - location = '${{ parameters.location }}' - resourceGroupName = '${{ parameters.resourceGroupName }}' - subscriptionId = '${{ parameters.subscriptionId }}' - managementGroupId = '${{ parameters.managementGroupId }}' - doNotThrow = $true - additionalParameters = @{} - } - - if(-not [String]::IsNullOrEmpty('${{ deploymentBlock.path }}')) { - $functionInput['parameterFilePath'] = Join-Path '$(System.DefaultWorkingDirectory)' '${{ deploymentBlock.path }}' - } - - if (-not [System.Convert]::ToBoolean('$(enableDefaultTelemetry)') -and (Get-Content -Path $functionInput.templateFilePath -Raw) -like '*param enableDefaultTelemetry*') { - $functionInput['additionalParameters'] += @{ - enableDefaultTelemetry = [System.Convert]::ToBoolean('$(enableDefaultTelemetry)') - } - } - - Write-Verbose "Invoke task with" -Verbose - Write-Verbose ($functionInput | ConvertTo-Json | Out-String) -Verbose - - # Invoke deployment - $res = New-TemplateDeployment @functionInput -Verbose - - # Get deployment name - Write-Output ('##vso[task.setvariable variable=deploymentName]{0}' -f $res.deploymentName) - - # Populate further outputs - $deploymentOutputHash=@{} - - foreach ($outputKey in $res.deploymentOutput.Keys) { - Write-Output ('##vso[task.setvariable variable={0}]{1}' -f $outputKey, $res.deploymentOutput[$outputKey].Value) - $deploymentOutputHash.add($outputKey,$res.deploymentOutput[$outputKey].Value) - } - - $deploymentOutput = $deploymentOutputHash | ConvertTo-Json -Compress -Depth 100 - Write-Verbose "Deployment output: $deploymentOutput" -Verbose - Write-Output ('##vso[task.setvariable variable={0};isOutput=true]{1}' -f 'deploymentOutput', $deploymentOutput) - - if ($res.ContainsKey('exception')) { - # Happens only if there is an exception - throw $res.exception - } diff --git a/.azuredevops/pipelineTemplates/jobs.validateModuleDeployment.yml b/.azuredevops/pipelineTemplates/jobs.validateModuleDeployment.yml index 7297d60866..c32597b904 100644 --- a/.azuredevops/pipelineTemplates/jobs.validateModuleDeployment.yml +++ b/.azuredevops/pipelineTemplates/jobs.validateModuleDeployment.yml @@ -183,17 +183,6 @@ jobs: # Invoke Token Replacement Functionality [For Module] $null = Convert-TokensInFileList @ConvertTokensInputs - # Get target files for modules dependencies - $DependencyParameterFilePaths = [System.Collections.ArrayList]@() - $DependencyParameterFolders = Get-ChildItem -Path (Join-Path '$(System.DefaultWorkingDirectory)' 'utilities' 'pipelines' 'dependencies') -Recurse -Filter 'parameters' -Directory - foreach ($FolderPath in $DependencyParameterFolders.FullName) { - $DependencyParameterFilePaths += Get-ChildItem -Path $FolderPath -Recurse -Filter '*.json' - } - $ConvertTokensInputs.FilePathList = $DependencyParameterFilePaths - - # Invoke Token Replacement Functionality [For Dependencies] - $null = Convert-TokensInFileList @ConvertTokensInputs - # [Validation] task(s) #--------------------- - task: AzurePowerShell@5 @@ -341,7 +330,6 @@ jobs: $deploymentOutput = $deploymentOutputHash | ConvertTo-Json -Compress -Depth 100 Write-Verbose "Deployment output: $deploymentOutput" -Verbose - Write-Output "##vso[task.setvariable variable=deploymentOutput;isOutput=true]$deploymentOutput" if ($res.ContainsKey('exception')) { # Happens only if there is an exception diff --git a/.azuredevops/platformPipelines/platform.dependencies.yml b/.azuredevops/platformPipelines/platform.dependencies.yml deleted file mode 100644 index ec722b59c6..0000000000 --- a/.azuredevops/platformPipelines/platform.dependencies.yml +++ /dev/null @@ -1,1023 +0,0 @@ -name: '.Platform - Dependencies' - -parameters: - - name: deploySqlMiDependencies - displayName: Enable SqlMi dependencies deployment - type: boolean - default: false - - name: deployVhdDependencies - displayName: Enable deployment of a vhd stored in a blob container - type: boolean - default: false - -pr: none -trigger: none - -# trigger: -# batch: true -# branches: -# include: -# - main -# paths: -# include: -# - '.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml' -# - '.azuredevops/platformPipelines/platform.dependencies.yml' -# - 'utilities/pipelines/dependencies/**' - -variables: - - template: '../../settings.yml' - - group: 'PLATFORM_VARIABLES' - - name: dependencyPath - value: 'utilities/pipelines/dependencies' - - name: modulesPath - value: 'modules' - - name: defaultResourceGroupName - value: 'validation-rg' - -stages: - - stage: deploy_rg - displayName: Deploy resource group - variables: - resourceType: 'Microsoft.Resources/resourceGroups' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/validation.parameters.json - templateFilePath: $(templateFilePath) - displayName: Validation Resource Group - - path: $(dependencyPath)/$(resourceType)/parameters/locks.parameters.json - templateFilePath: $(templateFilePath) - displayName: Locks Resource Group - - - ${{ if eq( parameters.deployVhdDependencies, true) }}: - - stage: deploy_vhd - displayName: Store VHD to Storage Account - dependsOn: - - deploy_rg - variables: - templateFilePath: $(dependencyPath)/constructs/StoreVhdToStorage/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - templateFilePath: $(templateFilePath) - displayName: Deploy module - - - stage: deploy_ppg - displayName: Deploy proximity placement group - dependsOn: - - deploy_rg - variables: - resourceType: 'Microsoft.Compute/proximityPlacementGroups' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Proximity Placement Group - - path: $(dependencyPath)/$(resourceType)/parameters/vm.parameters.json - templateFilePath: $(templateFilePath) - displayName: VM Proximity Placement Group - - path: $(dependencyPath)/$(resourceType)/parameters/vmss.parameters.json - templateFilePath: $(templateFilePath) - displayName: VMSS Proximity Placement Group - - - stage: deploy_msi - displayName: Deploy user assigned identity - dependsOn: - - deploy_rg - variables: - resourceType: 'Microsoft.ManagedIdentity/userAssignedIdentities' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: User Assigned Identity - jobName: job_deploy_msi - - job: job_set_msi_id - displayName: Set msi principal ID output - dependsOn: - - job_deploy_msi - pool: - ${{ if eq(variables['vmImage'], '') }}: - name: $(poolName) - ${{ if eq(variables['poolName'], '') }}: - vmImage: $(vmImage) - variables: - deploymentOutput: $[ dependencies.job_deploy_msi.outputs['DeployModule.deploymentOutput'] ] - steps: - - task: PowerShell@2 - name: print_msi_prinId - inputs: - targetType: inline - pwsh: true - script: | - # Write-Verbose $(deploymentOutput) -Verbose - $msiPrincipalId = (ConvertFrom-Json '$(deploymentOutput)').principalId - Write-Verbose "msiPrincipalId: $msiPrincipalId" -Verbose - Write-Output ('##vso[task.setvariable variable={0};isOutput=true]{1}' -f 'msiPrincipalId', $msiPrincipalId) - - - stage: deploy_sf - displayName: Deploy server farm - dependsOn: - - deploy_rg - variables: - resourceType: 'Microsoft.Web/serverfarms' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Server farm - - - stage: deploy_app - displayName: Deploy app - dependsOn: - - deploy_sf - variables: - resourceType: 'Microsoft.Web/sites' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Function App - - - stage: deploy_pa - displayName: Deploy policy assignment - dependsOn: - - deploy_rg - variables: - resourceType: 'Microsoft.Authorization/policyAssignments' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/mg.parameters.json - templateFilePath: $(templateFilePath) - displayName: Policy assignment (mg) - - path: $(dependencyPath)/$(resourceType)/parameters/sub.parameters.json - templateFilePath: $(templateFilePath) - displayName: Policy assignment (sub) - - - stage: deploy_evh - displayName: Deploy event hub - dependsOn: - - deploy_rg - variables: - resourceType: 'Microsoft.EventHub/namespaces' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: EventHub - - - stage: deploy_law - displayName: Deploy log analytics workspace - dependsOn: - - deploy_rg - variables: - resourceType: 'Microsoft.OperationalInsights/workspaces' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default LAW - - path: $(dependencyPath)/$(resourceType)/parameters/aut.parameters.json - templateFilePath: $(templateFilePath) - displayName: Automation account LAW - - path: $(dependencyPath)/$(resourceType)/parameters/appi.parameters.json - templateFilePath: $(templateFilePath) - displayName: AppInsights LAW - - - stage: deploy_sa - displayName: Deploy storage account - dependsOn: - - deploy_rg - variables: - resourceType: 'Microsoft.Storage/storageAccounts' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default storage account - jobName: default_sa - - path: $(dependencyPath)/$(resourceType)/parameters/law.parameters.json - templateFilePath: $(templateFilePath) - displayName: LAW storage account - - path: $(dependencyPath)/$(resourceType)/parameters/fa.parameters.json - templateFilePath: $(templateFilePath) - displayName: FunctionApp storage account - - path: $(dependencyPath)/$(resourceType)/parameters/synapse01.parameters.json - templateFilePath: $(templateFilePath) - displayName: Synapse storage account without network ACLs - - path: $(dependencyPath)/$(resourceType)/parameters/synapse02.parameters.json - templateFilePath: $(templateFilePath) - displayName: Synapse storage account with network ACLs - - job: - displayName: Upload files to storage account - dependsOn: - - default_sa - pool: - ${{ if eq(variables['vmImage'], '') }}: - name: $(poolName) - ${{ if eq(variables['poolName'], '') }}: - vmImage: $(vmImage) - steps: - - task: PowerShell@2 - displayName: 'Setup agent' - inputs: - targetType: inline - pwsh: true - script: | - # Load used functions - . (Join-Path '$(System.DefaultWorkingDirectory)' 'utilities' 'pipelines' 'sharedScripts' 'Set-EnvironmentOnAgent.ps1') - - # Define PS modules to install on the runner - $Modules = @( - @{ Name = 'Az.Storage' } - ) - - # Set agent up - Set-EnvironmentOnAgent -PSModules $Modules - - task: AzurePowerShell@5 - displayName: Upload files to storage account - inputs: - azureSubscription: $(serviceConnection) - ScriptType: 'InlineScript' - Inline: | - # Load used functions - . (Join-Path '$(Build.SourcesDirectory)' 'utilities' 'pipelines' 'sharedScripts' 'Export-ContentToBlob.ps1') - . (Join-Path '$(Build.SourcesDirectory)' 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInFileList.ps1') - - # Get target files - $parameterFilePath = Join-Path '$(Build.SourcesDirectory)' '$(dependencyPath)' '$(resourceType)' 'parameters' 'parameters.json' - $parameterFilePaths = @($parameterFilePath) - - # Construct Token Function Input - $ConvertTokensInputs = @{ - FilePathList = $parameterFilePaths - Tokens = @{} - TokenPrefix = '$(tokenPrefix)' - TokenSuffix = '$(tokenSuffix)' - } - - # Add local (source control) tokens - $tokenMap = @{} - foreach ($token in (Get-ChildItem env: | Where-Object -Property Name -Like "localToken_*")) { - $tokenMap += @{ $token.Name.Replace('localToken_','','OrdinalIgnoreCase') = $token.value } - } - Write-Verbose ('Using local tokens [{0}]' -f ($tokenMap.Keys -join ', ')) -Verbose - $ConvertTokensInputs.Tokens += $tokenMap - - # Swap 'namePrefix' token if empty and provided as a Azure DevOps variable - if([String]::IsNullOrEmpty($ConvertTokensInputs.Tokens['namePrefix'])){ - Write-Verbose 'Using [namePrefix] token from Azure DevOps Variable Groups' -Verbose - $ConvertTokensInputs.Tokens['namePrefix'] = "$(TOKEN_NAMEPREFIX)" - } - - $null = Convert-TokensInFileList @ConvertTokensInputs - - # Get storage account name - if (-not [String]::IsNullOrEmpty('$(ARM_SUBSCRIPTION_ID)')) { - Write-Verbose 'Setting context to subscription [$(ARM_SUBSCRIPTION_ID)]' - $null = Set-AzContext -Subscription '$(ARM_SUBSCRIPTION_ID)' - } - $storageAccountParameters = (ConvertFrom-Json (Get-Content -path $parameterFilePath -Raw)).parameters - - # Upload files to storage account - $functionInput = @{ - ResourceGroupName = '$(defaultResourceGroupName)' - StorageAccountName = $storageAccountParameters.name.value - contentDirectories = Join-Path '$(Build.SourcesDirectory)' $(dependencyPath) '$(resourceType)' 'uploads' - targetContainer = $storageAccountParameters.blobServices.value.containers[0].name - } - - Write-Verbose "Invoke task with" -Verbose - Write-Verbose ($functionInput | ConvertTo-Json | Out-String) -Verbose - - Export-ContentToBlob @functionInput -Verbose - azurePowerShellVersion: 'LatestVersion' - pwsh: true - - - stage: deploy_sig - displayName: Deploy shared image gallery and definition - dependsOn: - - deploy_rg - variables: - resourceType: 'Microsoft.Compute/galleries' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default SIG and SID - - - stage: deploy_ag - displayName: Deploy action groups - dependsOn: - - deploy_rg - variables: - resourceType: 'Microsoft.Insights/actionGroups' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default Action Group - - - stage: deploy_asg - displayName: Deploy application security groups - dependsOn: - - deploy_rg - variables: - resourceType: 'Microsoft.Network/applicationSecurityGroups' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default Application Security Groups - - - stage: deploy_udr - displayName: Deploy route tables - dependsOn: - - deploy_rg - variables: - resourceType: 'Microsoft.Network/routeTables' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default User Defined Routes - - ${{ if eq( parameters.deploySqlMiDependencies, true) }}: - - path: $(dependencyPath)/$(resourceType)/parameters/sqlMi.parameters.json - templateFilePath: $(templateFilePath) - displayName: SQLMI User Defined Routes - - - stage: deploy_nsg - displayName: Deploy network security groups - dependsOn: - - deploy_sa - - deploy_evh - - deploy_law - variables: - resourceType: 'Microsoft.Network/networkSecurityGroups' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default NSG - - path: $(dependencyPath)/$(resourceType)/parameters/apgw.parameters.json - templateFilePath: $(templateFilePath) - displayName: App Gateway NSG - - path: $(dependencyPath)/$(resourceType)/parameters/ase.parameters.json - templateFilePath: $(templateFilePath) - displayName: ASE NSG - - path: $(dependencyPath)/$(resourceType)/parameters/bastion.parameters.json - templateFilePath: $(templateFilePath) - displayName: Bastion NSG - - path: $(dependencyPath)/$(resourceType)/parameters/aadds.parameters.json - templateFilePath: $(templateFilePath) - displayName: AADDS NSG - - ${{ if eq( parameters.deploySqlMiDependencies, true) }}: - - path: $(dependencyPath)/$(resourceType)/parameters/sqlmi.parameters.json - templateFilePath: $(templateFilePath) - displayName: SQLMI NSG - - - stage: deploy_pip - displayName: Deploy public IP addresses - dependsOn: - - deploy_sa - - deploy_evh - - deploy_law - variables: - resourceType: 'Microsoft.Network\publicIPAddresses' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/apgw.parameters.json - templateFilePath: $(templateFilePath) - displayName: App Gateway Public IP - - path: $(dependencyPath)/$(resourceType)/parameters/bas.parameters.json - templateFilePath: $(templateFilePath) - displayName: Bastion Public IP - - path: $(dependencyPath)/$(resourceType)/parameters/lb.parameters.json - templateFilePath: $(templateFilePath) - displayName: Load balancer Public IP - - path: $(dependencyPath)/$(resourceType)/parameters/lb.min.parameters.json - templateFilePath: $(templateFilePath) - displayName: Min Load balancer Public IP - - path: $(dependencyPath)/$(resourceType)/parameters/fw.parameters.json - templateFilePath: $(templateFilePath) - displayName: Firewall Public IP - - path: $(dependencyPath)/$(resourceType)/parameters/fw.additional.parameters.json - templateFilePath: $(templateFilePath) - displayName: Firewall Additional Public IP - - path: $(dependencyPath)/$(resourceType)/parameters/bas.additional.parameters.json - templateFilePath: $(templateFilePath) - displayName: Bastion Additional Public IP - - - stage: deploy_appi - displayName: Deploy application insight - dependsOn: - - deploy_sa - - deploy_evh - - deploy_law - variables: - resourceType: 'Microsoft.Insights/components' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default Application Insights - - - stage: deploy_aut - displayName: Deploy automation account - dependsOn: - - deploy_sa - - deploy_evh - - deploy_law - variables: - resourceType: 'Microsoft.Automation/automationAccounts' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default Automation Account - - - stage: deploy_avdhp - displayName: Deploy AVD host pool - dependsOn: - - deploy_sa - - deploy_evh - - deploy_law - variables: - resourceType: 'Microsoft.DesktopVirtualization/hostpools' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default AVD Host Pool - - - stage: deploy_rsv - displayName: Deploy recovery services vault - dependsOn: - - deploy_sa - - deploy_evh - - deploy_law - - deploy_msi - variables: - resourceType: 'Microsoft.RecoveryServices/vaults' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - msiPrincipalId: $[ stageDependencies.deploy_msi.job_set_msi_id.outputs['print_msi_prinId.msiPrincipalId'] ] - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default recovery services vault - customParameterFileTokens: '{"msiPrincipalId":"$(msiPrincipalId)"}' - - - stage: deploy_kv - displayName: Deploy key vaults - dependsOn: - - deploy_sa - - deploy_evh - - deploy_law - - deploy_msi - variables: - resourceType: 'Microsoft.KeyVault/vaults' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - msiPrincipalId: $[ stageDependencies.deploy_msi.job_set_msi_id.outputs['print_msi_prinId.msiPrincipalId'] ] - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default Key Vault - jobName: default_kv - customParameterFileTokens: '{"msiPrincipalId":"$(msiPrincipalId)"}' - - path: $(dependencyPath)/$(resourceType)/parameters/nopr.parameters.json - templateFilePath: $(templateFilePath) - displayName: Purge proteced key vault - jobName: default_kv_nopr - customParameterFileTokens: '{"msiPrincipalId":"$(msiPrincipalId)"}' - - path: $(dependencyPath)/$(resourceType)/parameters/pe.parameters.json - templateFilePath: $(templateFilePath) - displayName: Private Endpoint Key Vault - customParameterFileTokens: '{"msiPrincipalId":"$(msiPrincipalId)"}' - - ${{ if eq( parameters.deploySqlMiDependencies, true) }}: - - path: $(dependencyPath)/$(resourceType)/parameters/sqlmi.parameters.json - templateFilePath: $(templateFilePath) - displayName: SQLMI key vault - jobName: sqlmi_kv - customParameterFileTokens: '{"msiPrincipalId":"$(msiPrincipalId)"}' - - job: - displayName: Set key vault secrets keys and certificates - dependsOn: - - default_kv - - default_kv_nopr - pool: - # Must run on windows as the used `New-SelfSignedCertificate` function is not available on linux - vmImage: windows-2022 - steps: - - task: PowerShell@2 - displayName: 'Setup agent' - inputs: - targetType: inline - pwsh: true - script: | - # Load used functions - . (Join-Path '$(System.DefaultWorkingDirectory)' 'utilities' 'pipelines' 'sharedScripts' 'Set-EnvironmentOnAgent.ps1') - - # Define PS modules to install on the runner - $Modules = @( - @{ Name = 'Az.KeyVault' } - ) - - # Set agent up - Set-EnvironmentOnAgent -PSModules $Modules - - task: AzurePowerShell@5 - displayName: Set key vault secrets keys and certificates - inputs: - azureSubscription: $(serviceConnection) - ScriptType: 'InlineScript' - Inline: | - # Load used functions - . (Join-Path '$(Build.SourcesDirectory)' 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInFileList.ps1') - - # Get target files - $parameterFilePath = Join-Path '$(Build.SourcesDirectory)' '$(dependencyPath)' '$(resourceType)' 'parameters' 'parameters.json' - $noprParameterFilePath = Join-Path '$(Build.SourcesDirectory)' '$(dependencyPath)' '$(resourceType)' 'parameters' 'nopr.parameters.json' - $parameterFilePaths = @($parameterFilePath, $noprParameterFilePath) - - # Construct Token Function Input - $ConvertTokensInputs = @{ - FilePathList = $parameterFilePaths - Tokens = @{} - TokenPrefix = '$(tokenPrefix)' - TokenSuffix = '$(tokenSuffix)' - } - - # Add local (source control) tokens - $tokenMap = @{} - foreach ($token in (Get-ChildItem env: | Where-Object -Property Name -Like "localToken_*")) { - $tokenMap += @{ $token.Name.Replace('localToken_','','OrdinalIgnoreCase') = $token.value } - } - Write-Verbose ('Using local tokens [{0}]' -f ($tokenMap.Keys -join ', ')) -Verbose - $ConvertTokensInputs.Tokens += $tokenMap - - # Swap 'namePrefix' token if empty and provided as a Azure DevOps variable - if([String]::IsNullOrEmpty($ConvertTokensInputs.Tokens['namePrefix'])){ - Write-Verbose 'Using [namePrefix] token from Azure DevOps Variable Groups' -Verbose - $ConvertTokensInputs.Tokens['namePrefix'] = "$(TOKEN_NAMEPREFIX)" - } - $null = Convert-TokensInFileList @ConvertTokensInputs - - # Get key vault name - $keyVaultParameters = (ConvertFrom-Json (Get-Content -Path $parameterFilePath -Raw)).parameters - $keyVaultName = $keyVaultParameters.name.value - # No Purge Key Vault - $noprKeyVaultParameters = (ConvertFrom-Json (Get-Content -Path $noprParameterFilePath -Raw)).parameters - $noprKeyVaultName = $noprKeyVaultParameters.name.value - - # Generate values - $usernameString = ( -join ((65..90) + (97..122) | Get-Random -Count 9 -SetSeed 1 | ForEach-Object { [char]$_ + "$_" })).substring(0, 19) # max length - $userName = ConvertTo-SecureString -String $usernameString -AsPlainText -Force - $passwordString = (New-Guid).Guid.SubString(0, 19) - $password = ConvertTo-SecureString -String $passwordString -AsPlainText -Force - $vpnSharedKeyString = (New-Guid).Guid.SubString(0, 32) - $vpnSharedKey = ConvertTo-SecureString -String $vpnSharedKeyString -AsPlainText -Force - - $namePrefixToken = $ConvertTokensInputs.Tokens['namePrefix'] - - $certInputObject = @{ - Subject = 'CN=*.{0}.onmicrosoft.com' -f $namePrefixToken - DnsName = '*.{0}.onmicrosoft.com' -f $namePrefixToken - CertStoreLocation = 'cert:\LocalMachine\My' - KeyExportPolicy = 'Exportable' - Provider = 'Microsoft Enhanced RSA and AES Cryptographic Provider' - NotAfter = (Get-Date).AddMonths(3) - HashAlgorithm = 'SHA256' - } - $rawCert = New-SelfSignedCertificate @certInputObject - Export-PfxCertificate -Cert ('Cert:\localmachine\my\' + $rawCert.Thumbprint) -FilePath "$home/aadds.pfx" -Password $password -Force - $rawCertByteStream = Get-Content "$home/aadds.pfx" -AsByteStream - $pfxCertificate = ConvertTo-SecureString -String ([System.Convert]::ToBase64String($rawCertByteStream)) -AsPlainText -Force - - # Set secrets - # ------- - @( - @{ name = 'adminUsername'; secretValue = $username } # VirtualMachines and VMSS - @{ name = 'adminPassword'; secretValue = $password } # VirtualMachines and VMSS - @{ name = 'administratorLogin'; secretValue = $username } # Azure SQLServer - @{ name = 'administratorLoginPassword'; secretValue = $password } # Azure SQLServer - @{ name = 'vpnSharedKey'; secretValue = $vpnSharedKey } # VirtualNetworkGateway - @{ name = 'apimClientId'; secretValue = $username } # API management - @{ name = 'apimClientSecret'; secretValue = $password } # API management - @{ name = 'pfxCertificatePassword'; secretValue = $password } # AADDS - @{ name = 'pfxBase64Certificate'; secretValue = $pfxCertificate } # AADDS - ) | ForEach-Object { - $null = Set-AzKeyVaultSecret -VaultName $keyVaultName -Name $_.name -SecretValue $_.secretValue - Write-Verbose ('Added secret [{0}] to key vault [{1}]' -f $_.name, $keyVaultName) -Verbose - } - - # Certificats - # ----------- - $certPolicy = New-AzKeyVaultCertificatePolicy -SecretContentType 'application/x-pkcs12' -SubjectName 'CN=fabrikam.com' -IssuerName 'Self' -ValidityInMonths 12 -ReuseKeyOnRenewal - @( - @{ name = 'applicationGatewaySslCertificate'; CertificatePolicy = $certPolicy } # ApplicationGateway - ) | ForEach-Object { - $null = Add-AzKeyVaultCertificate -VaultName $keyVaultName -Name $_.name -CertificatePolicy $_.CertificatePolicy - Write-Verbose ('Added certificate [{0}] to key vault [{1}]' -f $_.name, $keyVaultName) -Verbose - } - - # Set keys - # ---- - @( - @{ name = 'keyEncryptionKey'; Destination = 'Software' } # DiskEncryptionSet, VirtualMachines and VMSS - ) | ForEach-Object { - $null = Add-AzKeyVaultKey -VaultName $keyVaultName -Name $_.name -Destination $_.Destination - Write-Verbose ('Added key [{0}] to key vault [{1}]' -f $_.name, $keyVaultName) -Verbose - } - # noprKeyVault Keys - @( - @{ name = 'keyEncryptionKey'; Destination = 'Software' } # Automation Account - ) | ForEach-Object { - $null = Add-AzKeyVaultKey -VaultName $noprKeyVaultName -Name $_.name -Destination $_.Destination - Write-Verbose ('Added key [{0}] to key vault [{1}]' -f $_.name, $noprKeyVaultName) -Verbose - } - azurePowerShellVersion: 'LatestVersion' - pwsh: true - - - ${{ if eq( parameters.deploySqlMiDependencies, true) }}: - - job: - displayName: Set sqlmi key vault secrets and keys - dependsOn: - - sqlmi_kv - pool: - ${{ if eq(variables['vmImage'], '') }}: - name: $(poolName) - ${{ if eq(variables['poolName'], '') }}: - vmImage: $(vmImage) - steps: - - task: PowerShell@2 - displayName: 'Setup agent' - inputs: - targetType: inline - pwsh: true - script: | - # Load used functions - . (Join-Path '$(System.DefaultWorkingDirectory)' 'utilities' 'pipelines' 'sharedScripts' 'Set-EnvironmentOnAgent.ps1') - - # Define PS modules to install on the runner - $Modules = @( - @{ Name = 'Az.KeyVault' } - ) - - # Set agent up - Set-EnvironmentOnAgent -PSModules $Modules - - task: AzurePowerShell@5 - displayName: Set sqlmi key vault secrets and keys - inputs: - azureSubscription: $(serviceConnection) - ScriptType: 'InlineScript' - Inline: | - # Load used functions - . (Join-Path '$(Build.SourcesDirectory)' 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInFileList.ps1') - - # Get target files - $parameterFilePath = Join-Path '$(Build.SourcesDirectory)' '$(dependencyPath)' '$(resourceType)' 'parameters' 'sqlmi.parameters.json' - $parameterFilePaths = @($parameterFilePath) - - # Construct Token Function Input - $ConvertTokensInputs = @{ - FilePathList = $parameterFilePath - Tokens = @{} - TokenPrefix = '$(tokenPrefix)' - TokenSuffix = '$(tokenSuffix)' - } - - # Add local (source control) tokens - $tokenMap = @{} - foreach ($token in (Get-ChildItem env: | Where-Object -Property Name -Like "localToken_*")) { - $tokenMap += @{ $token.Name.Replace('localToken_','','OrdinalIgnoreCase') = $token.value } - } - Write-Verbose ('Using local tokens [{0}]' -f ($tokenMap.Keys -join ', ')) -Verbose - $ConvertTokensInputs.Tokens += $tokenMap - - # Swap 'namePrefix' token if empty and provided as a Azure DevOps variable - if([String]::IsNullOrEmpty($ConvertTokensInputs.Tokens['namePrefix'])){ - Write-Verbose 'Using [namePrefix] token from Azure DevOps Variable Groups' -Verbose - $ConvertTokensInputs.Tokens['namePrefix'] = "$(TOKEN_NAMEPREFIX)" - } - - $null = Convert-TokensInFileList @ConvertTokensInputs - - # Get key vault name - $keyVaultParameters = (ConvertFrom-Json (Get-Content -Path $parameterFilePath -Raw)).parameters - $keyVaultName = $keyVaultParameters.name.value - - # Generate values - $usernameString = ( -join ((65..90) + (97..122) | Get-Random -Count 9 -SetSeed 1 | ForEach-Object { [char]$_ + "$_" })).substring(0, 19) # max length - $userName = ConvertTo-SecureString -String $usernameString -AsPlainText -Force - $passwordString = (New-Guid).Guid.SubString(0, 19) - $password = ConvertTo-SecureString -String $passwordString -AsPlainText -Force - - # Set secrets - # ------- - @( - @{ name = 'administratorLogin'; secretValue = $username } # SQLManagedInstances - @{ name = 'administratorLoginPassword'; secretValue = $password } # SQLManagedInstances - ) | ForEach-Object { - $null = Set-AzKeyVaultSecret -VaultName $keyVaultName -Name $_.name -SecretValue $_.secretValue - Write-Verbose ('Added secret [{0}] to key vault [{1}]' -f $_.name, $keyVaultName) -Verbose - } - - # Set keys - # ---- - @( - @{ name = 'keyEncryptionKeySqlMi'; Destination = 'Software' } # SQLManagedInstances - ) | ForEach-Object { - $null = Add-AzKeyVaultKey -VaultName $keyVaultName -Name $_.name -Destination $_.Destination - Write-Verbose ('Added key [{0}] to key vault [{1}]' -f $_.name, $keyVaultName) -Verbose - } - azurePowerShellVersion: 'LatestVersion' - pwsh: true - - - stage: deploy_des - displayName: Deploy Disk Encryption Set - dependsOn: - - deploy_kv - variables: - resourceType: 'Microsoft.Compute/diskEncryptionSets' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default Application Group - - - stage: deploy_avdag - displayName: Deploy AVD application group - dependsOn: - - deploy_avdhp - variables: - resourceType: 'Microsoft.DesktopVirtualization/applicationgroups' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default Application Group - - - stage: deploy_rolea - displayName: Deploy role assignments - dependsOn: - - deploy_msi - variables: - resourceType: 'Microsoft.Authorization/roleAssignments' - templateFilePath: $(modulesPath)/$(resourceType)/subscription/deploy.bicep - msiPrincipalId: $[ stageDependencies.deploy_msi.job_set_msi_id.outputs['print_msi_prinId.msiPrincipalId'] ] - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: MSI Role Assignment - customParameterFileTokens: '{"msiPrincipalId":"$(msiPrincipalId)"}' - - - stage: deploy_vnet - displayName: Deploy virtual networks - dependsOn: - - deploy_nsg - - ${{ if eq( parameters.deploySqlMiDependencies, true) }}: - - deploy_udr - variables: - resourceType: 'Microsoft.Network/virtualNetworks' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default Virtual Network - - path: $(dependencyPath)/$(resourceType)/parameters/1.bastion.parameters.json - templateFilePath: $(templateFilePath) - displayName: Bastion Virtual Network Min - - path: $(dependencyPath)/$(resourceType)/parameters/2.vnetpeer01.parameters.json - templateFilePath: $(templateFilePath) - displayName: VNET PEering 1 Virtual Network - - path: $(dependencyPath)/$(resourceType)/parameters/3.vnetpeer02.parameters.json - templateFilePath: $(templateFilePath) - displayName: VNET Peering 2 Virtual Network - - path: $(dependencyPath)/$(resourceType)/parameters/4.azfw.parameters.json - templateFilePath: $(templateFilePath) - displayName: Azure Firewall Virtual Network - - path: $(dependencyPath)/$(resourceType)/parameters/5.aks.parameters.json - templateFilePath: $(templateFilePath) - displayName: AKS Virtual Network - - path: $(dependencyPath)/$(resourceType)/parameters/7.virtualHubConnection.parameters.json - templateFilePath: $(templateFilePath) - displayName: Virtual Hub Connection Virtual Network - - path: $(dependencyPath)/$(resourceType)/parameters/8.aadds.parameters.json - templateFilePath: $(templateFilePath) - displayName: AADDS Virtual Network - - path: $(dependencyPath)/$(resourceType)/parameters/9.azfw.parameters.json - templateFilePath: $(templateFilePath) - displayName: Azure Firewall Virtual Network Min - - path: $(dependencyPath)/$(resourceType)/parameters/10.azfw.parameters.json - templateFilePath: $(templateFilePath) - displayName: Azure Firewall Virtual Network Additonal - - path: $(dependencyPath)/$(resourceType)/parameters/11.azfw.parameters.json - templateFilePath: $(templateFilePath) - displayName: Azure Firewall Virtual Network Custom - - path: $(dependencyPath)/$(resourceType)/parameters/12.bastion.parameters.json - templateFilePath: $(templateFilePath) - displayName: Bastion Virtual Network Additional - - path: $(dependencyPath)/$(resourceType)/parameters/13.bastion.parameters.json - templateFilePath: $(templateFilePath) - displayName: Bastion Virtual Network Custom - - path: $(dependencyPath)/$(resourceType)/parameters/14.postgres.parameters.json - templateFilePath: $(templateFilePath) - displayName: PostgreSQL Virtual Network Custom - - path: $(dependencyPath)/$(resourceType)/parameters/15.vnetGateway.parameters.json - templateFilePath: $(templateFilePath) - displayName: Virtual Network Gateway Secondary Virtual Network - - - ${{ if eq( parameters.deploySqlMiDependencies, true) }}: - - path: $(dependencyPath)/$(resourceType)/parameters/6.sqlmi.parameters.json - templateFilePath: $(templateFilePath) - displayName: SQL MI Virtual Network - - - stage: deploy_dnszone - displayName: Deploy private DNS zones - dependsOn: - - deploy_vnet - variables: - resourceType: 'Microsoft.Network/privateDnsZones' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/automation.parameters.json - templateFilePath: $(templateFilePath) - displayName: Automation Account Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/azconfig.parameters.json - templateFilePath: $(templateFilePath) - displayName: App Configuration Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/azurecr.parameters.json - templateFilePath: $(templateFilePath) - displayName: ACR Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/azureml.parameters.json - templateFilePath: $(templateFilePath) - displayName: Machine Learning Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/azurestaticapps.parameters.json - templateFilePath: $(templateFilePath) - displayName: Static Apps Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/azuresynapse.plh.parameters.json - templateFilePath: $(templateFilePath) - displayName: Azure Synapse Private Link Hub Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/azuresynapse.workspace.parameters.json - templateFilePath: $(templateFilePath) - displayName: Azure Synapse Workspace Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/azurewebsites.parameters.json - templateFilePath: $(templateFilePath) - displayName: Web Sites Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/batch.parameters.json - templateFilePath: $(templateFilePath) - displayName: Batch Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/blob.parameters.json - templateFilePath: $(templateFilePath) - displayName: Storage Blob Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/cognitiveservices.parameters.json - templateFilePath: $(templateFilePath) - displayName: Cognitive Services Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/database.parameters.json - templateFilePath: $(templateFilePath) - displayName: Database Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/datafactory.parameters.json - templateFilePath: $(templateFilePath) - displayName: Data Factory Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/eventgrid.parameters.json - templateFilePath: $(templateFilePath) - displayName: Event Grid Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/file.parameters.json - templateFilePath: $(templateFilePath) - displayName: Storage Files Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/monitor.parameters.json - templateFilePath: $(templateFilePath) - displayName: Monitoring Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/queue.parameters.json - templateFilePath: $(templateFilePath) - displayName: Storage Queue Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/redis.parameters.json - templateFilePath: $(templateFilePath) - displayName: Redis Cache Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/servicebus.parameters.json - templateFilePath: $(templateFilePath) - displayName: Service Bus Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/siterecovery.parameters.json - templateFilePath: $(templateFilePath) - displayName: Recovery Services Vault Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/table.parameters.json - templateFilePath: $(templateFilePath) - displayName: Storage Table Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/vaultcore.parameters.json - templateFilePath: $(templateFilePath) - displayName: Key Vault Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/webpubsub.parameters.json - templateFilePath: $(templateFilePath) - displayName: Web PubSub Private DNS Zone - - path: $(dependencyPath)/$(resourceType)/parameters/postgres.parameters.json - templateFilePath: $(templateFilePath) - displayName: PostgreSQL Private DNS Zone - - - stage: deploy_vm - displayName: Deploy virtual machines - dependsOn: - - deploy_vnet - - deploy_rsv - - deploy_kv - variables: - resourceType: 'Microsoft.Compute/virtualMachines' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/parameters.json - templateFilePath: $(templateFilePath) - displayName: Default Virtual Machine - - - stage: deploy_lb - displayName: Deploy load balancers - dependsOn: - - deploy_vnet - variables: - resourceType: 'Microsoft.Network/loadBalancers' - templateFilePath: $(modulesPath)/$(resourceType)/deploy.bicep - jobs: - - template: /.azuredevops/pipelineTemplates/jobs.dependenciesModuleDeployment.yml - parameters: - deploymentBlocks: - - path: $(dependencyPath)/$(resourceType)/parameters/internal.parameters.json - templateFilePath: $(templateFilePath) - displayName: Deploy Internal LB - - path: $(dependencyPath)/$(resourceType)/parameters/pls.parameters.json - templateFilePath: $(templateFilePath) - displayName: Deploy PLS LB diff --git a/.github/actions/templates/validateModuleDeployment/action.yml b/.github/actions/templates/validateModuleDeployment/action.yml index b13b11bea8..8d02e6ea1b 100644 --- a/.github/actions/templates/validateModuleDeployment/action.yml +++ b/.github/actions/templates/validateModuleDeployment/action.yml @@ -25,18 +25,6 @@ ## |=====================================================================================================================================================================================| ## ######################################################### -## -##----------------------------------------## -## ACTION OUTPUTS ## -##----------------------------------------## -## -## |================================================================| -## | Output | Description | -## |------------------|---------------------------------------------| -## | deploymentOutput | The module deployment output in json format | -## |================================================================| -## -##---------------------------------------------## name: 'Deploy module' description: 'Deploy module' @@ -68,11 +56,6 @@ inputs: default: 'true' required: false -outputs: - deploymentOutput: - description: 'The module deployment output in json format' - value: ${{ steps.deploy_step.outputs.deploymentOutput }} - runs: using: 'composite' steps: @@ -185,17 +168,6 @@ runs: # Invoke Token Replacement Functionality [For Module] $null = Convert-TokensInFileList @ConvertTokensInputs - # Get target files for modules dependencies - $DependencyParameterFilePaths = [System.Collections.ArrayList]@() - $DependencyParameterFolders = Get-ChildItem -Path (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'dependencies') -Recurse -Filter 'parameters' -Directory - foreach ($FolderPath in $DependencyParameterFolders.FullName) { - $DependencyParameterFilePaths += Get-ChildItem -Path $FolderPath -Recurse -Filter '*.json' - } - $ConvertTokensInputs.FilePathList = $DependencyParameterFilePaths - - # Invoke Token Replacement Functionality [For Dependencies] - $null = Convert-TokensInFileList @ConvertTokensInputs - Write-Output '::endgroup::' # [Deployment validation] task(s) @@ -357,7 +329,6 @@ runs: $deploymentOutput = $deploymentOutputHash | ConvertTo-Json -Compress -Depth 100 Write-Verbose "Deployment output: $deploymentOutput" -Verbose - Write-Output ('{0}={1}' -f 'deploymentOutput', $deploymentOutput) >> $env:GITHUB_OUTPUT if ($res.ContainsKey('exception')) { # Happens only if there is an exception diff --git a/.github/workflows/ms.aad.domainservices.yml b/.github/workflows/ms.aad.domainservices.yml index f5cffcc2c3..1f8d7627f9 100644 --- a/.github/workflows/ms.aad.domainservices.yml +++ b/.github/workflows/ms.aad.domainservices.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.aad.domainservices.yml' - 'modules/Microsoft.AAD/DomainServices/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.analysisservices.servers.yml b/.github/workflows/ms.analysisservices.servers.yml index 7ce9983cd2..dc8540c5e0 100644 --- a/.github/workflows/ms.analysisservices.servers.yml +++ b/.github/workflows/ms.analysisservices.servers.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.analysisservices.servers.yml' - 'modules/Microsoft.AnalysisServices/servers/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.apimanagement.service.yml b/.github/workflows/ms.apimanagement.service.yml index b0b270b03d..2d240d997c 100644 --- a/.github/workflows/ms.apimanagement.service.yml +++ b/.github/workflows/ms.apimanagement.service.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.apimanagement.service.yml' - 'modules/Microsoft.ApiManagement/service/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.appconfiguration.configurationstores.yml b/.github/workflows/ms.appconfiguration.configurationstores.yml index 1550452182..91b748b7f6 100644 --- a/.github/workflows/ms.appconfiguration.configurationstores.yml +++ b/.github/workflows/ms.appconfiguration.configurationstores.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.appconfiguration.configurationstores.yml' - 'modules/Microsoft.AppConfiguration/configurationStores/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.authorization.locks.yml b/.github/workflows/ms.authorization.locks.yml index 9cb29e3771..8a2864e4be 100644 --- a/.github/workflows/ms.authorization.locks.yml +++ b/.github/workflows/ms.authorization.locks.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.authorization.locks.yml' - 'modules/Microsoft.Authorization/locks/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.authorization.policyassignments.yml b/.github/workflows/ms.authorization.policyassignments.yml index 1d8d1654be..b2fd3aeb99 100644 --- a/.github/workflows/ms.authorization.policyassignments.yml +++ b/.github/workflows/ms.authorization.policyassignments.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.authorization.policyassignments.yml' - 'modules/Microsoft.Authorization/policyAssignments/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.authorization.policydefinitions.yml b/.github/workflows/ms.authorization.policydefinitions.yml index 77ab220288..2d50095913 100644 --- a/.github/workflows/ms.authorization.policydefinitions.yml +++ b/.github/workflows/ms.authorization.policydefinitions.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.authorization.policydefinitions.yml' - 'modules/Microsoft.Authorization/policyDefinitions/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.authorization.policyexemptions.yml b/.github/workflows/ms.authorization.policyexemptions.yml index 691d1dd935..49ab24bb58 100644 --- a/.github/workflows/ms.authorization.policyexemptions.yml +++ b/.github/workflows/ms.authorization.policyexemptions.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.authorization.policyexemptions.yml' - 'modules/Microsoft.Authorization/policyExemptions/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.authorization.policysetdefinitions.yml b/.github/workflows/ms.authorization.policysetdefinitions.yml index b2b35d166a..b1ea9bac65 100644 --- a/.github/workflows/ms.authorization.policysetdefinitions.yml +++ b/.github/workflows/ms.authorization.policysetdefinitions.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.authorization.policysetdefinitions.yml' - 'modules/Microsoft.Authorization/policySetDefinitions/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.authorization.roleassignments.yml b/.github/workflows/ms.authorization.roleassignments.yml index cdd3a0fe60..094195af13 100644 --- a/.github/workflows/ms.authorization.roleassignments.yml +++ b/.github/workflows/ms.authorization.roleassignments.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.authorization.roleassignments.yml' - 'modules/Microsoft.Authorization/roleAssignments/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.authorization.roledefinitions.yml b/.github/workflows/ms.authorization.roledefinitions.yml index 398eb2baa2..4d922b9cd5 100644 --- a/.github/workflows/ms.authorization.roledefinitions.yml +++ b/.github/workflows/ms.authorization.roledefinitions.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.authorization.roledefinitions.yml' - 'modules/Microsoft.Authorization/roleDefinitions/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.automation.automationaccounts.yml b/.github/workflows/ms.automation.automationaccounts.yml index 8d4a109280..b61f5f3775 100644 --- a/.github/workflows/ms.automation.automationaccounts.yml +++ b/.github/workflows/ms.automation.automationaccounts.yml @@ -22,7 +22,6 @@ on: - '.github/workflows/ms.automation.automationaccounts.yml' - 'modules/Microsoft.Automation/automationAccounts/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.batch.batchaccounts.yml b/.github/workflows/ms.batch.batchaccounts.yml index 6f2e012ab8..2c20ff4be1 100644 --- a/.github/workflows/ms.batch.batchaccounts.yml +++ b/.github/workflows/ms.batch.batchaccounts.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.batch.batchaccounts.yml' - 'modules/Microsoft.Batch/batchAccounts/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.cache.redis.yml b/.github/workflows/ms.cache.redis.yml index 227e6572b5..bad14dcf14 100644 --- a/.github/workflows/ms.cache.redis.yml +++ b/.github/workflows/ms.cache.redis.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.cache.redis.yml' - 'modules/Microsoft.Cache/redis/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.cognitiveservices.accounts.yml b/.github/workflows/ms.cognitiveservices.accounts.yml index 5647fb882b..bc63351339 100644 --- a/.github/workflows/ms.cognitiveservices.accounts.yml +++ b/.github/workflows/ms.cognitiveservices.accounts.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.cognitiveservices.accounts.yml' - 'modules/Microsoft.CognitiveServices/accounts/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.compute.availabilitysets.yml b/.github/workflows/ms.compute.availabilitysets.yml index d4a60e7af1..c3a7048441 100644 --- a/.github/workflows/ms.compute.availabilitysets.yml +++ b/.github/workflows/ms.compute.availabilitysets.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.compute.availabilitysets.yml' - 'modules/Microsoft.Compute/availabilitySets/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.compute.diskencryptionsets.yml b/.github/workflows/ms.compute.diskencryptionsets.yml index 97eeaee93c..51c128ead2 100644 --- a/.github/workflows/ms.compute.diskencryptionsets.yml +++ b/.github/workflows/ms.compute.diskencryptionsets.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.compute.diskencryptionsets.yml' - 'modules/Microsoft.Compute/diskEncryptionSets/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.compute.disks.yml b/.github/workflows/ms.compute.disks.yml index b2f2b4afda..5c058ff86a 100644 --- a/.github/workflows/ms.compute.disks.yml +++ b/.github/workflows/ms.compute.disks.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.compute.disks.yml' - 'modules/Microsoft.Compute/disks/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.compute.galleries.yml b/.github/workflows/ms.compute.galleries.yml index 6a12ca4e01..8a238de04e 100644 --- a/.github/workflows/ms.compute.galleries.yml +++ b/.github/workflows/ms.compute.galleries.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.compute.galleries.yml' - 'modules/Microsoft.Compute/galleries/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.compute.images.yml b/.github/workflows/ms.compute.images.yml index a0fd4e3b9e..55b3fe0c58 100644 --- a/.github/workflows/ms.compute.images.yml +++ b/.github/workflows/ms.compute.images.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.compute.images.yml' - 'modules/Microsoft.Compute/images/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.compute.proximityplacementgroups.yml b/.github/workflows/ms.compute.proximityplacementgroups.yml index 3bbfcab898..e66297b108 100644 --- a/.github/workflows/ms.compute.proximityplacementgroups.yml +++ b/.github/workflows/ms.compute.proximityplacementgroups.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.compute.proximityplacementgroups.yml' - 'modules/Microsoft.Compute/proximityPlacementGroups/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.compute.virtualmachines.yml b/.github/workflows/ms.compute.virtualmachines.yml index 50076499aa..9a6afcc4c7 100644 --- a/.github/workflows/ms.compute.virtualmachines.yml +++ b/.github/workflows/ms.compute.virtualmachines.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.compute.virtualmachines.yml' - 'modules/Microsoft.Compute/virtualMachines/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.compute.virtualmachinescalesets.yml b/.github/workflows/ms.compute.virtualmachinescalesets.yml index 4353ac804b..d8a37efd05 100644 --- a/.github/workflows/ms.compute.virtualmachinescalesets.yml +++ b/.github/workflows/ms.compute.virtualmachinescalesets.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.compute.virtualmachinescalesets.yml' - 'modules/Microsoft.Compute/virtualMachineScaleSets/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.consumption.budgets.yml b/.github/workflows/ms.consumption.budgets.yml index 29c660fa9c..2794a6f0be 100644 --- a/.github/workflows/ms.consumption.budgets.yml +++ b/.github/workflows/ms.consumption.budgets.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.consumption.budgets.yml' - 'modules/Microsoft.Consumption/budgets/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.containerinstance.containergroups.yml b/.github/workflows/ms.containerinstance.containergroups.yml index 58a0d47792..0f2a55f91d 100644 --- a/.github/workflows/ms.containerinstance.containergroups.yml +++ b/.github/workflows/ms.containerinstance.containergroups.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.containerinstance.containergroups.yml' - 'modules/Microsoft.ContainerInstance/containerGroups/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.containerregistry.registries.yml b/.github/workflows/ms.containerregistry.registries.yml index 16c71b156f..8c7c10659f 100644 --- a/.github/workflows/ms.containerregistry.registries.yml +++ b/.github/workflows/ms.containerregistry.registries.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.containerregistry.registries.yml' - 'modules/Microsoft.ContainerRegistry/registries/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.containerservice.managedclusters.yml b/.github/workflows/ms.containerservice.managedclusters.yml index 3dd9a3e222..f6e34196f7 100644 --- a/.github/workflows/ms.containerservice.managedclusters.yml +++ b/.github/workflows/ms.containerservice.managedclusters.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.containerservice.managedclusters.yml' - 'modules/Microsoft.ContainerService/managedClusters/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.databricks.workspaces.yml b/.github/workflows/ms.databricks.workspaces.yml index 85bb9f388b..2f6803cfe2 100644 --- a/.github/workflows/ms.databricks.workspaces.yml +++ b/.github/workflows/ms.databricks.workspaces.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.databricks.workspaces.yml' - 'modules/Microsoft.Databricks/workspaces/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.datafactory.factories.yml b/.github/workflows/ms.datafactory.factories.yml index b0db7cb988..bdd74af885 100644 --- a/.github/workflows/ms.datafactory.factories.yml +++ b/.github/workflows/ms.datafactory.factories.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.datafactory.factories.yml' - 'modules/Microsoft.DataFactory/factories/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.dataprotection.backupvaults.yml b/.github/workflows/ms.dataprotection.backupvaults.yml index 8c7b12f3fc..53406c9ff2 100644 --- a/.github/workflows/ms.dataprotection.backupvaults.yml +++ b/.github/workflows/ms.dataprotection.backupvaults.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.dataprotection.backupvaults.yml' - 'modules/Microsoft.DataProtection/backupVaults/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.dbforpostgresql.flexibleservers.yml b/.github/workflows/ms.dbforpostgresql.flexibleservers.yml index a5db71c7db..45ff559054 100644 --- a/.github/workflows/ms.dbforpostgresql.flexibleservers.yml +++ b/.github/workflows/ms.dbforpostgresql.flexibleservers.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.dbforpostgresql.flexibleservers.yml' - 'modules/Microsoft.DBforPostgreSQL/flexibleServers/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.desktopvirtualization.applicationgroups.yml b/.github/workflows/ms.desktopvirtualization.applicationgroups.yml index 704ece9dd4..3933cd83d7 100644 --- a/.github/workflows/ms.desktopvirtualization.applicationgroups.yml +++ b/.github/workflows/ms.desktopvirtualization.applicationgroups.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.desktopvirtualization.applicationgroups.yml' - 'modules/Microsoft.DesktopVirtualization/applicationgroups/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.desktopvirtualization.hostpools.yml b/.github/workflows/ms.desktopvirtualization.hostpools.yml index 7d371b3908..5bb56a71ef 100644 --- a/.github/workflows/ms.desktopvirtualization.hostpools.yml +++ b/.github/workflows/ms.desktopvirtualization.hostpools.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.desktopvirtualization.hostpools.yml' - 'modules/Microsoft.DesktopVirtualization/hostpools/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.desktopvirtualization.scalingplans.yml b/.github/workflows/ms.desktopvirtualization.scalingplans.yml index bd61b15f96..0ced390001 100644 --- a/.github/workflows/ms.desktopvirtualization.scalingplans.yml +++ b/.github/workflows/ms.desktopvirtualization.scalingplans.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.desktopvirtualization.scalingplans.yml' - 'modules/Microsoft.DesktopVirtualization/scalingplans/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.desktopvirtualization.workspaces.yml b/.github/workflows/ms.desktopvirtualization.workspaces.yml index af1ce3d017..109e5c758d 100644 --- a/.github/workflows/ms.desktopvirtualization.workspaces.yml +++ b/.github/workflows/ms.desktopvirtualization.workspaces.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.desktopvirtualization.workspaces.yml' - 'modules/Microsoft.DesktopVirtualization/workspaces/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.documentdb.databaseaccounts.yml b/.github/workflows/ms.documentdb.databaseaccounts.yml index 5e3e27ae4a..be7b2b50f2 100644 --- a/.github/workflows/ms.documentdb.databaseaccounts.yml +++ b/.github/workflows/ms.documentdb.databaseaccounts.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.documentdb.databaseaccounts.yml' - 'modules/Microsoft.DocumentDB/databaseAccounts/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.eventgrid.systemtopics.yml b/.github/workflows/ms.eventgrid.systemtopics.yml index 7082058379..450e8a4822 100644 --- a/.github/workflows/ms.eventgrid.systemtopics.yml +++ b/.github/workflows/ms.eventgrid.systemtopics.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.eventgrid.systemtopics.yml' - 'modules/Microsoft.EventGrid/systemTopics/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.eventgrid.topics.yml b/.github/workflows/ms.eventgrid.topics.yml index 0f1a55f4d7..85b1ff0ba1 100644 --- a/.github/workflows/ms.eventgrid.topics.yml +++ b/.github/workflows/ms.eventgrid.topics.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.eventgrid.topics.yml' - 'modules/Microsoft.EventGrid/topics/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.eventhub.namespaces.yml b/.github/workflows/ms.eventhub.namespaces.yml index 8a6d20f63d..d3b5fc4a7d 100644 --- a/.github/workflows/ms.eventhub.namespaces.yml +++ b/.github/workflows/ms.eventhub.namespaces.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.eventhub.namespaces.yml' - 'modules/Microsoft.EventHub/namespaces/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.healthbot.healthbots.yml b/.github/workflows/ms.healthbot.healthbots.yml index b922917e4c..9ba199900d 100644 --- a/.github/workflows/ms.healthbot.healthbots.yml +++ b/.github/workflows/ms.healthbot.healthbots.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.healthbot.healthbots.yml' - 'modules/Microsoft.HealthBot/healthBots/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.insights.actiongroups.yml b/.github/workflows/ms.insights.actiongroups.yml index 51f6fe4932..9856482e3e 100644 --- a/.github/workflows/ms.insights.actiongroups.yml +++ b/.github/workflows/ms.insights.actiongroups.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.insights.actiongroups.yml' - 'modules/Microsoft.Insights/actionGroups/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.insights.activitylogalerts.yml b/.github/workflows/ms.insights.activitylogalerts.yml index 455d13ece9..a63e7baabd 100644 --- a/.github/workflows/ms.insights.activitylogalerts.yml +++ b/.github/workflows/ms.insights.activitylogalerts.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.insights.activitylogalerts.yml' - 'modules/Microsoft.Insights/activityLogAlerts/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.insights.components.yml b/.github/workflows/ms.insights.components.yml index 13f0691fe3..e6b0e5b0b6 100644 --- a/.github/workflows/ms.insights.components.yml +++ b/.github/workflows/ms.insights.components.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.insights.components.yml' - 'modules/Microsoft.Insights/components/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.insights.diagnosticsettings.yml b/.github/workflows/ms.insights.diagnosticsettings.yml index 727ff66ecb..9112d1346a 100644 --- a/.github/workflows/ms.insights.diagnosticsettings.yml +++ b/.github/workflows/ms.insights.diagnosticsettings.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.insights.diagnosticsettings.yml' - 'modules/Microsoft.Insights/diagnosticsettings/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.insights.metricalerts.yml b/.github/workflows/ms.insights.metricalerts.yml index e29b546f5e..ba92589523 100644 --- a/.github/workflows/ms.insights.metricalerts.yml +++ b/.github/workflows/ms.insights.metricalerts.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.insights.metricalerts.yml' - 'modules/Microsoft.Insights/metricAlerts/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.insights.privatelinkscopes.yml b/.github/workflows/ms.insights.privatelinkscopes.yml index 24cec3a955..08f18048b6 100644 --- a/.github/workflows/ms.insights.privatelinkscopes.yml +++ b/.github/workflows/ms.insights.privatelinkscopes.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.insights.privatelinkscopes.yml' - 'modules/Microsoft.Insights/privateLinkScopes/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.insights.scheduledqueryrules.yml b/.github/workflows/ms.insights.scheduledqueryrules.yml index 84edced8b2..4ae7b2fc42 100644 --- a/.github/workflows/ms.insights.scheduledqueryrules.yml +++ b/.github/workflows/ms.insights.scheduledqueryrules.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.insights.scheduledqueryrules.yml' - 'modules/Microsoft.Insights/scheduledQueryRules/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.keyvault.vaults.yml b/.github/workflows/ms.keyvault.vaults.yml index 98a4b20b72..abc8ad5453 100644 --- a/.github/workflows/ms.keyvault.vaults.yml +++ b/.github/workflows/ms.keyvault.vaults.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.keyvault.vaults.yml' - 'modules/Microsoft.KeyVault/vaults/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.kubernetesconfiguration.extensions.yml b/.github/workflows/ms.kubernetesconfiguration.extensions.yml index 53c556b9c2..78aded944f 100644 --- a/.github/workflows/ms.kubernetesconfiguration.extensions.yml +++ b/.github/workflows/ms.kubernetesconfiguration.extensions.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.kubernetesconfiguration.extensions.yml' - 'modules/Microsoft.KubernetesConfiguration/extensions/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.kubernetesconfiguration.fluxconfigurations.yml b/.github/workflows/ms.kubernetesconfiguration.fluxconfigurations.yml index 9d6a710731..989643d54a 100644 --- a/.github/workflows/ms.kubernetesconfiguration.fluxconfigurations.yml +++ b/.github/workflows/ms.kubernetesconfiguration.fluxconfigurations.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.kubernetesconfiguration.fluxconfigurations.yml' - 'modules/Microsoft.KubernetesConfiguration/fluxConfigurations/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.logic.workflows.yml b/.github/workflows/ms.logic.workflows.yml index 0547b78ab7..9882093cba 100644 --- a/.github/workflows/ms.logic.workflows.yml +++ b/.github/workflows/ms.logic.workflows.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.logic.workflows.yml' - 'modules/Microsoft.Logic/workflows/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.machinelearningservices.workspaces.yml b/.github/workflows/ms.machinelearningservices.workspaces.yml index a01e34c35a..6aadd70d24 100644 --- a/.github/workflows/ms.machinelearningservices.workspaces.yml +++ b/.github/workflows/ms.machinelearningservices.workspaces.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.machinelearningservices.workspaces.yml' - 'modules/Microsoft.MachineLearningServices/workspaces/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.maintenance.maintenanceconfigurations.yml b/.github/workflows/ms.maintenance.maintenanceconfigurations.yml index 5b2fd589f9..e0c096488a 100644 --- a/.github/workflows/ms.maintenance.maintenanceconfigurations.yml +++ b/.github/workflows/ms.maintenance.maintenanceconfigurations.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.maintenance.maintenanceconfigurations.yml' - 'modules/Microsoft.Maintenance/maintenanceConfigurations/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.managedidentity.userassignedidentities.yml b/.github/workflows/ms.managedidentity.userassignedidentities.yml index 21b2c9df46..ed54442762 100644 --- a/.github/workflows/ms.managedidentity.userassignedidentities.yml +++ b/.github/workflows/ms.managedidentity.userassignedidentities.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.managedidentity.userassignedidentities.yml' - 'modules/Microsoft.ManagedIdentity/userAssignedIdentities/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.managedservices.registrationdefinitions.yml b/.github/workflows/ms.managedservices.registrationdefinitions.yml index 5062b8cae6..adc2ff9154 100644 --- a/.github/workflows/ms.managedservices.registrationdefinitions.yml +++ b/.github/workflows/ms.managedservices.registrationdefinitions.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.managedservices.registrationdefinitions.yml' - 'modules/Microsoft.ManagedServices/registrationDefinitions/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.management.managementgroups.yml b/.github/workflows/ms.management.managementgroups.yml index 5a3363445d..21d2b29664 100644 --- a/.github/workflows/ms.management.managementgroups.yml +++ b/.github/workflows/ms.management.managementgroups.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.management.managementgroups.yml' - 'modules/Microsoft.Management/managementGroups/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.netapp.netappaccounts.yml b/.github/workflows/ms.netapp.netappaccounts.yml index be17607a9a..77a8358716 100644 --- a/.github/workflows/ms.netapp.netappaccounts.yml +++ b/.github/workflows/ms.netapp.netappaccounts.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.netapp.netappaccounts.yml' - 'modules/Microsoft.NetApp/netAppAccounts/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.applicationgateways.yml b/.github/workflows/ms.network.applicationgateways.yml index 453e8a3e44..721345e514 100644 --- a/.github/workflows/ms.network.applicationgateways.yml +++ b/.github/workflows/ms.network.applicationgateways.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.applicationgateways.yml' - 'modules/Microsoft.Network/applicationGateways/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml b/.github/workflows/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml index 34f25e9c75..86b4de6c63 100644 --- a/.github/workflows/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml +++ b/.github/workflows/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.applicationgatewaywebapplicationfirewallpolicies.yml' - 'modules/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.applicationsecuritygroups.yml b/.github/workflows/ms.network.applicationsecuritygroups.yml index 714b364ca7..28a1f9ae03 100644 --- a/.github/workflows/ms.network.applicationsecuritygroups.yml +++ b/.github/workflows/ms.network.applicationsecuritygroups.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.applicationsecuritygroups.yml' - 'modules/Microsoft.Network/applicationSecurityGroups/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.azurefirewalls.yml b/.github/workflows/ms.network.azurefirewalls.yml index 05b44e09ee..d4a2ed2b2e 100644 --- a/.github/workflows/ms.network.azurefirewalls.yml +++ b/.github/workflows/ms.network.azurefirewalls.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.azurefirewalls.yml' - 'modules/Microsoft.Network/azureFirewalls/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.bastionhosts.yml b/.github/workflows/ms.network.bastionhosts.yml index 29998ecfe1..378f4e60e5 100644 --- a/.github/workflows/ms.network.bastionhosts.yml +++ b/.github/workflows/ms.network.bastionhosts.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.bastionhosts.yml' - 'modules/Microsoft.Network/bastionHosts/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.connections.yml b/.github/workflows/ms.network.connections.yml index f225c4044d..39ac3c009c 100644 --- a/.github/workflows/ms.network.connections.yml +++ b/.github/workflows/ms.network.connections.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.connections.yml' - 'modules/Microsoft.Network/connections/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.ddosprotectionplans.yml b/.github/workflows/ms.network.ddosprotectionplans.yml index ce0a12fef9..18205e6fb9 100644 --- a/.github/workflows/ms.network.ddosprotectionplans.yml +++ b/.github/workflows/ms.network.ddosprotectionplans.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.ddosprotectionplans.yml' - 'modules/Microsoft.Network/ddosProtectionPlans/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.dnsresolvers.yml b/.github/workflows/ms.network.dnsresolvers.yml index 000b004e31..9ab11b99bb 100644 --- a/.github/workflows/ms.network.dnsresolvers.yml +++ b/.github/workflows/ms.network.dnsresolvers.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.dnsresolvers.yml' - 'modules/Microsoft.Network/dnsResolvers/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.expressroutecircuits.yml b/.github/workflows/ms.network.expressroutecircuits.yml index 6314c13a94..8061dbacfe 100644 --- a/.github/workflows/ms.network.expressroutecircuits.yml +++ b/.github/workflows/ms.network.expressroutecircuits.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.expressroutecircuits.yml' - 'modules/Microsoft.Network/expressRouteCircuits/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.firewallpolicies.yml b/.github/workflows/ms.network.firewallpolicies.yml index dc914846b4..4d76e4f405 100644 --- a/.github/workflows/ms.network.firewallpolicies.yml +++ b/.github/workflows/ms.network.firewallpolicies.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.firewallpolicies.yml' - 'modules/Microsoft.Network/firewallPolicies/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.frontdoors.yml b/.github/workflows/ms.network.frontdoors.yml index 4391ea3777..07dab3a7b0 100644 --- a/.github/workflows/ms.network.frontdoors.yml +++ b/.github/workflows/ms.network.frontdoors.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.frontdoors.yml' - 'modules/Microsoft.Network/frontDoors/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.ipgroups.yml b/.github/workflows/ms.network.ipgroups.yml index 55cc615dcf..6175c9f7e6 100644 --- a/.github/workflows/ms.network.ipgroups.yml +++ b/.github/workflows/ms.network.ipgroups.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.ipgroups.yml' - 'modules/Microsoft.Network/ipGroups/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.loadbalancers.yml b/.github/workflows/ms.network.loadbalancers.yml index 16c133ee17..29252ef132 100644 --- a/.github/workflows/ms.network.loadbalancers.yml +++ b/.github/workflows/ms.network.loadbalancers.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.loadbalancers.yml' - 'modules/Microsoft.Network/loadBalancers/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.localnetworkgateways.yml b/.github/workflows/ms.network.localnetworkgateways.yml index eea7797188..355a9b1fb0 100644 --- a/.github/workflows/ms.network.localnetworkgateways.yml +++ b/.github/workflows/ms.network.localnetworkgateways.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.localnetworkgateways.yml' - 'modules/Microsoft.Network/localNetworkGateways/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.natgateways.yml b/.github/workflows/ms.network.natgateways.yml index e15276f359..a470247478 100644 --- a/.github/workflows/ms.network.natgateways.yml +++ b/.github/workflows/ms.network.natgateways.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.natgateways.yml' - 'modules/Microsoft.Network/natGateways/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.networkinterfaces.yml b/.github/workflows/ms.network.networkinterfaces.yml index 129fa8aabf..f066b2e90f 100644 --- a/.github/workflows/ms.network.networkinterfaces.yml +++ b/.github/workflows/ms.network.networkinterfaces.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.networkinterfaces.yml' - 'modules/Microsoft.Network/networkInterfaces/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.networksecuritygroups.yml b/.github/workflows/ms.network.networksecuritygroups.yml index 98551bff60..c10ed567ac 100644 --- a/.github/workflows/ms.network.networksecuritygroups.yml +++ b/.github/workflows/ms.network.networksecuritygroups.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.networksecuritygroups.yml' - 'modules/Microsoft.Network/networkSecurityGroups/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.networkwatchers.yml b/.github/workflows/ms.network.networkwatchers.yml index 748bd1b635..5a8d893a4a 100644 --- a/.github/workflows/ms.network.networkwatchers.yml +++ b/.github/workflows/ms.network.networkwatchers.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.networkwatchers.yml' - 'modules/Microsoft.Network/networkWatchers/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.privatednszones.yml b/.github/workflows/ms.network.privatednszones.yml index 3804e9e532..0879955098 100644 --- a/.github/workflows/ms.network.privatednszones.yml +++ b/.github/workflows/ms.network.privatednszones.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.privatednszones.yml' - 'modules/Microsoft.Network/privateDnsZones/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.privateendpoints.yml b/.github/workflows/ms.network.privateendpoints.yml index 716e4c55ac..25a4ea0c9c 100644 --- a/.github/workflows/ms.network.privateendpoints.yml +++ b/.github/workflows/ms.network.privateendpoints.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.privateendpoints.yml' - 'modules/Microsoft.Network/privateEndpoints/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.privatelinkservices.yml b/.github/workflows/ms.network.privatelinkservices.yml index f46c7a8b62..add9423f59 100644 --- a/.github/workflows/ms.network.privatelinkservices.yml +++ b/.github/workflows/ms.network.privatelinkservices.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.privatelinkservices.yml' - 'modules/Microsoft.Network/privateLinkServices/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.publicipaddresses.yml b/.github/workflows/ms.network.publicipaddresses.yml index fec5f0696b..f557d2163e 100644 --- a/.github/workflows/ms.network.publicipaddresses.yml +++ b/.github/workflows/ms.network.publicipaddresses.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.publicipaddresses.yml' - 'modules/Microsoft.Network/publicIPAddresses/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.publicipprefixes.yml b/.github/workflows/ms.network.publicipprefixes.yml index 009ca590f2..f0afb7dfdb 100644 --- a/.github/workflows/ms.network.publicipprefixes.yml +++ b/.github/workflows/ms.network.publicipprefixes.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.publicipprefixes.yml' - 'modules/Microsoft.Network/publicIPPrefixes/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.routetables.yml b/.github/workflows/ms.network.routetables.yml index 26eea34d44..8c39e1c8b4 100644 --- a/.github/workflows/ms.network.routetables.yml +++ b/.github/workflows/ms.network.routetables.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.routetables.yml' - 'modules/Microsoft.Network/routeTables/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.trafficmanagerprofiles.yml b/.github/workflows/ms.network.trafficmanagerprofiles.yml index c539c0f0a9..eb5e5204f8 100644 --- a/.github/workflows/ms.network.trafficmanagerprofiles.yml +++ b/.github/workflows/ms.network.trafficmanagerprofiles.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.trafficmanagerprofiles.yml' - 'modules/Microsoft.Network/trafficmanagerprofiles/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.virtualhubs.yml b/.github/workflows/ms.network.virtualhubs.yml index 52542e3945..35abc22534 100644 --- a/.github/workflows/ms.network.virtualhubs.yml +++ b/.github/workflows/ms.network.virtualhubs.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.virtualhubs.yml' - 'modules/Microsoft.Network/virtualHubs/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.virtualnetworkgateways.yml b/.github/workflows/ms.network.virtualnetworkgateways.yml index 93ba948ad2..41b6c3cfeb 100644 --- a/.github/workflows/ms.network.virtualnetworkgateways.yml +++ b/.github/workflows/ms.network.virtualnetworkgateways.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.virtualnetworkgateways.yml' - 'modules/Microsoft.Network/virtualNetworkGateways/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.virtualnetworks.yml b/.github/workflows/ms.network.virtualnetworks.yml index 39091d9676..f4372bf151 100644 --- a/.github/workflows/ms.network.virtualnetworks.yml +++ b/.github/workflows/ms.network.virtualnetworks.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.virtualnetworks.yml' - 'modules/Microsoft.Network/virtualNetworks/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.virtualwans.yml b/.github/workflows/ms.network.virtualwans.yml index d569a0ca71..b2deb05b95 100644 --- a/.github/workflows/ms.network.virtualwans.yml +++ b/.github/workflows/ms.network.virtualwans.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.virtualwans.yml' - 'modules/Microsoft.Network/virtualWans/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.vpngateways.yml b/.github/workflows/ms.network.vpngateways.yml index 067b7314d9..2506e3af9a 100644 --- a/.github/workflows/ms.network.vpngateways.yml +++ b/.github/workflows/ms.network.vpngateways.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.vpngateways.yml' - 'modules/Microsoft.Network/vpnGateways/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.network.vpnsites.yml b/.github/workflows/ms.network.vpnsites.yml index 71e09c5466..9176f67acb 100644 --- a/.github/workflows/ms.network.vpnsites.yml +++ b/.github/workflows/ms.network.vpnsites.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.network.vpnsites.yml' - 'modules/Microsoft.Network/vpnSites/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.operationalinsights.workspaces.yml b/.github/workflows/ms.operationalinsights.workspaces.yml index 9234d47464..05352ece3d 100644 --- a/.github/workflows/ms.operationalinsights.workspaces.yml +++ b/.github/workflows/ms.operationalinsights.workspaces.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.operationalinsights.workspaces.yml' - 'modules/Microsoft.OperationalInsights/workspaces/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.operationsmanagement.solutions.yml b/.github/workflows/ms.operationsmanagement.solutions.yml index a0934a1eb1..d4354c4a5f 100644 --- a/.github/workflows/ms.operationsmanagement.solutions.yml +++ b/.github/workflows/ms.operationsmanagement.solutions.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.operationsmanagement.solutions.yml' - 'modules/Microsoft.OperationsManagement/solutions/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.powerbidedicated.capacities.yml b/.github/workflows/ms.powerbidedicated.capacities.yml index 5f17232953..4adfe19138 100644 --- a/.github/workflows/ms.powerbidedicated.capacities.yml +++ b/.github/workflows/ms.powerbidedicated.capacities.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.powerbidedicated.capacities.yml' - 'modules/Microsoft.PowerBIDedicated/capacities/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.recoveryservices.vaults.yml b/.github/workflows/ms.recoveryservices.vaults.yml index 6da40a95c8..a08ce429a0 100644 --- a/.github/workflows/ms.recoveryservices.vaults.yml +++ b/.github/workflows/ms.recoveryservices.vaults.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.recoveryservices.vaults.yml' - 'modules/Microsoft.RecoveryServices/vaults/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.resources.deploymentscripts.yml b/.github/workflows/ms.resources.deploymentscripts.yml index 8c0b463c2a..7e52b29bdd 100644 --- a/.github/workflows/ms.resources.deploymentscripts.yml +++ b/.github/workflows/ms.resources.deploymentscripts.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.resources.deploymentscripts.yml' - 'modules/Microsoft.Resources/deploymentScripts/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.resources.resourcegroups.yml b/.github/workflows/ms.resources.resourcegroups.yml index 69a09fef7d..06258e23e3 100644 --- a/.github/workflows/ms.resources.resourcegroups.yml +++ b/.github/workflows/ms.resources.resourcegroups.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.resources.resourcegroups.yml' - 'modules/Microsoft.Resources/resourceGroups/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.resources.tags.yml b/.github/workflows/ms.resources.tags.yml index 8f23d4d9ed..7c4b69e639 100644 --- a/.github/workflows/ms.resources.tags.yml +++ b/.github/workflows/ms.resources.tags.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.resources.tags.yml' - 'modules/Microsoft.Resources/tags/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.security.azuresecuritycenter.yml b/.github/workflows/ms.security.azuresecuritycenter.yml index 8fa76ab427..f51f99fa82 100644 --- a/.github/workflows/ms.security.azuresecuritycenter.yml +++ b/.github/workflows/ms.security.azuresecuritycenter.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.security.azuresecuritycenter.yml' - 'modules/Microsoft.Security/azureSecurityCenter/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.servicebus.namespaces.yml b/.github/workflows/ms.servicebus.namespaces.yml index e24bb8ee11..45dc08b649 100644 --- a/.github/workflows/ms.servicebus.namespaces.yml +++ b/.github/workflows/ms.servicebus.namespaces.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.servicebus.namespaces.yml' - 'modules/Microsoft.ServiceBus/namespaces/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.servicefabric.clusters.yml b/.github/workflows/ms.servicefabric.clusters.yml index b207d7691f..10283d213b 100644 --- a/.github/workflows/ms.servicefabric.clusters.yml +++ b/.github/workflows/ms.servicefabric.clusters.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.servicefabric.clusters.yml' - 'modules/Microsoft.ServiceFabric/clusters/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.signalrservice.webpubsub.yml b/.github/workflows/ms.signalrservice.webpubsub.yml index 70b61b83ca..e2a1286ce8 100644 --- a/.github/workflows/ms.signalrservice.webpubsub.yml +++ b/.github/workflows/ms.signalrservice.webpubsub.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.signalrservice.webpubsub.yml' - 'modules/Microsoft.SignalRService/webPubSub/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.sql.managedinstances.yml b/.github/workflows/ms.sql.managedinstances.yml index f67dbe83a1..cf1d010d58 100644 --- a/.github/workflows/ms.sql.managedinstances.yml +++ b/.github/workflows/ms.sql.managedinstances.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.sql.managedinstances.yml' - 'modules/Microsoft.Sql/managedInstances/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.sql.servers.yml b/.github/workflows/ms.sql.servers.yml index aa091df60f..acbab471ff 100644 --- a/.github/workflows/ms.sql.servers.yml +++ b/.github/workflows/ms.sql.servers.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.sql.servers.yml' - 'modules/Microsoft.Sql/servers/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.storage.storageaccounts.yml b/.github/workflows/ms.storage.storageaccounts.yml index c5e73fd181..a0305d54a5 100644 --- a/.github/workflows/ms.storage.storageaccounts.yml +++ b/.github/workflows/ms.storage.storageaccounts.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.storage.storageaccounts.yml' - 'modules/Microsoft.Storage/storageAccounts/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.synapse.privatelinkhubs.yml b/.github/workflows/ms.synapse.privatelinkhubs.yml index 482fc3a07d..8b70ddc2ec 100644 --- a/.github/workflows/ms.synapse.privatelinkhubs.yml +++ b/.github/workflows/ms.synapse.privatelinkhubs.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.synapse.privatelinkhubs.yml' - 'modules/Microsoft.Synapse/privateLinkHubs/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.synapse.workspaces.yml b/.github/workflows/ms.synapse.workspaces.yml index e1c52133a4..d3a9354c17 100644 --- a/.github/workflows/ms.synapse.workspaces.yml +++ b/.github/workflows/ms.synapse.workspaces.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.synapse.workspaces.yml' - 'modules/Microsoft.Synapse/workspaces/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.virtualmachineimages.imagetemplates.yml b/.github/workflows/ms.virtualmachineimages.imagetemplates.yml index 6d82245ad1..ceee3a40fe 100644 --- a/.github/workflows/ms.virtualmachineimages.imagetemplates.yml +++ b/.github/workflows/ms.virtualmachineimages.imagetemplates.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.virtualmachineimages.imagetemplates.yml' - 'modules/Microsoft.VirtualMachineImages/imageTemplates/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.web.connections.yml b/.github/workflows/ms.web.connections.yml index 63e27f246d..69e0d03901 100644 --- a/.github/workflows/ms.web.connections.yml +++ b/.github/workflows/ms.web.connections.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.web.connections.yml' - 'modules/Microsoft.Web/connections/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.web.hostingenvironments.yml b/.github/workflows/ms.web.hostingenvironments.yml index cb663b5156..02452a38b0 100644 --- a/.github/workflows/ms.web.hostingenvironments.yml +++ b/.github/workflows/ms.web.hostingenvironments.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.web.hostingenvironments.yml' - 'modules/Microsoft.Web/hostingEnvironments/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.web.serverfarms.yml b/.github/workflows/ms.web.serverfarms.yml index d118adaffe..8e84af3216 100644 --- a/.github/workflows/ms.web.serverfarms.yml +++ b/.github/workflows/ms.web.serverfarms.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.web.serverfarms.yml' - 'modules/Microsoft.Web/serverfarms/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.web.sites.yml b/.github/workflows/ms.web.sites.yml index 6536308280..fb364722fa 100644 --- a/.github/workflows/ms.web.sites.yml +++ b/.github/workflows/ms.web.sites.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.web.sites.yml' - 'modules/Microsoft.Web/sites/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/ms.web.staticsites.yml b/.github/workflows/ms.web.staticsites.yml index 4873d77699..1ee73f8926 100644 --- a/.github/workflows/ms.web.staticsites.yml +++ b/.github/workflows/ms.web.staticsites.yml @@ -21,7 +21,6 @@ on: - '.github/workflows/ms.web.staticsites.yml' - 'modules/Microsoft.Web/staticSites/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' - '!*/**/readme.md' env: diff --git a/.github/workflows/platform.dependencies.yml b/.github/workflows/platform.dependencies.yml deleted file mode 100644 index 705baa1da8..0000000000 --- a/.github/workflows/platform.dependencies.yml +++ /dev/null @@ -1,1487 +0,0 @@ -name: '.Platform: Dependencies' - -on: - workflow_dispatch: - inputs: - deploySqlMiDependencies: - type: boolean - description: 'Enable SqlMi dependencies deployment' - required: false - default: false - deployVhdDependencies: - type: boolean - description: 'Enable deployment of a vhd stored in a blob container' - required: false - default: false - - # push: - # branches: - # - main - # paths: - # - '.github/actions/templates/validateModuleDeployment/**' - # - '.github/workflows/platform.dependencies.yml' - # - 'utilities/pipelines/dependencies/**' - -env: - variablesPath: 'settings.yml' - location: 'WestEurope' - defaultResourceGroupName: 'validation-rg' - resourceGroupNameArtifacts: 'artifacts-rg' - removeDeployment: 'false' - dependencyPath: 'utilities/pipelines/dependencies' - 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: - job_deploy_rg: - runs-on: ubuntu-20.04 - name: 'Deploy resource group' - env: - namespace: 'Microsoft.Resources\resourceGroups' - strategy: - fail-fast: false - matrix: - parameterFilePaths: - ['validation.parameters.json', 'locks.parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_vhd: - runs-on: ubuntu-20.04 - name: 'Store VHD to Storage Account' - if: github.event.inputs.deployVhdDependencies == 'true' - needs: - - job_deploy_rg - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'utilities/pipelines/dependencies/constructs/StoreVhdToStorage/deploy.bicep' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_ppg: - runs-on: ubuntu-20.04 - name: 'Deploy proximity placement group' - env: - namespace: 'Microsoft.Compute\proximityPlacementGroups' - needs: - - job_deploy_rg - strategy: - fail-fast: false - matrix: - parameterFilePaths: - ['parameters.json', 'vm.parameters.json', 'vmss.parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_msi: - runs-on: ubuntu-20.04 - name: 'Deploy user assigned identity' - env: - namespace: 'Microsoft.ManagedIdentity\userAssignedIdentities' - needs: - - job_deploy_rg - outputs: - msiPrincipalId: ${{ steps.print_msi_prinId.outputs.msiPrincipalId }} - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - id: deploy_msi - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - name: Set msi principal ID output - id: print_msi_prinId - uses: azure/powershell@v1 - with: - inlineScript: | - $deploymentOutput = '${{ steps.deploy_msi.outputs.deploymentOutput }}' - $msiPrincipalId = (ConvertFrom-Json $deploymentOutput).principalId - Write-Verbose "msiPrincipalId: $msiPrincipalId" -Verbose - Write-Output ('::set-output name={0}::{1}' -f 'msiPrincipalId', $msiPrincipalId) - azPSVersion: 'latest' - - job_deploy_sf: - runs-on: ubuntu-20.04 - name: 'Deploy server farm' - env: - namespace: 'Microsoft.Web/serverfarms' - needs: - - job_deploy_rg - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_app: - runs-on: ubuntu-20.04 - name: 'Deploy app' - env: - namespace: 'Microsoft.Web/sites' - needs: - - job_deploy_sf - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_pa: - runs-on: ubuntu-20.04 - name: 'Deploy policy assignment' - env: - namespace: 'Microsoft.Authorization\policyAssignments' - needs: - - job_deploy_rg - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['mg.parameters.json', 'sub.parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_evh: - runs-on: ubuntu-20.04 - name: 'Deploy eventhub' - env: - namespace: 'Microsoft.EventHub\namespaces' - needs: - - job_deploy_rg - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_law: - runs-on: ubuntu-20.04 - name: 'Deploy log analytics workspace' - env: - namespace: 'Microsoft.OperationalInsights\workspaces' - needs: - - job_deploy_rg - strategy: - fail-fast: false - matrix: - parameterFilePaths: - [ - 'appi.parameters.json', - 'aut.parameters.json', - 'sol.parameters.json', - 'parameters.json', - ] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_sa: - runs-on: ubuntu-20.04 - name: 'Deploy storage account' - env: - namespace: 'Microsoft.Storage\storageAccounts' - needs: - - job_deploy_rg - strategy: - fail-fast: false - matrix: - parameterFilePaths: - [ - 'fa.parameters.json', - 'law.parameters.json', - 'parameters.json', - 'synapse01.parameters.json', - 'synapse02.parameters.json', - ] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_sa_upload_storage_files: - runs-on: ubuntu-20.04 - name: 'Upload files to storage account' - env: - namespace: 'Microsoft.Storage\storageAccounts' - needs: - - job_deploy_sa - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: 'Setup agent' - shell: pwsh - run: | - # Load used functions - . (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'sharedScripts' 'Set-EnvironmentOnAgent.ps1') - - # Define PS modules to install on the runner - $Modules = @( - @{ Name = 'Az.Storage' }, - @{ Name = 'powershell-yaml'; Version = '0.4.2'} - ) - - # Set agent up - Set-EnvironmentOnAgent -PSModules $Modules - - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - - name: Azure Login - uses: azure/login@v1 - with: - creds: ${{ secrets.AZURE_CREDENTIALS }} - enable-AzPSSession: true - - - name: Run PowerShell - uses: azure/powershell@v1 - with: - inlineScript: | - # Load used functions - . (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'sharedScripts' 'Export-ContentToBlob.ps1') - . (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInFileList.ps1') - - # Get target files - $parameterFilePath = Join-Path $env:GITHUB_WORKSPACE '${{ env.dependencyPath }}' '${{ env.namespace }}' 'parameters' 'parameters.json' - $parameterFilePaths = @($parameterFilePath) - - # Construct Token Function Input - $ConvertTokensInputs = @{ - FilePath = $parameterFilePaths - Tokens = @{} - TokenPrefix = '${{ env.tokenPrefix }}' - TokenSuffix = '${{ env.tokenSuffix }}' - } - - # Add local (source control) tokens - $tokenMap = @{} - foreach ($token in (Get-ChildItem env: | Where-Object -Property Name -Like "localToken_*")) { - $tokenMap += @{ $token.Name.Replace('localToken_','','OrdinalIgnoreCase') = $token.value } - } - Write-Verbose ('Using local tokens [{0}]' -f ($tokenMap.Keys -join ', ')) -Verbose - $ConvertTokensInputs.Tokens += $tokenMap - - # Swap 'namePrefix' token if empty and provided as a GitHub secret - if([String]::IsNullOrEmpty($ConvertTokensInputs.Tokens['namePrefix'])){ - Write-Verbose 'Using [namePrefix] token from GitHub' -Verbose - $ConvertTokensInputs.Tokens['namePrefix'] = '${{ env.TOKEN_NAMEPREFIX }}' - } - - $null = Convert-TokensInFileList @ConvertTokensInputs - - # Get storage account name - $storageAccountParameters = (ConvertFrom-Json (Get-Content -path $parameterFilePath -Raw)).parameters - - # Upload files to storage account - $functionInput = @{ - ResourceGroupName = '${{ env.defaultResourceGroupName }}' - StorageAccountName = $storageAccountParameters.name.value - contentDirectories = Join-Path $env:GITHUB_WORKSPACE '${{ env.dependencyPath }}' '${{ env.namespace }}' 'uploads' - targetContainer = $storageAccountParameters.blobServices.value.containers[0].name - } - - Write-Verbose "Invoke task with" -Verbose - Write-Verbose ($functionInput | ConvertTo-Json | Out-String) -Verbose - - Export-ContentToBlob @functionInput -Verbose - azPSVersion: 'latest' - - job_deploy_sig: - runs-on: ubuntu-20.04 - name: 'Deploy shared image gallery and definition' - env: - namespace: 'Microsoft.Compute\galleries' - needs: - - job_deploy_rg - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_ag: - runs-on: ubuntu-20.04 - name: 'Deploy action groups' - env: - namespace: 'Microsoft.Insights\actionGroups' - needs: - - job_deploy_rg - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_asg: - runs-on: ubuntu-20.04 - name: 'Deploy application security groups' - env: - namespace: 'Microsoft.Network\applicationSecurityGroups' - needs: - - job_deploy_rg - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_udr: - runs-on: ubuntu-20.04 - name: 'Deploy route tables' - env: - namespace: 'Microsoft.Network\routeTables' - needs: - - job_deploy_rg - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_sqlmi_udr: - runs-on: ubuntu-20.04 - name: 'Deploy sqlmi route tables' - if: github.event.inputs.deploySqlMiDependencies == 'true' - env: - namespace: 'Microsoft.Network\routeTables' - needs: - - job_deploy_rg - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['sqlMi.parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_nsg: - runs-on: ubuntu-20.04 - name: 'Deploy network security groups' - env: - namespace: 'Microsoft.Network\networkSecurityGroups' - needs: - - job_deploy_sa - - job_deploy_evh - - job_deploy_law - strategy: - fail-fast: false - matrix: - parameterFilePaths: - [ - 'apgw.parameters.json', - 'ase.parameters.json', - 'bastion.parameters.json', - 'aadds.parameters.json', - 'parameters.json', - ] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_sqlmi_nsg: - runs-on: ubuntu-20.04 - name: 'Deploy sqlmi network security group' - if: github.event.inputs.deploySqlMiDependencies == 'true' - env: - namespace: 'Microsoft.Network\networkSecurityGroups' - needs: - - job_deploy_sa - - job_deploy_evh - - job_deploy_law - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['sqlmi.parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_pip: - runs-on: ubuntu-20.04 - name: 'Deploy public IP addresses' - env: - namespace: 'Microsoft.Network\publicIPAddresses' - needs: - - job_deploy_sa - - job_deploy_evh - - job_deploy_law - strategy: - fail-fast: false - matrix: - parameterFilePaths: - [ - 'apgw.parameters.json', - 'bas.parameters.json', - 'bas.additional.parameters.json', - 'lb.parameters.json', - 'lb.min.parameters.json', - 'fw.parameters.json', - 'fw.additional.parameters.json', - ] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_appi: - runs-on: ubuntu-20.04 - name: 'Deploy application insight' - env: - namespace: 'Microsoft.Insights\components' - needs: - - job_deploy_sa - - job_deploy_evh - - job_deploy_law - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_aut: - runs-on: ubuntu-20.04 - name: 'Deploy automation account' - env: - namespace: 'Microsoft.Automation\automationAccounts' - needs: - - job_deploy_sa - - job_deploy_evh - - job_deploy_law - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_avdhp: - runs-on: ubuntu-20.04 - name: 'Deploy AVD host pool' - env: - namespace: 'Microsoft.DesktopVirtualization\hostpools' - needs: - - job_deploy_sa - - job_deploy_evh - - job_deploy_law - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_rsv: - runs-on: ubuntu-20.04 - name: 'Deploy recovery services vault' - env: - namespace: 'Microsoft.RecoveryServices\vaults' - needs: - - job_deploy_sa - - job_deploy_evh - - job_deploy_law - - job_deploy_msi - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - customParameterFileTokens: '{"msiPrincipalId":"${{ needs.job_deploy_msi.outputs.msiPrincipalId }}"}' - - job_deploy_kv: - runs-on: ubuntu-20.04 - name: 'Deploy key vaults' - env: - namespace: 'Microsoft.KeyVault\vaults' - needs: - - job_deploy_sa - - job_deploy_evh - - job_deploy_law - - job_deploy_msi - strategy: - fail-fast: false - matrix: - parameterFilePaths: - ['parameters.json', 'pe.parameters.json', 'nopr.parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - customParameterFileTokens: '{"msiPrincipalId":"${{ needs.job_deploy_msi.outputs.msiPrincipalId }}"}' - - job_deploy_kv_secrets: - # Must run on windows as the used `New-SelfSignedCertificate` function is not available on linux - runs-on: windows-2022 - name: 'Set key vault secrets keys and certificates' - env: - namespace: 'Microsoft.KeyVault\vaults' - needs: - - job_deploy_kv - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: 'Setup agent' - shell: pwsh - run: | - # Load used functions - . (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'sharedScripts' 'Set-EnvironmentOnAgent.ps1') - - # Define PS modules to install on the runner - $Modules = @( - @{ Name = 'Az.KeyVault' }, - @{ Name = 'powershell-yaml'; Version = '0.4.2'} - ) - - # Set agent up - Set-EnvironmentOnAgent -PSModules $Modules - - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - - name: Azure Login - uses: azure/login@v1 - with: - creds: ${{ secrets.AZURE_CREDENTIALS }} - enable-AzPSSession: true - - - name: 'Set key vault secrets keys and certificates' - uses: azure/powershell@v1 - with: - inlineScript: | - # Load used functions - . (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInFileList.ps1') - - # Get target files - $parameterFilePath = Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'dependencies' '${{ env.namespace }}' 'parameters' 'parameters.json' - $noprParameterFilePath = Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'dependencies' '${{ env.namespace }}' 'parameters' 'nopr.parameters.json' - $parameterFilePaths = @($parameterFilePath, $noprParameterFilePath) - - # Construct Token Function Input - $ConvertTokensInputs = @{ - FilePathList = $parameterFilePaths - Tokens = @{} - TokenPrefix = '${{ env.tokenPrefix }}' - TokenSuffix = '${{ env.tokenSuffix }}' - } - - # Add local (source control) tokens - $tokenMap = @{} - foreach ($token in (Get-ChildItem env: | Where-Object -Property Name -Like "localToken_*")) { - $tokenMap += @{ $token.Name.Replace('localToken_','','OrdinalIgnoreCase') = $token.value } - } - Write-Verbose ('Using local tokens [{0}]' -f ($tokenMap.Keys -join ', ')) -Verbose - $ConvertTokensInputs.Tokens += $tokenMap - - # Swap 'namePrefix' token if empty and provided as a GitHub secret - if([String]::IsNullOrEmpty($ConvertTokensInputs.Tokens['namePrefix'])){ - Write-Verbose 'Using [namePrefix] token from GitHub' -Verbose - $ConvertTokensInputs.Tokens['namePrefix'] = '${{ env.TOKEN_NAMEPREFIX }}' - } - $null = Convert-TokensInFileList @ConvertTokensInputs - - # Get key vault name - $keyVaultParameters = (ConvertFrom-Json (Get-Content -Path $parameterFilePath -Raw)).parameters - $keyVaultName = $keyVaultParameters.name.value - - $noprKeyVaultParameters = (ConvertFrom-Json (Get-Content -Path $noprParameterFilePath -Raw)).parameters - $noprKeyVaultName = $noprKeyVaultParameters.name.value - - # Generate values - $usernameString = ( -join ((65..90) + (97..122) | Get-Random -Count 9 -SetSeed 1 | ForEach-Object { [char]$_ + "$_" })).substring(0, 19) # max length - $userName = ConvertTo-SecureString -String $usernameString -AsPlainText -Force - $passwordString = (New-Guid).Guid.SubString(0, 19) - $password = ConvertTo-SecureString -String $passwordString -AsPlainText -Force - $vpnSharedKeyString = (New-Guid).Guid.SubString(0, 32) - $vpnSharedKey = ConvertTo-SecureString -String $vpnSharedKeyString -AsPlainText -Force - - $namePrefixToken = $ConvertTokensInputs.Tokens['namePrefix'] - - $certInputObject = @{ - Subject = 'CN=*.{0}.onmicrosoft.com' -f $namePrefixToken - DnsName = '*.{0}.onmicrosoft.com' -f $namePrefixToken - CertStoreLocation = 'cert:\LocalMachine\My' - KeyExportPolicy = 'Exportable' - Provider = 'Microsoft Enhanced RSA and AES Cryptographic Provider' - NotAfter = (Get-Date).AddMonths(3) - HashAlgorithm = 'SHA256' - } - $rawCert = New-SelfSignedCertificate @certInputObject - Export-PfxCertificate -Cert ('Cert:\localmachine\my\' + $rawCert.Thumbprint) -FilePath "$home/aadds.pfx" -Password $password -Force - $rawCertByteStream = Get-Content "$home/aadds.pfx" -AsByteStream - $pfxCertificate = ConvertTo-SecureString -String ([System.Convert]::ToBase64String($rawCertByteStream)) -AsPlainText -Force - - # Set secrets - # ------- - @( - @{ name = 'adminUsername'; secretValue = $username } # VirtualMachines and VMSS - @{ name = 'adminPassword'; secretValue = $password } # VirtualMachines and VMSS - @{ name = 'administratorLogin'; secretValue = $username } # Azure SQLServer - @{ name = 'administratorLoginPassword'; secretValue = $password } # Azure SQLServer - @{ name = 'vpnSharedKey'; secretValue = $vpnSharedKey } # VirtualNetworkGateway - @{ name = 'apimClientId'; secretValue = $username } # API management - @{ name = 'apimClientSecret'; secretValue = $password } # API management - @{ name = 'pfxCertificatePassword'; secretValue = $password } # AADDS - @{ name = 'pfxBase64Certificate'; secretValue = $pfxCertificate } # AADDS - ) | ForEach-Object { - $null = Set-AzKeyVaultSecret -VaultName $keyVaultName -Name $_.name -SecretValue $_.secretValue - Write-Verbose ('Added secret [{0}] to key vault [{1}]' -f $_.name, $keyVaultName) -Verbose - } - - # Set certificates - # ----------- - $certPolicy = New-AzKeyVaultCertificatePolicy -SecretContentType 'application/x-pkcs12' -SubjectName 'CN=fabrikam.com' -IssuerName 'Self' -ValidityInMonths 12 -ReuseKeyOnRenewal - @( - @{ name = 'applicationGatewaySslCertificate'; CertificatePolicy = $certPolicy } # ApplicationGateway - ) | ForEach-Object { - $null = Add-AzKeyVaultCertificate -VaultName $keyVaultName -Name $_.name -CertificatePolicy $_.CertificatePolicy - Write-Verbose ('Added certificate [{0}] to key vault [{1}]' -f $_.name, $keyVaultName) -Verbose - } - - # Set keys - # ---- - @( - @{ name = 'keyEncryptionKey'; Destination = 'Software' } # DiskEncryptionSet, VirtualMachines and VMSS - ) | ForEach-Object { - $null = Add-AzKeyVaultKey -VaultName $keyVaultName -Name $_.name -Destination $_.Destination - Write-Verbose ('Added key [{0}] to key vault [{1}]' -f $_.name, $keyVaultName) -Verbose - - } - - # noprKeyVault Keys - @( - @{ name = 'keyEncryptionKey'; Destination = 'Software' } # Automation Account - ) | ForEach-Object { - $null = Add-AzKeyVaultKey -VaultName $noprKeyVaultName -Name $_.name -Destination $_.Destination - Write-Verbose ('Added key [{0}] to key vault [{1}]' -f $_.name, $noprKeyVaultName) -Verbose - } - azPSVersion: 'latest' - - job_deploy_sqlmi_kv: - runs-on: ubuntu-20.04 - name: 'Deploy sqlmi key vault' - if: github.event.inputs.deploySqlMiDependencies == 'true' - env: - namespace: 'Microsoft.KeyVault\vaults' - needs: - - job_deploy_sa - - job_deploy_evh - - job_deploy_law - - job_deploy_msi - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['sqlmi.parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - customParameterFileTokens: '{"msiPrincipalId":"${{ needs.job_deploy_msi.outputs.msiPrincipalId }}"}' - - job_deploy_sqlmi_kv_secrets: - runs-on: ubuntu-20.04 - name: 'Set sqlmi key vault secrets and keys' - if: github.event.inputs.deploySqlMiDependencies == 'true' - needs: - - job_deploy_sqlmi_kv - env: - namespace: 'Microsoft.KeyVault\vaults' - steps: - - name: 'Checkout' - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: 'Setup agent' - shell: pwsh - run: | - # Load used functions - . (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'sharedScripts' 'Set-EnvironmentOnAgent.ps1') - - # Define PS modules to install on the runner - $Modules = @( - @{ Name = 'Az.KeyVault' }, - @{ Name = 'powershell-yaml'; Version = '0.4.2'} - ) - - # Set agent up - Set-EnvironmentOnAgent -PSModules $Modules - - - name: Set environment variables - uses: ./.github/actions/templates/setEnvironmentVariables - with: - variablesPath: ${{ env.variablesPath }} - - - name: Azure Login - uses: azure/login@v1 - with: - creds: ${{ secrets.AZURE_CREDENTIALS }} - enable-AzPSSession: true - - - name: 'Set sqlmi key vault secrets and keys' - uses: azure/powershell@v1 - with: - inlineScript: | - # Load used functions - . (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInFileList.ps1') - - # Get target files - $parameterFilePath = Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'dependencies' '${{ env.namespace }}' 'parameters' 'sqlmi.parameters.json' - $parameterFilePaths = @($parameterFilePath) - - # Construct Token Function Input - $ConvertTokensInputs = @{ - Tokens = @{} - FilePath = $parameterFilePaths - TokenPrefix = '${{ env.tokenPrefix }}' - TokenSuffix = '${{ env.tokenSuffix }}' - } - - # Add local (source control) tokens - $tokenMap = @{} - foreach ($token in (Get-ChildItem env: | Where-Object -Property Name -Like "localToken_*")) { - $tokenMap += @{ $token.Name.Replace('localToken_','','OrdinalIgnoreCase') = $token.value } - } - Write-Verbose ('Using local tokens [{0}]' -f ($tokenMap.Keys -join ', ')) -Verbose - $ConvertTokensInputs.Tokens += $tokenMap - - # Swap 'namePrefix' token if empty and provided as a GitHub secret - if([String]::IsNullOrEmpty($ConvertTokensInputs.Tokens['namePrefix'])){ - Write-Verbose 'Using [namePrefix] token from GitHub' -Verbose - $ConvertTokensInputs.Tokens['namePrefix'] = '${{ env.TOKEN_NAMEPREFIX }}' - } - - $null = Convert-TokensInFileList @ConvertTokensInputs - - # Get key vault name - $keyVaultParameters = (ConvertFrom-Json (Get-Content -Path $parameterFilePath -Raw)).parameters - $keyVaultName = $keyVaultParameters.name.value - - # Generate values - $usernameString = ( -join ((65..90) + (97..122) | Get-Random -Count 9 -SetSeed 1 | ForEach-Object { [char]$_ + "$_" })).substring(0, 19) # max length - $userName = ConvertTo-SecureString -String $usernameString -AsPlainText -Force - $passwordString = (New-Guid).Guid.SubString(0, 19) - $password = ConvertTo-SecureString -String $passwordString -AsPlainText -Force - - # Set secrets - # ------- - @( - @{ name = 'administratorLogin'; secretValue = $username } # SQLManagedInstances - @{ name = 'administratorLoginPassword'; secretValue = $password } # SQLManagedInstances - ) | ForEach-Object { - $null = Set-AzKeyVaultSecret -VaultName $keyVaultName -Name $_.name -SecretValue $_.secretValue - Write-Verbose ('Added secret [{0}] to key vault [{1}]' -f $_.name, $keyVaultName) -Verbose - } - - # Set keys - # ---- - @( - @{ name = 'keyEncryptionKeySqlMi'; Destination = 'Software' } # SQLManagedInstances - ) | ForEach-Object { - $null = Add-AzKeyVaultKey -VaultName $keyVaultName -Name $_.name -Destination $_.Destination - Write-Verbose ('Added key [{0}] to key vault [{1}]' -f $_.name, $keyVaultName) -Verbose - } - azPSVersion: 'latest' - - job_deploy_des: - runs-on: ubuntu-20.04 - name: 'Deploy Disk Encryption Set' - env: - namespace: 'Microsoft.Compute/diskEncryptionSets' - needs: - - job_deploy_kv_secrets - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_avdag: - runs-on: ubuntu-20.04 - name: 'Deploy AVD application group' - env: - namespace: 'Microsoft.DesktopVirtualization\applicationgroups' - needs: - - job_deploy_avdhp - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_rolea: - runs-on: ubuntu-20.04 - name: 'Deploy role assignments' - env: - namespace: 'Microsoft.Authorization\roleAssignments' - needs: - - job_deploy_msi - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/subscription/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - customParameterFileTokens: '{"msiPrincipalId":"${{ needs.job_deploy_msi.outputs.msiPrincipalId }}"}' - - job_deploy_vnet: - runs-on: ubuntu-20.04 - name: 'Deploy virtual networks' - env: - namespace: 'Microsoft.Network\virtualNetworks' - needs: - - job_deploy_nsg - strategy: - fail-fast: false - matrix: - parameterFilePaths: - [ - '1.bastion.parameters.json', - '2.vnetpeer01.parameters.json', - '3.vnetpeer02.parameters.json', - '4.azfw.parameters.json', - '5.aks.parameters.json', - '7.virtualHubConnection.parameters.json', - '8.aadds.parameters.json', - '9.azfw.parameters.json', - '10.azfw.parameters.json', - '11.azfw.parameters.json', - '12.bastion.parameters.json', - '13.bastion.parameters.json', - '14.postgres.parameters.json', - '15.vnetGateway.parameters.json', - 'parameters.json', - ] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_sqlmi_vnet: - runs-on: ubuntu-20.04 - name: 'Deploy sqlmi virtual network' - if: github.event.inputs.deploySqlMiDependencies == 'true' - env: - namespace: 'Microsoft.Network\virtualNetworks' - needs: - - job_deploy_sqlmi_udr - - job_deploy_sqlmi_nsg - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['6.sqlmi.parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_dnszone: - runs-on: ubuntu-20.04 - name: 'Deploy private DNS zones' - env: - namespace: 'Microsoft.Network\privateDnsZones' - needs: - - job_deploy_vnet - strategy: - fail-fast: false - matrix: - parameterFilePaths: - [ - 'automation.parameters.json', - 'azconfig.parameters.json', - 'azurecr.parameters.json', - 'azureml.parameters.json', - 'azurestaticapps.parameters.json', - 'azuresynapse.plh.parameters.json', - 'azuresynapse.workspace.parameters.json', - 'azurewebsites.parameters.json', - 'batch.parameters.json', - 'blob.parameters.json', - 'cognitiveservices.parameters.json', - 'database.parameters.json', - 'datafactory.parameters.json', - 'eventgrid.parameters.json', - 'file.parameters.json', - 'monitor.parameters.json', - 'queue.parameters.json', - 'redis.parameters.json', - 'servicebus.parameters.json', - 'siterecovery.parameters.json', - 'table.parameters.json', - 'vaultcore.parameters.json', - 'webpubsub.parameters.json', - 'postgres.parameters.json', - ] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_vm: - runs-on: ubuntu-20.04 - name: 'Deploy virtual machines' - env: - namespace: 'Microsoft.Compute\virtualMachines' - needs: - - job_deploy_kv_secrets - - job_deploy_vnet - - job_deploy_rsv - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' - - job_deploy_lb: - runs-on: ubuntu-20.04 - name: 'Deploy load balancers' - env: - namespace: 'Microsoft.Network\loadBalancers' - needs: - - job_deploy_vnet - strategy: - fail-fast: false - matrix: - parameterFilePaths: ['internal.parameters.json', 'pls.parameters.json'] - 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: 'Deploy module' - uses: ./.github/actions/templates/validateModuleDeployment - with: - templateFilePath: 'modules/${{ env.namespace }}/deploy.bicep' - parameterFilePath: '${{ env.dependencyPath }}/${{ env.namespace }}/parameters/${{ matrix.parameterFilePaths }}' - location: '${{ env.location }}' - resourceGroupName: '${{ env.defaultResourceGroupName }}' - subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' - managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ env.removeDeployment }}' diff --git a/docs/wiki/Fetching latest changes - Scenario 1 Consume library.md b/docs/wiki/Fetching latest changes - Scenario 1 Consume library.md index 9fa7ac0d04..68a55684f2 100644 --- a/docs/wiki/Fetching latest changes - Scenario 1 Consume library.md +++ b/docs/wiki/Fetching latest changes - Scenario 1 Consume library.md @@ -4,13 +4,11 @@ Modules can be stored in an accessible location like local, Template Specs, Bice The update process is the following: -### _Navigation_ - -- [1. Backup your local copy of the library](#1-backup-your-local-copy-of-the-library) -- [2. Download the library](#2-download-the-library) -- [3. (Optional) Convert library to ARM](#3-optional-convert-library-to-arm) -- [4. (Optional) Customize modules](#4-optional-customize-modules) -- [5. Test and publish modules](#5-test-and-publish-modules) +1. [Backup your local copy of the library](#1-backup-your-local-copy-of-the-library) +1. [Download the library](#2-download-the-library) +1. [(Optional) Convert library to ARM](#3-optional-convert-library-to-arm) +1. [(Optional) Customize modules](#4-optional-customize-modules) +1. [Test and publish modules](#5-test-and-publish-modules) # 1. Backup your local copy of the library diff --git a/docs/wiki/Fetching latest changes - Scenario 2 Module library and CI environment.md b/docs/wiki/Fetching latest changes - Scenario 2 Module library and CI environment.md index 776343754a..f7ee95d28a 100644 --- a/docs/wiki/Fetching latest changes - Scenario 2 Module library and CI environment.md +++ b/docs/wiki/Fetching latest changes - Scenario 2 Module library and CI environment.md @@ -4,16 +4,13 @@ Depending on the DevOps environment you are using (GitHub or Azure DevOps) the n The update process is the following: -### _Navigation_ - -- [1. Backup your local copy of the library](#1-backup-your-local-copy-of-the-library) -- [2. Sync your copy of the library](#1-sync-your-copy-of-the-library) -- [3. (Optional) Convert library to ARM](#3-optional-convert-library-to-arm) -- [4. Apply specific settings to files](#4-apply-specific-settings-to-files) -- [5. (Optional) Customize modules and CI environment](#5-optional-customize-modules-and-ci-environment) -- [6. Update module test files](#6-update-module-test-files) -- [7. Run dependencies pipeline](#7-run-dependencies-pipeline) -- [8. Test and publish modules](#8-test-and-publish-modules) +1. [Backup your local copy of the library](#1-backup-your-local-copy-of-the-library) +1. [Sync your copy of the library](#2-sync-your-copy-of-the-library) +1. [Apply specific settings to files](#3-apply-specific-settings-to-files) +1. [(Optional) Convert library to ARM](#4-optional-convert-library-to-arm) +1. [Manual dependencies](#5-manual-dependencies) +1. [(Optional) Customize modules and CI environment](#6-optional-customize-modules-and-ci-environment) +1. [Test and publish modules](#7-test-and-publish-modules) # 1. Backup your local copy of the library @@ -26,7 +23,7 @@ Rename your local repository. Assuming the local repository location is `'D:\Res You have a public fork of public CARML source repository in your target organization. -1. Keep your fork synced to the fork upstream repository, on the GitHub web UI or through the GitHub CLI or the command line, as explaind in [Syncing a fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) documentation. +1. Keep your fork synced to the fork upstream repository, on the GitHub web UI or through the GitHub CLI or the command-line, as explaind in [Syncing a fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) documentation. 1. Sync your local copy of the fork taking care of eventual customizations you can have in place. @@ -52,32 +49,28 @@ Clone/download CARML repository to create a local copy of it, as explained in Az
-# 3. (Optional) Convert library to ARM - -Follow instructions in [(Optional) Convert library to ARM](./Getting%20started%20-%20Scenario%201%20Consume%20library#2-optional-convert-library-to-arm) - -# 4. Apply specific settings to files +# 3. Apply specific settings to files Personalize files with your specific settings: 1. [Update default name prefix](./Getting%20started%20-%20Scenario%202%20Onboard%20module%20library%20and%20CI%20environment#31-update-default-nameprefix) 1. Update settings file ([`settings.yml`](https://github.com/Azure/ResourceModules/blob/main/settings.yml)) as explained in [Set up variables file](./Getting%20started%20-%20Scenario%202%20Onboard%20module%20library%20and%20CI%20environment#322-set-up-variables-file) -# 5. (Optional) Customize modules and CI environment +# 4. (Optional) Convert library to ARM -The backup folder from step 1, can be used to compare your local copy with your synced copy coming from the latest version. For example, the `'Compare selected'` [function](https://vscode.one/diff-vscode/) in Visual Studio Code can be leveraged for that purpose. +Follow instructions in [(Optional) Convert library to ARM](./Getting%20started%20-%20Scenario%201%20Consume%20library#2-optional-convert-library-to-arm) -If your copy deviates from the upstream version due to customizations you applied to the code, you'll have to re-apply those customizations to the updated code. This process may be automated, by script or CI, if customization tasks are repeatable. +# 5. Manual dependencies -> **Note**: If customizations are general improvements which may be useful for the public, the recommendation is to [contribute](./Contribution%20guide) to the public CARML repository so that your updates can improve the public library. This way, your changes will already be available the next time you fetch from upstream, as modules would already been tested, and would not conflict with your customizations. +In special cases, manual actions may be required to provision certain resources whose deployment is not covered by the module test files. Based on the modules you require to test, follow the [Manual dependencies](./Getting%20started%20-%20Scenario%202%20Onboard%20module%20library%20and%20CI%20environment#4-manual-dependencies) guidance. -# 6. Update module test files +# 6. (Optional) Customize modules and CI environment -Follow the [Update module test files](./Getting%20started%20-%20Scenario%202%20Onboard%20module%20library%20and%20CI%20environment#5-update-module-test-files) procedure +The backup folder from step 1, can be used to compare your local copy with your synced copy coming from the latest version. For example, the `'Compare selected'` [function](https://vscode.one/diff-vscode/) in Visual Studio Code can be leveraged for that purpose. -# 7. Run dependencies pipeline +If your copy deviates from the upstream version due to customizations you applied to the code, you'll have to re-apply those customizations to the updated code. This process may be automated, by script or CI, if customization tasks are repeatable. -Refer to the [Deploy dependencies](././Getting%20started%20-%20Scenario%202%20Onboard%20module%20library%20and%20CI%20environment#4-deploy-dependencies) section to run the '*dependencies pipeline*' and update dependencies configuration in your environment. +> **Note**: If customizations are general improvements which may be useful for the public, the recommendation is to [contribute](./Contribution%20guide) to the public CARML repository so that your updates can improve the public library. This way, your changes will already be available the next time you fetch from upstream, as modules would already been tested, and would not conflict with your customizations. -# 8. Test and publish modules +# 7. Test and publish modules Push the updated local code to your remote repository. If actions are enabled, test and publishing of modules will start automatically. diff --git a/docs/wiki/Getting started - Scenario 1 Consume library.md b/docs/wiki/Getting started - Scenario 1 Consume library.md index b17355409b..229a667770 100644 --- a/docs/wiki/Getting started - Scenario 1 Consume library.md +++ b/docs/wiki/Getting started - Scenario 1 Consume library.md @@ -1,9 +1,9 @@ In case you want to simply consume the modules of the library to build a solution, you only have to perform a few simple steps: -- [1. Download the library](#1-download-the-library) -- [2. (Optional) Convert library to ARM](#2-optional-convert-library-to-arm) -- [3. Test and publish modules](#3-test-and-publish-modules) -- [4. Build a solution](#4-build-a-solution) +1. [Download the library](#1-download-the-library) +1. [(Optional) Convert library to ARM](#2-optional-convert-library-to-arm) +1. [Test and publish modules](#3-test-and-publish-modules) +1. [Build a solution](#4-build-a-solution) # 1. Download the library diff --git a/docs/wiki/Getting started - Scenario 2 Onboard module library and CI environment.md b/docs/wiki/Getting started - Scenario 2 Onboard module library and CI environment.md index 233c5bb980..1d2637456b 100644 --- a/docs/wiki/Getting started - Scenario 2 Onboard module library and CI environment.md +++ b/docs/wiki/Getting started - Scenario 2 Onboard module library and CI environment.md @@ -5,9 +5,8 @@ This requires several steps: 1. [Configure your Azure environment](#1-configure-your-azure-environment) 1. [Fork/clone the repository into your DevOps environment](#2-forkclone-the-repository-into-your-devops-environment) 1. [Configure the CI environment](#3-configure-the-ci-environment) -1. [Deploy dependencies](#4-deploy-dependencies) -1. [Update module test files](#5-update-module-test-files) -1. [(Optional) Convert library to ARM](#6-optional-convert-library-to-arm) +1. [Manual dependencies](#4-manual-dependencies) +1. [(Optional) Convert library to ARM](#5-optional-convert-library-to-arm) Depending on the DevOps environment you choose (GitHub or Azure DevOps), make sure you also account for the specific requirements outlined below. @@ -350,7 +349,9 @@ To use the pipelines that come with the environment in Azure DevOps, you need to ### 3.2.5 Azure Artifacts Universal Packages This section will explain what is required to publish the modules to [Azure Artifacts Universal Packages](https://docs.microsoft.com/en-us/azure/devops/artifacts/quickstarts/universal-packages?view=azure-devops). It will also assume you are publishing from Azure DevOps Pipelines. + #### The dependent components are + 1. An Azure DevOps organization and project 1. An Azure DevOps artifacts feed > Note: The default feed name is `ResourceModules` as configured in the [`settings.yml`](https://github.com/Azure/ResourceModules/blob/main/settings.yml) file's variable `vstsFeedName`. Update the value here if you want to use a different name, but make sure it matches the name of the artifact feed created in Azure DevOps. @@ -359,29 +360,24 @@ This section will explain what is required to publish the modules to [Azure Arti 1. If you chose the feed to be project-scoped, you will need the Project Build Service account to have `Contributor` access to publish to the Azure Artifacts feed. To set this, follow the [Pipeline permission](https://docs.microsoft.com/en-us/azure/devops/artifacts/feeds/feed-permissions?view=azure-devops#pipelines-permissions) steps. #### Implementation Guidance + Each `./azuredevops/modulePipelines` YAML pipeline already calls [`/.azuredevops/pipelineTemplates/jobs.publishModule.yml`](https://github.com/Azure/ResourceModules/blob/main/.azuredevops/pipelineTemplates/jobs.publishModule.yml). This YAML template contains a method to `Publish module to artifacts feed` via [`utilities\pipelines\resourcePublish\Publish-ModuleToUniversalArtifactFeed.ps1`](https://github.com/Azure/ResourceModules/blob/main/utilities\pipelines\resourcePublish\Publish-ModuleToUniversalArtifactFeed.ps1).
-# 4. Deploy dependencies
+# 4. Manual dependencies
In order to successfully deploy and test all modules in your desired environment, some modules require resources to be deployed beforehand.
-The repository comes with a platform pipeline, i.e., the '*dependencies pipeline*', that deploys a set of Azure services such as Virtual Networks and Key Vaults (along with dummy secrets) to be used by the module pipeline tests.
-
-Run the dependencies pipeline by following instructions provided in the specific [Dependencies pipeline usage](./The%20CI%20environment%20-%20Pipeline%20usage#operate-the-dependencies-pipeline) section.
+Those resources are generally deployed by the module test files before the module to validate, so that you don't need to worry about setting up dependencies for each test and clean them up afterwards.
-> **Note**: For details about the dependencies pipeline design, please refer to the dedicated [Dependencies pipeline design](./The%20CI%20environment%20-%20Pipeline%20design#dependencies-pipeline) section.
-
-## 4.1 Manual Dependencies
-
-In special cases, manual actions may be required to provision certain resources that are not covered by the dependencies pipeline. In the following, you can find an overview of these resources, for which modules you need them and what you need to do:
+In special cases, manual actions may be required to provision certain resources whose deployment is not covered by the module test files. In the following, you can find an overview of which modules require special attention before being validated.
### Microsoft.Web/sites
-To successfully deploy the sites module using the `fa.parameters.json` parameter file, you need to create an Azure Active Directory App with its API endpoint enabled (e.g., `api://
-
-### Resources deployed by the dependencies pipeline
-
-The resources deployed by the dependencies pipeline need to be in place before testing all the modules.
-
-> Note: Some dependency resources (e.g., \[storage account], \[Key Vault] and \[event hub namespace]) require a globally unique resource name. By default, the parameter files make use of the placeholder token `'<