= Cloud/Terraform/MultiProviderAws = * Goal is to use multiple aws providers, e.g. in different accounts or regions. * This is used for DNS in central account, or CloudFront only is us-east-1 * e.g. from https://github.com/hashicorp/terraform-provider-aws/issues/22586#issuecomment-1013547452 {{{ terraform { required_version = ">= 1.0" required_providers { aws = { source = "hashicorp/aws" } } } provider "aws" { region = "us-east-1" } provider "aws" { region = "us-west-1" alias = "usw1" } module "east" { source = "./aws" } module "west" { source = "./aws" providers = { aws = aws.usw1 } } output "east" { value = module.east.region } output "west" { value = module.west.region } }}} == Example errors == * Err1 - due to no provider in module {{{ Warning: Provider aws is undefined : aws = aws.prod Module module.route53 does not declare a provider named aws. }}} * Fix 1 - add to module main.tf or versions.tf {{{ terraform { required_version = "> 1.0" required_providers { aws = { source = "hashicorp/aws" } } } }}}