Skip to content

Commit

Permalink
fix: Fixed parsing bicepparam parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
kamil-mrzyglod committed Aug 30, 2024
1 parent fd141db commit 18acd7b
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 14 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"parametersJson": "{\n \"$schema\": \"https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"parPrefix\": {\n \"value\": \"automation-parameters\"\n }\n }\n}",
"templateJson": "{\n \"$schema\": \"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"metadata\": {\n \"_generator\": {\n \"name\": \"bicep\",\n \"version\": \"0.29.47.4906\",\n \"templateHash\": \"3247788636592213114\"\n }\n },\n \"parameters\": {\n \"parSuffix\": {\n \"type\": \"string\",\n \"defaultValue\": \"[utcNow('yyyyMMddhhmmss')]\"\n },\n \"parLocation\": {\n \"type\": \"string\",\n \"defaultValue\": \"[resourceGroup().location]\"\n },\n \"parPrefix\": {\n \"type\": \"string\"\n }\n },\n \"resources\": [\n {\n \"type\": \"Microsoft.Automation/automationAccounts\",\n \"apiVersion\": \"2021-06-22\",\n \"name\": \"[format('{0}-{1}', parameters('parPrefix'), parameters('parSuffix'))]\",\n \"location\": \"[parameters('parLocation')]\",\n \"identity\": {\n \"type\": \"SystemAssigned\"\n },\n \"properties\": {\n \"sku\": {\n \"name\": \"Basic\"\n }\n }\n }\n ]\n}",
"templateSpecId": null
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"parametersJson": "{\n \"$schema\": \"https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"parPrefix\": {\n \"value\": \"automation-parameters\"\n }\n }\n}",
"templateJson": "{\n \"$schema\": \"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"metadata\": {\n \"_generator\": {\n \"name\": \"bicep\",\n \"version\": \"0.29.47.4906\",\n \"templateHash\": \"3247788636592213114\"\n }\n },\n \"parameters\": {\n \"parSuffix\": {\n \"type\": \"string\",\n \"defaultValue\": \"[utcNow('yyyyMMddhhmmss')]\"\n },\n \"parLocation\": {\n \"type\": \"string\",\n \"defaultValue\": \"[resourceGroup().location]\"\n },\n \"parPrefix\": {\n \"type\": \"string\"\n }\n },\n \"resources\": [\n {\n \"type\": \"Microsoft.Automation/automationAccounts\",\n \"apiVersion\": \"2021-06-22\",\n \"name\": \"[format('{0}-{1}', parameters('parPrefix'), parameters('parSuffix'))]\",\n \"location\": \"[parameters('parLocation')]\",\n \"identity\": {\n \"type\": \"SystemAssigned\"\n },\n \"properties\": {\n \"sku\": {\n \"name\": \"Basic\"\n }\n }\n }\n ]\n}",
"templateSpecId": null
}
2 changes: 1 addition & 1 deletion ace/Compilation/BicepCompiler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ private void CheckIfBicepConfigExists(FileInfo templateFile)
}
else
{
this.logger.AddEstimatorMessage("Compilation failed, attempting to compile Bicepparam file using Azure CLI.");
this.logger.AddEstimatorMessage("Compiling Bicepparam file using Azure CLI.");
CompileBicepWith("az", $"bicep build-params --file {bicepparamFile} --stdout", token, logger, out parameters);
}

Expand Down
5 changes: 2 additions & 3 deletions ace/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -244,10 +244,9 @@ private static async Task<ApplicationResult> Estimate(FileInfo templateFile,
}

var parameters = "{}";
var isUsingBicepparamFile = false;
if (options.ParametersFile != null)
{
isUsingBicepparamFile = options.ParametersFile.FullName.EndsWith(".bicepparam");
var isUsingBicepparamFile = options.ParametersFile.FullName.EndsWith(".bicepparam");
var fileContent = isUsingBicepparamFile ? new BicepCompiler(options.ForceUsingBicepCli, logger).CompileBicepparam(options.ParametersFile, _cancellationTokenSource.Token) : File.ReadAllText(options.ParametersFile.FullName);
if (fileContent == null)
{
Expand All @@ -265,7 +264,7 @@ private static async Task<ApplicationResult> Estimate(FileInfo templateFile,
{
try
{
parser = new TemplateParser(template, parameters, options.InlineParameters, scopeId, resourceGroupName, isUsingBicepparamFile, logger);
parser = new TemplateParser(template, parameters, options.InlineParameters, scopeId, resourceGroupName, logger);
}
catch (JsonException ex)
{
Expand Down
11 changes: 1 addition & 10 deletions ace/Template/TemplateParser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,12 @@ public TemplateParser(
IEnumerable<string>? inlineParameters,
string scopeId,
string? resourceGroupName,
bool isUsingBicepparamFile,
ILogger logger)
{
var t = JsonSerializer.Deserialize<TemplateSchema>(template) ?? throw new InvalidOperationException("Couldn't parse given template.");
Template = t;

if(isUsingBicepparamFile)
{
var bicepparamSchema = JsonSerializer.Deserialize<BicepparamParametersSchema>(parameters);
this.parameters = JsonSerializer.Deserialize<ParametersSchema>(bicepparamSchema?.ParametersJson ?? "{}");
}
else
{
this.parameters = JsonSerializer.Deserialize<ParametersSchema>(parameters);
}
this.parameters = JsonSerializer.Deserialize<ParametersSchema>(parameters);

this.inlineParameters = inlineParameters;
this.scopeId = scopeId;
Expand Down

0 comments on commit 18acd7b

Please sign in to comment.