From 629779ea1d91252d143ec2c498dab6f0f1496ceb Mon Sep 17 00:00:00 2001 From: Anthony Martin <38542602+anthony-c-martin@users.noreply.github.com> Date: Thu, 10 Aug 2023 22:52:39 -0400 Subject: [PATCH 1/2] Fix for issue 10343 --- .../ScenarioTests.cs | 26 +++++++++++++++++++ src/Bicep.Core/Emit/EmitterContext.cs | 2 +- .../Emit/ResourceDependencyVisitor.cs | 4 +-- .../Intermediate/ExpressionBuilder.cs | 7 ++--- 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/Bicep.Core.IntegrationTests/ScenarioTests.cs b/src/Bicep.Core.IntegrationTests/ScenarioTests.cs index 1cf5498d70f..e02d5800139 100644 --- a/src/Bicep.Core.IntegrationTests/ScenarioTests.cs +++ b/src/Bicep.Core.IntegrationTests/ScenarioTests.cs @@ -4987,4 +4987,30 @@ public void Test_Issue502() result.ExcludingLinterDiagnostics().Should().NotHaveAnyDiagnostics(); } + + // https://github.com/Azure/bicep/issues/10343 + [TestMethod] + public void Test_Issue10343() + { + var result = CompilationHelper.Compile(Services.WithFeatureOverrides(new(SymbolicNameCodegenEnabled: true)), ("main.bicep", @" +resource foo1 'Microsoft.Storage/storageAccounts@2022-09-01' = { + name: 'foo' +} + +resource foo2 'Microsoft.Authorization/roleAssignments@2022-04-01' existing = { + scope: foo1 + name: 'blah' +} + +resource foo3 'Microsoft.Storage/storageAccounts@2022-09-01' = { + name: 'foo3' + properties: { + accessTier: foo2.id + } +} +")); + + var evaluated = TemplateEvaluator.Evaluate(result.Template); + evaluated.Should().HaveValueAtPath("resources.foo3.dependsOn", new JArray("foo2")); + } } diff --git a/src/Bicep.Core/Emit/EmitterContext.cs b/src/Bicep.Core/Emit/EmitterContext.cs index 219d5c14fe3..5a77c795b96 100644 --- a/src/Bicep.Core/Emit/EmitterContext.cs +++ b/src/Bicep.Core/Emit/EmitterContext.cs @@ -17,7 +17,7 @@ public EmitterContext(SemanticModel semanticModel) SemanticModel = semanticModel; DataFlowAnalyzer = new(semanticModel); VariablesToInline = InlineDependencyVisitor.GetVariablesToInline(semanticModel); - ResourceDependencies = ResourceDependencyVisitor.GetResourceDependencies(semanticModel); + ResourceDependencies = ResourceDependencyVisitor.GetResourceDependencies(semanticModel, new() { IncludeExisting = Settings.EnableSymbolicNames }); FunctionVariables = FunctionVariableGeneratorVisitor.GetFunctionVariables(semanticModel); } diff --git a/src/Bicep.Core/Emit/ResourceDependencyVisitor.cs b/src/Bicep.Core/Emit/ResourceDependencyVisitor.cs index 88409af5061..06737f3731f 100644 --- a/src/Bicep.Core/Emit/ResourceDependencyVisitor.cs +++ b/src/Bicep.Core/Emit/ResourceDependencyVisitor.cs @@ -71,7 +71,7 @@ int GetIndexOfAncestor(ImmutableArray an { for (int i = ancestors.Length - 1; i >= 0; i--) { - if (!ancestors[i].Resource.IsExistingResource || (options?.IncludeExisting ?? false)) + if (!ancestors[i].Resource.IsExistingResource || options?.IncludeExisting == true) { // we found the non-existing resource - we're done return i; @@ -177,7 +177,7 @@ public override void VisitVariableAccessSyntax(VariableAccessSyntax syntax) return; case ResourceSymbol resourceSymbol: - if (resourceSymbol.DeclaringResource.IsExistingResource()) + if (resourceSymbol.DeclaringResource.IsExistingResource() && options?.IncludeExisting != true) { var existingDependencies = GetResourceDependencies(resourceSymbol); diff --git a/src/Bicep.Core/Intermediate/ExpressionBuilder.cs b/src/Bicep.Core/Intermediate/ExpressionBuilder.cs index 9506286cbb3..1f37f71670c 100644 --- a/src/Bicep.Core/Intermediate/ExpressionBuilder.cs +++ b/src/Bicep.Core/Intermediate/ExpressionBuilder.cs @@ -1057,7 +1057,7 @@ private static SyntaxBase GetModuleNameSyntax(ModuleSymbol moduleSymbol) return null; } - private static bool ShouldGenerateDependsOn(ResourceDependency dependency) + private bool ShouldGenerateDependsOn(ResourceDependency dependency) { if (dependency.Kind == ResourceDependencyKind.Transitive) { @@ -1066,8 +1066,9 @@ private static bool ShouldGenerateDependsOn(ResourceDependency dependency) } return dependency.Resource switch - { // We only want to add a 'dependsOn' for resources being deployed in this file. - ResourceSymbol resource => !resource.DeclaringResource.IsExistingResource(), + { + // 'existing' resources are only represented in the JSON if using symbolic names. + ResourceSymbol resource => Context.Settings.EnableSymbolicNames || !resource.DeclaringResource.IsExistingResource(), ModuleSymbol => true, _ => throw new InvalidOperationException($"Found dependency '{dependency.Resource.Name}' of unexpected type {dependency.GetType()}"), }; From f3c13f544f0532e73672b92470978dbc0d79ce5b Mon Sep 17 00:00:00 2001 From: Anthony Martin <38542602+anthony-c-martin@users.noreply.github.com> Date: Thu, 10 Aug 2023 22:59:09 -0400 Subject: [PATCH 2/2] Baseline update --- .../Modules_CRLF/main.symbolicnames.json | 23 ++++++++++--- .../main.symbolicnames.json | 12 +++++-- .../Resources_CRLF/main.symbolicnames.json | 16 ++++++--- .../NameValues.symbolicnames.json | 7 ++-- .../groups.symbolicnames.json | 7 ++-- .../main.symbolicnames.json | 23 +++++++++---- .../users.symbolicnames.json | 7 ++-- .../101/azure-bastion/main.symbolicnames.json | 8 +++-- .../main.symbolicnames.json | 3 +- .../main.symbolicnames.json | 4 +-- .../main.symbolicnames.json | 7 ++-- .../main.symbolicnames.json | 12 +++++-- .../main.symbolicnames.json | 3 +- .../avd-LogAnalytics.symbolicnames.json | 14 +++++--- .../avd-backplane-module.symbolicnames.json | 16 ++++++--- ...vd-image-builder-module.symbolicnames.json | 15 ++++++--- .../avd-monitor-diag.symbolicnames.json | 12 +++++-- .../main.symbolicnames.json | 33 +++++++++++++------ .../cloud-shell-vnet/main.symbolicnames.json | 11 +++++-- .../aks.symbolicnames.json | 12 +++++-- .../jumpbox.symbolicnames.json | 3 +- .../main.symbolicnames.json | 17 +++++++--- .../main.symbolicnames.json | 7 ++-- .../main.symbolicnames.json | 12 +++++-- .../main.symbolicnames.json | 29 ++++++++++------ .../modules/sql-database.symbolicnames.json | 5 ++- .../sql-logical-server.symbolicnames.json | 20 +++++++---- .../sql-logical-servers.symbolicnames.json | 27 ++++++++++----- 28 files changed, 258 insertions(+), 107 deletions(-) diff --git a/src/Bicep.Core.Samples/Files/Modules_CRLF/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/Modules_CRLF/main.symbolicnames.json index 00d3b87df44..0f330b88bf1 100644 --- a/src/Bicep.Core.Samples/Files/Modules_CRLF/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/Modules_CRLF/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "13851089608436625807" + "templateHash": "13086160146120413117" } }, "parameters": { @@ -1801,7 +1801,10 @@ } } } - } + }, + "dependsOn": [ + "kv" + ] }, "secureModule2": { "type": "Microsoft.Resources/deployments", @@ -1859,7 +1862,10 @@ } } } - } + }, + "dependsOn": [ + "scopedKv" + ] }, "secureModuleLooped": { "copy": { @@ -1921,7 +1927,11 @@ } } } - } + }, + "dependsOn": [ + "[format('loopedKv[{0}]', copyIndex())]", + "[format('loopedKv[{0}]', copyIndex())]" + ] }, "secureModuleCondition": { "type": "Microsoft.Resources/deployments", @@ -1964,7 +1974,10 @@ } } } - } + }, + "dependsOn": [ + "kv" + ] }, "withSpace": { "type": "Microsoft.Resources/deployments", diff --git a/src/Bicep.Core.Samples/Files/NestedResources_LF/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.symbolicnames.json index 64df58ab467..22c63d37b0d 100644 --- a/src/Bicep.Core.Samples/Files/NestedResources_LF/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/NestedResources_LF/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "236868819280717113" + "templateHash": "16972434704035043060" } }, "parameters": { @@ -71,13 +71,19 @@ "properties": { "size": "[reference('existingParent').size]", "style": "[reference('existingParent::existingChild').style]" - } + }, + "dependsOn": [ + "existingParent::existingChild" + ] }, "existingParent::existingChild": { "existing": true, "type": "My.Rp/parentType/childType", "apiVersion": "2020-12-01", - "name": "[format('{0}/{1}', 'existingParent', 'existingChild')]" + "name": "[format('{0}/{1}', 'existingParent', 'existingChild')]", + "dependsOn": [ + "existingParent" + ] }, "conditionParent::conditionChild::conditionGrandchild": { "condition": "[and(and(parameters('createParent'), parameters('createChild')), parameters('createGrandchild'))]", diff --git a/src/Bicep.Core.Samples/Files/Resources_CRLF/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/Resources_CRLF/main.symbolicnames.json index 237bdacdfdb..534bd121284 100644 --- a/src/Bicep.Core.Samples/Files/Resources_CRLF/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/Resources_CRLF/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "13455596478469973466" + "templateHash": "8982011885688931227" } }, "parameters": { @@ -359,7 +359,7 @@ "scope": "[extensionResourceId(extensionResourceId(format('Microsoft.Compute/virtualMachines/{0}', 'vmName'), 'My.Rp/extensionResource', 'extension'), 'Mock.Rp/existingExtensionResource', 'existing1')]", "name": "existing2", "dependsOn": [ - "extension1" + "existing1" ] }, "extension3": { @@ -368,7 +368,7 @@ "scope": "[extensionResourceId(extensionResourceId(format('Microsoft.Compute/virtualMachines/{0}', 'vmName'), 'My.Rp/extensionResource', 'extension'), 'Mock.Rp/existingExtensionResource', 'existing1')]", "name": "extension3", "dependsOn": [ - "extension1" + "existing1" ] }, "storageResources": { @@ -617,7 +617,10 @@ "p3_child1": { "type": "Microsoft.Rp1/resource1/child1", "apiVersion": "2020-06-01", - "name": "[format('{0}/{1}', 'res1', 'child1')]" + "name": "[format('{0}/{1}', 'res1', 'child1')]", + "dependsOn": [ + "p3_res1" + ] }, "p4_res1": { "existing": true, @@ -631,7 +634,10 @@ "type": "Microsoft.Rp1/resource1/child1", "apiVersion": "2020-06-01", "scope": "/", - "name": "[format('{0}/{1}', 'res1', 'child1')]" + "name": "[format('{0}/{1}', 'res1', 'child1')]", + "dependsOn": [ + "p4_res1" + ] } }, "outputs": { diff --git a/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/NameValues.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/NameValues.symbolicnames.json index 845c44692a8..60c427e12e0 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/NameValues.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/NameValues.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "14248540637091011874" + "templateHash": "11528852364160566097" } }, "parameters": { @@ -56,7 +56,10 @@ "secret": "[variables('apimNameValueSet')[copyIndex()].isSecret]", "value": "[variables('apimNameValueSet')[copyIndex()].value]", "tags": "[variables('apimNameValueSet')[copyIndex()].tags]" - } + }, + "dependsOn": [ + "parentAPIM" + ] } }, "outputs": { diff --git a/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/groups.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/groups.symbolicnames.json index 19d32e018c7..881398951c6 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/groups.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/groups.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "6816770503491912011" + "templateHash": "403029788224868668" } }, "parameters": { @@ -47,7 +47,10 @@ "properties": { "displayName": "[variables('groupsSet')[copyIndex()].groupDisplayName]", "description": "[variables('groupsSet')[copyIndex()].groupDescription]" - } + }, + "dependsOn": [ + "parentAPIM" + ] } }, "outputs": { diff --git a/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/main.symbolicnames.json index 93fb1129aba..4a4fd0e31f6 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "2208926443863165998" + "templateHash": "13726378283629199613" } }, "parameters": { @@ -163,7 +163,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "6816770503491912011" + "templateHash": "403029788224868668" } }, "parameters": { @@ -204,7 +204,10 @@ "properties": { "displayName": "[variables('groupsSet')[copyIndex()].groupDisplayName]", "description": "[variables('groupsSet')[copyIndex()].groupDescription]" - } + }, + "dependsOn": [ + "parentAPIM" + ] } }, "outputs": { @@ -248,7 +251,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "16793550498477002119" + "templateHash": "8034218730798252475" } }, "parameters": { @@ -298,7 +301,10 @@ "email": "[variables('usersSet')[copyIndex()].email]", "state": "[variables('usersSet')[copyIndex()].state]", "note": "[variables('usersSet')[copyIndex()].notes]" - } + }, + "dependsOn": [ + "parentAPIM" + ] } } } @@ -330,7 +336,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "14248540637091011874" + "templateHash": "11528852364160566097" } }, "parameters": { @@ -380,7 +386,10 @@ "secret": "[variables('apimNameValueSet')[copyIndex()].isSecret]", "value": "[variables('apimNameValueSet')[copyIndex()].value]", "tags": "[variables('apimNameValueSet')[copyIndex()].tags]" - } + }, + "dependsOn": [ + "parentAPIM" + ] } }, "outputs": { diff --git a/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/users.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/users.symbolicnames.json index 5ddeded3c45..eeabf03052f 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/users.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/101/api-management-modular/users.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "16793550498477002119" + "templateHash": "8034218730798252475" } }, "parameters": { @@ -56,7 +56,10 @@ "email": "[variables('usersSet')[copyIndex()].email]", "state": "[variables('usersSet')[copyIndex()].state]", "note": "[variables('usersSet')[copyIndex()].notes]" - } + }, + "dependsOn": [ + "parentAPIM" + ] } } } \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/user_submitted/101/azure-bastion/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/101/azure-bastion/main.symbolicnames.json index 91058e7d57d..3b21ef6c973 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/101/azure-bastion/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/101/azure-bastion/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "13199377578825632986" + "templateHash": "5898567106534730923" } }, "parameters": { @@ -149,7 +149,10 @@ ] } } - } + }, + "dependsOn": [ + "existingVirtualNetwork" + ] }, "bastionHost": { "type": "Microsoft.Network/bastionHosts", @@ -172,6 +175,7 @@ ] }, "dependsOn": [ + "existingVirtualNetwork", "newVirtualNetwork", "publicIp", "subnet" diff --git a/src/Bicep.Core.Samples/Files/user_submitted/101/databricks-all-in-one-template-for-vnet-injection/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/101/databricks-all-in-one-template-for-vnet-injection/main.symbolicnames.json index 6d80df386ac..5c21d866751 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/101/databricks-all-in-one-template-for-vnet-injection/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/101/databricks-all-in-one-template-for-vnet-injection/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "14481747842301389436" + "templateHash": "16714276462655423062" } }, "parameters": { @@ -275,6 +275,7 @@ } }, "dependsOn": [ + "managedResourceGroup", "vnet" ] } diff --git a/src/Bicep.Core.Samples/Files/user_submitted/101/function-premium-vnet-integration/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/101/function-premium-vnet-integration/main.symbolicnames.json index 492bcdc0395..8694153e7d6 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/101/function-premium-vnet-integration/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/101/function-premium-vnet-integration/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "746252077949181675" + "templateHash": "18250750169409311102" } }, "parameters": { @@ -217,7 +217,7 @@ }, "dependsOn": [ "function", - "virtualNetwork" + "subnet" ] }, "subnet": { diff --git a/src/Bicep.Core.Samples/Files/user_submitted/101/resource-with-lock-existing/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/101/resource-with-lock-existing/main.symbolicnames.json index 32c17048ad3..10c407d18c7 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/101/resource-with-lock-existing/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/101/resource-with-lock-existing/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "13154103683186341528" + "templateHash": "18313409063500380309" } }, "parameters": { @@ -28,7 +28,10 @@ "name": "DontDelete", "properties": { "level": "CanNotDelete" - } + }, + "dependsOn": [ + "storageAcc" + ] } } } \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/user_submitted/101/template-spec-deploy/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/101/template-spec-deploy/main.symbolicnames.json index b29207a898f..6c0c89c4180 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/101/template-spec-deploy/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/101/template-spec-deploy/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "12321629843193403120" + "templateHash": "15369804211876997670" } }, "parameters": { @@ -32,7 +32,10 @@ "apiVersion": "2019-06-01-preview", "subscriptionId": "[parameters('templateSpecSub')]", "resourceGroup": "[parameters('templateSpecRg')]", - "name": "[format('{0}/{1}', parameters('templateSpecName'), parameters('templateSpecVersion'))]" + "name": "[format('{0}/{1}', parameters('templateSpecName'), parameters('templateSpecVersion'))]", + "dependsOn": [ + "ts" + ] }, "ts": { "existing": true, @@ -52,7 +55,10 @@ "id": "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('templateSpecSub'), parameters('templateSpecRg')), 'Microsoft.Resources/templateSpecs/versions', parameters('templateSpecName'), parameters('templateSpecVersion'))]" }, "parameters": {} - } + }, + "dependsOn": [ + "ts" + ] } } } \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/user_submitted/101/website-with-container/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/101/website-with-container/main.symbolicnames.json index d8ee5cab6f8..23c17d94d9f 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/101/website-with-container/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/101/website-with-container/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "15571119746721048953" + "templateHash": "13381616690819142544" } }, "parameters": { @@ -82,6 +82,7 @@ "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('farmName'))]" }, "dependsOn": [ + "containerRegistry", "farm" ] }, diff --git a/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-LogAnalytics.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-LogAnalytics.symbolicnames.json index 0564be742f2..3c73ad86209 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-LogAnalytics.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-LogAnalytics.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "6607063108355547742" + "templateHash": "9356800282323307322" } }, "parameters": { @@ -72,7 +72,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "7397250722142967265" + "templateHash": "15977740014990001438" } }, "parameters": { @@ -128,7 +128,10 @@ "enabled": true } ] - } + }, + "dependsOn": [ + "hostPool" + ] }, "avdwsds": { "type": "Microsoft.Insights/diagnosticSettings", @@ -155,7 +158,10 @@ "enabled": true } ] - } + }, + "dependsOn": [ + "workspace" + ] } } } diff --git a/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-backplane-module.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-backplane-module.symbolicnames.json index d424dd568ef..af2f1b505f2 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-backplane-module.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-backplane-module.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "16704253611176477253" + "templateHash": "16846926962182872904" } }, "parameters": { @@ -145,7 +145,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "6607063108355547742" + "templateHash": "9356800282323307322" } }, "parameters": { @@ -211,7 +211,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "7397250722142967265" + "templateHash": "15977740014990001438" } }, "parameters": { @@ -267,7 +267,10 @@ "enabled": true } ] - } + }, + "dependsOn": [ + "hostPool" + ] }, "avdwsds": { "type": "Microsoft.Insights/diagnosticSettings", @@ -294,7 +297,10 @@ "enabled": true } ] - } + }, + "dependsOn": [ + "workspace" + ] } } } diff --git a/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-image-builder-module.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-image-builder-module.symbolicnames.json index e12bafdc661..efcd4d0c39e 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-image-builder-module.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-image-builder-module.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "14391111979564079728" + "templateHash": "9616745895991063718" } }, "parameters": { @@ -99,7 +99,10 @@ "replicationRegions": [] } ] - } + }, + "dependsOn": [ + "managedidentity" + ] }, "aibdef": { "condition": "[parameters('InvokeRunImageBuildThroughDeploymentScript')]", @@ -136,7 +139,8 @@ "principalType": "ServicePrincipal" }, "dependsOn": [ - "aibdef" + "aibdef", + "managedidentity" ] }, "miorole": { @@ -148,7 +152,10 @@ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830", "principalId": "[reference('managedidentity').principalId]", "principalType": "ServicePrincipal" - } + }, + "dependsOn": [ + "managedidentity" + ] }, "scriptName_BuildVMImage": { "condition": "[parameters('InvokeRunImageBuildThroughDeploymentScript')]", diff --git a/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-monitor-diag.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-monitor-diag.symbolicnames.json index ddf85f0520c..876e2bc88e0 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-monitor-diag.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/avd-monitor-diag.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "7397250722142967265" + "templateHash": "15977740014990001438" } }, "parameters": { @@ -62,7 +62,10 @@ "enabled": true } ] - } + }, + "dependsOn": [ + "hostPool" + ] }, "avdwsds": { "type": "Microsoft.Insights/diagnosticSettings", @@ -89,7 +92,10 @@ "enabled": true } ] - } + }, + "dependsOn": [ + "workspace" + ] } } } \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/main.symbolicnames.json index 137dd7359e2..7996c9f2d4e 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/201/avd-backplane-with-network-and-storage-and-monitoring/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "17701644499121587693" + "templateHash": "14611001828329396005" } }, "parameters": { @@ -227,7 +227,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "16704253611176477253" + "templateHash": "16846926962182872904" } }, "parameters": { @@ -366,7 +366,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "6607063108355547742" + "templateHash": "9356800282323307322" } }, "parameters": { @@ -432,7 +432,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "7397250722142967265" + "templateHash": "15977740014990001438" } }, "parameters": { @@ -488,7 +488,10 @@ "enabled": true } ] - } + }, + "dependsOn": [ + "hostPool" + ] }, "avdwsds": { "type": "Microsoft.Insights/diagnosticSettings", @@ -515,7 +518,10 @@ "enabled": true } ] - } + }, + "dependsOn": [ + "workspace" + ] } } } @@ -1101,7 +1107,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "14391111979564079728" + "templateHash": "9616745895991063718" } }, "parameters": { @@ -1194,7 +1200,10 @@ "replicationRegions": [] } ] - } + }, + "dependsOn": [ + "managedidentity" + ] }, "aibdef": { "condition": "[parameters('InvokeRunImageBuildThroughDeploymentScript')]", @@ -1231,7 +1240,8 @@ "principalType": "ServicePrincipal" }, "dependsOn": [ - "aibdef" + "aibdef", + "managedidentity" ] }, "miorole": { @@ -1243,7 +1253,10 @@ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830", "principalId": "[reference('managedidentity').principalId]", "principalType": "ServicePrincipal" - } + }, + "dependsOn": [ + "managedidentity" + ] }, "scriptName_BuildVMImage": { "condition": "[parameters('InvokeRunImageBuildThroughDeploymentScript')]", diff --git a/src/Bicep.Core.Samples/Files/user_submitted/201/cloud-shell-vnet/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/201/cloud-shell-vnet/main.symbolicnames.json index c1a55e368f1..9c8a6af505f 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/201/cloud-shell-vnet/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/201/cloud-shell-vnet/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "14742848894010970609" + "templateHash": "16407625085363720986" } }, "parameters": { @@ -138,7 +138,10 @@ } } ] - } + }, + "dependsOn": [ + "existingVNET" + ] }, "networkProfile": { "type": "Microsoft.Network/networkProfiles", @@ -234,7 +237,8 @@ } }, "dependsOn": [ - "containerSubnet" + "containerSubnet", + "existingVNET" ] }, "privateEndpoint": { @@ -299,6 +303,7 @@ } }, "dependsOn": [ + "existingVNET", "relaySubnet" ] }, diff --git a/src/Bicep.Core.Samples/Files/user_submitted/201/private-aks-cluster/aks.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/201/private-aks-cluster/aks.symbolicnames.json index 15a8bfe0e48..764dcccf1ce 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/201/private-aks-cluster/aks.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/201/private-aks-cluster/aks.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "15899882108574365379" + "templateHash": "17167772107049027399" } }, "parameters": { @@ -335,7 +335,10 @@ "existing": true, "type": "Microsoft.Network/virtualNetworks/subnets", "apiVersion": "2020-08-01", - "name": "[format('{0}/{1}', variables('virtualNetworkName'), parameters('aksSubnetName'))]" + "name": "[format('{0}/{1}', variables('virtualNetworkName'), parameters('aksSubnetName'))]", + "dependsOn": [ + "virtualNetwork" + ] }, "aksCluster": { "type": "Microsoft.ContainerService/managedClusters", @@ -405,7 +408,10 @@ "apiServerAccessProfile": { "enablePrivateCluster": "[parameters('aksClusterEnablePrivateCluster')]" } - } + }, + "dependsOn": [ + "aksSubnet" + ] } } } \ No newline at end of file diff --git a/src/Bicep.Core.Samples/Files/user_submitted/201/private-aks-cluster/jumpbox.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/201/private-aks-cluster/jumpbox.symbolicnames.json index ea22f3e8528..d5f3352107b 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/201/private-aks-cluster/jumpbox.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/201/private-aks-cluster/jumpbox.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "3904421736177706194" + "templateHash": "14798761027267387413" } }, "parameters": { @@ -283,6 +283,7 @@ } }, "dependsOn": [ + "logAnalyticsWorkspace", "virtualMachines" ] }, diff --git a/src/Bicep.Core.Samples/Files/user_submitted/201/private-aks-cluster/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/201/private-aks-cluster/main.symbolicnames.json index a5796afeeb2..ac88540077a 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/201/private-aks-cluster/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/201/private-aks-cluster/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "1311540613243024145" + "templateHash": "8707549050900419912" } }, "parameters": { @@ -1110,7 +1110,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "3904421736177706194" + "templateHash": "14798761027267387413" } }, "parameters": { @@ -1387,6 +1387,7 @@ } }, "dependsOn": [ + "logAnalyticsWorkspace", "virtualMachines" ] }, @@ -1619,7 +1620,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "15899882108574365379" + "templateHash": "17167772107049027399" } }, "parameters": { @@ -1948,7 +1949,10 @@ "existing": true, "type": "Microsoft.Network/virtualNetworks/subnets", "apiVersion": "2020-08-01", - "name": "[format('{0}/{1}', variables('virtualNetworkName'), parameters('aksSubnetName'))]" + "name": "[format('{0}/{1}', variables('virtualNetworkName'), parameters('aksSubnetName'))]", + "dependsOn": [ + "virtualNetwork" + ] }, "aksCluster": { "type": "Microsoft.ContainerService/managedClusters", @@ -2018,7 +2022,10 @@ "apiServerAccessProfile": { "enablePrivateCluster": "[parameters('aksClusterEnablePrivateCluster')]" } - } + }, + "dependsOn": [ + "aksSubnet" + ] } } } diff --git a/src/Bicep.Core.Samples/Files/user_submitted/201/redis-premium-persistence/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/201/redis-premium-persistence/main.symbolicnames.json index 6eecc656081..4f6df8922fe 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/201/redis-premium-persistence/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/201/redis-premium-persistence/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "140703399417510606" + "templateHash": "308803406197414192" } }, "parameters": { @@ -115,7 +115,10 @@ "rdb-backup-max-snapshot-count": "1", "rdb-storage-connection-string": "[format('DefaultEndpointsProtocol=https;BlobEndpoint=https://{0}.blob.{1};AccountName={2};AccountKey={3}', parameters('storageAccountName'), environment().suffixes.storage, parameters('storageAccountName'), listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-04-01').keys[0].value)]" } - } + }, + "dependsOn": [ + "storageAccount" + ] }, "diagSettings": { "type": "Microsoft.Insights/diagnosticSettings", diff --git a/src/Bicep.Core.Samples/Files/user_submitted/301/publish-api-to-apim-opendocs/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/301/publish-api-to-apim-opendocs/main.symbolicnames.json index 305ded79299..e42168d3cf1 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/301/publish-api-to-apim-opendocs/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/301/publish-api-to-apim-opendocs/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "15303901391681280108" + "templateHash": "6433078083851594853" } }, "parameters": { @@ -93,7 +93,10 @@ "approvalRequired": "[variables('productsSet')[copyIndex()].isApprovalRequired]", "subscriptionsLimit": "[variables('productsSet')[copyIndex()].subscriptionLimit]", "state": "[variables('productsSet')[copyIndex()].publishState]" - } + }, + "dependsOn": [ + "apiManagementService" + ] }, "functionAPI": { "type": "Microsoft.ApiManagement/service/apis", @@ -103,7 +106,10 @@ "format": "[parameters('apiFormat')]", "value": "[parameters('apiEndPointURL')]", "path": "[parameters('apiPath')]" - } + }, + "dependsOn": [ + "apiManagementService" + ] }, "attachAPIToProducts": { "copy": { diff --git a/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/main.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/main.symbolicnames.json index 033dc3f65d2..668409e5091 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/main.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/main.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "17358364825362519405" + "templateHash": "6525915520291992178" } }, "parameters": { @@ -59,7 +59,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "7193459125805440940" + "templateHash": "9981193661517957529" } }, "parameters": { @@ -172,7 +172,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "11297024240548375439" + "templateHash": "4926441281649354787" } }, "parameters": { @@ -318,7 +318,8 @@ }, "dependsOn": [ "azureDefender", - "sqlLogicalServerRes" + "sqlLogicalServerRes", + "storageAccountVulnerabilityAssessments" ] }, "auditSettings": { @@ -403,8 +404,9 @@ "dependsOn": [ "auditSettings", "dummyDeployments", - "sqlDatabases", - "sqlLogicalServerRes" + "logAnalyticsWorkspace", + "masterDb", + "sqlDatabases" ] }, "diagnosticSettings": { @@ -436,8 +438,9 @@ }, "dependsOn": [ "dummyDeployments", - "sqlDatabases", - "sqlLogicalServerRes" + "logAnalyticsWorkspace", + "masterDb", + "sqlDatabases" ] }, "sqlFirewallRules": { @@ -535,7 +538,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "6449296172144959788" + "templateHash": "2334572005318909582" } }, "parameters": { @@ -630,6 +633,7 @@ "dependsOn": [ "azureDefender", "sqlDb", + "storageAccountVulnerabilityAssessments", "transparentDataEncryption" ] }, @@ -659,6 +663,7 @@ }, "dependsOn": [ "auditSettings", + "logAnalyticsWorkspace", "sqlDb", "transparentDataEncryption" ] @@ -691,6 +696,7 @@ "workspaceId": "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sqlDatabase').diagnosticLogsAndMetrics.subscriptionId, parameters('sqlDatabase').diagnosticLogsAndMetrics.resourceGroupName), 'Microsoft.OperationalInsights/workspaces', parameters('sqlDatabase').diagnosticLogsAndMetrics.name)]" }, "dependsOn": [ + "logAnalyticsWorkspace", "sqlDb", "transparentDataEncryption" ] @@ -880,7 +886,10 @@ } } } - } + }, + "dependsOn": [ + "[format('sqlPassKeyVaults[{0}]', copyIndex())]" + ] } } } diff --git a/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/modules/sql-database.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/modules/sql-database.symbolicnames.json index e66970f2b57..666760ec5ce 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/modules/sql-database.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/modules/sql-database.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "6449296172144959788" + "templateHash": "2334572005318909582" } }, "parameters": { @@ -101,6 +101,7 @@ "dependsOn": [ "azureDefender", "sqlDb", + "storageAccountVulnerabilityAssessments", "transparentDataEncryption" ] }, @@ -130,6 +131,7 @@ }, "dependsOn": [ "auditSettings", + "logAnalyticsWorkspace", "sqlDb", "transparentDataEncryption" ] @@ -162,6 +164,7 @@ "workspaceId": "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sqlDatabase').diagnosticLogsAndMetrics.subscriptionId, parameters('sqlDatabase').diagnosticLogsAndMetrics.resourceGroupName), 'Microsoft.OperationalInsights/workspaces', parameters('sqlDatabase').diagnosticLogsAndMetrics.name)]" }, "dependsOn": [ + "logAnalyticsWorkspace", "sqlDb", "transparentDataEncryption" ] diff --git a/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/modules/sql-logical-server.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/modules/sql-logical-server.symbolicnames.json index c7af358deb2..89652c209c8 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/modules/sql-logical-server.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/modules/sql-logical-server.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "11297024240548375439" + "templateHash": "4926441281649354787" } }, "parameters": { @@ -152,7 +152,8 @@ }, "dependsOn": [ "azureDefender", - "sqlLogicalServerRes" + "sqlLogicalServerRes", + "storageAccountVulnerabilityAssessments" ] }, "auditSettings": { @@ -237,8 +238,9 @@ "dependsOn": [ "auditSettings", "dummyDeployments", - "sqlDatabases", - "sqlLogicalServerRes" + "logAnalyticsWorkspace", + "masterDb", + "sqlDatabases" ] }, "diagnosticSettings": { @@ -270,8 +272,9 @@ }, "dependsOn": [ "dummyDeployments", - "sqlDatabases", - "sqlLogicalServerRes" + "logAnalyticsWorkspace", + "masterDb", + "sqlDatabases" ] }, "sqlFirewallRules": { @@ -369,7 +372,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "6449296172144959788" + "templateHash": "2334572005318909582" } }, "parameters": { @@ -464,6 +467,7 @@ "dependsOn": [ "azureDefender", "sqlDb", + "storageAccountVulnerabilityAssessments", "transparentDataEncryption" ] }, @@ -493,6 +497,7 @@ }, "dependsOn": [ "auditSettings", + "logAnalyticsWorkspace", "sqlDb", "transparentDataEncryption" ] @@ -525,6 +530,7 @@ "workspaceId": "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sqlDatabase').diagnosticLogsAndMetrics.subscriptionId, parameters('sqlDatabase').diagnosticLogsAndMetrics.resourceGroupName), 'Microsoft.OperationalInsights/workspaces', parameters('sqlDatabase').diagnosticLogsAndMetrics.name)]" }, "dependsOn": [ + "logAnalyticsWorkspace", "sqlDb", "transparentDataEncryption" ] diff --git a/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/modules/sql-logical-servers.symbolicnames.json b/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/modules/sql-logical-servers.symbolicnames.json index 35dc63190b9..566dc2f2f90 100644 --- a/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/modules/sql-logical-servers.symbolicnames.json +++ b/src/Bicep.Core.Samples/Files/user_submitted/301/sql-database-with-management/modules/sql-logical-servers.symbolicnames.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "7193459125805440940" + "templateHash": "9981193661517957529" } }, "parameters": { @@ -119,7 +119,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "11297024240548375439" + "templateHash": "4926441281649354787" } }, "parameters": { @@ -265,7 +265,8 @@ }, "dependsOn": [ "azureDefender", - "sqlLogicalServerRes" + "sqlLogicalServerRes", + "storageAccountVulnerabilityAssessments" ] }, "auditSettings": { @@ -350,8 +351,9 @@ "dependsOn": [ "auditSettings", "dummyDeployments", - "sqlDatabases", - "sqlLogicalServerRes" + "logAnalyticsWorkspace", + "masterDb", + "sqlDatabases" ] }, "diagnosticSettings": { @@ -383,8 +385,9 @@ }, "dependsOn": [ "dummyDeployments", - "sqlDatabases", - "sqlLogicalServerRes" + "logAnalyticsWorkspace", + "masterDb", + "sqlDatabases" ] }, "sqlFirewallRules": { @@ -482,7 +485,7 @@ "_generator": { "name": "bicep", "version": "dev", - "templateHash": "6449296172144959788" + "templateHash": "2334572005318909582" } }, "parameters": { @@ -577,6 +580,7 @@ "dependsOn": [ "azureDefender", "sqlDb", + "storageAccountVulnerabilityAssessments", "transparentDataEncryption" ] }, @@ -606,6 +610,7 @@ }, "dependsOn": [ "auditSettings", + "logAnalyticsWorkspace", "sqlDb", "transparentDataEncryption" ] @@ -638,6 +643,7 @@ "workspaceId": "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('sqlDatabase').diagnosticLogsAndMetrics.subscriptionId, parameters('sqlDatabase').diagnosticLogsAndMetrics.resourceGroupName), 'Microsoft.OperationalInsights/workspaces', parameters('sqlDatabase').diagnosticLogsAndMetrics.name)]" }, "dependsOn": [ + "logAnalyticsWorkspace", "sqlDb", "transparentDataEncryption" ] @@ -827,7 +833,10 @@ } } } - } + }, + "dependsOn": [ + "[format('sqlPassKeyVaults[{0}]', copyIndex())]" + ] } } } \ No newline at end of file