Как передать учетные данные провайдера aws провайдеру local-exec null_resource? - PullRequest
0 голосов
/ 01 апреля 2019

Кто-нибудь придумал достойный способ сделать это?

Короче, у вас есть provider "aws", настроенный через env vars или профиль, с sts или без него, это не имеет значения,Возможно, у вас их несколько.

Теперь вы хотите вызвать aws cli, потому что что-то не очень хорошо реализовано в провайдере aws.В моем случае мне нужно сгенерировать и загрузить некоторую конфиденциальную информацию непосредственно в корзину S3, которую я не хочу в файле состояния.В любом случае это было s3 sync, поэтому действие идемпотентно.

Однако, похоже, нет способа передать учетные данные поставщика - постоянные, env var, profile во временные sts - в null_resource пункт:

provider "aws" {
  # set using explicit setting or profile or however
  alias = "myaws"
}

resource "null_resource" "cli" {
  provisioner "local-exec" {
    command = "aws <do something>"
    environment {
      # happy to pass AWS_PROFILE or AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY here...
      # if there were a way to retrieve it from the "myaws" provider
    }
  }
}
...