Skip to content

Commit bb8c1c3

Browse files
committed
Update baselines
1 parent 9884968 commit bb8c1c3

File tree

8 files changed

+240
-7
lines changed

8 files changed

+240
-7
lines changed

src/Bicep.Core.Samples/Files/baselines_bicepparam/Expressions/parameters.bicepparam

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ THis
7676
multiline
7777
string!
7878
'''
79-
8079
param kvSecret = az.getSecret('subId', 'rgName', 'kvName', 'secretName', 'secretVersion')
8180
param kvSecretExpression = az.getSecret(
8281
externalInput('subId'),

src/Bicep.Core.Samples/Files/baselines_bicepparam/Expressions/parameters.diagnostics.bicepparam

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,11 @@ THis
7676
multiline
7777
string!
7878
'''
79+
param kvSecret = az.getSecret('subId', 'rgName', 'kvName', 'secretName', 'secretVersion')
80+
param kvSecretExpression = az.getSecret(
81+
externalInput('subId'),
82+
externalInput('rgName'),
83+
externalInput('kvName'),
84+
externalInput('secretName'),
85+
externalInput('secretVersion'))
7986

src/Bicep.Core.Samples/Files/baselines_bicepparam/Expressions/parameters.formatted.bicepparam

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,11 @@ THis
7676
multiline
7777
string!
7878
'''
79+
param kvSecret = az.getSecret('subId', 'rgName', 'kvName', 'secretName', 'secretVersion')
80+
param kvSecretExpression = az.getSecret(
81+
externalInput('subId'),
82+
externalInput('rgName'),
83+
externalInput('kvName'),
84+
externalInput('secretName'),
85+
externalInput('secretVersion')
86+
)

src/Bicep.Core.Samples/Files/baselines_bicepparam/Expressions/parameters.json

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,41 @@
130130
},
131131
"myString": {
132132
"value": "THis\n is\n a\n multiline\n string!\n"
133+
},
134+
"kvSecret": {
135+
"reference": {
136+
"keyVault": {
137+
"id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.KeyVault/vaults/kvName"
138+
},
139+
"secretName": "secretName",
140+
"secretVersion": "secretVersion"
141+
}
142+
},
143+
"kvSecretExpression": {
144+
"reference": {
145+
"keyVault": {
146+
"id": "[resourceId(externalInputs('subId_0'), externalInputs('rgName_1'), 'Microsoft.KeyVault', 'vaults', externalInputs('kvName_2'))]"
147+
},
148+
"secretName": "[externalInputs('secretName_3')]",
149+
"secretVersion": "[externalInputs('secretVersion_4')]"
150+
}
151+
}
152+
},
153+
"externalInputDefinitions": {
154+
"kvName_2": {
155+
"kind": "kvName"
156+
},
157+
"rgName_1": {
158+
"kind": "rgName"
159+
},
160+
"secretName_3": {
161+
"kind": "secretName"
162+
},
163+
"secretVersion_4": {
164+
"kind": "secretVersion"
165+
},
166+
"subId_0": {
167+
"kind": "subId"
133168
}
134169
}
135170
}

src/Bicep.Core.Samples/Files/baselines_bicepparam/Expressions/parameters.symbols.bicepparam

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,4 +89,13 @@ THis
8989
multiline
9090
string!
9191
'''
92+
param kvSecret = az.getSecret('subId', 'rgName', 'kvName', 'secretName', 'secretVersion')
93+
//@[06:14) ParameterAssignment kvSecret. Type: string. Declaration start char: 0, length: 89
94+
param kvSecretExpression = az.getSecret(
95+
//@[06:24) ParameterAssignment kvSecretExpression. Type: string. Declaration start char: 0, length: 189
96+
externalInput('subId'),
97+
externalInput('rgName'),
98+
externalInput('kvName'),
99+
externalInput('secretName'),
100+
externalInput('secretVersion'))
92101

src/Bicep.Core.Samples/Files/baselines_bicepparam/Expressions/parameters.syntax.bicepparam

Lines changed: 111 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using 'main.bicep'
2-
//@[00:2208) ProgramSyntax
2+
//@[00:2488) ProgramSyntax
33
//@[00:0018) ├─UsingDeclarationSyntax
44
//@[00:0005) | ├─Token(Identifier) |using|
55
//@[06:0018) | ├─StringSyntax
@@ -1326,5 +1326,115 @@ THis
13261326
string!
13271327
'''
13281328
//@[03:0004) ├─Token(NewLine) |\n|
1329+
param kvSecret = az.getSecret('subId', 'rgName', 'kvName', 'secretName', 'secretVersion')
1330+
//@[00:0089) ├─ParameterAssignmentSyntax
1331+
//@[00:0005) | ├─Token(Identifier) |param|
1332+
//@[06:0014) | ├─IdentifierSyntax
1333+
//@[06:0014) | | └─Token(Identifier) |kvSecret|
1334+
//@[15:0016) | ├─Token(Assignment) |=|
1335+
//@[17:0089) | └─InstanceFunctionCallSyntax
1336+
//@[17:0019) | ├─VariableAccessSyntax
1337+
//@[17:0019) | | └─IdentifierSyntax
1338+
//@[17:0019) | | └─Token(Identifier) |az|
1339+
//@[19:0020) | ├─Token(Dot) |.|
1340+
//@[20:0029) | ├─IdentifierSyntax
1341+
//@[20:0029) | | └─Token(Identifier) |getSecret|
1342+
//@[29:0030) | ├─Token(LeftParen) |(|
1343+
//@[30:0037) | ├─FunctionArgumentSyntax
1344+
//@[30:0037) | | └─StringSyntax
1345+
//@[30:0037) | | └─Token(StringComplete) |'subId'|
1346+
//@[37:0038) | ├─Token(Comma) |,|
1347+
//@[39:0047) | ├─FunctionArgumentSyntax
1348+
//@[39:0047) | | └─StringSyntax
1349+
//@[39:0047) | | └─Token(StringComplete) |'rgName'|
1350+
//@[47:0048) | ├─Token(Comma) |,|
1351+
//@[49:0057) | ├─FunctionArgumentSyntax
1352+
//@[49:0057) | | └─StringSyntax
1353+
//@[49:0057) | | └─Token(StringComplete) |'kvName'|
1354+
//@[57:0058) | ├─Token(Comma) |,|
1355+
//@[59:0071) | ├─FunctionArgumentSyntax
1356+
//@[59:0071) | | └─StringSyntax
1357+
//@[59:0071) | | └─Token(StringComplete) |'secretName'|
1358+
//@[71:0072) | ├─Token(Comma) |,|
1359+
//@[73:0088) | ├─FunctionArgumentSyntax
1360+
//@[73:0088) | | └─StringSyntax
1361+
//@[73:0088) | | └─Token(StringComplete) |'secretVersion'|
1362+
//@[88:0089) | └─Token(RightParen) |)|
1363+
//@[89:0090) ├─Token(NewLine) |\n|
1364+
param kvSecretExpression = az.getSecret(
1365+
//@[00:0189) ├─ParameterAssignmentSyntax
1366+
//@[00:0005) | ├─Token(Identifier) |param|
1367+
//@[06:0024) | ├─IdentifierSyntax
1368+
//@[06:0024) | | └─Token(Identifier) |kvSecretExpression|
1369+
//@[25:0026) | ├─Token(Assignment) |=|
1370+
//@[27:0189) | └─InstanceFunctionCallSyntax
1371+
//@[27:0029) | ├─VariableAccessSyntax
1372+
//@[27:0029) | | └─IdentifierSyntax
1373+
//@[27:0029) | | └─Token(Identifier) |az|
1374+
//@[29:0030) | ├─Token(Dot) |.|
1375+
//@[30:0039) | ├─IdentifierSyntax
1376+
//@[30:0039) | | └─Token(Identifier) |getSecret|
1377+
//@[39:0040) | ├─Token(LeftParen) |(|
1378+
//@[40:0041) | ├─Token(NewLine) |\n|
1379+
externalInput('subId'),
1380+
//@[02:0024) | ├─FunctionArgumentSyntax
1381+
//@[02:0024) | | └─FunctionCallSyntax
1382+
//@[02:0015) | | ├─IdentifierSyntax
1383+
//@[02:0015) | | | └─Token(Identifier) |externalInput|
1384+
//@[15:0016) | | ├─Token(LeftParen) |(|
1385+
//@[16:0023) | | ├─FunctionArgumentSyntax
1386+
//@[16:0023) | | | └─StringSyntax
1387+
//@[16:0023) | | | └─Token(StringComplete) |'subId'|
1388+
//@[23:0024) | | └─Token(RightParen) |)|
1389+
//@[24:0025) | ├─Token(Comma) |,|
1390+
//@[26:0027) | ├─Token(NewLine) |\n|
1391+
externalInput('rgName'),
1392+
//@[02:0025) | ├─FunctionArgumentSyntax
1393+
//@[02:0025) | | └─FunctionCallSyntax
1394+
//@[02:0015) | | ├─IdentifierSyntax
1395+
//@[02:0015) | | | └─Token(Identifier) |externalInput|
1396+
//@[15:0016) | | ├─Token(LeftParen) |(|
1397+
//@[16:0024) | | ├─FunctionArgumentSyntax
1398+
//@[16:0024) | | | └─StringSyntax
1399+
//@[16:0024) | | | └─Token(StringComplete) |'rgName'|
1400+
//@[24:0025) | | └─Token(RightParen) |)|
1401+
//@[25:0026) | ├─Token(Comma) |,|
1402+
//@[27:0028) | ├─Token(NewLine) |\n|
1403+
externalInput('kvName'),
1404+
//@[02:0025) | ├─FunctionArgumentSyntax
1405+
//@[02:0025) | | └─FunctionCallSyntax
1406+
//@[02:0015) | | ├─IdentifierSyntax
1407+
//@[02:0015) | | | └─Token(Identifier) |externalInput|
1408+
//@[15:0016) | | ├─Token(LeftParen) |(|
1409+
//@[16:0024) | | ├─FunctionArgumentSyntax
1410+
//@[16:0024) | | | └─StringSyntax
1411+
//@[16:0024) | | | └─Token(StringComplete) |'kvName'|
1412+
//@[24:0025) | | └─Token(RightParen) |)|
1413+
//@[25:0026) | ├─Token(Comma) |,|
1414+
//@[27:0028) | ├─Token(NewLine) |\n|
1415+
externalInput('secretName'),
1416+
//@[02:0029) | ├─FunctionArgumentSyntax
1417+
//@[02:0029) | | └─FunctionCallSyntax
1418+
//@[02:0015) | | ├─IdentifierSyntax
1419+
//@[02:0015) | | | └─Token(Identifier) |externalInput|
1420+
//@[15:0016) | | ├─Token(LeftParen) |(|
1421+
//@[16:0028) | | ├─FunctionArgumentSyntax
1422+
//@[16:0028) | | | └─StringSyntax
1423+
//@[16:0028) | | | └─Token(StringComplete) |'secretName'|
1424+
//@[28:0029) | | └─Token(RightParen) |)|
1425+
//@[29:0030) | ├─Token(Comma) |,|
1426+
//@[31:0032) | ├─Token(NewLine) |\n|
1427+
externalInput('secretVersion'))
1428+
//@[02:0032) | ├─FunctionArgumentSyntax
1429+
//@[02:0032) | | └─FunctionCallSyntax
1430+
//@[02:0015) | | ├─IdentifierSyntax
1431+
//@[02:0015) | | | └─Token(Identifier) |externalInput|
1432+
//@[15:0016) | | ├─Token(LeftParen) |(|
1433+
//@[16:0031) | | ├─FunctionArgumentSyntax
1434+
//@[16:0031) | | | └─StringSyntax
1435+
//@[16:0031) | | | └─Token(StringComplete) |'secretVersion'|
1436+
//@[31:0032) | | └─Token(RightParen) |)|
1437+
//@[32:0033) | └─Token(RightParen) |)|
1438+
//@[33:0034) ├─Token(NewLine) |\n|
13291439

13301440
//@[00:0000) └─Token(EndOfFile) ||

src/Bicep.Core.Samples/Files/baselines_bicepparam/Expressions/parameters.tokens.bicepparam

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -733,5 +733,68 @@ THis
733733
string!
734734
'''
735735
//@[03:04) NewLine |\n|
736+
param kvSecret = az.getSecret('subId', 'rgName', 'kvName', 'secretName', 'secretVersion')
737+
//@[00:05) Identifier |param|
738+
//@[06:14) Identifier |kvSecret|
739+
//@[15:16) Assignment |=|
740+
//@[17:19) Identifier |az|
741+
//@[19:20) Dot |.|
742+
//@[20:29) Identifier |getSecret|
743+
//@[29:30) LeftParen |(|
744+
//@[30:37) StringComplete |'subId'|
745+
//@[37:38) Comma |,|
746+
//@[39:47) StringComplete |'rgName'|
747+
//@[47:48) Comma |,|
748+
//@[49:57) StringComplete |'kvName'|
749+
//@[57:58) Comma |,|
750+
//@[59:71) StringComplete |'secretName'|
751+
//@[71:72) Comma |,|
752+
//@[73:88) StringComplete |'secretVersion'|
753+
//@[88:89) RightParen |)|
754+
//@[89:90) NewLine |\n|
755+
param kvSecretExpression = az.getSecret(
756+
//@[00:05) Identifier |param|
757+
//@[06:24) Identifier |kvSecretExpression|
758+
//@[25:26) Assignment |=|
759+
//@[27:29) Identifier |az|
760+
//@[29:30) Dot |.|
761+
//@[30:39) Identifier |getSecret|
762+
//@[39:40) LeftParen |(|
763+
//@[40:41) NewLine |\n|
764+
externalInput('subId'),
765+
//@[02:15) Identifier |externalInput|
766+
//@[15:16) LeftParen |(|
767+
//@[16:23) StringComplete |'subId'|
768+
//@[23:24) RightParen |)|
769+
//@[24:25) Comma |,|
770+
//@[26:27) NewLine |\n|
771+
externalInput('rgName'),
772+
//@[02:15) Identifier |externalInput|
773+
//@[15:16) LeftParen |(|
774+
//@[16:24) StringComplete |'rgName'|
775+
//@[24:25) RightParen |)|
776+
//@[25:26) Comma |,|
777+
//@[27:28) NewLine |\n|
778+
externalInput('kvName'),
779+
//@[02:15) Identifier |externalInput|
780+
//@[15:16) LeftParen |(|
781+
//@[16:24) StringComplete |'kvName'|
782+
//@[24:25) RightParen |)|
783+
//@[25:26) Comma |,|
784+
//@[27:28) NewLine |\n|
785+
externalInput('secretName'),
786+
//@[02:15) Identifier |externalInput|
787+
//@[15:16) LeftParen |(|
788+
//@[16:28) StringComplete |'secretName'|
789+
//@[28:29) RightParen |)|
790+
//@[29:30) Comma |,|
791+
//@[31:32) NewLine |\n|
792+
externalInput('secretVersion'))
793+
//@[02:15) Identifier |externalInput|
794+
//@[15:16) LeftParen |(|
795+
//@[16:31) StringComplete |'secretVersion'|
796+
//@[31:32) RightParen |)|
797+
//@[32:33) RightParen |)|
798+
//@[33:34) NewLine |\n|
736799

737800
//@[00:00) EndOfFile ||

src/Bicep.Core/Emit/ParameterAssignmentEvaluator.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,13 @@ public Result EvaluateParameter(ParameterAssignmentSymbol parameter)
407407
var parameterConverter = GetConverterForParameter(parameter);
408408
var intermediate = parameterConverter.ConvertToIntermediateExpression(declaringParam.Value);
409409

410+
// handle KV reference before paramstoinline check since KV references may contain externalInput references
411+
// and we don't want to inline getSecret calls as expressions in the parameters JSON file
412+
if (intermediate is ParameterKeyVaultReferenceExpression keyVaultReferenceExpression)
413+
{
414+
return Result.For(keyVaultReferenceExpression);
415+
}
416+
410417
if (semanticModel.SymbolsToInline.ParameterAssignmentsToInline.Contains(parameter))
411418
{
412419
try
@@ -425,11 +432,6 @@ public Result EvaluateParameter(ParameterAssignmentSymbol parameter)
425432
}
426433
}
427434

428-
if (intermediate is ParameterKeyVaultReferenceExpression keyVaultReferenceExpression)
429-
{
430-
return Result.For(keyVaultReferenceExpression);
431-
}
432-
433435
if (semanticModel.SymbolsToInline.ParameterAssignmentsToInline.Contains(parameter))
434436
{
435437
return Result.For(intermediate);

0 commit comments

Comments
 (0)