Как я могу исправить неизвестный токен: vault_auth_backend.approle.path

#terraform #terraform0.11

#terraform #terraform0.11

Вопрос:

Итак, в terraform есть страница руководства о vault_approle_auth_backend_role:

 resource "vault_auth_backend" "approle" {
  type = "approle"
}

resource "vault_approle_auth_backend_role" "example" {
  backend        = vault_auth_backend.approle.path
  role_name      = "test-role"
  token_policies = ["default", "dev", "prod"]
}
 

Но когда я копирую пример кода и пытаюсь запустить terraform init , появляется ошибка:

 Unknown token: vault_auth_backend.approle.path
 

Как я могу это исправить?

Я заметил, что backend этот параметр является необязательным, могу ли я просто пропустить его? Я чувствую, что хотел бы установить его значение $VAULT_ADDR/v1/identity/oidc/role или что-то в этом роде.

Если я использую backend = "${vault_auth_backend.approle.path}" , он все равно отображается backend: "${vault_auth_backend.approle.path}" при запуске terraform plan .

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

1. Какую версию Terraform вы используете? Это похоже на ошибку, которую вы получили бы в версиях Terraform до 0.12. Если это так, вы должны включить terraform0.11 тег в свой вопрос и объяснить, почему вы не можете использовать версию, выпущенную за последние 18 месяцев.

2. @ydaetskcoR ну, мы используем старую версию в моем текущем проекте.

3. Затем вам нужно использовать старый синтаксис HCL1, поэтому вы видите эту ошибку при попытке использовать синтаксис HCL2 (Terraform 0.12 ).

4. Конечно, но когда я использую "${vault_auth_backend.approle.path}" его, он все равно отображается backend: "${vault_auth_backend.approle.path}" при запуске tf plan .

5. Это просто вычисленный результат. При запуске apply он вернет вычисленный результат, но он не знает, каким он будет во время планирования.