Проблема с использованием сторонних поставщиков в terraform для azure-devops и поставщик mysql

#terraform #terraform-provider-azure #terraform-provider

Вопрос:

При выполнении инициализации terraform возникает ошибка, следуя официальной документации terraform, я пытаюсь создать azure-конвейер через terraform и создал для него модули, но не смог инициализировать, он работает нормально, если я передаю его непосредственно в файл .tf, но при добавлении в модуль сама команда инициализации terraform не выполняется.

 ╷
│ Error: Failed to query available provider packages
│
│ Could not retrieve the list of available versions for provider hashicorp/mysql: provider registry registry.terraform.io does not have a provider named       
│ registry.terraform.io/hashicorp/mysql
│
│ Did you intend to use terraform-providers/mysql? If so, you must specify that source address in each module which requires that provider. To see which       
│ modules are currently depending on hashicorp/mysql, run the following command:
│     terraform providers
╵

╷
│ Error: Failed to query available provider packages
│
│ Could not retrieve the list of available versions for provider hashicorp/azuredevops: provider registry registry.terraform.io does not have a provider named 
│ registry.terraform.io/hashicorp/azuredevops
│
│ Did you intend to use microsoft/azuredevops? If so, you must specify that source address in each module which requires that provider. To see which modules   
│ are currently depending on hashicorp/azuredevops, run the following command:
│     terraform providers
 

Ответ №1:

Любой, кто здесь ищет ответ, для любого стороннего поставщика нам также необходимо добавить исходный код в модули. Как будто мне пришлось добавить исходный код azure-devops в модуль

 terraform {
  required_providers {
    azuredevops = {
      source = "microsoft/azuredevops"
      version = "0.1.7"
    }
  }
}

#Create Azure Repo and Azure Pipeline
data "azuredevops_project" "project" {
  name = "Test"
}

#Create New Repo
resource "azuredevops_git_repository" "repo" {
  project_id = data.azuredevops_project.project.id
  name       = var.name
  initialization {
    init_type   = "Import"
    source_type = "Git"
    source_url  = lookup(var.template_map,var.template)
  }
}