Difference between revisions of "Terraform modules"

From wikieduonline
Jump to navigation Jump to search
 
(89 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>
  
* <code>module "[[vpc]]"</code>
+
== Related commands ==
* <code>module "[[iam]]"</code>
+
* <code>[[terraform providers]]</code>
* <code>module "[[ec2]]"</code>
+
* <code>[[terraform init]]</code>
* <code>module "[[rds]]"</code>
+
* <code>[[terraform init -upgrade]]</code>
* <code>module "[[cdn]]"</code> ([[AWS CloudFront]])
+
* <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>
 +
 
 +
== [[Terraform AWS modules|AWS modules]] ==
 +
{{tf AWS modules TOC}}
 +
 
 +
== 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]] "[[yourconsul]]" {
 +
  [[Terraform modules: source|source]] = "./path/to/you/module"
 +
}
 +
 
 +
module "yourmodule" {
 +
  [[Terraform modules: source|source]] = "[[github.com]]/your-project/terraform-your-templates/modules/yourmodule"
 +
}
 +
 
 +
module "[[your_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 ==
* <code>[[source (Terraform modules)|source]]</code>
+
* [[Terraform modules:]] <code>[[Terraform modules: source|source]]</code>
* [[Terragrunt]]
+
* [[Terraform module keyword]]
 
* [[Ansible modules]]
 
* [[Ansible modules]]
 
* [[Terraform resources]]
 
* [[Terraform resources]]
 
* [[Provider (Terraform)]]: <code>[[aws]]</code>
 
* [[Provider (Terraform)]]: <code>[[aws]]</code>
* <code>[[terraform get]]</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 ==
* {{tf files}}
+
* {{terraform aws modules}}
* {{terraform cmd}}
+
* {{terraform modules}}
* {{Terraform}}
 
  
 
[[Category:Terraform]]
 
[[Category:Terraform]]

Latest revision as of 11:03, 30 May 2024

Modules naming convention: terraform-PROVIDER-NAME

Update modules:

List modules and versions:

Related commands[edit]

AWS modules[edit]

Others[edit]

Examples in main.tf[edit]

module "yourconsul" {
  source = "./path/to/you/module"
}
module "yourmodule" {
  source = "github.com/your-project/terraform-your-templates/modules/yourmodule"
}
module "your_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[edit]

Related terms[edit]

See also[edit]

Advertising: