Difference between revisions of "Terraform modules"

From wikieduonline
Jump to navigation Jump to search
 
(36 intermediate revisions by 5 users not shown)
Line 2: Line 2:
  
 
Modules naming convention: <code>terraform-[[PROVIDER]]-NAME</code>
 
Modules naming convention: <code>terraform-[[PROVIDER]]-NAME</code>
 +
* <code>[[.terraform/modules/]]</code>
  
== Modules ==
+
Update modules:
https://registry.terraform.io/namespaces/terraform-aws-modules
+
* <code>[[terraform init -upgrade]]</code>
* <code>module "[[Terraform module: vpc|vpc]]"</code>, <code>[[iam]]</code>, <code>[[aws_instance]]</code>
+
 
* <code>module "[[Terraform module: rds|rds]]"</code>
+
List modules and versions:
* <code>module "[[Terraform module: rds-aurora|rds-aurora]]"</code>
+
* <code>[[cat .terraform/modules/modules.json]] | jq</code>
* <code>module "[[cdn]]"</code> ([[AWS CloudFront]])
+
 
 +
== 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>
 +
 
 +
== [[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)
 
* <code>module [[cicd (terraform module)|cicd]]</code> https://registry.terraform.io/modules/cloudposse/cicd/aws/latest
 
* <code>[[module eks]]</code> https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest
 
* <code>[[hashicorp/random]]</code>
 
* <code>[[hashicorp/template]]</code> (deprecated)
 
  
 
== Examples in [[main.tf]] ==
 
== Examples in [[main.tf]] ==
Line 26: Line 34:
 
  }
 
  }
  
  module "ec2_instance" {
+
  module "[[ec2_instance]]" {
   source  = "terraform-aws-modules/ec2-instance/aws"
+
   source  = "[[terraform-aws-modules/]]ec2-instance/aws"
 
   [[version]] = "~> 3.0"
 
   [[version]] = "~> 3.0"
 
  }
 
  }
  
== Related commands ==
+
module "your_module" {
* <code>[[terraform init]]</code>
+
  [[Terraform modules: source|source]] =  git::[email protected]:your-org/your-project.git?ref=[[your-branch]]
* <code>[[terraform init -upgrade]]</code>
+
}
* <code>[[terraform get]]</code>
+
 
* <code>[[terraform get -update]]</code>
+
== Errors ==
terraform graph 2>&1 | grep module | grep "{" |  cut -d"{" -f1
+
* <code>[[Error: Module not installed]]</code>
 +
* <code>[[Error: Unsupported argument]]</code>
  
 
== Related terms ==
 
== Related terms ==
* [[Terraform modules: source]]
+
* [[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>[[Error: Module not installed]]</code>
 
 
* [[Terraform registry]]: https://registry.terraform.io/browse/modules
 
* [[Terraform registry]]: https://registry.terraform.io/browse/modules
* [[Terragrunt]]
 
 
* [[AWS CloudFormation modules]] (Nov 2020)
 
* [[AWS CloudFormation modules]] (Nov 2020)
 
* <code>[[?ref=]]XXXX</code>
 
* <code>[[?ref=]]XXXX</code>
 
* [[Child modules]]: https://www.terraform.io/language/modules#child-modules
 
* [[Child modules]]: https://www.terraform.io/language/modules#child-modules
 
* [[Still destroying]]
 
* [[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 aws modules}}
 
* {{terraform modules}}
 
* {{terraform modules}}
* {{terraform aws modules}}
 
  
 
[[Category:Terraform]]
 
[[Category:Terraform]]

Latest revision as of 19:04, 8 November 2023

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 "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[edit]

Related terms[edit]

See also[edit]

Advertising: