Terraform: использование поставщика vsphere в автономной среде Windows

#terraform #vsphere

Вопрос:

Я хочу использовать провайдера terraform vsphere на компьютере с Windows, который не может получить доступ к Интернету. Я скачал terraform (v0.14.9) отсюда и последний поставщик vsphere (v1.25.0) отсюда и скопировал их на автономную машину. Однако я не знаю, как затем настроить Terraform, чтобы он ссылался на моего автономного поставщика vsphere при вызове команд инициализации, планирования, применения и уничтожения.

Я спас «terraform.exe» в C:/tools каталог и настройте мои переменные среды.

  1. Я попытался сохранить поставщика vsphere в C:/tools/terraform.d/plugins/registry.terraform.io/hashicorp/vsphere/terraform-provider-vsphere_v1.25.0_x4.exe и добавил следующее в начало моего файла tf:
     terraform {
       required_providers {
           vsphere = {
               source  = "registry.terraform.io/hashicorp/vsphere"
               version = "~> 1.25.0"
            }
        }
     }
 
  1. Я попытался сохранить его в произвольную папку ( C:/tools/plugins/terraform-provider-vsphere_v1.25.0_x4.exe ) и сослаться на него в команде init:
    terraform init -input=false -plugin-dir=C:/tools/plugins)

Попытка первая пытается подключиться к Интернету (которая завершается неудачей), а вторая попытка дает следующий ответ на сбой:

Инициализация серверной части…

Инициализация плагинов поставщика… Поиск версий hashicorp/vsphere, соответствующих «~> 1.25.0″…

Ошибка: Не удалось запросить доступные пакеты поставщиков

Не удалось получить список доступных версий для поставщика hashicorp/vsphere: поставщик registry.terraform.io/hashicorp/vsphere не был найден ни в одном из мест поиска

-C:/tools/plugins

Поэтому я расширил свой каталог для плагина vsphere следующим образом: C:/tools/plugins/registry.terraform.io/hashicorp/vsphere/terraform-provider-vsphere_v1.25.0_x4.exe

Но он все равно не работает и выдает то же самое сообщение об ошибке?

Ответ №1:

следуйте за мной ниже — https://www.terraform.io/upgrade-guides/0-14.html использование в интерфейсе командной строки с использованием terraform : введите обновление terraform.

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

1. или добавьте версию terraform — версия =»~> «1.25.0»

2. Спасибо за ответ, но я не уверен, что вы мне поручаете делать? почему и где я должен ввести «обновление терраформирования»? Я добавил стрелку тильды, но она ничего не сделала. (Извините, но я новичок в использовании terraform)

3. сначала обновите свой main.tf и введите terraform init в CLI