title: Passing multiple provider aliases to a module in terraform 0.12.13
body: <p>I'm building code that needs to talk to two different AWS accounts, which the documentation says should work.  This worked under 0.11.14</p>
  
  <p>In the main, in my providers.tf file I have:</p>
  
  <pre><code>provider "aws" {
    alias = "ca-central-1"
    region = "ca-central-1"
    profile = var.aws_profile
  }
  
  provider "aws" {
     alias = "other-ca-central-1"
     region = "ca-central-1"
     profile = var.aws_other_profile
  }
  </code></pre>
  
  <p>(Those variables are set the correct profiles in my credentials file.)</p>
  
  <p>In the root, in the code that calls the module,</p>
  
  <pre><code>module "obfuscated" {
    source = "./modules/obfuscated"
    providers = {
      aws.main = "aws.ca-central-1"
      aws.other = "aws.other-ca-central-1"
    }
    #other stuff
  }
  </code></pre>
  
  <p>In ./modules/obfuscated/main.tf I have</p>
  
  <pre><code>provider "aws" {
    alias = "main"
  }
  provider "aws" {
    alias = "other"
  }
  </code></pre>
  
  <p>Which the docs say is a placeholder, which can only be empty or have an alias.  Without it, it complains the provider doesn't exist.
  But with it, it complains I didn't specify the region, which conflicts with the docs.</p>
  
  <p>Surely the documentation couldn't be wrong, no, that couldn't be possible..  Help me obi-wan-overflow..</p>