Coder Social home page Coder Social logo

terraform-master-class-series's Introduction

Terraform syllabus

1. Introduction to terraform

a) Key concepts:

  • What is IAC?
  • What are the benefits of IAC?
  • What is Terraform?
  • Who is the vendor of terraform?
  • How do you write terraform configuration files?

b) How to install terraform:

  • What are the prerequisites for using terraform?
  • How to install terraform on MACOS / Windows using brew /choco
  • How to install Vscode
  • How to install AWS CLI
  • How to configure AWS credentials

2. Command basics:

a) Terraform workflow:

  • What is terraform workflow?
  • terraform init
  • terraform validate
  • terraform fmt
  • terraform plan
  • terraform apply
  • terraform destroy

b) Passing credentials to terraform workflow:

  • Static credentials
  • Environmental variables
  • Shared credential / configuration files.

c) Projects

3. Language syntax:

a) What are terraform top level blocks?

  • Terraform settings block
  • Provider block
  • Resource block
  • Variables block
  • Output block
  • Locals block
  • Data block
  • Modules block
  • Moved block
  • Import block

b) What makes up a terraform block?

  • Arguments
  • Expressions
  • Attributes
  • Meta-arguments

c) Projects

4. Settings

a) Set up for basic resource creation

  • Set up terraform settings block
  • Set up provider block
  • Set up resource block
  • Set up file function for user data

b) Projects

5. Variables and data sources

a) Use of variables to make code reusable

  • What are variables?
  • Variable types
  • How to reference variables from lists and maps
  • Variable files

b) Data sources

  • What are data sources
  • How are data sources used?

6. Meta arguments

  • Terraform functions
  • Count
  • for Loops over lists and maps
  • for_each loops over sets and maps
  • dynamic blocks using for_each loops
  • Conditionals using ternary operator

7. Modules and provisioners

a) Modules

  • What are modules?
  • Custom modules
  • Official modules

b) Provisioners

  • File
  • Remote exec
  • Local exec
  • Null resource

8. Terraform Backend

  • Local backend
  • Remote backend
  • State storage using s3
  • DynamoDb state locking

9. Local and Remote state data sources

  • Remote state data source
  • local state data source

10. Terraform best practices && Interview question

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.