Если Terraform скрипт использует модуль, который имеет выходы, можно получить доступ к этим выходам модуля при помощи опции -module
для terraform output
команды:Возможно ли получить доступ к состоянию модуля в файле удаленного состояния терракота?
$ terraform output --help
Usage: terraform output [options] [NAME]
Reads an output variable from a Terraform state file and prints
the value. If NAME is not specified, all outputs are printed.
Options:
-state=path Path to the state file to read. Defaults to
"terraform.tfstate".
-no-color If specified, output won't contain any color.
-module=name If specified, returns the outputs for a
specific module
-json If specified, machine readable output will be
printed in JSON format
Если хранить этот файл состояние в S3 или некоторые таком, я может затем ссылаться на выходные данные основного сценария с помощью поставщика данных terraform_remote_state
.
data "terraform_remote_state" "base_networking" {
backend = "s3"
config {
bucket = "${var.remote_state_bucket}"
region = "${var.remote_state_region}"
key = "${var.networking_remote_state_key}"
}
}
resource "aws_instance" "my_instance" {
subnets = "${data.terraform_remote_state.base_networking.vpc_id}"
}
Возможно ли получить доступ к выходу модуля, который также присутствует в файле состояния? Я ищу что-то вроде "${data.terraform_remote_state.base_networking.module.<module_name>.<output>}"
или тому подобное.
Я не уверен, я понимаю, что вы просите здесь. Можете ли вы представить пример файла Terraform, который будет создавать нужный результат и как вы хотите его использовать? Похоже, вы просто хотите получить доступ к выходам модулей из файла состояния TF, но ваш вопрос уже объясняет, как добраться до них, поэтому я думаю, что я что-то не понимаю. – ydaetskcoR
В частности, у меня есть несколько сценариев terraform, где один является «базой», которая применяется перед всем остальным. Другие ссылаются на состояние, которое оно производит. Внутри этого базового сценария я использую модули модулей, и у них есть выходы, на которые ссылаются в главном скрипте. Я хотел бы получить доступ к выводам этих модулей в последующих зависимых сценариях. – dustyburwell
Ответ [здесь] (http://stackoverflow.com/a/39785310/77040) показывает, насколько я настроен. Я просто хотел бы добиться этого без дополнительного шаблона. – dustyburwell