Difference between revisions of "Terraform"

From wikieduonline
Jump to navigation Jump to search
 
(63 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[wikipedia:Terraform (software)]] (July 2014) is an open-source [[infrastructure as code]] software.
+
[[wikipedia:Terraform (software)]] (July [[2014]]) is an open-source [[infrastructure as code]] software.
 
* [[Google trends]]: https://trends.google.com/trends/explore?date=all&q=Terraform
 
* [[Google trends]]: https://trends.google.com/trends/explore?date=all&q=Terraform
 
+
* Repo: https://github.com/hashicorp/terraform
 +
* [[Terraform Registry]] (Jan 2020) <ref>https://www.hashicorp.com/blog/announcing-providers-in-the-new-terraform-registry</ref>
 
* [[Terraform Cloud]] (September 2019)
 
* [[Terraform Cloud]] (September 2019)
 
* [[Terraform Enterprise]]
 
* [[Terraform Enterprise]]
 
* [[Terraform Module Registry]] (2017) <ref>https://www.hashicorp.com/blog/hashicorp-terraform-module-registry</ref>
 
* [[Terraform Module Registry]] (2017) <ref>https://www.hashicorp.com/blog/hashicorp-terraform-module-registry</ref>
* [[Terraform Registry]] (2020) <ref>https://www.hashicorp.com/blog/announcing-providers-in-the-new-terraform-registry</ref>
+
 
* [[Google trends]]: https://trends.google.com/trends/explore?date=all&q=%2Fg%2F11g6bg27fp
+
 
 +
* [[Terraform Operators]]
 +
* [[Terraform Expressions]]
  
 
== Technical characteristics ==
 
== Technical characteristics ==
 
* [[Hashicorp Configuration Language (HCL)]]2 based
 
* [[Hashicorp Configuration Language (HCL)]]2 based
* Types: strings, number, bool, list, maps, set, tuple, object, any and null ([[Terraform 0.12]])
+
* [[Terraform types]]: <code>strings, number, bool, list, [[maps]], set, [[tuple]], object, any and null</code> ([[Terraform 0.12]])
  
 
== Supported platforms/providers ==
 
== Supported platforms/providers ==
Line 17: Line 20:
 
* <code>[[terraform providers]]</code>
 
* <code>[[terraform providers]]</code>
  
== Installation ==
+
== [[Terraform installation]] ==
* [[macOS]]: <code>[[brew install]] terraform</code>.
 
* [[Ubuntu]]: <code>[[snap install terraform]]</code> or <code>[[snap install]] terraform-snap</code>
 
 
 
* Linux:
 
**<code>sudo [[apt-get update]] && sudo apt-get install -y [[gnupg]] [[software-properties-common]] [[curl]]</code>
 
**<code>curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo [[apt-key add]] -</code>
 
**<code>sudo [[apt-add-repository]] "deb [arch=amd64] https://apt.releases.hashicorp.com $([[lsb_release -cs]]) main"</code>
 
**<code>sudo [[apt-get -qq update]] && sudo [[apt-get install terraform]] && [[terraform -v]]</code>
 
 
 
Ref: https://learn.hashicorp.com/tutorials/terraform/install-cli
 
 
 
== Terraform commands ==
 
* <code>[[terraform init]]</code>
 
* <code>[[terraform console]]</code>
 
* <code>[[terraform fmt]]</code>
 
** <code>[[terraform fmt]] -check</code>
 
* <code>[[terraform validate]]</code>
 
* <code>[[terraform import]]</code>
 
* <code>[[terraform plan]]</code>
 
* <code> [[terraform apply]]</code>
 
* <code> [[terraform remote config]]</code>
 
* <code>[[terraform destroy]]</code>
 
* <code>[[terraform show]]</code>
 
* <code>[[terraform login]]</code>
 
* <code>[[terraform add]]</code> (1.1.0, xx/2021)
 
 
 
* <code>[[terraform graph]]</code>
 
  
== Common Terraform commands<ref>https://www.terraform.io/docs/commands/index.html</ref> ==
+
== [[Terraform commands]] ==
  
* <code>[[terraform --help]]</code>
+
== [[Terraform changelog|News]] ==
 +
* Jan 2023 [[Terraform Dynamic Provider Credentials]]
 +
* Aug 2022 [[CDK for Terraform (CDKTF)]]
 +
* Dec 2017 [[Terraform Enterprise (TFE)]] [[GA]]
  
== Activities ==
+
== [[Terraform activities|Activities]] ==
* Create you first AWS instances with Terraform tutorial: https://learn.hashicorp.com/tutorials/terraform/aws-build?in=terraform/aws-get-started
+
* [[Create you first AWS instances with Terraform tutorial]]: https://learn.hashicorp.com/tutorials/terraform/aws-build?in=terraform/aws-get-started
* Read Terraform blog: https://www.hashicorp.com/blog/category/terraform/
+
* Read Terraform [[blog]]: https://www.hashicorp.com/blog/category/terraform/
 +
* Read https://www.terraformupandrunning.com/ book
 
* Read [[Stackoverflow]] questions: https://stackoverflow.com/questions/tagged/terraform?tab=Votes
 
* Read [[Stackoverflow]] questions: https://stackoverflow.com/questions/tagged/terraform?tab=Votes
 
* Read Terraform: Up & Running, 2nd edition Early Release is now available! https://blog.gruntwork.io/terraform-up-running-2nd-edition-early-release-is-now-available-b104fc29783f
 
* Read Terraform: Up & Running, 2nd edition Early Release is now available! https://blog.gruntwork.io/terraform-up-running-2nd-edition-early-release-is-now-available-b104fc29783f
* [[Terraform, read files]]
+
* Review some [[Terraform examples]]
 +
* Use <code>[[terraform apply -replace]]</code> to recreate a resource
  
 
== Related terms ==
 
== Related terms ==
* [[HCL]] and [[HCL]]2
+
* [[HCL]], [[HCL]]2 and [[HashiCorp Interpolation Language (HIL)]]
* <code>[[count]]</code> parameter for [[iterations]]
+
* [[Terraform: Meta-Argument]]s: <code>[[count]]</code> parameter for [[iterations]], <code>[[Terraform: depends on|depends_on]]</code>
* <code>[[Terraform: depends on|depends_on]]</code>
 
 
* [[Terraform conditional expressions]]
 
* [[Terraform conditional expressions]]
* [[Splat expression]]
+
* [[Terraform functions]]: <code>[[Terraform functions: templatefile|templatefile]]</code>, <code>[[join]]</code>, <code>[[output]]</code>, [[Splat expression]]
* [[Terraform functions]]: <code>[[Terraform functions: templatefile|templatefile]]</code>, <code>[[join]]</code>, <code>[[output]]</code>
+
* [[Terraform data sources]], [[Terraform providers]], [[Terraform modules]], [[Terraform resources]], [[Terraform backends]]
* [[Terraform data sources]]
 
* [[Remote state backends to manage Terraform state]]
 
* [[Terraform modules]]: [[Error: Invalid value for module argument]]
 
 
* [[Terragrunt]], [[Terraformer]], [[terratest]]
 
* [[Terragrunt]], [[Terraformer]], [[terratest]]
 
* Releases: https://github.com/hashicorp/terraform/releases
 
* Releases: https://github.com/hashicorp/terraform/releases
* [[Terraform libvirt provider]]
+
 
 
* <code>[[artifacts:]]reports:terraform</code>
 
* <code>[[artifacts:]]reports:terraform</code>
 
* [[Terraform Cloud Operator]]
 
* [[Terraform Cloud Operator]]
* <code>[[resource]]</code>: https://www.terraform.io/docs/language/resources/index.html
 
 
* [[Terraform examples]]: [[Terraform: Hello world.tf]]
 
* [[Terraform examples]]: [[Terraform: Hello world.tf]]
 +
* [[Terraform Associate]]: Understand [[secret management]] in [[state files]]
 +
* [[Terraform deprecated commands]]
 +
* [[Terraform CLI Configuration File]]
 +
* [[Terraform VCS connections]]
 +
* [[Terraform best practices]]
 +
* [[Oracle Cloud Resource Manager]]
 +
* [[Terraform AWS]] (<code>[[hashicorp/aws]]</code>), [[Terraform GCP]]
 +
* <code>[[tflint]], [[tfsec]]</code>
 +
* <code>[[tfswitch]]</code>
 +
* [[Atlantis]] [[pull request]] automation
 +
* [[AWS Service Catalog]]
 +
* [[OpenTofu]]
 +
* <code>[[.this]]</code>
 +
* [[Crossplane.io]]
 +
* [[Terrakube.org]]
  
 
== See also ==
 
== See also ==
* {{terraform aws resources}}
 
 
* {{terraform cmd}}
 
* {{terraform cmd}}
 
* {{terraform}}
 
* {{terraform}}
* {{IaC}}
 
  
 
[[Category:Infrastructure as Code]]
 
[[Category:Infrastructure as Code]]
 
[[Category:IaC]]
 
[[Category:IaC]]
 
[[Category:Cloud computing]]
 
[[Category:Cloud computing]]

Latest revision as of 13:29, 26 August 2024

wikipedia:Terraform (software) (July 2014) is an open-source infrastructure as code software.


Technical characteristics[edit]

Supported platforms/providers[edit]

Terraform installation[edit]

Terraform commands[edit]

News[edit]

Activities[edit]

Related terms[edit]

See also[edit]

  • https://www.hashicorp.com/blog/announcing-providers-in-the-new-terraform-registry
  • https://www.hashicorp.com/blog/hashicorp-terraform-module-registry
  • Advertising: