hands-on lab

Using Provisioners with Terraform in Azure

Beginner
30m
905
4.5/5
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab description

Terraform uses HCL, a declarative language that is great for managing the abundance of cloud resources. However, it's declarative nature introduces pain points in automation tasks where procedural languages like PowerShell or Bash perform much better. Provisioners can help with this by automating additional steps when creating or destroying Terraform resources. They can be a powerful tool in the Terraform developer's toolbelt. However, it's important to know from the start that with provisioners comes a cost. Introducing provisioners into Terraform code can cause the code to become complex and introduce other pain points like network or software dependencies in the Terraform configuration. This is why it is important to be aware of how to use provisioners and understand that they should be used as a last resort when developing a solution.

In this lab, you will learn how to create a provisioner to automate additional tasks when creating and destroying an ACR resource.

Learning Objectives

Upon completion of this lab you will be able to:

  • Understand how to create Terraform provisioners
  • Know when to use provisioners

Intended Audience

This lab is intended for:

  • Individuals studying to take the HashiCorp Certified: Terraform Associate exam
  • Anyone interested in learning how to use Terraform to manage Cloud Service Providers

Prerequisites

You should be familiar with:

  • Cloud Services
  • DevOps
  • Basic understanding of Terraform deployments

The following course and lab can be used to fulfill the prerequisites:

Environment before
Environment after
About the author
Avatar
Luke Orellana
Cloud Labs Developer
Students
19,061
Labs
42
Courses
1
Learning paths
15

Luke is a Site Reliability Engineer at Microsoft. His background is infrastructure development using Terraform and in 2021 he was awarded the HashiCorp Ambassador award. He is an Azure DevOps Engineer Expert, Azure Administrator Associate, and HashiCorp Certified - Terraform Associate.

Covered topics
Lab steps
Create a Terraform Provisioner in Azure