Difference between revisions of "Terraform"

From wikieduonline
Jump to navigation Jump to search
 
(171 intermediate revisions by 8 users not shown)
Line 1: Line 1:
[[wikipedia:Terraform (software)]] (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
 
+
* 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 Registry]]
+
* [[Terraform Module Registry]] (2017) <ref>https://www.hashicorp.com/blog/hashicorp-terraform-module-registry</ref>
  
== Technical characteristics ==
 
* [[HCL]]2 based
 
* Types: strings, number, bool, list, maps, set, tuple, object, any and null ([[Terraform 0.12]])
 
  
 +
* [[Terraform Operators]]
 +
* [[Terraform Expressions]]
  
 +
== Technical characteristics ==
 +
* [[Hashicorp Configuration Language (HCL)]]2 based
 +
* [[Terraform types]]: <code>strings, number, bool, list, [[maps]], set, [[tuple]], object, any and null</code> ([[Terraform 0.12]])
  
 
== Supported platforms/providers ==
 
== Supported platforms/providers ==
* [[AWS]]: [[AWS EKS]], [[GCP]], [[IBM Cloud]], [[DigitalOcean]], [[Azure]]: [[Azure Stack]], [[AzureRM]]
+
* [[AWS]]: [[AWS EKS]], [[GCP]], [[IBM Cloud]], [[DigitalOcean]], [[Azure]]: [[Azure Stack]], [[AzureRM]], [[OpenStack]], [[ServiceNow]], [[F5 Networks]], [[Nutanix]], [[Tecent Cloud]], [[Helm]], [[Oracle OCI]], [[Brightbox]], [[RightScale]], [[Linode]], [[SkyTap]], [[UCloud]], [[Hedvig]], [[Zabbix]], [[Rollbar]]
* [[OpenStack]]
 
* [[ServiceNow]]
 
* [[F5 Networks]]
 
* [[Nutanix]]
 
* [[Tecent Cloud]]
 
* [[Helm]]
 
* [[Oracle OCI]]
 
* [[Brightbox]]
 
* [[RightScale]]
 
* [[Linode]]
 
* [[SkyTap]]
 
* [[UCloud]]
 
* [[Hedvig]]
 
* [[Zabbix]]
 
  
== Installation ==
+
* <code>[[terraform providers]]</code>
* [[macOS]]: <code>[[brew]] install terraform</code>.
 
* [[Ubuntu]]: <code>snap install terraform</code>
 
  
 +
== [[Terraform installation]] ==
  
Review version:
+
== [[Terraform commands]] ==
terraform -v
 
Terraform v0.13.5
 
  
== Running terraform ==
+
== [[Terraform changelog|News]] ==
[[terraform init]]
+
* Jan 2023 [[Terraform Dynamic Provider Credentials]]
[[terraform plan]]
+
* Aug 2022 [[CDK for Terraform (CDKTF)]]
[[terraform apply]]
+
* Dec 2017 [[Terraform Enterprise (TFE)]] [[GA]]
[[terraform remote config]]
 
  
[[terraform destroy]]
+
== [[Terraform activities|Activities]] ==
 +
* [[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 https://www.terraformupandrunning.com/ book
 +
* 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
 +
* Review some [[Terraform examples]]
 +
* Use <code>[[terraform apply -replace]]</code> to recreate a resource
  
== Common Terraform commands<ref>https://www.terraform.io/docs/commands/index.html</ref> ==
+
== Related terms ==
 
+
* [[HCL]], [[HCL]]2 and [[HashiCorp Interpolation Language (HIL)]]
    apply              Builds or changes infrastructure
+
* [[Terraform: Meta-Argument]]s: <code>[[count]]</code> parameter for [[iterations]], <code>[[Terraform: depends on|depends_on]]</code>
    console            Interactive console for Terraform interpolations
+
* [[Terraform conditional expressions]]
    destroy            Destroy Terraform-managed infrastructure
+
* [[Terraform functions]]: <code>[[Terraform functions: templatefile|templatefile]]</code>, <code>[[join]]</code>, <code>[[output]]</code>, [[Splat expression]]
    fmt                Rewrites config files to canonical format
+
* [[Terraform data sources]], [[Terraform providers]], [[Terraform modules]], [[Terraform resources]], [[Terraform backends]]
    get                Download and install modules for the configuration
+
* [[Terragrunt]], [[Terraformer]], [[terratest]]
    graph              Create a visual graph of Terraform resources
+
* Releases: https://github.com/hashicorp/terraform/releases
    import            Import existing infrastructure into Terraform
 
    init              Initialize a new or existing Terraform configuration
 
    output            Read an output from a state file
 
    plan              Generate and show an execution plan
 
    providers          Prints a tree of the providers used in the configuration
 
    push              Upload this Terraform module to Terraform Enterprise to run
 
    refresh            Update local state file against real resources
 
    show              Inspect Terraform state or plan
 
    taint              Manually mark a resource for recreation
 
    untaint            Manually unmark a resource as tainted
 
    validate          Validates the Terraform files
 
    version            Prints the Terraform version
 
    workspace          Workspace management
 
 
All other commands:
 
    0.12upgrade        Rewrites pre-0.12 module source code for v0.12
 
    0.13upgrade        Rewrites pre-0.13 module source code for v0.13
 
    debug              Debug output management (experimental)
 
    force-unlock      Manually unlock the terraform state
 
    push              Obsolete command for Terraform Enterprise legacy (v1)
 
    state              Advanced state management
 
 
 
== Activities ==
 
# Read Terraform blog: https://www.hashicorp.com/blog/category/terraform/
 
# 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: Hello_world.tf]]
 
# [[Terraform, read files]]
 
  
== Related ==
+
* <code>[[artifacts:]]reports:terraform</code>
* [[HCL]], [[HCL]]2
+
* [[Terraform Cloud Operator]]
* <code>terraform_remote_state</code>
+
* [[Terraform examples]]: [[Terraform: Hello world.tf]]
* <code>count</code> parameter for iterations
+
* [[Terraform Associate]]: Understand [[secret management]] in [[state files]]
* [[Remote state backends to manage Terraform state]]
+
* [[Terraform deprecated commands]]
* [[Terragrunt]]
+
* [[Terraform CLI Configuration File]]
* Releases: https://github.com/hashicorp/terraform/releases
+
* [[Terraform VCS connections]]
* [[Terraform libvirt provider]]
+
* [[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 cmd}}
 
* {{terraform}}
 
* {{terraform}}
* {{IaC}}
 
* {{Cloud}}
 
  
 
[[Category:Infrastructure as Code]]
 
[[Category:Infrastructure as Code]]
 +
[[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: