Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into davidcho23/valid64Bit…
Browse files Browse the repository at this point in the history
…SignedIntegers
  • Loading branch information
davidcho23 committed Feb 1, 2022
2 parents 8ca42e1 + c78d736 commit 74d321f
Show file tree
Hide file tree
Showing 79 changed files with 1,401 additions and 823 deletions.
34 changes: 0 additions & 34 deletions .devcontainer/Dockerfile

This file was deleted.

20 changes: 4 additions & 16 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,34 +1,22 @@
{
"name": "Bicep Development Environment",
"dockerFile": "Dockerfile",
"runArgs": [
"-v",
"/var/run/docker.sock:/var/run/docker.sock"
],
"settings": {
"terminal.integrated.profiles.linux": {
"bash": {
"path": "/bin/bash"
}
}
},
"extensions": [
"msazurermtools.azurerm-vscode-tools",
"ms-azuretools.vscode-bicep",
"ms-dotnettools.csharp",
"ms-azuretools.vscode-docker",
"ms-vsliveshare.vsliveshare",
"editorconfig.editorconfig",
"github.copilot",
"github.vscode-pull-request-github",
"davidanson.vscode-markdownlint"
"github.vscode-pull-request-github"
],
"features": {
"github-cli": "latest",
"azure-cli": "latest",
"node": {
"version": "lts",
"nodeGypDependencies": true
},
"dotnet": {
"version": "6.0"
}
}
}
10 changes: 9 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,12 @@ end_of_line = lf
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
insert_final_newline = true

[.resx]
indent_style = space
end_of_line = lf
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
4 changes: 4 additions & 0 deletions docs/codebase.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
This document provides an overview of the Bicep compiler code structure, and design considerations.

## Compiler Structure

<!-- use excalidraw.com to modify this diagram -->
![](./images/compiler_pipeline.png)

### Parser
The parser is responsible for converting a stream of text into an in-memory Bicep syntax tree. This is broken down into two stages: lexing and parsing. The lexer ([Lexer.cs](../src/Bicep.Core/Parsing/Lexer.cs)) is responsible from tokenizing a stream of text into distinct tokens. The parser ([Parser.cs](../src/Bicep.Core/Parsing/Parser.cs)) is responsible for taking the tokens generated by the lexer, and building a hierarchical syntax tree from them. Bicep uses a handwritten recursive-descent parsing mechanism to build its syntax trees.

Expand Down
4 changes: 2 additions & 2 deletions docs/examples/101/basic-publicip/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"_generator": {
"name": "bicep",
"version": "dev",
"templateHash": "5607822056066172754"
"templateHash": "12856807169935597090"
}
},
"parameters": {
Expand Down Expand Up @@ -85,7 +85,7 @@
"outputs": {
"ipFqdn": {
"type": "string",
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'publicIp'), '2020-10-01').outputs.ipFqdn.value]"
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'publicIp')).outputs.ipFqdn.value]"
}
}
}
16 changes: 8 additions & 8 deletions docs/examples/101/hub-and-spoke/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"_generator": {
"name": "bicep",
"version": "dev",
"templateHash": "7778081001733304086"
"templateHash": "5775269505886055345"
}
},
"parameters": {
Expand Down Expand Up @@ -135,7 +135,7 @@
"properties": {
"addressPrefix": "10.0.0.0/24",
"routeTable": {
"id": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'spoke-rg'), 'Microsoft.Resources/deployments', 'spoke-rot'), '2020-10-01').outputs.id.value]"
"id": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'spoke-rg'), 'Microsoft.Resources/deployments', 'spoke-rot')).outputs.id.value]"
}
}
}
Expand Down Expand Up @@ -209,7 +209,7 @@
"value": "hub"
},
"hubId": {
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'hub-rg'), 'Microsoft.Resources/deployments', 'hub-vnet'), '2020-10-01').outputs.id.value]"
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'hub-rg'), 'Microsoft.Resources/deployments', 'hub-vnet')).outputs.id.value]"
}
},
"template": {
Expand Down Expand Up @@ -294,13 +294,13 @@
"mode": "Incremental",
"parameters": {
"localVnetName": {
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'hub-rg'), 'Microsoft.Resources/deployments', 'hub-vnet'), '2020-10-01').outputs.name.value]"
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'hub-rg'), 'Microsoft.Resources/deployments', 'hub-vnet')).outputs.name.value]"
},
"remoteVnetName": {
"value": "spoke"
},
"remoteVnetId": {
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'spoke-rg'), 'Microsoft.Resources/deployments', 'spoke-vnet'), '2020-10-01').outputs.id.value]"
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'spoke-rg'), 'Microsoft.Resources/deployments', 'spoke-vnet')).outputs.id.value]"
}
},
"template": {
Expand Down Expand Up @@ -360,13 +360,13 @@
"mode": "Incremental",
"parameters": {
"localVnetName": {
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'spoke-rg'), 'Microsoft.Resources/deployments', 'spoke-vnet'), '2020-10-01').outputs.name.value]"
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'spoke-rg'), 'Microsoft.Resources/deployments', 'spoke-vnet')).outputs.name.value]"
},
"remoteVnetName": {
"value": "hub"
},
"remoteVnetId": {
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'hub-rg'), 'Microsoft.Resources/deployments', 'hub-vnet'), '2020-10-01').outputs.id.value]"
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'hub-rg'), 'Microsoft.Resources/deployments', 'hub-vnet')).outputs.id.value]"
}
},
"template": {
Expand Down Expand Up @@ -429,7 +429,7 @@
"value": "spoke"
},
"azFwlIp": {
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'hub-rg'), 'Microsoft.Resources/deployments', 'hub-fwl'), '2020-10-01').outputs.privateIp.value]"
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'hub-rg'), 'Microsoft.Resources/deployments', 'hub-fwl')).outputs.privateIp.value]"
}
},
"template": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"_generator": {
"name": "bicep",
"version": "dev",
"templateHash": "10568221366411196576"
"templateHash": "11440206996634158014"
}
},
"parameters": {
Expand Down Expand Up @@ -189,7 +189,7 @@
"value": "[resourceId('Microsoft.Compute/proximityPlacementGroups', 'Zone1')]"
},
"subnetId": {
"value": "[format('{0}/subnets/Default', reference(resourceId('Microsoft.Resources/deployments', 'network'), '2020-10-01').outputs.vnetId.value)]"
"value": "[format('{0}/subnets/Default', reference(resourceId('Microsoft.Resources/deployments', 'network')).outputs.vnetId.value)]"
},
"vmName": {
"value": "anchor"
Expand Down Expand Up @@ -357,7 +357,7 @@
"value": "[resourceId('Microsoft.Compute/availabilitySets', 'as1')]"
},
"subnetId": {
"value": "[format('{0}/subnets/Default', reference(resourceId('Microsoft.Resources/deployments', 'network'), '2020-10-01').outputs.vnetId.value)]"
"value": "[format('{0}/subnets/Default', reference(resourceId('Microsoft.Resources/deployments', 'network')).outputs.vnetId.value)]"
},
"vmName": {
"value": "vm01"
Expand Down Expand Up @@ -490,7 +490,7 @@
"value": "[resourceId('Microsoft.Compute/availabilitySets', 'as1')]"
},
"subnetId": {
"value": "[format('{0}/subnets/Default', reference(resourceId('Microsoft.Resources/deployments', 'network'), '2020-10-01').outputs.vnetId.value)]"
"value": "[format('{0}/subnets/Default', reference(resourceId('Microsoft.Resources/deployments', 'network')).outputs.vnetId.value)]"
},
"vmName": {
"value": "vm02"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"_generator": {
"name": "bicep",
"version": "dev",
"templateHash": "7585028787485165225"
"templateHash": "10034220770553783930"
}
},
"parameters": {
Expand Down Expand Up @@ -729,13 +729,13 @@
"value": "pep-sto"
},
"storageAccountId": {
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, format('{0}FILESERVICES', parameters('resourceGroupPrefrix'))), 'Microsoft.Resources/deployments', 'avdFileServices'), '2020-10-01').outputs.storageAccountId.value]"
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, format('{0}FILESERVICES', parameters('resourceGroupPrefrix'))), 'Microsoft.Resources/deployments', 'avdFileServices')).outputs.storageAccountId.value]"
},
"vnetId": {
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, format('{0}NETWORK', parameters('resourceGroupPrefrix'))), 'Microsoft.Resources/deployments', 'avdnetwork'), '2020-10-01').outputs.vnetId.value]"
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, format('{0}NETWORK', parameters('resourceGroupPrefrix'))), 'Microsoft.Resources/deployments', 'avdnetwork')).outputs.vnetId.value]"
},
"subnetId": {
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, format('{0}NETWORK', parameters('resourceGroupPrefrix'))), 'Microsoft.Resources/deployments', 'avdnetwork'), '2020-10-01').outputs.subnetId.value]"
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, format('{0}NETWORK', parameters('resourceGroupPrefrix'))), 'Microsoft.Resources/deployments', 'avdnetwork')).outputs.subnetId.value]"
}
},
"template": {
Expand Down Expand Up @@ -1047,7 +1047,7 @@
"value": "[parameters('imageSKU')]"
},
"galleryImageId": {
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, format('{0}SIG', parameters('resourceGroupPrefrix'))), 'Microsoft.Resources/deployments', 'avdsig'), '2020-10-01').outputs.avdidoutput.value]"
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, format('{0}SIG', parameters('resourceGroupPrefrix'))), 'Microsoft.Resources/deployments', 'avdsig')).outputs.avdidoutput.value]"
},
"InvokeRunImageBuildThroughDeploymentScript": {
"value": "[parameters('InvokeRunImageBuildThroughDeploymentScript')]"
Expand Down
4 changes: 2 additions & 2 deletions docs/examples/201/cyclecloud/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"_generator": {
"name": "bicep",
"version": "dev",
"templateHash": "13223213834114750061"
"templateHash": "16137950815528411640"
}
},
"parameters": {
Expand Down Expand Up @@ -202,7 +202,7 @@
"value": "[variables('customData')]"
},
"subnetId": {
"value": "[format('{0}/subnets/Default', reference(resourceId('Microsoft.Resources/deployments', 'network'), '2020-10-01').outputs.vnetId.value)]"
"value": "[format('{0}/subnets/Default', reference(resourceId('Microsoft.Resources/deployments', 'network')).outputs.vnetId.value)]"
},
"userAssignedIdentity": {
"value": "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', 'CycleCloud-MI')]"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"_generator": {
"name": "bicep",
"version": "dev",
"templateHash": "5790911459543227271"
"templateHash": "16597123993034586719"
}
},
"parameters": {
Expand Down Expand Up @@ -396,7 +396,7 @@
"mode": "Incremental",
"parameters": {
"monitoringGovernanceId": {
"value": "[reference(subscriptionResourceId('Microsoft.Resources/deployments', 'policy'), '2020-10-01').outputs.monitoringGovernanceId.value]"
"value": "[reference(subscriptionResourceId('Microsoft.Resources/deployments', 'policy')).outputs.monitoringGovernanceId.value]"
},
"assignmentIdentityLocation": {
"value": "[parameters('assignmentIdentityLocation')]"
Expand Down
14 changes: 7 additions & 7 deletions docs/examples/201/private-aks-cluster/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"_generator": {
"name": "bicep",
"version": "dev",
"templateHash": "5021715142567706856"
"templateHash": "18366288123290894733"
}
},
"parameters": {
Expand Down Expand Up @@ -822,7 +822,7 @@
"value": "[parameters('bastionName')]"
},
"bastionSubnetId": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'vnet'), '2020-10-01').outputs.bastionSubnetId.value]"
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'vnet')).outputs.bastionSubnetId.value]"
},
"location": {
"value": "[parameters('location')]"
Expand Down Expand Up @@ -1056,13 +1056,13 @@
"value": "[parameters('blobStorageAccountPrivateEndpointName')]"
},
"logAnalyticsWorkspaceId": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'log-analytics.bicep'), '2020-10-01').outputs.logAnalyticsWorkspaceId.value]"
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'log-analytics.bicep')).outputs.logAnalyticsWorkspaceId.value]"
},
"virtualNetworkId": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'vnet'), '2020-10-01').outputs.virtualNetworkResourceId.value]"
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'vnet')).outputs.virtualNetworkResourceId.value]"
},
"vmSubnetId": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'vnet'), '2020-10-01').outputs.vmSubnetId.value]"
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'vnet')).outputs.vmSubnetId.value]"
}
},
"template": {
Expand Down Expand Up @@ -1573,10 +1573,10 @@
"value": "[parameters('nodePoolVmSize')]"
},
"virtualNetworkId": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'vnet'), '2020-10-01').outputs.virtualNetworkResourceId.value]"
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'vnet')).outputs.virtualNetworkResourceId.value]"
},
"logAnalyticsWorkspaceId": {
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'log-analytics.bicep'), '2020-10-01').outputs.logAnalyticsWorkspaceId.value]"
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'log-analytics.bicep')).outputs.logAnalyticsWorkspaceId.value]"
}
},
"template": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"_generator": {
"name": "bicep",
"version": "dev",
"templateHash": "15697172255155232419"
"templateHash": "15583392721427090823"
}
},
"parameters": {
Expand Down Expand Up @@ -185,7 +185,7 @@
"value": "[parameters('adminSshKey')]"
},
"subnetId": {
"value": "[format('{0}/subnets/Default', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'bicep-network-rg'), 'Microsoft.Resources/deployments', 'network'), '2020-10-01').outputs.vnetId.value)]"
"value": "[format('{0}/subnets/Default', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'bicep-network-rg'), 'Microsoft.Resources/deployments', 'network')).outputs.vnetId.value)]"
},
"vmName": {
"value": "anchor"
Expand Down Expand Up @@ -364,10 +364,10 @@
"value": "[parameters('adminSshKey')]"
},
"ppgId": {
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'bicep-anchor-rg'), 'Microsoft.Resources/deployments', 'anchor'), '2020-10-01').outputs.ppgId.value]"
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'bicep-anchor-rg'), 'Microsoft.Resources/deployments', 'anchor')).outputs.ppgId.value]"
},
"subnetId": {
"value": "[format('{0}/subnets/Default', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'bicep-network-rg'), 'Microsoft.Resources/deployments', 'network'), '2020-10-01').outputs.vnetId.value)]"
"value": "[format('{0}/subnets/Default', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'bicep-network-rg'), 'Microsoft.Resources/deployments', 'network')).outputs.vnetId.value)]"
},
"vmName": {
"value": "vm01"
Expand Down Expand Up @@ -516,10 +516,10 @@
"value": "[parameters('adminSshKey')]"
},
"ppgId": {
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'bicep-anchor-rg'), 'Microsoft.Resources/deployments', 'anchor'), '2020-10-01').outputs.ppgId.value]"
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'bicep-anchor-rg'), 'Microsoft.Resources/deployments', 'anchor')).outputs.ppgId.value]"
},
"subnetId": {
"value": "[format('{0}/subnets/Default', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'bicep-network-rg'), 'Microsoft.Resources/deployments', 'network'), '2020-10-01').outputs.vnetId.value)]"
"value": "[format('{0}/subnets/Default', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, 'bicep-network-rg'), 'Microsoft.Resources/deployments', 'network')).outputs.vnetId.value)]"
},
"vmName": {
"value": "vm02"
Expand Down
Loading

0 comments on commit 74d321f

Please sign in to comment.