Поставщик Terraform azure выдал мне «обязательное поле для функций не установлено».

#azure #terraform

#azure #терраформирование

Вопрос:

Этот код выдал мне ошибку, даже с функциональным блоком.

 terraform {
  required_version = ">= 0.12" 
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "=2.46.0"
    }
  }
  
}

provider "azurerm" {
  tenant_id       = "xxxxx"
  subscription_id = "xxxxx"
  client_id       = "xxxxx"
  client_secret   = "xxxxx"
  alias           = "prod"
  features {}
}
 

Что случилось??? Для azurerm версии 2.0 я знаю, что необходим блок функций, но я пробовал несколько раз, всегда появляется ошибка.

Комментарии:

1. Запускали ли вы инициализацию terraform после внесения изменений?

2. Вы могли бы опубликовать свое решение, если эта проблема была решена.

Ответ №1:

Я только что нажал на это сегодня, и когда я удалил alias поле, оно сработало! Связано с этой ошибкой: https://github.com/hashicorp/terraform/issues/26312#issuecomment-801468683

Ответ №2:

Эта проблема уже решена,..

На самом деле, мне нужен «псевдоним» здесь, потому что я использую terraform для развертывания с несколькими подписками..

Для каждого блока ресурсов мне просто нужен атрибут «provider», чтобы определить поставщика, которого они используют .. в моем случае:

 provider = azurem.prod