Difference between revisions of "Terraform"

From wikieduonline
Jump to navigation Jump to search
 
(165 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]], [[OpenStack]], [[ServiceNow]], [[F5 Networks]], [[Nutanix]], [[Tecent Cloud]], [[Helm]], [[Oracle OCI]], [[Brightbox]], [[RightScale]], [[Linode]], [[SkyTap]], [[UCloud]], [[Hedvig]], [[Zabbix]]
+
* [[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]]
  
== 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>
    [[terraform fmt|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
 
    [[terraform show|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: