Popular: Data updated October 27, 2026

Categories

Internet1,356
Communication321
Audio & video898
Graphics & design539
Office & productivity1,124
Developer tools3,134
AI tools529
Security & privacy385
System tools3,114
Games523
Education & science239
Network & IT284

Bicep CLI 0.35.1 download

A declarative language for describing and deploying Azure resources

This is an older version. The current version is 0.48.1. Bicep CLI 0.48.1 · Released:

Installer files 0.35.1

ArchitectureTypeScopeFile sizeDownloadSHA256
64-bit EXE (Inno Setup) · en-US All users — github.com VirusTotal
64-bit Portable — — github.com VirusTotal
ARM64 Portable — — github.com VirusTotal

Link and SHA256 come from the Windows Package Manager community manifest. Compare the hash of the downloaded file before running it.

Release notes

Highlights
- GA release for the @secure() decorator on module outputs! You can now output secure values from a child module and read them in a parent module. (#16796)
- Visual Studio Bicep extension support for .bicepparam files! (#16861)
- New functions for working with URIs - parseUri() and buildUri() (#16802)
Example usage:
/*
Returns
{
scheme: 'https'
host: 'example.com'
port: 1234
path: '/foo/bar'
}
*/
output parsedUri object = parseUri('https://example.com:1234/foo/bar')
/*
Returns:
'https://example.com:1234/foo/bar'
*/
output builtUri string = buildUri({
scheme: 'https'
host: 'example.com'
port: 1234
path: 'foo/bar'
})
- New functions for working with Availaiblity Zones (#16985)
- toLogicalZone() - converts physical zones to logical zones
- toPhysicalZone() - converts logical zones to physical zones
- Array versions for bulk conversions (toLogicalZones() & toPhysicalZones())
var subscriptionId = subscription().subscriptionId
var location = 'westus2'
/*
Returns the physical AZ corresponding to the specified logical AZ in the specified subscription and location.
For westus2 location, this will be one of 'westus2-az1', 'westus2-az2', 'westus2-az3' depending on the subscription.
*/
output singlePhysicalZone string = toPhysicalZone(subscriptionId, location, '1')
/*
Returns an array of physical AZs corresponding to the specified logical AZs in the specified subscription and location.
*/
output physicalZones string[] = toPhysicalZones(subscriptionId, location, ['1', '2'])
/*
Returns the logical AZ corresponding to the specified physical AZ in the specified subscription and location.
Returns '1', '2', or '3' depending on the subscription.
*/
output singleLogicalZone string = toLogicalZone(subscriptionId, location, 'westus2-az2')
/*
Returns an array of logical AZs corresponding to the specified physical AZs in the specified subscription and location.
*/
output logicalZones string[] = toLogicalZones(subscriptionId, location, [
'westus2-az1'
'westus2-az2'
])
- use-secure-value-for-secure-inputs linter rule: Use resource type information to catch more unsafe passing of non-secure values (#16873)
- [requires the onlyIfNotExists experimental feature] Resource Existence Checks using @onlyIfNotExists() decorator (#16655)
Attaching this decorator to a resource declaration means deployment of the resource will only take place if it hasn't already been deployed. Example usage:
@onlyIfNotExists()
resource onlyDeployIfNotExists 'Microsoft...' = {
name: 'example'
location: 'eastus'
properties: {
...
}
}
- [requires the typedVariables experimental feature] Support importing and declaring types in .bicepparam files with typedVariables decorator (#16929)
- Allow usage of the type keyword in .bicepparam files
- Allow importing types from .bicep files in .bicepparam files
- Allow usage of inline types in .bicepparam files
- [requires the externalInputFunction experimental feature] External Input function - externalInput function to allow reading input that will be resolved later by external tooling in order to inject values at deployment time. (#16726)
Bugs and Features
- Decompiler support for user-defined functions (#16883)
- use-parent-property linter rule: Fix incorrect warning with blobContainer and fileShare (#16738)
- Raise diagnostic for unsupported usage of spread (#16739)
- Add friendly name to Playground link (#16803)
- Revert #16442 - Fixed bug VSCode extension does not read values from parameter file (#16789)
- no-hardcoded-env-urls linter rule: Remove URLs not present in environment() function output (#16863)
- Fix for intellisense of symbols inside import statement (#16936)
- fixing dotnet format issues, and addressing IDE0305: Collection initialization can be simplified errors/warnings (#16808)
- Use symbolic name for list function calls (#16862)
- Enhance substring type inference - updated parameter types for substring to infer acceptable ranges based on the other arguments provided to the function. (#16859)
- Prevent infinite recursion during type narrowing (#17028)
- Fix command binding comment in bicepconfig.json (#16807)
- use-resource-id-functions linter rule: Set to off by default (#16869)
.bicepparam Bug Fixes
- Suggest the experimental feature on the extends keyword for extendableparamfiles (#16744)
- adding checks to ensure the given file exists before building the bicepparam file (#16742)
- Clarifying parameter file generation logic and error message (#16662)
Local Deploy
- Local Deploy: process kill should be best-effort only (#16786)
- Local Deploy: Support deploying Azure modules (#16752)
- Local Deploy: Support long-running operations for local and Azure modules (#16797)
- Documentation: Replace deploy pane content with link to MSDocs (#16736)
- Local deploy: ensure languageversion 2.2-experimental emitting is enabled (#16945)
Community Contributions
- Remove unused methods (#16927) - thanks @eerhardt !
- Update DSC schema v3 (#16685) - thanks @Gijsreyn !
- support --pattern --outdir (#16882) - Thanks @NaridaL !
Example usage:
bicep build --pattern './foo/**/*.bicep' --outdir ./bar
bicep build-params --pattern './foo/**/*.bicepparam' --outdir ./bar

https://github.com/Azure/bicep/releases/tag/v0.35.1

Most popular in Languages & SDKs

See all
  1. Go Programming LanguageAn open source programming language that makes it simple to build secure, scalable systems.
  2. LLVMA collection of modular and reusable compiler and toolchain technologies.
  3. DenoA modern runtime for JavaScript and TypeScript
  4. CMakeCMake is a cross-platform, open-source build system generator.
  5. YarnYarn is a package manager that doubles down as project manager. Whether you work on one-shot projects or large monorepos, as a hobbyist or an enterprise user, we've got you covered.
  6. CcacheCcache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.
  7. sbtA build tool for Scala, Java, and more
  8. BOINCOpen-source software for volunteer computing and grid computing.
  9. Dart SDKA set of tools and libraries for the Dart programming language.
  10. NVM for WindowsA node.js version management utility for Windows. Ironically written in Go.

More from Microsoft Corporation

See all
  • PowerShellPowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework. PowerShell runs on Windows, Linux, and macOS.
  • PowerToysMicrosoft PowerToys is a set of utilities for power users to tune and streamline their Windows experience for greater productivity.
  • NuGetThe package manager for .NET
  • Microsoft Azure CLIThe Azure command-line interface (Azure CLI) is a set of commands used to create and manage Azure resources. The Azure CLI is available across Azure services and is designed to get you working quickly with Azure, with an emphasis on automation.
  • OpenSSH PreviewMicrosoft.OpenSSH.Preview
  • Microsoft Azure Storage ExplorerFree tool to easily manage your Azure cloud storage resources anywhere, from Windows, macOS, or Linux.

Tags

Share