Difference between revisions of "Terraform"

From wikieduonline
Jump to navigation Jump to search
 
(169 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> or <code>[[snap install]] terraform-snap</code>
 
  
 +
== [[Terraform installation]] ==
  
Review version:
+
== [[Terraform commands]] ==
terraform -v
 
Terraform v0.13.5
 
  
== Running terraform ==
+
== [[Terraform changelog|News]] ==
* <code>[[terraform init]]</code>
+
* Jan 2023 [[Terraform Dynamic Provider Credentials]]
* <code>[[terraform plan]]</code>
+
* Aug 2022 [[CDK for Terraform (CDKTF)]]
* <code> [[terraform apply]]</code>
+
* Dec 2017 [[Terraform Enterprise (TFE)]] [[GA]]
* <code> [[terraform remote config]]</code>
 
* <code>[[terraform destroy]]</code>
 
  
== Common Terraform commands<ref>https://www.terraform.io/docs/commands/index.html</ref> ==
+
== [[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
  
    apply              Builds or changes infrastructure
+
== Related terms ==
    console            Interactive console for Terraform interpolations
+
* [[HCL]], [[HCL]]2 and [[HashiCorp Interpolation Language (HIL)]]
    destroy            Destroy Terraform-managed infrastructure
+
* [[Terraform: Meta-Argument]]s: <code>[[count]]</code> parameter for [[iterations]], <code>[[Terraform: depends on|depends_on]]</code>
    fmt                Rewrites config files to canonical format
+
* [[Terraform conditional expressions]]
    get                Download and install modules for the configuration
+
* [[Terraform functions]]: <code>[[Terraform functions: templatefile|templatefile]]</code>, <code>[[join]]</code>, <code>[[output]]</code>, [[Splat expression]]
    graph              Create a visual graph of Terraform resources
+
* [[Terraform data sources]], [[Terraform providers]], [[Terraform modules]], [[Terraform resources]], [[Terraform backends]]
    import            Import existing infrastructure into Terraform
+
* [[Terragrunt]], [[Terraformer]], [[terratest]]
    init              Initialize a new or existing Terraform configuration
+
* Releases: https://github.com/hashicorp/terraform/releases
    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 ==
+
* <code>[[artifacts:]]reports:terraform</code>
# Read Terraform blog: https://www.hashicorp.com/blog/category/terraform/
+
* [[Terraform Cloud Operator]]
# 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 examples]]: [[Terraform: Hello world.tf]]
# [[Terraform: Hello_world.tf]]
+
* [[Terraform Associate]]: Understand [[secret management]] in [[state files]]
# [[Terraform, read files]]
+
* [[Terraform deprecated commands]]
 
+
* [[Terraform CLI Configuration File]]
== Related ==
+
* [[Terraform VCS connections]]
* [[HCL]], [[HCL]]2
+
* [[Terraform best practices]]
* <code>terraform_remote_state</code>
+
* [[Oracle Cloud Resource Manager]]
* <code>count</code> parameter for iterations
+
* [[Terraform AWS]] (<code>[[hashicorp/aws]]</code>), [[Terraform GCP]]
* [[Remote state backends to manage Terraform state]]
+
* <code>[[tflint]], [[tfsec]]</code>
* [[Terragrunt]]
+
* <code>[[tfswitch]]</code>
* Releases: https://github.com/hashicorp/terraform/releases
+
* [[Atlantis]] [[pull request]] automation
* [[Terraform libvirt provider]]
+
* [[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: