@@ -76,6 +76,17 @@ foreach ($mg in $archetypeDefinitionFile.management_groups) {
76
76
# Static Parameter Values
77
77
78
78
$additionalValues = @ (
79
+
80
+ [PSCustomObject ]@ {
81
+ default_name = " ama_mdfc_sql_workspace_id"
82
+ description = " Workspace Id of the Log Analytics workspace destination for the Data Collection Rule."
83
+ policy_assignments = @ (
84
+ @ {
85
+ policy_assignment_name = " Deploy-MDFC-DefSQL-AMA"
86
+ parameter_names = @ (" userWorkspaceId" )
87
+ }
88
+ )
89
+ },
79
90
[PSCustomObject ]@ {
80
91
default_name = " ama_mdfc_sql_workspace_region"
81
92
description = " The region short name (e.g. `westus`) that should be used for the Log Analytics workspace for the SQL MDFC deployment."
@@ -132,29 +143,60 @@ if ($Type -eq "ALZ") {
132
143
}
133
144
134
145
foreach ($parameter in $policyDefaults ) {
135
- # Grab the first policy assignment to grab default value of the parameter
136
- $parameterAssignmentName = $parameter.policy_assignments [0 ].parameter_names[0 ]
137
- $assignment = $parameter.policy_assignments [0 ]
138
-
139
- $assignmentFileName = (" $ ( $assignment.policy_assignment_name ) .alz_policy_assignment.json" )
140
- if ($Type -eq " AMBA" ) {
141
- $assignmentFileName = $assignmentFileName -replace (" -" , " _" )
142
- }
143
- $file = Get-ChildItem - Recurse - Path $LibraryPath - Filter " $assignmentFileName " - File | Select-Object - First 1
144
- $jsonContent = Get-Content - Path $file.FullName - Raw | ConvertFrom-Json
145
- $tempDefaultParamValue = $jsonContent.properties.parameters .$parameterAssignmentName.value
146
+ if ($parameter.default_name -ne " log_analytics_workspace_id" ) {
147
+ # Grab the first policy assignment to grab default value of the parameter
148
+ $parameterAssignmentName = $parameter.policy_assignments [0 ].parameter_names[0 ]
149
+ $assignment = $parameter.policy_assignments [0 ]
150
+
151
+ $assignmentFileName = (" $ ( $assignment.policy_assignment_name ) .alz_policy_assignment.json" )
152
+ if ($Type -eq " AMBA" ) {
153
+ $assignmentFileName = $assignmentFileName -replace (" -" , " _" )
154
+ }
155
+ $file = Get-ChildItem - Recurse - Path $LibraryPath - Filter " $assignmentFileName " - File | Select-Object - First 1
156
+ $jsonContent = Get-Content - Path $file.FullName - Raw | ConvertFrom-Json
157
+ $tempDefaultParamValue = $jsonContent.properties.parameters .$parameterAssignmentName.value
146
158
147
- $obj = @ (
148
- @ {
149
- description = $parameter.description
150
- policy_assignment_name = $parameter.policy_assignments.policy_assignment_name
151
- parameters = @ {
152
- parameter_name = $parameter.policy_assignments [0 ].parameter_names[0 ]
153
- value = $tempDefaultParamValue
159
+ $obj = @ (
160
+ @ {
161
+ description = $parameter.description
162
+ policy_assignment_name = $parameter.policy_assignments.policy_assignment_name
163
+ parameters = @ {
164
+ parameter_name = $parameter.policy_assignments [0 ].parameter_names[0 ]
165
+ value = $tempDefaultParamValue
166
+ }
167
+ })
168
+
169
+ $jsonOutput.defaultParameterValues.Add ($parameter.default_name , $obj )
170
+ }
171
+ else {
172
+ $suffix = 0
173
+ foreach ($name in $parameter.policy_assignments.parameter_names | Group-Object | Select-Object - ExpandProperty Name) {
174
+ $parameterAssignmentName = $name
175
+ $assignments = $parameter.policy_assignments | Where-Object { $_.parameter_names -contains $parameterAssignmentName }
176
+ $assignment = $assignments [0 ]
177
+
178
+ $assignmentFileName = (" $ ( $assignment.policy_assignment_name ) .alz_policy_assignment.json" )
179
+ if ($Type -eq " AMBA" ) {
180
+ $assignmentFileName = $assignmentFileName -replace (" -" , " _" )
154
181
}
155
- })
156
-
157
- $jsonOutput.defaultParameterValues.Add ($parameter.default_name , $obj )
182
+ $file = Get-ChildItem - Recurse - Path $LibraryPath - Filter " $assignmentFileName " - File | Select-Object - First 1
183
+ $jsonContent = Get-Content - Path $file.FullName - Raw | ConvertFrom-Json
184
+ $tempDefaultParamValue = $jsonContent.properties.parameters .$parameterAssignmentName.value
185
+
186
+ $obj = @ (
187
+ @ {
188
+ description = $parameter.description
189
+ policy_assignment_name = $assignments.policy_assignment_name
190
+ parameters = @ {
191
+ parameter_name = [string ]$assignment.parameter_names [0 ]
192
+ value = $tempDefaultParamValue
193
+ }
194
+ })
195
+
196
+ $jsonOutput.defaultParameterValues.Add (" $ ( $parameter.default_name ) _$suffix " , $obj )
197
+ $suffix ++
198
+ }
199
+ }
158
200
}
159
201
160
202
# Build Guardrail Deployment Object
0 commit comments