Terraform - Как мне сопоставить различные файлы переменных среды azure? - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть два файла Terraform ниже двух сред *

Вот testenv_variables.tfvars

 location            = "westeurope"
 resource_group_name = "testenv-cloudresources-rg"

Вот мой main.tf

  # Configure the Microsoft Azure Provider
  provider "azurerm" {
       version = "=2.0.0"

       features {}

       subscription_id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

   }

   provider "azurerm" {
       alias  = "testenv"
       subscription_id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }


    # Create a resource group
    resource "azurerm_resource_group"  {
        provider = "azurerm.testenv" //How do I pass provider based on variables here?
        name     = "${var.resource_group_name}" 
        location = "${var.location}"
      }

Мое требование основано на переданном tfvar файле в качестве параметра, его следует выбрать подписка.

   terraform apply  -var-file="devenv_variables.tfvars"

когда я печатаю ниже, командный ресурс создаст в тестовой среде

   terraform apply  -var-file="testenv_variables.tfvars"

Я думаю, мне нужно определить идентификатор клиента и пароль для входа в соответствующие подписки.

1 Ответ

1 голос
/ 12 апреля 2020
Файлы

tfvars должны содержать только значения переменных. объявление переменных должно происходить в обычных tf файлах.

variables.tf

    variable "location" { 
      type = "string"
      description = "The azure location where the resources is created"
    }

devenv_variables.tfvars

location     = "West Europe"

Этот учебник также может помочь вам с дополнительной информацией и примерами.

...