{"id":22110754,"url":"https://github.com/rahulkumar-aws/mastering-cloud-with-terraform","last_synced_at":"2025-03-24T04:20:59.106Z","repository":{"id":260863443,"uuid":"882562579","full_name":"rahulkumar-aws/mastering-cloud-with-terraform","owner":"rahulkumar-aws","description":"Mastering Terraform: IaC with Real-World Examples. This book is a comprehensive guide to mastering Terraform, the industry-leading Infrastructure as Code (IaC) tool. Designed for professionals, enthusiasts, and students alike, this book takes you beyond the basics to unlock advanced Terraform capabilities through hands-on examples.","archived":false,"fork":false,"pushed_at":"2024-11-30T17:27:38.000Z","size":646,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T10:22:39.087Z","etag":null,"topics":["terraform-modules","terraform-provider","terrraform"],"latest_commit_sha":null,"homepage":"http://www.singletonmatrix.com","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rahulkumar-aws.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"authors.md","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-03T05:42:40.000Z","updated_at":"2024-12-02T12:46:13.000Z","dependencies_parsed_at":"2024-11-30T10:29:13.618Z","dependency_job_id":"b4fd9e34-04c2-4d03-a103-139a730290ef","html_url":"https://github.com/rahulkumar-aws/mastering-cloud-with-terraform","commit_stats":null,"previous_names":["rahulkumar-aws/mastering-terraform","rahulkumar-aws/mastering-cloud-with-terraform"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulkumar-aws%2Fmastering-cloud-with-terraform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulkumar-aws%2Fmastering-cloud-with-terraform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulkumar-aws%2Fmastering-cloud-with-terraform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulkumar-aws%2Fmastering-cloud-with-terraform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rahulkumar-aws","download_url":"https://codeload.github.com/rahulkumar-aws/mastering-cloud-with-terraform/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245207250,"owners_count":20577648,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["terraform-modules","terraform-provider","terrraform"],"created_at":"2024-12-01T10:23:34.176Z","updated_at":"2025-03-24T04:20:59.087Z","avatar_url":"https://github.com/rahulkumar-aws.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mastering Terraform: IaC with Real-World Examples\n---\n🚧 **Work in Progress** 🚧  \nThis book is currently under active development. Some chapters or examples may be incomplete or subject to change.  \nCheck back regularly for updates and improvements.\n\n[![Project Status: Work in Progress](https://img.shields.io/badge/Status-Work_in_Progress-yellow)](#)\n\n## Table of Contents: \n\n## 1. Understand Infrastructure as Code IaC Concepts\n1. [Explain what IaC is](./tutorials/1-understand-infrastructure-as-code-iac-concepts/explain-what-iac-is.md)\n2. [Describe advantages of IaC patterns](./tutorials/1-understand-infrastructure-as-code-iac-concepts/describe-advantages-of-iac-patterns.md)\n\n## 2. Understand the Purpose of Terraform vs Other IaC\n1. [Explain multi-cloud and provider-agnostic benefits](./tutorials/2-understand-the-purpose-of-terraform-vs-other-iac/explain-multi-cloud-and-provider-agnostic-benefits.md)\n2. [Explain the benefits of state](./tutorials/2-understand-the-purpose-of-terraform-vs-other-iac/explain-the-benefits-of-state.md)\n3. [Manage Resources in Terraform State](./tutorials/2-understand-the-purpose-of-terraform-vs-other-iac/manage-resources-in-terraform-state.md)\n\n## 3. Understand Terraform Basics\n1. [Install and version Terraform providers](./tutorials/3-understand-terraform-basics/install-and-version-terraform-providers.md)\n2. [Describe plugin-based architecture](./tutorials/3-understand-terraform-basics/describe-plugin-based-architecture.md)\n3. [Write Terraform configuration using multiple providers](./tutorials/3-understand-terraform-basics/write-terraform-configuration-using-multiple-providers.md)\n4. [Describe how Terraform finds and fetches providers](./tutorials/3-understand-terraform-basics/describe-how-terraform-finds-and-fetches-providers.md)\n\n## 4. Use Terraform Outside the Core Workflow\n1. [Describe when to use terraform import to import existing infrastructure into your Terraform state](./tutorials/4-use-terraform-outside-the-core-workflow/use-terraform-import-to-import-existing-infrastructure.md)\n2. [Use terraform state to view Terraform state](./tutorials/4-use-terraform-outside-the-core-workflow/use-terraform-state-to-view-terraform-state.md)\n3. [Describe when to enable verbose logging and what the outcome/value is](./tutorials/4-use-terraform-outside-the-core-workflow/describe-when-to-enable-verbose-logging.md)\n\n## 5. Interact with Terraform Modules\n1. [Contrast and use different module source options including the public Terraform Registry](./tutorials/5-interact-with-terraform-modules/use-different-module-source-options.md)\n2. [Interact with module inputs and outputs](./tutorials/5-interact-with-terraform-modules/interact-with-module-inputs-and-outputs.md)\n3. [Describe variable scope within modules/child modules](./tutorials/5-interact-with-terraform-modules/describe-variable-scope-within-modules.md)\n4. [Set module version](./tutorials/5-interact-with-terraform-modules/set-module-version.md)\n\n## 6. Use the Core Terraform Workflow\n1. [Describe Terraform workflow (Write -\u003e Plan -\u003e Create)](./tutorials/6-use-the-core-terraform-workflow/describe-terraform-workflow.md)\n2. [Initialize a Terraform working directory (terraform init)](./tutorials/6-use-the-core-terraform-workflow/initialize-a-terraform-working-directory-terraform-init.md)\n3. [Validate a Terraform configuration (terraform validate)](./tutorials/6-use-the-core-terraform-workflow/validate-a-terraform-configuration-terraform-validate.md)\n4. [Generate and review an execution plan for Terraform (terraform plan)](./tutorials/6-use-the-core-terraform-workflow/generate-and-review-an-execution-plan-for-terraform-terraform-plan.md)\n5. [Execute changes to infrastructure with Terraform (terraform apply)](./tutorials/6-use-the-core-terraform-workflow/execute-changes-to-infrastructure-with-terraform-terraform-apply.md)\n6. [Destroy Terraform managed infrastructure (terraform destroy)](./tutorials/6-use-the-core-terraform-workflow/destroy-terraform-managed-infrastructure-terraform-destroy.md)\n7. [Apply formatting and style adjustments (terraform fmt)](./tutorials/6-use-the-core-terraform-workflow/apply-formatting-and-style-adjustments-terraform-fmt.md)\n\n## 7. Implement and Maintain State\n1. [Describe default local backend](./tutorials/7-implement-and-maintain-state/describe-default-local-backend.md)\n2. [Describe state locking](./tutorials/7-implement-and-maintain-state/describe-state-locking.md)\n3. [Handle backend and cloud integration authentication methods](./tutorials/7-implement-and-maintain-state/handle-backend-and-cloud-integration-authentication-methods.md)\n4. [Differentiate remote state backend options](./tutorials/7-implement-and-maintain-state/differentiate-remote-state-backend-options.md)\n5. [Manage resource drift and Terraform state](./tutorials/7-implement-and-maintain-state/manage-resource-drift-and-terraform-state.md)\n6. [Describe backend block and cloud integration in configuration](./tutorials/7-implement-and-maintain-state/describe-backend-block-and-cloud-integration-in-configuration.md)\n7. [Understand secret management in state files](./tutorials/7-implement-and-maintain-state/understand-secret-management-in-state-files.md)\n\n## 8. Read, Generate, and Modify Configuration\n1. [Demonstrate use of variables and outputs](./tutorials/8-read-generate-and-modify-configuration/demonstrate-use-of-variables-and-outputs.md)\n2. [Describe secure secret injection best practices](./tutorials/8-read-generate-and-modify-configuration/describe-secure-secret-injection-best-practices.md)\n3. [Understand the use of collection and structural types](./tutorials/8-read-generate-and-modify-configuration/understand-the-use-of-collection-and-structural-types.md)\n4. [Create and differentiate resource and data configuration](./tutorials/8-read-generate-and-modify-configuration/create-and-differentiate-resource-and-data-configuration.md)\n5. [Use resource addressing and resource parameters to connect resources together](./tutorials/8-read-generate-and-modify-configuration/use-resource-addressing-and-resource-parameters.md)\n6. [Use HCL and Terraform functions to write configuration](./tutorials/8-read-generate-and-modify-configuration/use-hcl-and-terraform-functions.md)\n7. [Describe built-in dependency management (order of execution based)](./tutorials/8-read-generate-and-modify-configuration/describe-built-in-dependency-management.md)\n\n## 9. Understand HCP Terraform Capabilities\n1. [Explain how HCP Terraform helps manage infrastructure](./tutorials/9-understand-hcp-terraform-capabilities/explain-how-hcp-terraform-helps-manage-infrastructure.md)\n2. [Describe how HCP Terraform enables collaboration and governance](./tutorials/9-understand-hcp-terraform-capabilities/describe-how-hcp-terraform-enables-collaboration-and-governance.md)\n\n## [About the Author](./authors.md)\n\nLearn more about the author, including their expertise, background, and professional details, in the [authors.md](./authors.md) file.\n\n## License \n\nThis book is licensed under the **Creative Commons Attribution-NonCommercial-NoDerivs 4.0 International License (CC BY-NC-ND 4.0)**.  \nYou may share this material freely with attribution but may not use it for commercial purposes or distribute modified versions.  \nFor more details, see the full [LICENSE](./LICENSE.md).\n[![Creative Commons License](https://licensebuttons.net/l/by-nc-nd/4.0/88x31.png)](https://creativecommons.org/licenses/by-nc-nd/4.0/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahulkumar-aws%2Fmastering-cloud-with-terraform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frahulkumar-aws%2Fmastering-cloud-with-terraform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahulkumar-aws%2Fmastering-cloud-with-terraform/lists"}