Difference between revisions of "Terraform"
Jump to navigation
Jump to search
↑ https://www.hashicorp.com/blog/hashicorp-terraform-module-registry
↑ https://www.hashicorp.com/blog/announcing-providers-in-the-new-terraform-registry
↑ https://www.terraform.io/docs/commands/index.html
Line 63: | Line 63: | ||
* [[Terraform conditional expressions]] | * [[Terraform conditional expressions]] | ||
* [[Heredocs]] | * [[Heredocs]] | ||
+ | * [[Terraform functions: templatefile]] | ||
* [[Remote state backends to manage Terraform state]] | * [[Remote state backends to manage Terraform state]] | ||
* [[Terragrunt]], [[Terraformer]], [[terratest]] | * [[Terragrunt]], [[Terraformer]], [[terratest]] |
Revision as of 11:02, 14 September 2021
wikipedia:Terraform (software) (July 2014) is an open-source infrastructure as code software.
- Terraform Cloud (September 2019)
- Terraform Enterprise
- Terraform Module Registry (2017) [1]
- Terraform Registry (2020) [2]
- Google trends: https://trends.google.com/trends/explore?date=all&q=%2Fg%2F11g6bg27fp
Contents
Technical characteristics
- Hashicorp Configuration Language (HCL)2 based
- Types: strings, number, bool, list, maps, set, tuple, object, any and null (Terraform 0.12)
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, Rollbar
Installation
- macOS:
brew install terraform
. - Ubuntu:
snap install terraform
orsnap install terraform-snap
- Linux:
sudo apt-get update && sudo apt-get install -y gnupg software-properties-common curl
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt-get -qq update && sudo apt-get install terraform && terraform -v
Ref: https://learn.hashicorp.com/tutorials/terraform/install-cli
Terraform commands
terraform init
terraform import
terraform plan
terraform apply
terraform remote config
terraform destroy
terraform fmt
terraform fmt -check
terraform show
terraform validate
terraform login
terraform add
(1.1.0, xx/2021)terraform console
terraform graph
Common Terraform commands[3]
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://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
- Terraform, read files
Related terms
- HCL and HCL2
count
parameter for iterationslength
- Terraform: depends on
- Terraform conditional expressions
- Heredocs
- Terraform functions: templatefile
- Remote state backends to manage Terraform state
- Terragrunt, Terraformer, terratest
- Releases: https://github.com/hashicorp/terraform/releases
- Terraform libvirt provider
artifacts:reports:terraform
- Terraform Cloud Operator
resource
: https://www.terraform.io/docs/language/resources/index.html- Terraform examples: Terraform: Hello world.tf
join
,output
See also
- Terraform AWS: providers, modules, resources
hashicorp/aws
- Terraform AWS resources: IAM, Net, EC2, ECS, ECR, S3, Route53, ACM, CloudWatch, CloudFront SES, RDS, DLM
terraform
[untaint | fmt
|apply
|show
|state
|init | plan | console | output
|validate
|destroy
|debug
|import
|providers
|get
|graph
|workspaces
|resource
|login
|-var-file
|state mv
|state pull
|state push
|state replace-provider
|state rm
|force-unlock
|env
|tfe
|--version
|remote-exec
|delete on termination
| deprecated commands |terraform --help
]- Terraform, OpenTofu, Terrakube.org, Installation, Terraform AWS, Terraform GCP, Terraform commands, Terraform Cloud, Terraform Enterprise (TFE), HCL, HIL, meta-arguments, providers, modules, resource, provisioners, data sources, backends: remote backends, examples, configuration files, state files, variables, types, Terraform Registry, conditionals:
depends_on
, functions, Blocks, dynamic blocks, errors, Terragrunt, Terraformer, Terratest, Terraform certifications, Terraform map type, Terraform Associate, Terraform: list type,TF_VAR_, TF_LOG
, Terraform provider versioning, Terraform Style Conventions, Required version, Terraform plugin, Terraform Named Values, tags, Changelog,tfsec, tflint
, Operators, Expressions:for, splat
, Debugging, Namespaces, Terraform Landing Zones, CDKTF, Atmos - IaC: Terraform, Chef, cdist, capistrano, Harrow, puppet, Ansible, CFEngine, Cloud Deployment Manager, pulumi, juju, SaltStack, Azure Resource Manager (ARM), Google Deployment Manager, AWS CloudFormation, Pulumi, Heat, Spacelift, Oracle Cloud Resource Manager, KICS, Troposphere, CaC, IaC scanning
Advertising: