Difference between revisions of "Terraform modules"
Jump to navigation
Jump to search
(92 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 | ||
− | |||
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> | + | == Related commands == |
− | * <code> | + | * <code>[[terraform providers]]</code> |
− | * <code> | + | * <code>[[terraform init]]</code> |
− | * <code> | + | * <code>[[terraform init -upgrade]]</code> |
− | * <code>module "[[ | + | * <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) | ||
− | + | ||
− | + | == Examples in [[main.tf]] == | |
− | * <code> | + | [[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 == | ||
− | * [[ | + | * [[Terraform modules:]] <code>[[Terraform modules: source|source]]</code> |
+ | * [[Terraform module keyword]] | ||
* [[Ansible modules]] | * [[Ansible modules]] | ||
− | |||
* [[Terraform resources]] | * [[Terraform resources]] | ||
* [[Provider (Terraform)]]: <code>[[aws]]</code> | * [[Provider (Terraform)]]: <code>[[aws]]</code> | ||
− | * [[ | + | * [[Terraform registry]]: https://registry.terraform.io/browse/modules |
− | * <code>[[ | + | * [[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 aws modules}} |
− | * {{terraform | + | * {{terraform modules}} |
− | |||
[[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:
Contents
Related commands[edit]
terraform providers
terraform init
terraform init -upgrade
terraform get
terraform get -update
terraform graph 2>&1 | grep module | grep "{" | cut -d"{" -f1
terraform get -update | grep Downloading
AWS modules[edit]
module "vpc"
,iam
,ec2-instance
module "rds"
module "rds-aurora"
module "cdn"
(AWS CloudFront)module s3-bucket
(https://registry.terraform.io/modules/terraform-aws-modules/s3-bucket/aws/latest)module route53
: zones, record (https://registry.terraform.io/modules/terraform-aws-modules/route53/aws/latest)module cicd
https://registry.terraform.io/modules/cloudposse/cicd/aws/latestmodule eks
https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latestnotify-slack
cloudtrail
security-group
Others[edit]
module "vm"
(Terraform Libvirt module: https://registry.terraform.io/modules/MonolithProjects/vm/libvirt/latest)
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]
- Terraform modules:
source
- Terraform module keyword
- Ansible modules
- Terraform resources
- Provider (Terraform):
aws
- Terraform registry: https://registry.terraform.io/browse/modules
- AWS CloudFormation modules (Nov 2020)
?ref=XXXX
- Child modules: https://www.terraform.io/language/modules#child-modules
- Still destroying
- Learn-terraform-provision-eks-cluster: terraform providers
- Terraform module keyword
module.
- Standard module structure
- Terraform modules inputs
depends_on
- Terraform submodule
See also[edit]
Advertising: