【问题标题】:Terraform - Fetch region from provider and use it in resource nameTerraform - 从提供者获取区域并在资源名称中使用它
【发布时间】:2020-08-11 18:38:27
【问题描述】:
provider "aws" {
  alias  = "sin"
  region = "ap-southeast-1"
}

provider "aws" {
  alias  = "mum"
  region = "ap-south-1"
}

resource "aws_sns_topic" "alarms_sin" {
  provider = aws.sin

  name = "${local.name_prefix}-alarms-${GET_CURRENT_REGION}"
}

resource "aws_sns_topic" "alarms_mum" {
  provider = aws.mum

  name = "${local.name_prefix}-alarms-${GET_CURRENT_REGION}"
}

通常,您可以使用data "aws_region" "current" {} 之类的数据块,但在这种情况下不起作用。

【问题讨论】:

    标签: terraform terraform-provider-aws


    【解决方案1】:

    我能够通过在数据块中添加提供程序来解决它 -

    provider "aws" {
      alias  = "sin"
      region = "ap-southeast-1"
    }
    
    provider "aws" {
      alias  = "mum"
      region = "ap-south-1"
    }
    
    // Change
    data "aws_region" "sin" {
      provider = "aws.sin"
    }
    
    data "aws_region" "mum" {
      provider = "aws.mum"
    }
    
    resource "aws_sns_topic" "alarms_sin" {
      provider = aws.sin
    
      name = "${local.name_prefix}-alarms-${data.aws_region.sin.name}"
    }
    
    resource "aws_sns_topic" "alarms_mum" {
      provider = aws.mum
    
      name = "${local.name_prefix}-alarms-${data.aws_region.mum.name}"
    }
    

    【讨论】:

      猜你喜欢
      • 2018-07-30
      • 2020-09-24
      • 2019-01-23
      • 2018-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-17
      • 1970-01-01
      相关资源
      最近更新 更多