Skip to content

Commit 132a6ca

Browse files
authored
Merge pull request #118701 from anthony-c-martin/patch-5
Link to experimental features documentation, clarify config resolution
2 parents 7db2057 + a2f5d75 commit 132a6ca

File tree

1 file changed

+8
-18
lines changed

1 file changed

+8
-18
lines changed

articles/azure-resource-manager/bicep/bicep-config.md

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ ms.date: 09/27/2023
88

99
# Configure your Bicep environment
1010

11-
Bicep supports a configuration file named `bicepconfig.json`. Within this file, you can add values that customize your Bicep development experience. If you don't add this file, Bicep uses default values.
11+
Bicep supports an optional configuration file named `bicepconfig.json`. Within this file, you can add values that customize your Bicep development experience.
1212

13-
To customize values, create this file in the directory where you store Bicep files. You can add `bicepconfig.json` files in multiple directories. The configuration file closest to the Bicep file in the directory hierarchy is used.
13+
To customize configuration, create this file in the same directory, or a parent directory of your Bicep files. If multiple parent directories contain `bicepconfig.json` files, Bicep uses configuration from the nearest one. If a configuration file is not found, Bicep uses default values.
1414

1515
To configure Bicep extension settings, see [VS Code and Bicep extension](./install.md#visual-studio-code-and-bicep-extension).
1616

@@ -36,30 +36,20 @@ The [Bicep linter](linter.md) checks Bicep files for syntax errors and best prac
3636

3737
## Enable experimental features
3838

39-
You can enable preview features by adding:
39+
You can enable experimental features by adding the following section to your `bicepconfig.json` file.
40+
41+
Here is an example of enabling features 'compileTimeImports' and 'userDefinedFunctions`.
4042

4143
```json
4244
{
4345
"experimentalFeaturesEnabled": {
44-
"userDefinedTypes": true,
45-
"extensibility": true
46+
"compileTimeImports": true,
47+
"userDefinedFunctions": true
4648
}
4749
}
4850
```
4951

50-
> [!WARNING]
51-
> To utilize the experimental features, it's necessary to have the latest version of [Azure CLI](./install.md#azure-cli).
52-
53-
The preceding sample enables 'userDefineTypes' and 'extensibility`. The available experimental features include:
54-
55-
- **assertions**: Should be enabled in tandem with `testFramework` experimental feature flag for expected functionality. Allows you to author boolean assertions using the `assert` keyword comparing the actual value of a parameter, variable, or resource name to an expected value. Assert statements can only be written directly within the Bicep file whose resources they reference. For more information, see [Bicep Experimental Test Framework](https://github.com/Azure/bicep/issues/11967).
56-
- **compileTimeImports**: Allows you to use symbols defined in another Bicep file. See [Import types, variables and functions](./bicep-import.md#import-types-variables-and-functions-preview).
57-
- **extensibility**: Allows Bicep to use a provider model to deploy non-ARM resources. Currently, we only support a Kubernetes provider. See [Bicep extensibility Kubernetes provider](./bicep-extensibility-kubernetes-provider.md).
58-
- **sourceMapping**: Enables basic source mapping to map an error location returned in the ARM template layer back to the relevant location in the Bicep file.
59-
- **resourceTypedParamsAndOutputs**: Enables the type for a parameter or output to be of type resource to make it easier to pass resource references between modules. This feature is only partially implemented. See [Simplifying resource referencing](https://github.com/azure/bicep/issues/2245).
60-
- **symbolicNameCodegen**: Allows the ARM template layer to use a new schema to represent resources as an object dictionary rather than an array of objects. This feature improves the semantic equivalent of the Bicep and ARM templates, resulting in more reliable code generation. Enabling this feature has no effect on the Bicep layer's functionality.
61-
- **testFramework**: Should be enabled in tandem with `assertions` experimental feature flag for expected functionality. Allows you to author client-side, offline unit-test test blocks that reference Bicep files and mock deployment parameters in a separate `test.bicep` file using the new `test` keyword. Test blocks can be run with the command *bicep test <filepath_to_file_with_test_blocks>* which runs all `assert` statements in the Bicep files referenced by the test blocks. For more information, see [Bicep Experimental Test Framework](https://github.com/Azure/bicep/issues/11967).
62-
- **userDefinedFunctions**: Allows you to define your own custom functions. See [User-defined functions in Bicep](./user-defined-functions.md).
52+
For information on the current set of experimental features, see [Experimental Features](https://aka.ms/bicep/experimental-features).
6353

6454
## Next steps
6555

0 commit comments

Comments
 (0)