Из-за этой проблемы похоже, что провайдеры должны получить текущая версия SDK (2.4.4 на момент публикации). Этот пост есть много информации о том, как импортировать конкретную версию пакета, но, конечно, каждый автор провайдера вручную не загружает самую последнюю версию SDK (или они)?
Я новичок в Go/Terraform, поэтому, возможно, я упускаю что-то очевидное, но у поставщиков, которых я нашел (включая официальный пример), есть что-то вроде:
import(
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
)
Текущая версия не 2 - это 2.4.4
. Теперь я знаю, что это локальные пути, но меня смущает то, что когда я запускаю что-то вроде go get
, он идет и вытаскивает их для меня. Я пытался сделать:
"github.com/hashicorp/terraform-plugin-sdk/v2.4.4/helper/schema"
но go get
это очень не нравится. Как go get
находит эти версии пакетов? Есть ли синтаксис импорта, который просто дает мне последнюю сборку или обеспечивает большую степень детализации? Я не нашел хорошего способа узнать, какая у меня версия SDK после запуска go get
, но на основе этого сообщения об ошибке:
похоже, что у меня 2.0, потому что эта ошибка, как я понимаю, исправлена в более новых версиях SDK.