Difference between revisions of "Terraform modules: source"
Jump to navigation
Jump to search
(17 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
* https://www.terraform.io/docs/language/modules/sources.html | * https://www.terraform.io/docs/language/modules/sources.html | ||
Line 8: | Line 7: | ||
Terraform uses this during the module installation step of <code>[[terraform init]]</code> to download the source code to a directory on local disk so that it can be used by other Terraform commands. | Terraform uses this during the module installation step of <code>[[terraform init]]</code> to download the source code to a directory on local disk so that it can be used by other Terraform commands. | ||
+ | == Examples in [[main.tf]] == | ||
+ | [[Terraform module keyword|module]] "[[consul]]" { | ||
+ | source = "./path/to/you/module" | ||
+ | } | ||
+ | |||
+ | module "yourmodule" { | ||
+ | source = "[[github.com]]/your-project/terraform-your-templates/modules/yourmodule" | ||
+ | } | ||
+ | |||
+ | module "vpc" { | ||
+ | source = "git::https://example.com/vpc.git?[[ref=]]v1.2.0" | ||
+ | } | ||
− | module " | + | module "db" { |
− | + | source = "terraform-aws-modules/rds/aws" | |
} | } | ||
Line 23: | Line 34: | ||
* [[S3 buckets]] | * [[S3 buckets]] | ||
* [[GCS]] buckets | * [[GCS]] buckets | ||
+ | |||
+ | == Errors == | ||
+ | * <code>[[Error: Module not found]]: Address could not be resolved</code> | ||
== Related terms == | == Related terms == | ||
* <code>[[terraform init]]</code> | * <code>[[terraform init]]</code> | ||
− | * [[ | + | * [[Terraform Associate]]: Contrast module source options |
+ | * [[Terraform public module registry]] | ||
+ | * [[Terraform module keyword]] | ||
== See also == | == See also == | ||
* {{Terraform modules}} | * {{Terraform modules}} | ||
− | |||
− | [[Category: | + | [[Category:Terraform]] |
Latest revision as of 12:42, 16 August 2023
The source argument in a module block tells Terraform where to find the source code for the desired child module.
source = "terraform-aws-modules/ec2-instance/aws"
Terraform uses this during the module installation step of terraform init
to download the source code to a directory on local disk so that it can be used by other Terraform commands.
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 "vpc" { source = "git::https://example.com/vpc.git?ref=v1.2.0" }
module "db" { source = "terraform-aws-modules/rds/aws" }
Terraform source types[edit]
https://www.terraform.io/docs/language/modules/sources.html
- Local paths
- Terraform Registry
- GitHub
- Bitbucket
- Generic Git, Mercurial repositories
- HTTP URLs
- S3 buckets
- GCS buckets
Errors[edit]
Error: Module not found: Address could not be resolved
Related terms[edit]
terraform init
- Terraform Associate: Contrast module source options
- Terraform public module registry
- Terraform module keyword
See also[edit]
Advertising: