Skip to content

Jsonnet library for hashicorp/azurerm Terraform provider.

License

Notifications You must be signed in to change notification settings

tf-libsonnet/hashicorp-azurerm

Repository files navigation

tf-libsonnet/hashicorp-azurerm

Generate Terraform with Jsonnet

LICENSE latest release

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.

Usage

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:

Support

If you have any questions about how to use the tf.libsonnet libraries, ask in the Organization GitHub Discussion.

Contributing

Refer to the CONTRIBUTING.md document for information on how to contribute to tf.libsonnet.