{"id":640,"date":"2023-07-23T12:04:23","date_gmt":"2023-07-23T06:34:23","guid":{"rendered":"https:\/\/www.openwriteup.com\/?page_id=640"},"modified":"2023-07-24T18:21:01","modified_gmt":"2023-07-24T12:51:01","slug":"terraform-toc","status":"publish","type":"page","link":"https:\/\/www.openwriteup.com\/?page_id=640","title":{"rendered":"Terraform TOC"},"content":{"rendered":"<p><em><strong>Course Duration<\/strong><\/em><br \/>\n<em><strong>\u25cf 40+ Hours (5 full days) Approx. Drop mail at : support@openwriteup.com<\/strong><\/em><\/p>\n<pre><em>github link: <a href=\"https:\/\/github.com\/amitopenwriteup\/terraform\">https:\/\/github.com\/amitopenwriteup\/terraform<\/a><\/em><\/pre>\n<p><em><span style=\"text-decoration: underline;\"><strong>Training Topics<\/strong><\/span><\/em><br \/>\n<em><strong>IaC introduction<\/strong><\/em><br \/>\n<em>\u2022 What is Infrastructure as Code<\/em><br \/>\n<em>\u2022 Advantages of IaC<\/em><br \/>\n<em>Installation<\/em><br \/>\n<em>\u2022 Installing<\/em><br \/>\n<em>o Terraform<\/em><br \/>\n<em>\u25aa on windows<\/em><br \/>\n<em>\u25aa linux<\/em><br \/>\n<em>o VS Code<\/em><br \/>\n<em>o aws cli<\/em><br \/>\n<em>\u25aa aws configure<\/em><br \/>\n<em>o VPC support confirmation<\/em><br \/>\n<em><strong>Terraform<\/strong><\/em><br \/>\n<em>\u2022 What is Terraform<\/em><br \/>\n<em>\u2022 Advantages of Terraform<\/em><br \/>\n<em>\u2022 Installing Terraform<\/em><br \/>\n<em>\u2022 Core Terraform Workflow<\/em><br \/>\n<em>o Write\/Init<\/em><br \/>\n<em>o Plan <\/em><br \/>\n<em>o Apply<\/em><br \/>\n<em>Destroy<\/em><br \/>\n<em><strong>\u2022 Terraform Plugins architecture<\/strong><\/em><br \/>\n<em>Infrastructure provisioning with Terraform<\/em><br \/>\n<em>\u2022 Creating an EC2 instance<\/em><br \/>\n<em>\u2022 Understanding Resources &amp; Providers <\/em><br \/>\n<em>\u2022 Destroying Infrastructure with Terraform<\/em><br \/>\n<em>Understanding the details<\/em><br \/>\n<em>\u2022 Understanding Terraform State files <\/em><br \/>\n<em>\u2022 Understanding Desired &amp; Current States <\/em><br \/>\n<em>\u2022 Challenges with the current state on computed values <\/em><br \/>\n<em>\u2022 Terraform Provider Versioning<\/em><br \/>\n<em><strong>Configuring the environment<\/strong><\/em><br \/>\n<em>\u2022 Attributes <\/em><br \/>\n<em>\u2022 Output Values <\/em><br \/>\n<em>\u2022 Terraform Variables<\/em><br \/>\n<em>\u2022 Data Types for Variables<\/em><br \/>\n<em>\u2022 Fetching Data from Maps and List in Variable<\/em><br \/>\n<em>\u2022 Count and Count Index<\/em><br \/>\n<em>\u2022 Conditional Expressions<\/em><br \/>\n<em>\u2022 Local Values<\/em><br \/>\n<em>\u2022 Terraform Functions<\/em><br \/>\n<em>\u2022 Data Sources<\/em><br \/>\n<em>\u2022 Debugging in Terraform<\/em><br \/>\n<em>\u2022 Terraform Format<\/em><br \/>\n<em>\u2022 Validating Terraform Configuration Files<\/em><br \/>\n<em>\u2022 Load Order &amp; Semantics<\/em><br \/>\n<em>\u2022 Dynamic Blocks<\/em><br \/>\n<em>\u2022 Tainting Resources<\/em><br \/>\n<em>\u2022 Splat Expressions<\/em><br \/>\n<em>\u2022 Terraform Graph<\/em><br \/>\n<em>\u2022 Saving Terraform Plan to File<\/em><br \/>\n<em>\u2022 Terraform Output<\/em><br \/>\n<em>\u2022 Terraform Settings<\/em><br \/>\n<em>\u2022 Large Infrastructure<\/em><br \/>\n<em>\u2022 Comments in Terraform<\/em><br \/>\n<em>\u2022 Challenges with Count Meta-Argument<\/em><br \/>\n<em>\u2022 Data Type &#8211; SET<\/em><br \/>\n<em>\u2022 for_each in Terraform<\/em><br \/>\n<em><strong>Terraform Provisioners<\/strong><\/em><br \/>\n<em>\u2022 Terraform Provisioners<\/em><br \/>\n<em>\u2022 Understanding Provisioners in Terraform<\/em><br \/>\n<em>\u2022 Types of Provisioners<\/em><br \/>\n<em>\u2022 Implementing remote-exec provisioners<\/em><br \/>\n<em>\u2022 Implementing local-exec provisioners<\/em><br \/>\n<em>\u2022 Creation-Time &amp; Destroy-Time Provisioners<\/em><br \/>\n<em>\u2022 Failure Behavior for Provisioners<\/em><br \/>\n<em>\u2022 Null Resource<\/em><br \/>\n<em><strong>Terraform Modules and Workspaces<\/strong><\/em><br \/>\n<em>\u2022 Understanding DRY principle<\/em><br \/>\n<em>\u2022 Implementing EC2 module with Terraform<\/em><br \/>\n<em>\u2022 Variables and Terraform Modules<\/em><br \/>\n<em>\u2022 Using Locals with Modules<\/em><br \/>\n<em>\u2022 Referencing Module Outputs<\/em><br \/>\n<em>\u2022 Terraform Registry<\/em><br \/>\n<em>\u2022 Requirement for Publishing Modules in Terraform Registry<\/em><br \/>\n<em>\u2022 Terraform Workspace<\/em><br \/>\n<em>\u2022 Implementing Terraform Workspace<\/em><br \/>\n<em><strong>Remote State Management<\/strong><\/em><br \/>\n<em>\u2022 Integrating with GIT for team management<\/em><br \/>\n<em>\u2022 Security Challenges in Committing TFState to GIT<\/em><br \/>\n<em>\u2022 Module Sources in Terraform<\/em><br \/>\n<em>\u2022 Terraform and .gitignore<\/em><br \/>\n<em>\u2022 Terraform Backends<\/em><br \/>\n<em>\u2022 Implementing S3 Backend<\/em><br \/>\n<em>\u2022 State File locking<\/em><br \/>\n<em>\u2022 Integrating DynamoDB with S3 for state locking<\/em><br \/>\n<em>\u2022 Terraform State Management<\/em><br \/>\n<em>\u2022 Cross- Project Collaboration using Remote State<\/em><br \/>\n<em>\u2022 Implementing Remote States Connections<\/em><br \/>\n<em>\u2022 Importing Existing Resources with Terraform Import<\/em><br \/>\n<em><strong>Security<\/strong> <\/em><br \/>\n<em>\u2022 Handling Access &amp; Secret Keys the Right Way in Providers<\/em><br \/>\n<em>\u2022 Terraform Provider UseCase &#8211; Resources in Multiple Regions<\/em><br \/>\n<em>\u2022 Handling Multiple AWS Profiles with Terraform Providers<\/em><br \/>\n<em>\u2022 Terraform &amp; Assume Role with AWS STS<\/em><br \/>\n<em>\u2022 Sensitive Parameter<\/em><br \/>\n<em>\u2022 Note &#8211; HashiCorp Vault<\/em><br \/>\n<em>\u2022 Overview of HashiCorp Vault<\/em><br \/>\n<em>\u2022 Terraform and Vault Integration<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Course Duration \u25cf 40+ Hours (5 full days) Approx. Drop mail at : support@openwriteup.com github link: https:\/\/github.com\/amitopenwriteup\/terraform Training Topics IaC introduction \u2022 What is Infrastructure as Code \u2022 Advantages of IaC Installation \u2022 Installing o Terraform \u25aa on windows \u25aa linux o VS Code o aws cli \u25aa aws configure o VPC support confirmation Terraform \u2022 What is Terraform \u2022 Advantages of Terraform \u2022 Installing Terraform \u2022 Core Terraform Workflow o Write\/Init o Plan o Apply Destroy \u2022 Terraform Plugins architecture Infrastructure provisioning with Terraform \u2022 Creating an EC2 instance \u2022 Understanding Resources &amp; Providers \u2022 Destroying Infrastructure with Terraform Understanding the details \u2022 Understanding Terraform State files \u2022 Understanding Desired &amp; Current States \u2022 Challenges with the current state on computed values \u2022 Terraform Provider Versioning Configuring the environment \u2022 Attributes \u2022 Output Values \u2022 Terraform Variables \u2022 Data Types for Variables \u2022 Fetching Data from Maps and List in Variable \u2022 Count and Count Index \u2022 Conditional Expressions \u2022 Local Values \u2022 Terraform Functions \u2022 Data Sources \u2022 Debugging in Terraform \u2022 Terraform Format \u2022 Validating Terraform Configuration Files \u2022 Load Order &amp; Semantics \u2022 Dynamic Blocks \u2022 Tainting Resources \u2022 Splat Expressions \u2022 Terraform Graph \u2022 Saving Terraform Plan to File \u2022 Terraform Output \u2022 Terraform Settings \u2022 Large Infrastructure \u2022 Comments in Terraform \u2022 Challenges with Count Meta-Argument \u2022 Data Type &#8211; SET \u2022 for_each in Terraform Terraform Provisioners \u2022 Terraform Provisioners \u2022 Understanding Provisioners in Terraform \u2022 Types of Provisioners \u2022 Implementing remote-exec provisioners \u2022 Implementing local-exec provisioners \u2022 Creation-Time &amp; Destroy-Time Provisioners \u2022 Failure Behavior for Provisioners \u2022 Null Resource Terraform Modules and Workspaces \u2022 Understanding DRY principle \u2022 Implementing EC2 module with Terraform \u2022 Variables and Terraform Modules \u2022 Using Locals with Modules \u2022 Referencing Module Outputs \u2022 Terraform Registry \u2022 Requirement for Publishing Modules in Terraform Registry \u2022 Terraform Workspace \u2022 Implementing Terraform Workspace Remote State Management \u2022 Integrating with GIT for team management \u2022 Security Challenges in Committing TFState to GIT \u2022 Module Sources in Terraform \u2022 Terraform and .gitignore \u2022 Terraform Backends \u2022 Implementing S3 Backend \u2022 State File locking \u2022 Integrating DynamoDB with S3 for state locking \u2022 Terraform State Management \u2022 Cross- Project Collaboration using Remote State \u2022 Implementing Remote States Connections \u2022 Importing Existing Resources with Terraform Import Security \u2022 Handling Access &amp; Secret Keys the Right Way in Providers \u2022 Terraform Provider UseCase &#8211; Resources in Multiple Regions \u2022 Handling Multiple AWS Profiles with Terraform Providers \u2022 Terraform &amp; Assume Role with AWS STS \u2022 Sensitive Parameter \u2022 Note &#8211; HashiCorp Vault \u2022 Overview of HashiCorp Vault \u2022 Terraform and Vault Integration<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-640","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.openwriteup.com\/index.php?rest_route=\/wp\/v2\/pages\/640","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.openwriteup.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.openwriteup.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.openwriteup.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.openwriteup.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=640"}],"version-history":[{"count":4,"href":"https:\/\/www.openwriteup.com\/index.php?rest_route=\/wp\/v2\/pages\/640\/revisions"}],"predecessor-version":[{"id":731,"href":"https:\/\/www.openwriteup.com\/index.php?rest_route=\/wp\/v2\/pages\/640\/revisions\/731"}],"wp:attachment":[{"href":"https:\/\/www.openwriteup.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=640"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}