Difference between revisions of "Terraform modules"
Jump to navigation
Jump to search
(22 intermediate revisions by 4 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> | ||
+ | |||
+ | 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> | ||
== [[Terraform AWS modules|AWS modules]] == | == [[Terraform AWS modules|AWS modules]] == | ||
{{tf AWS modules TOC}} | {{tf AWS modules TOC}} | ||
− | |||
− | |||
− | |||
− | |||
== Others == | == Others == | ||
Line 14: | Line 26: | ||
== Examples in [[main.tf]] == | == Examples in [[main.tf]] == | ||
− | [[Terraform modules|module]] "[[ | + | [[Terraform modules|module]] "[[yourconsul]]" { |
[[Terraform modules: source|source]] = "./path/to/you/module" | [[Terraform modules: source|source]] = "./path/to/you/module" | ||
} | } | ||
Line 22: | Line 34: | ||
} | } | ||
− | module "[[ | + | module "[[your_ec2_instance]]" { |
source = "[[terraform-aws-modules/]]ec2-instance/aws" | source = "[[terraform-aws-modules/]]ec2-instance/aws" | ||
[[version]] = "~> 3.0" | [[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>[[ | + | * <code>[[Error: Unsupported argument]]</code> |
− | * <code>[[ | ||
== Related terms == | == Related terms == | ||
− | * [[Terraform modules: source]] | + | * [[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 | * [[Terraform registry]]: https://registry.terraform.io/browse/modules | ||
* [[AWS CloudFormation modules]] (Nov 2020) | * [[AWS CloudFormation modules]] (Nov 2020) | ||
Line 48: | Line 59: | ||
* [[Still destroying]] | * [[Still destroying]] | ||
* [[Learn-terraform-provision-eks-cluster: terraform providers]] | * [[Learn-terraform-provision-eks-cluster: terraform providers]] | ||
− | * <code>[[. | + | * [[Terraform module keyword]] |
+ | * <code>[[module.]]</code> | ||
+ | * [[Standard module structure]] | ||
+ | * [[Terraform modules inputs]] | ||
+ | * <code>[[depends_on]]</code> | ||
+ | * [[Terraform submodule]] | ||
== See also == | == See also == |
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: