Пользовательский поставщик Terraform: Как избежать обновления файла состояния TF в случае, если удаленный URL недоступен? - PullRequest
0 голосов
/ 15 января 2020

Я пишу пользовательский поставщик terraform и выполнил все задокументированные шаги в следующем URL: https://learn.hashicorp.com/terraform/development/writing-custom-terraform-providers

Я могу запустить его со всеми операциями CRUD с SDK используется для удаленного обслуживания, где я инициирую вызовы API.

Однако одна проблема, с которой я сталкиваюсь, заключается в том, что в случае недоступности удаленного URL-адреса, выполнение terraform apply перезаписывает файл состояния TF, даже если я возвращаю ошибку из плагина. Эта ошибка также отражена в выводе terraform apply.

Редактировать: Похоже, я нашел шаги для репликации этого с существующим хранилищем: https://github.com/Mastercard/terraform-provider-restapi/

Наблюдения от этого:

  1. Если я использую бинарный файл последней версии от https://github.com/Mastercard/terraform-provider-restapi/releases, он работает как положено.
  2. Если я клонирую репозиторий и сборку бинарного файла самостоятельно с помощью этой команды go build -o terraform-provider-restapi_v1.10.0-linux-amd64, я начинаю получать ошибки, как указано в вопросе. go версия: go version go1.10.3 linux/amd64

Что я здесь не так делаю? Как мы строим двоичные файлы провайдера?

Любая помощь о том, как это исправить?

...