Terraform

Terraform is a Declarative, Domain Specific Language, Infrastructure as code tool by HashiCorp used to manage public cloud platforms like Azure Google Cloud Provider Amazon Web Services, as well as self hosted platforms like VmWare vSphere.

Terraform uses a simple built upon individual blocks called Resources to build a Dependency Graph by linking items together.

The language supports tools for Lifecycle management, as well as Refactoring.

State File and Backend

If Terraform touches a secret, it is now in the state file.
This includes using a data block to reference a Azure Key Vault secret. the contents of that data go into state in plain text.

MOC

Providers

Null Provider
AzureRM Provider
AzureAD Provider
AzApi Provider
ALZ Provider
Ansible Provider
Time Provider
ALZ Provider

Backends

Azurerm Backend

Modules

Lz-vending Module
caf-enterprise-scale Module

Training and Certificates

HashiCorp Certified Terraform Associate

Inframap
Terragrunt
Terraform Cloud Development Kit

Snippets

Locals for Empty Values
Renaming Maps in a List of Maps
Referencing Key Vault Secrets in Azure Web Apps

Other

Terraform Tips and Tricks
[[terraform-cheat-sheet.pdf]]
How CAF TF module works
Conditional where Key is not known
Types in Terraform