Amazon web services 地形数据源输出到文件

Amazon web services 地形数据源输出到文件,amazon-web-services,terraform,aws-cli,Amazon Web Services,Terraform,Aws Cli,我想试试terraform数据源是否能够将输出放在文本文件中。 我在线查看了它,但没有找到任何,我计划先获取负载平衡器名称,然后我们的自动化脚本将执行aws cli命令,并使用数据源获取的负载平衡器名称如果您的CLB名称由TF自动生成,您可以使用以下命令将其保存在文件中: 您需要知道arn或ALB的名称才能使用此类数据源。所以,如果您已经知道名称,那么使用数据源获取名称就没有多大意义。您是否有任何代码来显示您想要实现什么?从技术上讲,我希望从terraform输出中获得经典的负载平衡器名称。负载

我想试试terraform数据源是否能够将输出放在文本文件中。
我在线查看了它,但没有找到任何,我计划先获取负载平衡器名称,然后我们的自动化脚本将执行aws cli命令,并使用数据源获取的负载平衡器名称

如果您的CLB名称由TF自动生成,您可以使用以下命令将其保存在文件中:


您需要知道arn或ALB的名称才能使用此类数据源。所以,如果您已经知道名称,那么使用数据源获取名称就没有多大意义。您是否有任何代码来显示您想要实现什么?从技术上讲,我希望从terraform输出中获得经典的负载平衡器名称。负载平衡器名称是自动生成的,其格式类似于“awseb-e-c-AWSEBLoa-2051TEWRHJCNM”,一旦我得到该名称,我将通过aws cli启用s3日志记录(classic lb没有添加s3 bucket用于日志记录的选项).Load balancer属于beanstalk并通过TF资源创建:aws_elastic_beanstalk_environment.@Lagot您认为应该在您的问题中提供如此重要的信息吗?抱歉,我以前无法理解您的输入,我将尝试您关于创建本地_文件的建议
resource "aws_elb" "clb" {
  availability_zones = ["ap-southeast-2a"]

  listener {
    instance_port     = 8000
    instance_protocol = "http"
    lb_port           = 80
    lb_protocol       = "http"
  }
  
}

resource "local_file" "foo" {
    content     = <<-EOL
    ${aws_elb.clb.name}
    EOL
    filename = "${path.module}/clb_name.txt"
}

output "clb_name" {
  value = aws_elb.clb.name
}
clb_name=$(terraform output -json clb_name | jq -r)
echo ${clb_name}