Difference between revisions of "Terraform modules"

From wikieduonline
Jump to navigation Jump to search
(128 intermediate revisions by 7 users not shown)
Line 1: Line 1:
* https://registry.terraform.io/browse/modules
+
* https://learn.hashicorp.com/tutorials/terraform/module
  
Naming convention: <code>terraform-PROVICER-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 "vm"</code> ([[terraform Libvirt module]]: https://registry.terraform.io/modules/MonolithProjects/vm/libvirt/latest)
+
* <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>
 +
 
 +
== [[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)
 +
 
 +
== Examples in [[main.tf]] ==
 +
[[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::[email protected]: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]]
 +
* [[Terraform resources]]
 +
* [[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: