diff --git a/src/data/roadmaps/terraform/content/-replace-option-in-apply@jvHtSRLuCXJrGIiesgbE-.md b/src/data/roadmaps/terraform/content/-replace-option-in-apply@jvHtSRLuCXJrGIiesgbE-.md index b9b426776..5cd3aaaca 100644 --- a/src/data/roadmaps/terraform/content/-replace-option-in-apply@jvHtSRLuCXJrGIiesgbE-.md +++ b/src/data/roadmaps/terraform/content/-replace-option-in-apply@jvHtSRLuCXJrGIiesgbE-.md @@ -1,9 +1,9 @@ # -replace option in apply -The -replace flag in Terraform is used with the apply or plan command to force the replacement of a specific resource by tainting the resources. This flag instructs Terraform to delete and recreate the specified resource instead of updating it in place. It's useful when you need to regenerate a resource completely, such as when certain attributes can't be modified after creation. The flag is typically used when Terraform can't automatically detect that a resource needs replacement, or when you want to force a replacement for testing or troubleshooting purposes. While powerful, this flag should be used cautiously, especially with stateful resources, as it can lead to data loss. It's often employed in scenarios where in-place updates are not sufficient to achieve the desired configuration state of a resource. +The `-replace` flag in Terraform is used with the apply or plan command to force the replacement of a specific resource by tainting the resources. This flag instructs Terraform to delete and recreate the specified resource instead of updating it in place. It's useful when you need to regenerate a resource completely, such as when certain attributes can't be modified after creation. The flag is typically used when Terraform can't automatically detect that a resource needs replacement, or when you want to force a replacement for testing or troubleshooting purposes. While powerful, this flag should be used cautiously, especially with stateful resources, as it can lead to data loss. It's often employed in scenarios where in-place updates are not sufficient to achieve the desired configuration state of a resource. Learn more from the following resources: -- [@article@Forcing Re-creation of Resources](https://developer.hashicorp.com/terraform/cli/state/taint) +- [@official@Forcing Re-creation of Resources](https://developer.hashicorp.com/terraform/cli/state/taint) - [@article@Terraform Taint, Untaint, Replace – How to Use It (Examples)](https://spacelift.io/blog/terraform-taint) - [@video@Terraform Taint Is Bad Actually - Use Replace Instead](https://www.youtube.com/watch?v=v_T1fuYGjV0) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/authentication@RPcsyhIG027uP7KF0hwaY.md b/src/data/roadmaps/terraform/content/authentication@RPcsyhIG027uP7KF0hwaY.md index a2c32ebd7..f40ead0e9 100644 --- a/src/data/roadmaps/terraform/content/authentication@RPcsyhIG027uP7KF0hwaY.md +++ b/src/data/roadmaps/terraform/content/authentication@RPcsyhIG027uP7KF0hwaY.md @@ -4,6 +4,6 @@ HCP (HashiCorp Cloud Platform) authentication provides secure access management Learn more from the following resources: -- [@official@hcp auth login](https://developer.hashicorp.com/hcp/docs/cli/commands/auth/login) -- [@article@Authenticate with HCP](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/guides/auth) +- [@official@HCP Authentication](https://developer.hashicorp.com/hcp/docs/cli/commands/auth/login) +- [@official@Authenticate with HCP](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/guides/auth) - [@opensource@hashicorp/hcp-auth-login](https://github.com/hashicorp/hcp-auth-action) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/checkov@ljj7ngl1N4ezCXQ0o6Y8x.md b/src/data/roadmaps/terraform/content/checkov@ljj7ngl1N4ezCXQ0o6Y8x.md index a7df3d507..e6b40ffb0 100644 --- a/src/data/roadmaps/terraform/content/checkov@ljj7ngl1N4ezCXQ0o6Y8x.md +++ b/src/data/roadmaps/terraform/content/checkov@ljj7ngl1N4ezCXQ0o6Y8x.md @@ -4,6 +4,6 @@ Checkov is an open-source static code analysis tool designed for scanning Infras Learn more from the following resources: -- [@official@Checkov Website](https://www.checkov.io/) +- [@official@Checkov](https://www.checkov.io/) - [@opensource@bridgecrewio/checkov](https://github.com/bridgecrewio/checkov) - [@article@Scanning Terraform Code with Checkov](https://devopscube.com/terraform-checkov-scan/) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/circle-ci@6OoAdvikyp0byMH2oZhyQ.md b/src/data/roadmaps/terraform/content/circle-ci@6OoAdvikyp0byMH2oZhyQ.md index d298825b9..6557f4a3b 100644 --- a/src/data/roadmaps/terraform/content/circle-ci@6OoAdvikyp0byMH2oZhyQ.md +++ b/src/data/roadmaps/terraform/content/circle-ci@6OoAdvikyp0byMH2oZhyQ.md @@ -4,6 +4,6 @@ Integrating Terraform with CircleCI enables automated infrastructure management Learn more from the following resources: -- [@official@Deploy infrastructure with Terraform and CircleCI](https://developer.hashicorp.com/terraform/tutorials/automation/circle-ci) +- [@official@Deploy Infrastructure with Terraform and CircleCI](https://developer.hashicorp.com/terraform/tutorials/automation/circle-ci) - [@opensource@CircleCI Terraform Orb](https://circleci.com/developer/orbs/orb/circleci/terraform) - [@article@How I deployed terraform resources with CircleCI](https://medium.com/nerd-for-tech/how-i-deployed-terraform-resources-with-circleci-628aa29ed514) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/contract-testing@bjozhkpOI9UjjNfmT5HhY.md b/src/data/roadmaps/terraform/content/contract-testing@bjozhkpOI9UjjNfmT5HhY.md index 47b5bdfc4..7215cf023 100644 --- a/src/data/roadmaps/terraform/content/contract-testing@bjozhkpOI9UjjNfmT5HhY.md +++ b/src/data/roadmaps/terraform/content/contract-testing@bjozhkpOI9UjjNfmT5HhY.md @@ -4,6 +4,6 @@ Terraform contract testing focuses on verifying the interfaces and interactions Learn more from the following resources: -- [@article@Terraform Contract Tests](https://www.hashicorp.com/blog/testing-hashicorp-terraform#contract-tests) +- [@official@Terraform Contract Tests](https://www.hashicorp.com/blog/testing-hashicorp-terraform#contract-tests) - [@article@Contract Testing: An Introduction and Guide](https://www.blazemeter.com/blog/contract-testing#:~:text=Contract%20testing%20focuses%20on%20verifying,services%20that%20rely%20on%20it.) - [@video@Contract testing for microservices is a must!](https://www.youtube.com/watch?v=Fh8CqZtghQw) diff --git a/src/data/roadmaps/terraform/content/creation--destroy-time@CJfCpRN_oVf6n_EfLNJSV.md b/src/data/roadmaps/terraform/content/creation--destroy-time@CJfCpRN_oVf6n_EfLNJSV.md index 915315a4d..c98b36c10 100644 --- a/src/data/roadmaps/terraform/content/creation--destroy-time@CJfCpRN_oVf6n_EfLNJSV.md +++ b/src/data/roadmaps/terraform/content/creation--destroy-time@CJfCpRN_oVf6n_EfLNJSV.md @@ -6,6 +6,6 @@ Creation-time provisioners that fail will cause the resource creation to fail, p Learn more from the following resources: -- [@official@Creation time provisioners](https://developer.hashicorp.com/terraform/language/resources/provisioners/syntax#creation-time-provisioners) -- [@official@Destroy time provisioners](https://developer.hashicorp.com/terraform/language/resources/provisioners/syntax#destroy-time-provisioners) -- [@article@How to: Terraform destroy time provisioners](https://support.hashicorp.com/hc/en-us/articles/11119084989587-How-to-Terraform-Destroy-time-Provisioners) \ No newline at end of file +- [@official@Creation Time Provisioners](https://developer.hashicorp.com/terraform/language/resources/provisioners/syntax#creation-time-provisioners) +- [@official@Destroy Time Provisioners](https://developer.hashicorp.com/terraform/language/resources/provisioners/syntax#destroy-time-provisioners) +- [@official@How to: Terraform destroy time provisioners](https://support.hashicorp.com/hc/en-us/articles/11119084989587-How-to-Terraform-Destroy-time-Provisioners) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/custom-provisioners@HEr-BBxE3jRKTqRnguds1.md b/src/data/roadmaps/terraform/content/custom-provisioners@HEr-BBxE3jRKTqRnguds1.md index e4d4a3899..54e2e66d1 100644 --- a/src/data/roadmaps/terraform/content/custom-provisioners@HEr-BBxE3jRKTqRnguds1.md +++ b/src/data/roadmaps/terraform/content/custom-provisioners@HEr-BBxE3jRKTqRnguds1.md @@ -6,5 +6,5 @@ Developing custom provisioners requires a deep understanding of Terraform's arch Learn more from the following resources: -- [@official@Terraform provisioners](https://developer.hashicorp.com/terraform/language/resources/provisioners/syntax) -- [@article@Terraform provisioners - Why you should avoid them](https://spacelift.io/blog/terraform-provisioners) \ No newline at end of file +- [@official@Terraform Provisioners](https://developer.hashicorp.com/terraform/language/resources/provisioners/syntax) +- [@article@Terraform Provisioners - Why you should avoid them](https://spacelift.io/blog/terraform-provisioners) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/deployment@pjmOK1MEMnIV_zAlaOF01.md b/src/data/roadmaps/terraform/content/deployment@pjmOK1MEMnIV_zAlaOF01.md index c2f3054de..9685b5bbd 100644 --- a/src/data/roadmaps/terraform/content/deployment@pjmOK1MEMnIV_zAlaOF01.md +++ b/src/data/roadmaps/terraform/content/deployment@pjmOK1MEMnIV_zAlaOF01.md @@ -8,4 +8,4 @@ Deploying Terraform-defined infrastructure involves several key steps: You can learn more from the following resources: -- [@article@The Core Terraform Workflow](https://developer.hashicorp.com/terraform/intro/core-workflow) \ No newline at end of file +- [@official@The Core Terraform Workflow](https://developer.hashicorp.com/terraform/intro/core-workflow) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/end-to-end-testing@QqwlAtz7VfrMtNEGpT5Sa.md b/src/data/roadmaps/terraform/content/end-to-end-testing@QqwlAtz7VfrMtNEGpT5Sa.md index 82c064a85..7914ac8e0 100644 --- a/src/data/roadmaps/terraform/content/end-to-end-testing@QqwlAtz7VfrMtNEGpT5Sa.md +++ b/src/data/roadmaps/terraform/content/end-to-end-testing@QqwlAtz7VfrMtNEGpT5Sa.md @@ -4,6 +4,6 @@ Terraform end-to-end testing involves validating the entire infrastructure deplo Learn more from the following resources: -- [@artice@Getting Started: End to End Tests](https://tf2project.io/docs/getting-started/end-to-end-tests.html) +- [@article@Getting Started: End to End Tests](https://tf2project.io/docs/getting-started/end-to-end-tests.html) - [@article@End-to-end tests](https://www.hashicorp.com/blog/testing-hashicorp-terraform#end-to-end-tests) - [@video@End To End Testing On Terraform With Terratest](https://www.youtube.com/watch?v=PlzL6Bv2fSA) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/enterprise-features@elW7IMBSF0ydmlb7rtI1o.md b/src/data/roadmaps/terraform/content/enterprise-features@elW7IMBSF0ydmlb7rtI1o.md index e877a4980..1e81016b1 100644 --- a/src/data/roadmaps/terraform/content/enterprise-features@elW7IMBSF0ydmlb7rtI1o.md +++ b/src/data/roadmaps/terraform/content/enterprise-features@elW7IMBSF0ydmlb7rtI1o.md @@ -22,6 +22,6 @@ These features collectively provide a robust, secure, and scalable environment f Learn more from the following resources: -- [@official@HCP Website](https://www.hashicorp.com/cloud) -- [@article@HCP Terraform Plans and Features](https://developer.hashicorp.com/terraform/cloud-docs/overview) +- [@official@HashiCorp Cloud Platform](https://www.hashicorp.com/cloud) +- [@official@HCP Terraform Plans and Features](https://developer.hashicorp.com/terraform/cloud-docs/overview) - [@video@How does The Infrastructure Cloud work?](https://www.youtube.com/watch?v=zWWGsJrWj5E) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/environment-variables@fm8oUyNvfdGWTgLsYANUr.md b/src/data/roadmaps/terraform/content/environment-variables@fm8oUyNvfdGWTgLsYANUr.md index e6502f208..7d8754859 100644 --- a/src/data/roadmaps/terraform/content/environment-variables@fm8oUyNvfdGWTgLsYANUr.md +++ b/src/data/roadmaps/terraform/content/environment-variables@fm8oUyNvfdGWTgLsYANUr.md @@ -1,6 +1,6 @@ # Environment Variables -Environment variables can be used to customize various aspects of Terraform. You can set these variables to change the default behaviour of terraform such as increase verbosity, update log file path, set workspace, etc. Envrionment variables are optional and terraform does not need them by default. +Environment variables can be used to customize various aspects of Terraform. You can set these variables to change the default behaviour of terraform such as increase verbosity, update log file path, set workspace, etc. Environment variables are optional and terraform does not need them by default. Learn more from the following resources: diff --git a/src/data/roadmaps/terraform/content/file-provisioner@Qch8k6e4pS8OlmG_sI0hH.md b/src/data/roadmaps/terraform/content/file-provisioner@Qch8k6e4pS8OlmG_sI0hH.md index 51d30a3a7..e09189593 100644 --- a/src/data/roadmaps/terraform/content/file-provisioner@Qch8k6e4pS8OlmG_sI0hH.md +++ b/src/data/roadmaps/terraform/content/file-provisioner@Qch8k6e4pS8OlmG_sI0hH.md @@ -4,5 +4,5 @@ The Terraform file provisioner is used to copy files or directories from the mac Learn more from the following resources: -- [@official@Terraform file provisioner](https://developer.hashicorp.com/terraform/language/resources/provisioners/file) -- [@article@The file provisioner](https://learning-ocean.com/tutorials/terraform/terraform-file-provisioner/) \ No newline at end of file +- [@official@Terraform File Provisioner](https://developer.hashicorp.com/terraform/language/resources/provisioners/file) +- [@article@The File Provisioner](https://learning-ocean.com/tutorials/terraform/terraform-file-provisioner/) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/for_each@gcdg_GhAacIWzv19ITTE_.md b/src/data/roadmaps/terraform/content/for_each@gcdg_GhAacIWzv19ITTE_.md index 74177d7f6..7636ae007 100644 --- a/src/data/roadmaps/terraform/content/for_each@gcdg_GhAacIWzv19ITTE_.md +++ b/src/data/roadmaps/terraform/content/for_each@gcdg_GhAacIWzv19ITTE_.md @@ -2,7 +2,7 @@ The for_each meta-argument in Terraform enables you to create multiple instances of a resource based on a set or map. Unlike count, which uses a simple integer, for_each allows for more granular and dynamic resource creation, as each instance is associated with a specific key-value pair from the given set or map. This meta-argument is particularly useful for creating resources with unique configurations derived from the keys and values of the set or map. By leveraging for_each, you can manage collections of resources more efficiently, ensuring each instance can be individually referenced and customized based on its specific key. -Note: You cannot declare for_each and count in the same resource. +Note: You cannot declare `for_each` and `count` in the same resource. Learn more from the following resources: diff --git a/src/data/roadmaps/terraform/content/github-actions@weIlGqGN15U8BH1yE9moA.md b/src/data/roadmaps/terraform/content/github-actions@weIlGqGN15U8BH1yE9moA.md index 2c3a7b06e..797bee484 100644 --- a/src/data/roadmaps/terraform/content/github-actions@weIlGqGN15U8BH1yE9moA.md +++ b/src/data/roadmaps/terraform/content/github-actions@weIlGqGN15U8BH1yE9moA.md @@ -4,6 +4,7 @@ Using Terraform with GitHub Actions allows for automated infrastructure manageme Learn more from the following resources: +- [@official@GitHub Actions](https://docs.github.com/en/actions) - [@official@Automate Terraform with GitHub Actions](https://developer.hashicorp.com/terraform/tutorials/automation/github-actions) - [@article@Terraform with GitHub Actions : How to Manage & Scale](https://spacelift.io/blog/github-actions-terraform) - [@opensource@setup-terraform](https://github.com/hashicorp/setup-terraform) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/gitlab-ci@fH27mGrdnkDQCrGGDFU6p.md b/src/data/roadmaps/terraform/content/gitlab-ci@fH27mGrdnkDQCrGGDFU6p.md index 33638b60a..bbc4cf45d 100644 --- a/src/data/roadmaps/terraform/content/gitlab-ci@fH27mGrdnkDQCrGGDFU6p.md +++ b/src/data/roadmaps/terraform/content/gitlab-ci@fH27mGrdnkDQCrGGDFU6p.md @@ -4,6 +4,6 @@ Using Terraform with GitLab CI enables automated infrastructure management withi Learn more from the following resources: -- [@article@Infrastructure as Code with Terraform and GitLab](https://docs.gitlab.com/ee/user/infrastructure/iac/) +- [@official@Infrastructure as Code with Terraform and GitLab](https://docs.gitlab.com/ee/user/infrastructure/iac/) - [@article@How to Implement GitLab CI/CD Pipeline with Terraform](https://spacelift.io/blog/gitlab-terraform) - [@video@Automate deploying to AWS using Terraform with GitLab CICD pipeline](https://www.youtube.com/watch?v=oqOzM_WBqZc) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/hashicorp-config-language-hcl@qhO7CY-1_vuh2BVJYQCzh.md b/src/data/roadmaps/terraform/content/hashicorp-config-language-hcl@qhO7CY-1_vuh2BVJYQCzh.md index 0b24e7f63..cec22fe9a 100644 --- a/src/data/roadmaps/terraform/content/hashicorp-config-language-hcl@qhO7CY-1_vuh2BVJYQCzh.md +++ b/src/data/roadmaps/terraform/content/hashicorp-config-language-hcl@qhO7CY-1_vuh2BVJYQCzh.md @@ -4,5 +4,5 @@ HashiCorp Configuration Language (HCL) is a configuration language built by Hash Learn more from the following resources: -- [@official@Terraform Language Documentation(https://developer.hashicorp.com/terraform/language) +- [@official@Terraform Language Documentation](https://developer.hashicorp.com/terraform/language) - [@opensource@HCL Repository](https://github.com/hashicorp/hcl) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/import-existing-resources@L7wAMGi_yU-Bbc9fXlmxZ.md b/src/data/roadmaps/terraform/content/import-existing-resources@L7wAMGi_yU-Bbc9fXlmxZ.md index 857c46a44..5245edb89 100644 --- a/src/data/roadmaps/terraform/content/import-existing-resources@L7wAMGi_yU-Bbc9fXlmxZ.md +++ b/src/data/roadmaps/terraform/content/import-existing-resources@L7wAMGi_yU-Bbc9fXlmxZ.md @@ -1,6 +1,6 @@ # Import Existing Resources -terraform state import is a command used to bring existing resources under Terraform management. It allows you to add resources that were created outside of Terraform (e.g., manually or by other tools) into your Terraform state. The command takes two main arguments: the Terraform resource address and the real-world resource identifier. When executed, it adds the resource to the state file without modifying the actual infrastructure. This is useful for adopting Terraform in environments with existing resources, or for recovering from scenarios where state and reality have diverged. After importing, you need to write the corresponding configuration in your Terraform files to match the imported resource. +Terraform state import is a command used to bring existing resources under Terraform management. It allows you to add resources that were created outside of Terraform (e.g., manually or by other tools) into your Terraform state. The command takes two main arguments: the Terraform resource address and the real-world resource identifier. When executed, it adds the resource to the state file without modifying the actual infrastructure. This is useful for adopting Terraform in environments with existing resources, or for recovering from scenarios where state and reality have diverged. After importing, you need to write the corresponding configuration in your Terraform files to match the imported resource. In Terraform v1.5.0 and later you can also create `import` blocks in any Terraform configuration file. diff --git a/src/data/roadmaps/terraform/content/inputs--outputs@NsBJTYH9KXvjJuhPzjE_L.md b/src/data/roadmaps/terraform/content/inputs--outputs@NsBJTYH9KXvjJuhPzjE_L.md index ddfa2ac3d..e13a6e434 100644 --- a/src/data/roadmaps/terraform/content/inputs--outputs@NsBJTYH9KXvjJuhPzjE_L.md +++ b/src/data/roadmaps/terraform/content/inputs--outputs@NsBJTYH9KXvjJuhPzjE_L.md @@ -6,4 +6,4 @@ When calling a module, inputs are provided as arguments. Outputs, defined using Learn more from the following resources: -- [@official@Accessing module output values](https://developer.hashicorp.com/terraform/language/modules/syntax#accessing-module-output-values) \ No newline at end of file +- [@official@Accessing Module Output Values](https://developer.hashicorp.com/terraform/language/modules/syntax#accessing-module-output-values) diff --git a/src/data/roadmaps/terraform/content/inspect--modify-state@KXlLlaR0_S7gE_ZB1hNEd.md b/src/data/roadmaps/terraform/content/inspect--modify-state@KXlLlaR0_S7gE_ZB1hNEd.md index 4f9881860..5e1e3ad63 100644 --- a/src/data/roadmaps/terraform/content/inspect--modify-state@KXlLlaR0_S7gE_ZB1hNEd.md +++ b/src/data/roadmaps/terraform/content/inspect--modify-state@KXlLlaR0_S7gE_ZB1hNEd.md @@ -1,3 +1,8 @@ # Inspect / Modify State Terraform provides tools to inspect and modify state, enabling management of tracked resources without altering the actual infrastructure. These capabilities allow users to view the current state in human-readable format, list all resources in the state, and obtain detailed information on specific resources. For state modification, Terraform offers methods to move resources within the state or to different state files, remove resources from state without deleting the actual resource, and update the state to match real-world infrastructure. These tools are crucial for reconciling discrepancies between Terraform's state and actual infrastructure, and for managing resources across different Terraform configurations or workspaces. However, state modifications should be performed cautiously, as improper changes can lead to inconsistencies between the state and the actual infrastructure. + +Visit the following resources to learn more: + +- [@official@Inspecting State](https://developer.hashicorp.com/terraform/cli/state/inspect) +- [@article@How to Manage Terraform State: A Step-by-Step Guide](https://meriemterki.medium.com/how-to-manage-terraform-state-a-step-by-step-guide-b615bd6ee0de) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/installing-terraform@AYtBLFU1nowEq-EVlXrEZ.md b/src/data/roadmaps/terraform/content/installing-terraform@AYtBLFU1nowEq-EVlXrEZ.md index e97841beb..986296980 100644 --- a/src/data/roadmaps/terraform/content/installing-terraform@AYtBLFU1nowEq-EVlXrEZ.md +++ b/src/data/roadmaps/terraform/content/installing-terraform@AYtBLFU1nowEq-EVlXrEZ.md @@ -1,8 +1,11 @@ # Installing Terraform -Follow the instructions given in the following URL to install terraform: +To install Terraform, you need to download the appropriate package for your operating system from the official Terraform website. After downloading, unzip the package and move the executable to a directory included in your system's PATH. This allows you to run Terraform commands from the terminal. For more detailed installation instructions, refer to the links below. -- [@article@Installing Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli) +Visit the following resources to learn more: + +- [@official@Install Terraform](https://developer.hashicorp.com/terraform/install) +- [@official@Installing Terraform CLI](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli) - [@video@Install Terraform on Ubuntu](https://www.youtube.com/watch?v=LM3RLgNu7tU) - [@video@Install Terraform on MacOS](https://www.youtube.com/watch?v=ViMwnReV1A8) - [@video@Install Terraform on Windows 10/11](https://www.youtube.com/watch?v=qj4cOSYr7po) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/integration-testing@ENkLj3z6hR2cKT7rBhYp5.md b/src/data/roadmaps/terraform/content/integration-testing@ENkLj3z6hR2cKT7rBhYp5.md index 9de85ea3c..31ffa5c12 100644 --- a/src/data/roadmaps/terraform/content/integration-testing@ENkLj3z6hR2cKT7rBhYp5.md +++ b/src/data/roadmaps/terraform/content/integration-testing@ENkLj3z6hR2cKT7rBhYp5.md @@ -4,6 +4,6 @@ Terraform integration testing involves verifying that Terraform configurations w Learn more from the following resources: -- [@official@Integration or unit testing](https://developer.hashicorp.com/terraform/language/tests#integration-or-unit-testing) +- [@official@Integration Testing or Unit Testing](https://developer.hashicorp.com/terraform/language/tests#integration-or-unit-testing) - [@video@Learn Terraform - Integration and End-to-End Testing](https://www.youtube.com/watch?v=gdcc1WBzMwY) - [@article@Integration tests](https://www.hashicorp.com/blog/testing-hashicorp-terraform#integration-tests) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/introduction@h6qRrUe-bn25s0UkxU600.md b/src/data/roadmaps/terraform/content/introduction@h6qRrUe-bn25s0UkxU600.md index 375940e3c..36afe2d08 100644 --- a/src/data/roadmaps/terraform/content/introduction@h6qRrUe-bn25s0UkxU600.md +++ b/src/data/roadmaps/terraform/content/introduction@h6qRrUe-bn25s0UkxU600.md @@ -1,3 +1,10 @@ # Introduction -Terraform is a powerful tool designed by HashiCorp that helps you set up, manage, and update infrastructure safely and efficiently across various cloud providers. Think of it as a way to define your cloud resources—like servers, storage, and networks—using a simple code format. This makes it easier to automate, share, and manage your infrastructure, ensuring that everything is consistent and can be quickly reproduced or modified as needed. \ No newline at end of file +Terraform is a powerful tool designed by HashiCorp that helps you set up, manage, and update infrastructure safely and efficiently across various cloud providers. Think of it as a way to define your cloud resources—like servers, storage, and networks—using a simple code format. This makes it easier to automate, share, and manage your infrastructure, ensuring that everything is consistent and can be quickly reproduced or modified as needed. + +Visit the following resources to learn more: + +- [@official@Terraform Website](https://www.terraform.io/) +- [@official@Terraform Documentation](https://developer.hashicorp.com/terraform) +- [@video@Terraform for Beginners](https://www.youtube.com/watch?v=SLB_c_ayRMo) +- [@feed@Explore top posts about Terraform](https://app.daily.dev/tags/terraform?ref=roadmapsh) diff --git a/src/data/roadmaps/terraform/content/list@Y-mgCkDpawt5NrMwDH9Ki.md b/src/data/roadmaps/terraform/content/list@Y-mgCkDpawt5NrMwDH9Ki.md index 05c4caef7..8cbbc92f8 100644 --- a/src/data/roadmaps/terraform/content/list@Y-mgCkDpawt5NrMwDH9Ki.md +++ b/src/data/roadmaps/terraform/content/list@Y-mgCkDpawt5NrMwDH9Ki.md @@ -4,4 +4,4 @@ The terraform list command is used to display a list of resources within the Ter Learn more from the following resources: -- [@official@Terraform state list](https://developer.hashicorp.com/terraform/cli/commands/state/list) +- [@official@Terraform State List](https://developer.hashicorp.com/terraform/cli/commands/state/list) diff --git a/src/data/roadmaps/terraform/content/modules-best-practices@gTMPK0tfs2JYgoL7SAGW6.md b/src/data/roadmaps/terraform/content/modules-best-practices@gTMPK0tfs2JYgoL7SAGW6.md index 576b61c18..9c1df889d 100644 --- a/src/data/roadmaps/terraform/content/modules-best-practices@gTMPK0tfs2JYgoL7SAGW6.md +++ b/src/data/roadmaps/terraform/content/modules-best-practices@gTMPK0tfs2JYgoL7SAGW6.md @@ -1,7 +1,7 @@ # Modules Best Practices Terraform module best practices focus on creating reusable, maintainable, and scalable infrastructure components. - + - Modules should have a single, clear purpose and be designed with flexibility in mind, using input variables for customization. - Outputs should be carefully chosen to provide necessary information without over-exposing internal details. - Version your modules and use semantic versioning to manage changes. @@ -15,6 +15,6 @@ Terraform module best practices focus on creating reusable, maintainable, and sc Learn more from the following resources: -- [@official@Module best practices](https://developer.hashicorp.com/terraform/tutorials/modules/module#module-best-practices) +- [@official@Module Best Practices](https://developer.hashicorp.com/terraform/tutorials/modules/module#module-best-practices) - [@article@Terraform Modules Guide: Best Practices & Examples](https://www.env0.com/blog/terraform-modules) - [@video@Best practices for modularizing a Terraform project | PlatformCon 2023](https://www.youtube.com/watch?v=byzwaTng3ac) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/modules@R2AORYmc1NgGTqLZY5Fu-.md b/src/data/roadmaps/terraform/content/modules@R2AORYmc1NgGTqLZY5Fu-.md index 0fdd80623..5c1d98cb0 100644 --- a/src/data/roadmaps/terraform/content/modules@R2AORYmc1NgGTqLZY5Fu-.md +++ b/src/data/roadmaps/terraform/content/modules@R2AORYmc1NgGTqLZY5Fu-.md @@ -1,3 +1,9 @@ # Modules -Terraform modules are reusable components that encapsulate a set of resources, their configurations, and their interconnections. They allow for organizing Terraform code into logical, self-contained units that can be shared and reused across different projects or within the same project. Modules promote code reusability, maintainability, and consistency in infrastructure deployments. They can accept input variables, produce output values, and be nested within other modules. By using modules, teams can create standardized infrastructure components, enforce best practices, and simplify complex configurations. Modules can be sourced from local directories, version control systems, or public registries like the Terraform Registry. Effective use of modules can significantly reduce code duplication, improve infrastructure management, and enable the creation of scalable, maintainable Terraform configurations. \ No newline at end of file +Terraform modules are reusable components that encapsulate a set of resources, their configurations, and their interconnections. They allow for organizing Terraform code into logical, self-contained units that can be shared and reused across different projects or within the same project. Modules promote code reusability, maintainability, and consistency in infrastructure deployments. They can accept input variables, produce output values, and be nested within other modules. By using modules, teams can create standardized infrastructure components, enforce best practices, and simplify complex configurations. Modules can be sourced from local directories, version control systems, or public registries like the Terraform Registry. Effective use of modules can significantly reduce code duplication, improve infrastructure management, and enable the creation of scalable, maintainable Terraform configurations. + +Visit the following resources to learn more: + +- [@official@Modules Overview - Configuration Language | Terraform](https://developer.hashicorp.com/terraform/language/modules) +- [@official@Terraform Modules](https://developer.hashicorp.com/terraform/language/modules) +- [@official@Modules - Terraform Registry](https://registry.terraform.io/browse/modules) diff --git a/src/data/roadmaps/terraform/content/mv@0xVXwjWPFXDGRw_3p6th6.md b/src/data/roadmaps/terraform/content/mv@0xVXwjWPFXDGRw_3p6th6.md index 7e92ad5b8..d839d6997 100644 --- a/src/data/roadmaps/terraform/content/mv@0xVXwjWPFXDGRw_3p6th6.md +++ b/src/data/roadmaps/terraform/content/mv@0xVXwjWPFXDGRw_3p6th6.md @@ -4,6 +4,6 @@ The terraform state mv command is used to move resources within a Terraform stat Learn more from the following resources: -- [@official@Terraform state mv](https://developer.hashicorp.com/terraform/cli/commands/state/mv) +- [@official@Terraform State mv](https://developer.hashicorp.com/terraform/cli/commands/state/mv) +- [@official@Moving Resources](https://developer.hashicorp.com/terraform/cli/state/move) - [@video@Terraform — Terraform State MV ](https://www.youtube.com/watch?v=i10IMXn3l0o) -- [@article@Moving resoureces](https://developer.hashicorp.com/terraform/cli/state/move) diff --git a/src/data/roadmaps/terraform/content/output-syntax@31fa8kBzCEn-uCrTSoPM4.md b/src/data/roadmaps/terraform/content/output-syntax@31fa8kBzCEn-uCrTSoPM4.md index 787a941be..9fda492e1 100644 --- a/src/data/roadmaps/terraform/content/output-syntax@31fa8kBzCEn-uCrTSoPM4.md +++ b/src/data/roadmaps/terraform/content/output-syntax@31fa8kBzCEn-uCrTSoPM4.md @@ -14,7 +14,7 @@ output "name" { Learn more from the following resources: -- [@course@Hashicorp Output Tutorial](https://developer.hashicorp.com/terraform/tutorials/configuration-language/outputs) -- [@official@Declaring an output value](https://developer.hashicorp.com/terraform/language/values/outputs#declaring-an-output-value) +- [@official@Hashicorp Output Tutorial](https://developer.hashicorp.com/terraform/tutorials/configuration-language/outputs) +- [@official@Declaring an Output Value](https://developer.hashicorp.com/terraform/language/values/outputs#declaring-an-output-value) - [@article@Terraform Output Values : Complete Guide & Examples](https://spacelift.io/blog/terraform-output) -- [@article@Terraform: Output a field from a module](https://stackoverflow.com/questions/47034515/terraform-output-a-field-from-a-module) \ No newline at end of file +- [@article@Terraform: Output a field from a module](https://stackoverflow.com/questions/47034515/terraform-output-a-field-from-a-module) diff --git a/src/data/roadmaps/terraform/content/preconditions@DB-p_S4Ce4tDWF4wDiGSt.md b/src/data/roadmaps/terraform/content/preconditions@DB-p_S4Ce4tDWF4wDiGSt.md index 521a9d1d5..e70061b37 100644 --- a/src/data/roadmaps/terraform/content/preconditions@DB-p_S4Ce4tDWF4wDiGSt.md +++ b/src/data/roadmaps/terraform/content/preconditions@DB-p_S4Ce4tDWF4wDiGSt.md @@ -5,4 +5,4 @@ Terraform preconditions are declarative checks within resource or data blocks th Learn more from the following resources: - [@official@Custom Condition Checks](https://developer.hashicorp.com/terraform/language/values/outputs#custom-condition-checks) -- [@video@Using Precondition and Postcondition Blocks in Terraform](https://www.youtube.com/watch?v=55ZLu8tSnvk) +- [@video@Using Precondition and Post-condition Blocks in Terraform](https://www.youtube.com/watch?v=55ZLu8tSnvk) diff --git a/src/data/roadmaps/terraform/content/project-initialization@GlIXmCuvR_C81RMeMM1Kz.md b/src/data/roadmaps/terraform/content/project-initialization@GlIXmCuvR_C81RMeMM1Kz.md index f6b9e5042..890d7bf8c 100644 --- a/src/data/roadmaps/terraform/content/project-initialization@GlIXmCuvR_C81RMeMM1Kz.md +++ b/src/data/roadmaps/terraform/content/project-initialization@GlIXmCuvR_C81RMeMM1Kz.md @@ -4,7 +4,7 @@ Project initialization in Terraform involves setting up the necessary configurat Learn more from the following resources: --[@official@Init Command](https://developer.hashicorp.com/terraform/cli/commands/init) +- [@official@Init Command](https://developer.hashicorp.com/terraform/cli/commands/init) - [@official@Initialize Terraform Configuration](https://developer.hashicorp.com/terraform/tutorials/cli/init) - [@article@Terraform Init](https://spacelift.io/blog/terraform-init) - [@video@Learn Terraform: The Init Command](https://www.youtube.com/watch?v=82lsMLqWjS4) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/provisioners@6vs1VvjeILgAPLL6g7dfy.md b/src/data/roadmaps/terraform/content/provisioners@6vs1VvjeILgAPLL6g7dfy.md index ef29d0e66..260346b69 100644 --- a/src/data/roadmaps/terraform/content/provisioners@6vs1VvjeILgAPLL6g7dfy.md +++ b/src/data/roadmaps/terraform/content/provisioners@6vs1VvjeILgAPLL6g7dfy.md @@ -1,3 +1,7 @@ # Provisioners -Provisioners in Terraform are used to execute scripts or other actions on local or remote machines as part of resource creation or destruction. They allow for configuration management tasks that go beyond Terraform's declarative model. Provisioners can run scripts, upload files, or execute other tools on resources after they're created. Common types include local-exec (runs commands on the machine running Terraform) and remote-exec (runs commands on a remote resource). While powerful, provisioners should be used sparingly as they can make Terraform runs less predictable and idempotent. They're often seen as a last resort when native Terraform resources or provider capabilities are insufficient. Best practices suggest using dedicated configuration management tools like Ansible or Chef instead of heavy reliance on provisioners. When used, provisioners should be designed to be idempotent and handle potential failures gracefully. \ No newline at end of file +Provisioners in Terraform are used to execute scripts or other actions on local or remote machines as part of resource creation or destruction. They allow for configuration management tasks that go beyond Terraform's declarative model. Provisioners can run scripts, upload files, or execute other tools on resources after they're created. Common types include local-exec (runs commands on the machine running Terraform) and remote-exec (runs commands on a remote resource). While powerful, provisioners should be used sparingly as they can make Terraform runs less predictable and idempotent. They're often seen as a last resort when native Terraform resources or provider capabilities are insufficient. Best practices suggest using dedicated configuration management tools like Ansible or Chef instead of heavy reliance on provisioners. When used, provisioners should be designed to be idempotent and handle potential failures gracefully. + +Learn more from the following resources: + +- [@official@Provisioners - Terraform](https://developer.hashicorp.com/terraform/language/resources/provisioners/syntax) diff --git a/src/data/roadmaps/terraform/content/resources@BYydmFc2e-YPCC4MCWmh2.md b/src/data/roadmaps/terraform/content/resources@BYydmFc2e-YPCC4MCWmh2.md index 58a22a9ea..3bd88dab3 100644 --- a/src/data/roadmaps/terraform/content/resources@BYydmFc2e-YPCC4MCWmh2.md +++ b/src/data/roadmaps/terraform/content/resources@BYydmFc2e-YPCC4MCWmh2.md @@ -1,6 +1,6 @@ # Resources -Resources represent components of your infrastructure such as Virtual Machines, Storage Buckets, Databases or Virtual Private Clouds. Access to provider resources comes after successful project initalization after declaring your desired providers. +Resources represent components of your infrastructure such as Virtual Machines, Storage Buckets, Databases or Virtual Private Clouds. Access to provider resources comes after successful project initialization after declaring your desired providers. Learn more from the following resources: diff --git a/src/data/roadmaps/terraform/content/run-tasks@nU1WoRtxRF9KeNhzuwNUB.md b/src/data/roadmaps/terraform/content/run-tasks@nU1WoRtxRF9KeNhzuwNUB.md index e36b22531..b0a39bd2e 100644 --- a/src/data/roadmaps/terraform/content/run-tasks@nU1WoRtxRF9KeNhzuwNUB.md +++ b/src/data/roadmaps/terraform/content/run-tasks@nU1WoRtxRF9KeNhzuwNUB.md @@ -5,5 +5,5 @@ HCP Run Tasks, a feature of Terraform Cloud, allow for the integration of extern Learn more from the following resources: - [@official@Run Tasks](https://developer.hashicorp.com/terraform/cloud-docs/workspaces/settings/run-tasks) -- [@official@Terrafrom Registry - Run Tasks](https://registry.terraform.io/browse/run-tasks) +- [@official@Terraform Registry - Run Tasks](https://registry.terraform.io/browse/run-tasks) - [@official@Run Tasks API](https://developer.hashicorp.com/terraform/cloud-docs/api-docs/run-tasks/run-tasks) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/secret-management@uVz9WwVAgMu1ZU0qjqVnc.md b/src/data/roadmaps/terraform/content/secret-management@uVz9WwVAgMu1ZU0qjqVnc.md index 6cdb7d8ca..7c260b18e 100644 --- a/src/data/roadmaps/terraform/content/secret-management@uVz9WwVAgMu1ZU0qjqVnc.md +++ b/src/data/roadmaps/terraform/content/secret-management@uVz9WwVAgMu1ZU0qjqVnc.md @@ -4,6 +4,6 @@ Terraform secret management is a critical aspect of secure infrastructure-as-cod Learn more from the following resources: +- [@official@Inject Secrets with Vault](https://developer.hashicorp.com/terraform/tutorials/secrets) - [@article@Terraform Secrets - How to manage them](https://spacelift.io/blog/terraform-secrets) -- [@article@A comprehensive guide to managing secrets in your Terraform code](https://blog.gruntwork.io/a-comprehensive-guide-to-managing-secrets-in-your-terraform-code-1d586955ace1) -- [@official@Inject secrets with Vault](https://developer.hashicorp.com/terraform/tutorials/secrets) \ No newline at end of file +- [@article@A comprehensive guide to managing secrets in your Terraform code](https://blog.gruntwork.io/a-comprehensive-guide-to-managing-secrets-in-your-terraform-code-1d586955ace1) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/security@3MnZK2V5KhBhw67SyUVPk.md b/src/data/roadmaps/terraform/content/security@3MnZK2V5KhBhw67SyUVPk.md index f570131d2..31bf71a7b 100644 --- a/src/data/roadmaps/terraform/content/security@3MnZK2V5KhBhw67SyUVPk.md +++ b/src/data/roadmaps/terraform/content/security@3MnZK2V5KhBhw67SyUVPk.md @@ -1,3 +1,8 @@ # Security -Terraform security encompasses practices and tools to ensure the safe and compliant management of infrastructure-as-code. Key aspects include securing Terraform state files, which often contain sensitive information, by using encrypted remote backends. Access control is crucial, implementing least privilege principles for both human users and service accounts. Sensitive data management involves using vault systems or cloud-native secret managers rather than hardcoding credentials. Code review processes should include security checks, and automated scanning tools can be integrated to detect misconfigurations or policy violations. Implementing compliance-as-code with tools like Terraform Sentinel ensures adherence to organizational policies. Version control and proper git hygiene help maintain audit trails. \ No newline at end of file +Terraform security encompasses practices and tools to ensure the safe and compliant management of infrastructure-as-code. Key aspects include securing Terraform state files, which often contain sensitive information, by using encrypted remote backends. Access control is crucial, implementing least privilege principles for both human users and service accounts. Sensitive data management involves using vault systems or cloud-native secret managers rather than hardcoding credentials. Code review processes should include security checks, and automated scanning tools can be integrated to detect misconfigurations or policy violations. Implementing compliance-as-code with tools like Terraform Sentinel ensures adherence to organizational policies. Version control and proper git hygiene help maintain audit trails. + +Visit the following resources to learn more: + +- [@official@Terraform Security](https://www.terraform.io/cloud-docs/architectural-details/security-model) +- [@article@12 Terraform Security Best Practices](https://spacelift.io/blog/terraform-security) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/sensitive-data@16vLOPP9lTCuBh0q-UVMk.md b/src/data/roadmaps/terraform/content/sensitive-data@16vLOPP9lTCuBh0q-UVMk.md index 5acd8c255..8e53cae94 100644 --- a/src/data/roadmaps/terraform/content/sensitive-data@16vLOPP9lTCuBh0q-UVMk.md +++ b/src/data/roadmaps/terraform/content/sensitive-data@16vLOPP9lTCuBh0q-UVMk.md @@ -5,5 +5,5 @@ Terraform state files often contain sensitive data like passwords, API keys, and Learn more from the following resources: - [@official@Sensitive data in state](https://developer.hashicorp.com/terraform/language/state/sensitive-data) -- [@article@Handling Sensitive Values in State](https://developer.hashicorp.com/terraform/plugin/best-practices/sensitive-state) +- [@official@Handling Sensitive Values in State](https://developer.hashicorp.com/terraform/plugin/best-practices/sensitive-state) - [@video@Terraform — Protecting Sensitive Data](https://www.youtube.com/watch?v=yLc1YkB7DFo) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/show@7DZB2VeyuouFXOdFEfeZt.md b/src/data/roadmaps/terraform/content/show@7DZB2VeyuouFXOdFEfeZt.md index 7e833ae49..d09ae2c49 100644 --- a/src/data/roadmaps/terraform/content/show@7DZB2VeyuouFXOdFEfeZt.md +++ b/src/data/roadmaps/terraform/content/show@7DZB2VeyuouFXOdFEfeZt.md @@ -4,5 +4,5 @@ The terraform show command displays a human-readable view of the current state o Learn more from the following resources: -- [@official@Terrform show](https://developer.hashicorp.com/terraform/cli/commands/show) +- [@official@Terraform show](https://developer.hashicorp.com/terraform/cli/commands/show) - [@official@Terraform state show](https://developer.hashicorp.com/terraform/cli/commands/state/show) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/state-force-unlock@Trpi2ZlnXZVYJCibE2bQ8.md b/src/data/roadmaps/terraform/content/state-force-unlock@Trpi2ZlnXZVYJCibE2bQ8.md index 859bac093..814b95dd3 100644 --- a/src/data/roadmaps/terraform/content/state-force-unlock@Trpi2ZlnXZVYJCibE2bQ8.md +++ b/src/data/roadmaps/terraform/content/state-force-unlock@Trpi2ZlnXZVYJCibE2bQ8.md @@ -1,6 +1,6 @@ # state force-unlock -The `terraform state force-unlock` command in Terraform is used to manually release a stuck state lock. State locking is a mechanism that prevents concurrent operations on the same state, but occasionally a lock may not be properly released due to crashes or network issues. This command allows administrators to forcibly remove the lock, enabling further Terraform operations to proceed. It should be used with extreme caution, as it can lead to state corruption if multiple users are attempting to modify the state simultaneously. Before using force-unlock, it's crucial to ensure that no other Terraform operations are genuinely in progress. This command is typically a last resort for resolving locking issues and should only be employed when certain that the lock is erroneously held and no conflicting operations are ongoing. +The terraform `state force-unlock` command in Terraform is used to manually release a stuck state lock. State locking is a mechanism that prevents concurrent operations on the same state, but occasionally a lock may not be properly released due to crashes or network issues. This command allows administrators to forcibly remove the lock, enabling further Terraform operations to proceed. It should be used with extreme caution, as it can lead to state corruption if multiple users are attempting to modify the state simultaneously. Before using force-unlock, it's crucial to ensure that no other Terraform operations are genuinely in progress. This command is typically a last resort for resolving locking issues and should only be employed when certain that the lock is erroneously held and no conflicting operations are ongoing. Learn more from the following resources: diff --git a/src/data/roadmaps/terraform/content/state-locking@GseYuG9wT8H9R_enxWzuQ.md b/src/data/roadmaps/terraform/content/state-locking@GseYuG9wT8H9R_enxWzuQ.md index ee56d4648..c532939eb 100644 --- a/src/data/roadmaps/terraform/content/state-locking@GseYuG9wT8H9R_enxWzuQ.md +++ b/src/data/roadmaps/terraform/content/state-locking@GseYuG9wT8H9R_enxWzuQ.md @@ -5,5 +5,5 @@ Terraform state locking is a mechanism that prevents concurrent modifications to Learn more from the following resources: - [@official@State - Locking](https://developer.hashicorp.com/terraform/language/state/locking) -- [@article@State Storage and Locking](https://developer.hashicorp.com/terraform/language/state/backends) +- [@official@State Storage and Locking](https://developer.hashicorp.com/terraform/language/state/backends) - [@video@Terraform - State locking](https://www.youtube.com/watch?v=QdDCUpggmrw) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/state-replace-provider@Os6AOXp1CVI_Bh3NYnX17.md b/src/data/roadmaps/terraform/content/state-replace-provider@Os6AOXp1CVI_Bh3NYnX17.md index f37ba34a5..41523ccfb 100644 --- a/src/data/roadmaps/terraform/content/state-replace-provider@Os6AOXp1CVI_Bh3NYnX17.md +++ b/src/data/roadmaps/terraform/content/state-replace-provider@Os6AOXp1CVI_Bh3NYnX17.md @@ -1,6 +1,6 @@ # state replace-provider -The `terraform state replace-provider` command in Terraform is used to update the provider information in the state file without altering the actual infrastructure. This command is particularly useful when migrating from one provider to another, or when updating to a new major version of a provider that involves a change in the provider's namespace. It allows users to change the provider associated with resources in the state file, effectively telling Terraform to use a different provider for managing these resources in future operations. This command is crucial for maintaining state consistency during provider transitions or upgrades, especially in large-scale infrastructures. While it doesn't modify the actual resources, it updates Terraform's understanding of which provider should be used to manage them, facilitating smooth provider migrations without requiring resource recreation. +The terraform `state replace-provider` command in Terraform is used to update the provider information in the state file without altering the actual infrastructure. This command is particularly useful when migrating from one provider to another, or when updating to a new major version of a provider that involves a change in the provider's namespace. It allows users to change the provider associated with resources in the state file, effectively telling Terraform to use a different provider for managing these resources in future operations. This command is crucial for maintaining state consistency during provider transitions or upgrades, especially in large-scale infrastructures. While it doesn't modify the actual resources, it updates Terraform's understanding of which provider should be used to manage them, facilitating smooth provider migrations without requiring resource recreation. Learn more from the following resources: diff --git a/src/data/roadmaps/terraform/content/terraform-apply@LDpj-LY_SOXzno04D-Y25.md b/src/data/roadmaps/terraform/content/terraform-apply@LDpj-LY_SOXzno04D-Y25.md index d3f133439..7716f4981 100644 --- a/src/data/roadmaps/terraform/content/terraform-apply@LDpj-LY_SOXzno04D-Y25.md +++ b/src/data/roadmaps/terraform/content/terraform-apply@LDpj-LY_SOXzno04D-Y25.md @@ -2,7 +2,7 @@ `terraform apply` is the command used to implement the changes defined in your Terraform configuration files. It creates, updates, or deletes the specified infrastructure resources to match the desired state. Before making changes, it shows a plan similar to terraform plan and prompts for confirmation, unless the -auto-approve flag is used. Apply updates the state file to reflect the current infrastructure state, enabling Terraform to track and manage resources over time. It handles dependencies between resources, creating them in the correct order. -Learn more from the following resoureces: +Learn more from the following resources: - [@official@Terraform Apply Documentation](https://developer.hashicorp.com/terraform/cli/commands/apply) - [@course@Apply Terraform configuration](https://developer.hashicorp.com/terraform/tutorials/cli/apply) diff --git a/src/data/roadmaps/terraform/content/terraform-validate@wdYLjB-tKg76B7YcnhevQ.md b/src/data/roadmaps/terraform/content/terraform-validate@wdYLjB-tKg76B7YcnhevQ.md index da03e6fb1..a24c28acf 100644 --- a/src/data/roadmaps/terraform/content/terraform-validate@wdYLjB-tKg76B7YcnhevQ.md +++ b/src/data/roadmaps/terraform/content/terraform-validate@wdYLjB-tKg76B7YcnhevQ.md @@ -4,4 +4,4 @@ The validate command helps you make sure your Terraform code is syntactically co Learn more from the following resources: - - [@article@Terraform Validate practical examples](https://www.env0.com/blog/terraform-validate-command-practical-examples-and-best-practices) +- [@article@Terraform Validate Examples](https://www.env0.com/blog/terraform-validate-command-practical-examples-and-best-practices) diff --git a/src/data/roadmaps/terraform/content/testing-modules@H3_So6qX-s2131WHGR_GO.md b/src/data/roadmaps/terraform/content/testing-modules@H3_So6qX-s2131WHGR_GO.md index dbdf95e2b..022b2311c 100644 --- a/src/data/roadmaps/terraform/content/testing-modules@H3_So6qX-s2131WHGR_GO.md +++ b/src/data/roadmaps/terraform/content/testing-modules@H3_So6qX-s2131WHGR_GO.md @@ -4,6 +4,6 @@ Testing Terraform modules involves validating their functionality, reusability, Learn more from the following resources: -- [@official@Write Terraform tests](https://developer.hashicorp.com/terraform/tutorials/configuration-language/test) -- [@video@Terraform module testing](https://www.youtube.com/watch?v=1LInIWM_2UQ) -- [@article@Terraform test](https://developer.hashicorp.com/terraform/language/tests) \ No newline at end of file +- [@official@Write Terraform Tests](https://developer.hashicorp.com/terraform/tutorials/configuration-language/test) +- [@video@Terraform Module Testing](https://www.youtube.com/watch?v=1LInIWM_2UQ) +- [@official@Terraform Test](https://developer.hashicorp.com/terraform/language/tests) diff --git a/src/data/roadmaps/terraform/content/tflint@YftsQYpcqJqBKPjy5tWOq.md b/src/data/roadmaps/terraform/content/tflint@YftsQYpcqJqBKPjy5tWOq.md index ae9dbe67f..bf9bbc90b 100644 --- a/src/data/roadmaps/terraform/content/tflint@YftsQYpcqJqBKPjy5tWOq.md +++ b/src/data/roadmaps/terraform/content/tflint@YftsQYpcqJqBKPjy5tWOq.md @@ -1,6 +1,6 @@ # TFLint -TFLint is a third-party, extensible linter for Terraform code. It performs static analysis of Terraform configurations to detect potential errors, enforce best practices, and maintain code consistency. Key features include: Checking for potential errors that terraform validate might miss, enforcing naming conventions and code style rules, identifying deprecated syntax or resource types and, providing cloud provider-specific checks +TFLint is a third-party, extensible linter for Terraform code. It performs static analysis of Terraform configurations to detect potential errors, enforce best practices, and maintain code consistency. Key features include: Checking for potential errors that terraform validate might miss, enforcing naming conventions and code style rules, identifying deprecated syntax or resource types and, providing cloud provider-specific checks. TFLint is configurable via .tflint.hcl files and supports custom rules. It can be integrated into CI/CD pipelines for automated code quality checks. While not an official Terraform tool, TFLint is widely used in the Terraform community to complement built-in validation tools and improve overall code quality and reliability in infrastructure-as-code projects. diff --git a/src/data/roadmaps/terraform/content/type-constraints@HUiodBFIp_rsQDkf3WgbI.md b/src/data/roadmaps/terraform/content/type-constraints@HUiodBFIp_rsQDkf3WgbI.md index 0b65b7c36..decb1dccf 100644 --- a/src/data/roadmaps/terraform/content/type-constraints@HUiodBFIp_rsQDkf3WgbI.md +++ b/src/data/roadmaps/terraform/content/type-constraints@HUiodBFIp_rsQDkf3WgbI.md @@ -4,5 +4,5 @@ Terraform variable type constraints specify allowed data types for input variabl Learn more from the following resources: -- [@official@Variable Type Contraints](https://developer.hashicorp.com/terraform/language/expressions/type-constraints) +- [@official@Variable Type Constraints](https://developer.hashicorp.com/terraform/language/expressions/type-constraints) - [@video@Terraform Type Constraints](https://www.youtube.com/watch?v=hNZiZEQfV4Q) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/unit-testing@V7_NnDIY1MefV_xjCCsnI.md b/src/data/roadmaps/terraform/content/unit-testing@V7_NnDIY1MefV_xjCCsnI.md index c0e0fb64e..0081bf54b 100644 --- a/src/data/roadmaps/terraform/content/unit-testing@V7_NnDIY1MefV_xjCCsnI.md +++ b/src/data/roadmaps/terraform/content/unit-testing@V7_NnDIY1MefV_xjCCsnI.md @@ -4,5 +4,5 @@ Terraform unit testing focuses on verifying the behavior of individual modules o Learn more from the following resources: -- [@article@Terraform unit tests](https://www.hashicorp.com/blog/testing-hashicorp-terraform#unit-tests) -- [@official@Integration or unit testing](https://developer.hashicorp.com/terraform/language/tests#integration-or-unit-testing) \ No newline at end of file +- [@official@Integration or Unit Testing](https://developer.hashicorp.com/terraform/language/tests#integration-or-unit-testing) +- [@article@Terraform Unit Tests](https://www.hashicorp.com/blog/testing-hashicorp-terraform#unit-tests) diff --git a/src/data/roadmaps/terraform/content/usecases-and-benefits@hRIDJHIxWc5Iav7tsu8l-.md b/src/data/roadmaps/terraform/content/usecases-and-benefits@hRIDJHIxWc5Iav7tsu8l-.md index 010cb9cdf..482264db9 100644 --- a/src/data/roadmaps/terraform/content/usecases-and-benefits@hRIDJHIxWc5Iav7tsu8l-.md +++ b/src/data/roadmaps/terraform/content/usecases-and-benefits@hRIDJHIxWc5Iav7tsu8l-.md @@ -4,6 +4,6 @@ Using Terraform offers numerous benefits. It allows you to define your infrastru Learn more from the following resources: -- [@official@Use Cases](https://developer.hashicorp.com/terraform/intro/use-cases#use-cases) +- [@official@Use Cases of Terraform](https://developer.hashicorp.com/terraform/intro/use-cases#use-cases) - [@article@9 Terraform Use Cases for Your Infrastructure as Code](https://spacelift.io/blog/terraform-use-cases) - [@video@What are the Benefits of Using Terraform?](https://www.youtube.com/watch?v=0M4IvedbLJ4) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/validation-rules@U2n2BtyUrOFLnw9SZYV_w.md b/src/data/roadmaps/terraform/content/validation-rules@U2n2BtyUrOFLnw9SZYV_w.md index 5eb3f5d3d..ecd25882f 100644 --- a/src/data/roadmaps/terraform/content/validation-rules@U2n2BtyUrOFLnw9SZYV_w.md +++ b/src/data/roadmaps/terraform/content/validation-rules@U2n2BtyUrOFLnw9SZYV_w.md @@ -4,4 +4,4 @@ Validation rules can be used to specify custom validations to a variable. The mo Learn more from the following resources: -- [@offical@Custom Validation Rules](https://developer.hashicorp.com/terraform/language/values/variables#custom-validation-rules) \ No newline at end of file +- [@official@Custom Validation Rules](https://developer.hashicorp.com/terraform/language/values/variables#custom-validation-rules) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/content/what-is-hcl@Hma2IgatFME8STHPwpeMG.md b/src/data/roadmaps/terraform/content/what-is-hcl@Hma2IgatFME8STHPwpeMG.md index a3a7cbc6b..8feb6c759 100644 --- a/src/data/roadmaps/terraform/content/what-is-hcl@Hma2IgatFME8STHPwpeMG.md +++ b/src/data/roadmaps/terraform/content/what-is-hcl@Hma2IgatFME8STHPwpeMG.md @@ -2,3 +2,5 @@ HCL, or HashiCorp Configuration Language, is a human-readable language for DevOps tools. It is used to code infrastructure management and service orchestration in a clear and manageable way. Several HashiCorp products, including Terraform, use HCL as their primary configuration language. Terraform uses HCL to provision and manage cloud resources efficiently. Its clear syntax and structure are instrumental in creating resource modules and configurations that align with the Terraform Roadmap's goals for providing a seamless, user-friendly platform for infrastructure as code. +- [@official@Syntax - Configuration Language | Terraform](https://developer.hashicorp.com/terraform/language/syntax/configuration) +- [@opensource@hashicorp/hcl](https://github.com/hashicorp/hcl) diff --git a/src/data/roadmaps/terraform/content/when-to-use@CmmoshFC1dKE4y3SMN2bl.md b/src/data/roadmaps/terraform/content/when-to-use@CmmoshFC1dKE4y3SMN2bl.md index b974b203b..6452ec275 100644 --- a/src/data/roadmaps/terraform/content/when-to-use@CmmoshFC1dKE4y3SMN2bl.md +++ b/src/data/roadmaps/terraform/content/when-to-use@CmmoshFC1dKE4y3SMN2bl.md @@ -4,5 +4,5 @@ Provisioners in Terraform should be used judiciously, primarily when other decla Learn more from the following resources: -- [@article@My thoughts on why you should use Terraform Provisioners as a final option](https://thomasthornton.cloud/2023/05/11/my-thoughts-on-why-you-should-use-terraform-provisioners-as-a-final-option/) +- [@article@Why You should Use Terraform Provisioners as a Final Option](https://thomasthornton.cloud/2023/05/11/my-thoughts-on-why-you-should-use-terraform-provisioners-as-a-final-option/) - [@article@Why Terraform Provisioners Are The Last Resort?](https://k21academy.com/terraform-iac/terraform-provisioners/) \ No newline at end of file diff --git a/src/data/roadmaps/terraform/terraform.md b/src/data/roadmaps/terraform/terraform.md index 47aaca2ec..bde92985d 100644 --- a/src/data/roadmaps/terraform/terraform.md +++ b/src/data/roadmaps/terraform/terraform.md @@ -3,9 +3,9 @@ jsonUrl: '/jsons/roadmaps/terraform.json' pdfUrl: '/pdfs/roadmaps/terraform.pdf' order: 15 briefTitle: 'Terraform' -briefDescription: 'Step by step guide to learning Terraform in 2024' +briefDescription: 'Step by step guide to learn Terraform in 2024' title: 'Terraform Roadmap' -description: 'Step by step guide to learning Terraform in 2024' +description: 'Step by step guide to learn Terraform in 2024' isNew: false hasTopics: true dimensions: