Difference between revisions of "Terraform modules"

From wikieduonline
Jump to navigation Jump to search
(100 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
* https://learn.hashicorp.com/tutorials/terraform/module
 
* https://learn.hashicorp.com/tutorials/terraform/module
* [[Terraform registry]]: https://registry.terraform.io/browse/modules
 
  
 
Modules naming convention: <code>terraform-[[PROVIDER]]-NAME</code>
 
Modules naming convention: <code>terraform-[[PROVIDER]]-NAME</code>
 +
* <code>[[.terraform/modules/]]</code>
 +
 +
Update modules:
 +
* <code>[[terraform init -upgrade]]</code>
 +
 +
List modules and versions:
 +
* <code>[[cat .terraform/modules/modules.json]] | jq</code>
 +
 +
== Related commands ==
 +
* <code>[[terraform providers]]</code>
 +
* <code>[[terraform init]]</code>
 +
* <code>[[terraform init -upgrade]]</code>
 +
* <code>[[terraform get]]</code>
 +
* <code>[[terraform get -update]]</code>
 +
* <code>[[terraform graph]] 2>&1 | grep module | grep "{" |  cut -d"{" -f1</code>
 +
* <code>[[terraform get -update]] | grep Downloading</code>
  
* <code>module "[[vpc]]"</code>
+
== [[Terraform AWS modules|AWS modules]] ==
* <code>module "[[iam]]"</code>
+
{{tf AWS modules TOC}}
* <code>module "[[ec2]]"</code>
+
 
* <code>module "[[rds]]"</code>
+
== Others ==
* <code>module "vm"</code> ([[terraform Libvirt module]]: https://registry.terraform.io/modules/MonolithProjects/vm/libvirt/latest)
+
* <code>module "vm"</code> ([[Terraform Libvirt module]]: https://registry.terraform.io/modules/MonolithProjects/vm/libvirt/latest)
* <code>module [[s3]]-bucket</code> (https://registry.terraform.io/modules/terraform-aws-modules/s3-bucket/aws/latest)
+
 
* <code>module [[route53]]</code>: zones, record (https://registry.terraform.io/modules/terraform-aws-modules/route53/aws/latest)
+
== Examples in [[main.tf]] ==
* <code>module [[cicd (terraform module)|cicd]]</code> https://registry.terraform.io/modules/cloudposse/cicd/aws/latest
+
[[Terraform modules|module]] "[[consul]]" {
 +
  [[Terraform modules: source|source]] = "./path/to/you/module"
 +
}
 +
 
 +
module "yourmodule" {
 +
  [[Terraform modules: source|source]] = "[[github.com]]/your-project/terraform-your-templates/modules/yourmodule"
 +
}
 +
 
 +
module "[[ec2_instance]]" {
 +
  source  = "[[terraform-aws-modules/]]ec2-instance/aws"
 +
  [[version]] = "~> 3.0"
 +
}
 +
 
 +
module "your_module" {
 +
  [[Terraform modules: source|source]] =  git::git@bitbucket.org:your-org/your-project.git?ref=[[your-branch]]
 +
}
 +
 
 +
== Errors ==
 +
* <code>[[Error: Module not installed]]</code>
 +
* <code>[[Error: Unsupported argument]]</code>
  
 
== Related terms ==
 
== Related terms ==
* [[Terragrunt]]
+
* [[Terraform modules:]] <code>[[Terraform modules: source|source]]</code>
 +
* [[Terraform module keyword]]
 
* [[Ansible modules]]
 
* [[Ansible modules]]
* <code>[[source]]</code>
+
* [[Terraform resources]]
* <code>[[terraform import]]</code>
 
* [[Resource]]
 
* [[main.tf]], [[variables.tf]], [[outputs.tf]]
 
 
* [[Provider (Terraform)]]: <code>[[aws]]</code>
 
* [[Provider (Terraform)]]: <code>[[aws]]</code>
 +
* [[Terraform registry]]: https://registry.terraform.io/browse/modules
 +
* [[AWS CloudFormation modules]] (Nov 2020)
 +
* <code>[[?ref=]]XXXX</code>
 +
* [[Child modules]]: https://www.terraform.io/language/modules#child-modules
 +
* [[Still destroying]]
 +
* [[Learn-terraform-provision-eks-cluster: terraform providers]]
 +
* [[Terraform module keyword]]
 +
* <code>[[module.]]</code>
 +
* [[Standard module structure]]
 +
* [[Terraform modules inputs]]
 +
* <code>[[depends_on]]</code>
 +
* [[Terraform submodule]]
  
 
== See also ==
 
== See also ==
* {{terraform cmd}}
+
* {{terraform aws modules}}
* {{Terraform}}
+
* {{terraform modules}}
  
 
[[Category:Terraform]]
 
[[Category:Terraform]]

Revision as of 19:04, 8 November 2023

Modules naming convention: terraform-PROVIDER-NAME

Update modules:

List modules and versions:

Related commands

AWS modules

Others

Examples in main.tf

module "consul" {
  source = "./path/to/you/module"
}
module "yourmodule" {
  source = "github.com/your-project/terraform-your-templates/modules/yourmodule"
}
module "ec2_instance" {
  source  = "terraform-aws-modules/ec2-instance/aws"
  version = "~> 3.0"
}
module "your_module" {
  source =  git::[email protected]:your-org/your-project.git?ref=your-branch
}

Errors

Related terms

See also

Advertising: