Skip to content
This repository was archived by the owner on Oct 12, 2023. It is now read-only.

About

Generator for azure terraform module project.

Resources

Code of conduct

Security policy

Stars

31 stars

Watchers

3 watching

Forks

Latest commit

 

History

43 Commits

Folders and files

Repository files navigation

Contributing

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Azure Terraform Module Generator

generator-az-terra-module creates base template to start a new terraform module along with terratest for automatically testing the module.

Terraform module template walkthrough

Prerequisites

  1. Install latest Node LTS.
  2. npm install -g yo
  3. npm install -g generator-az-terra-module

Usage

$ yo az-terra-module

NOTE: This template will generate files in the current directory, so be sure to always run it against a new directory.

Set Service Principal of Azure for Terraform

Prepare for Native Run

If you're a big fan of everything in native, please run the below script to set up the environment:

$ sudo ./env_setup.sh

Prepare for Docker Run

If you're a big fan of using Docker containers, please follow the instructions below to quickly set up a Docker container. Not a big fan of Docker containers, that's OK too, you can choose to exclude the Dockerfile from your project template.

$ docker build --build-arg BUILD_ARM_SUBSCRIPTION_ID=$ARM_SUBSCRIPTION_ID --build-arg BUILD_ARM_CLIENT_ID=$ARM_CLIENT_ID --build-arg BUILD_ARM_CLIENT_SECRET=$ARM_CLIENT_SECRET --build-arg BUILD_ARM_TENANT_ID=$ARM_TENANT_ID -t terra-mod-example .
$ docker run -it terra-mod-example /bin/sh

Build module

$ bundle install
$ rake build

Run module

$ terraform init
$ terraform plan
$ terraform apply

Test module

$ rake e2e

About

Generator for azure terraform module project.

Resources

Code of conduct

Security policy

Stars

31 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages