Generate Terraform with Jsonnet
This repository contains Jsonnet functions for generating resources and data sources for the hashicorp/azurerm Terraform provider.
Learn more about tf.libsonnet
at docs.tflibsonnet.com.
IMPORTANT
This library is generated using tf-libsonnet/libgenerator. If you find an issue with the generated code, please file an issue in the
libgenerator
repository.If you would like to contribute a change, you may open a Pull Request with a suggested change, but please note that it will not be merged in until the necessary updates have been made to the generator.
Install the package using jsonnet-bundler:
jb install github.com/tf-libsonnet/hashicorp-azurerm@main
# Or if you want to install a specific release
# jb install github.com/tf-libsonnet/hashicorp-azurerm@v0.0.1
# Or if you want to install bindings for a specific provider major version series
# jb install github.com/tf-libsonnet/hashicorp-azurerm/3.x@main
You can then import the package in your Jsonnet code:
// main.tf.json.jsonnet
local azurerm = import 'github.com/tf-libsonnet/hashicorp-azurerm/main.libsonnet';
azurerm.provider.new(
features=[
azurerm.provider.features.new(
virtual_machine=[azurerm.provider.features.virtual_machine.new(delete_os_disk_on_deletion=false)],
)
],
src='hashicorp/azurerm',
)
+ azurerm.resource_group.new('example', name='example', location='West Europe')
This will generate the following Terraform JSON :
{
"provider": {
"azurerm": [
{
"features": [
{
"virtual_machine": [
{
"delete_os_disk_on_deletion": false
}
]
}
]
}
]
},
"resource": {
"azurerm_resource_group": {
"example": {
"location": "West Europe",
"name": "example"
}
}
},
"terraform": {
"required_providers": {
"azurerm": {
"source": "hashicorp/azurerm"
}
}
}
}
Refer to the reference docs for a list of supported data sources and resources:
If you have any questions about how to use the tf.libsonnet
libraries, ask in the Organization GitHub
Discussion.
Refer to the CONTRIBUTING.md document for information on how to contribute to tf.libsonnet
.