#terraform #terraform0.12
Вопрос:
Я пишу поставщика terraform, и существует 2 типа учетных данных: глобальные (которые устанавливаются в provider
блоке) и локальные (которые устанавливаются для каждого ресурса).
Проблема в том, что оба они, чтобы импортировать ресурс, разумно передать их в terraform import
command, а затем проанализировать его составленный идентификатор как идентификатор ресурса и его учетные данные? Т.е..,
terraform import my_provider.my_example_resource abc123/LOCAL_ABC123_USERNAME/LOCAL_ABC123_PASSWORD
Я взглянул на код SDK, и там есть цитата:
StateContextFunc — это функция, вызываемая для импорта ресурса в состояние Terraform. Ему присваивается ResourceData с установленным только идентификатором. Этот идентификатор будет произвольным значением, заданным пользователем, и может не соответствовать прямому формату идентификатора, который ожидает ресурс, поэтому его следует проверить.
поэтому я не могу рассчитывать на работу со следующей конфигурацией:
provider {...}
resource "my_provider" "my_example_resource" {
local_username = "foo"
local_password = "bar"
}
поскольку при запуске terraform import my_provider.my_example_resource
я не смогу получить доступ к его local_username / local_password
свойствам.
Комментарии:
1. Вероятно, это будет невозможно. Вероятно, для этого потребуется либо исправление API, либо обходной путь для привязок.