Difference between revisions of "Terraform modules: source"
Jump to navigation
Jump to search
(29 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | * https://www.terraform.io/docs/language/modules/sources.html | ||
+ | |||
The source argument in a [[Terraform modules|module]] block tells Terraform where to find the source code for the desired child module. | The source argument in a [[Terraform modules|module]] block tells Terraform where to find the source code for the desired child module. | ||
Line 4: | Line 6: | ||
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 "db" { | ||
+ | source = "terraform-aws-modules/rds/aws" | ||
+ | } | ||
+ | |||
+ | == Terraform source types == | ||
+ | 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 == | ||
+ | * <code>[[Error: Module not found]]: Address could not be resolved</code> | ||
+ | |||
+ | == Related terms == | ||
+ | * <code>[[terraform init]]</code> | ||
+ | * [[Terraform Associate]]: Contrast module source options | ||
+ | * [[Terraform public module registry]] | ||
+ | * [[Terraform module keyword]] | ||
== See also == | == See also == | ||
− | * {{Terraform}} | + | * {{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: