Import Bicep namespaces
This article describes the syntax you use to import user-defined data types and the Bicep namespaces including the Bicep extensibility providers.
Import user-defined data types (Preview)
Bicep version 0.21.1 or newer is required to use this feature. The experimental flag compileTimeImports
must be enabled from the Bicep config file.
The syntax for importing user-defined data type is:
import {<user-defined-data-type-name>, <user-defined-data-type-name>, ...} from '<bicep-file-name>'
or with wildcard syntax:
import * as <namespace> from '<bicep-file-name>'
You can mix and match the two preceding syntaxes.
Only user-defined data types that bear the @export() decorator can be imported. Currently, this decorator can only be used on type
statements.
Imported types can be used anywhere a user-defined type might be, for example, within the type clauses of type, param, and output statements.
Example
myTypes.bicep
@export()
type myString = string
@export()
type myInt = int
main.bicep
import * as myImports from 'myTypes.bicep'
import {myInt} from 'myTypes.bicep'
param exampleString myImports.myString = 'Bicep'
param exampleInt myInt = 3
output outString myImports.myString = exampleString
output outInt myInt = exampleInt
Import namespaces and extensibility providers
The syntax for importing the namespaces is:
import 'az@1.0.0'
import 'sys@1.0.0'
Both az
and sys
are Bicep built-in namespaces. They are imported by default. For more information about the data types and the functions defined in az
and sys
, see Data types and Bicep functions.
The syntax for importing Bicep extensibility providers is:
import '<provider-name>@<provider-version>' with {
<provider-properties>
}
For an example, see Bicep extensibility Kubernetes provider.
Next steps
- To learn about the Bicep data types, see Data types.
- To learn about the Bicep functions, see Bicep functions.
- To learn about how to use the Kubernetes provider, see Bicep extensibility Kubernetes provider.
- To go through a Kubernetes provider tutorial, see Quickstart - Deploy Azure applications to Azure Kubernetes Services by using Bicep Kubernetes provider..
Feedback
Submit and view feedback for