как читать второй блок в tfstate с помощью terraform?

У меня удаленное состояние на s3, и я не знаю, как получить доступ ко второму блоку json файла tfstate.

Мое tfstate выглядит так:

{
    "version": 3,
    "terraform_version": "0.11.7",
    "serial": 1,
    "lineage": "79b7840d-5998-1ea8-2b63-ca49c289ec13",
    "modules": [
        {
            "path": [
                "root"
            ],
            "outputs": {},
            "resources": {},
            "depends_on": []
        },
        {
            "path": [
                "root",
                "vpc"
            ],
            "outputs": {
                "database_subnet_group": {
all my resources are listed here...
}

и я могу получить доступ к этому коду:

data "terraform_remote_state" "network" {
  backend = "s3"
  config = {
    bucket = "bakka-tfstate"
    key    = "global/network.tfstate"
    region = "eu-west-1"
  }
}

но выход

output "tfstate" {
  value = data.terraform_remote_state.network.outputs
}

ничего не показывает мне

Подать заявку полностью! Ресурсы: 0 добавлено, 0 изменено, 0 уничтожено.

Выходы:

tfstate = {}

Я считаю, что это потому, что в этом tfstate есть два блока json, и terraform читают первый, который пуст, поэтому я спрашиваю, как читать второй?

1 ответ

Решение

Только корневые выходы доступны через удаленное состояние. Это ограничение описано здесь. Он также предлагает решение - в проекте, который создает состояние, о котором вы говорите, вам нужно будет направить вывод в корневой вывод.

Другие вопросы по тегам