相关疑难解决方法(0)

Terraform:从模块输出字段

考虑一个terraform模块:

module "blah-asg" {
  source = "asg"

  asg_max_size       = 1
  asg_min_size       = "${var.min_blah}"
  ...
}
Run Code Online (Sandbox Code Playgroud)

我的问题

我怎么output变量呢?

我试过了什么

output "blah-es-asg" {
    value = "${asg.blah-asg.arn}"
}
Run Code Online (Sandbox Code Playgroud)

哪个失败了

获取插件时出错:模块root:发生1个错误:*输出'blah-asg':变量asg.blah-asg.arn中引用的未知资源'asg.blah'

我的问题

如何在Terraform中输出模块字段?

terraform

13
推荐指数
2
解决办法
1万
查看次数

使用模块时不显示输出

outputs.tf我的模块目录下有一个文件。我\xc2\xa0有一个Main.tf文件。当我创建资源和 Terraform 应用时,不显示输出。但是,如果 I\xc2\xa0 不使用模块并严格从文件创建资源Main.tf,则输出显示正常。使用模块和单独的文件时,我需要做任何不同的事情来显示我的输出吗outputs.tf

\n
    Terraform v0.11.14\n+ provider.aws v2.19.0\n
Run Code Online (Sandbox Code Playgroud)\n

但是,如果 I\xc2\xa0 不使用模块并严格从文件创建资源Main.tf,则输出显示正常。

\n

主.tf

\n
module "identity-provider" {\n  source = "./modules/identity-provider"\n}\n\n\n\nmodule "saml-role1" {\n  source = "./modules/saml-roles/"\n}\n
Run Code Online (Sandbox Code Playgroud)\n

===============

\n

模块文件

\n
resource "aws_iam_role" "role1" {\n  name                 = "saml-role1"\n  description          = "Blah Blah"\n  path                 = "/"\n  assume_role_policy   = "${data.aws_iam_policy_document.assume_role.json}"\n  permissions_boundary = ""\n  max_session_duration = 43200\n\n\n\nresource "aws_iam_role_policy_attachment" "Read-Only" {\n  role       = "${aws_iam_role.role1.name}"\n  policy_arn = "arn:aws:iam::aws:policy/ReadOnlyAccess"\n}\n
Run Code Online (Sandbox Code Playgroud)\n

=================

\n

输出.tf

\n
output …
Run Code Online (Sandbox Code Playgroud)

terraform terraform0.12+

2
推荐指数
1
解决办法
3325
查看次数

标签 统计

terraform ×2

terraform0.12+ ×1