首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将Terraform provisioner的" local -exec“输出存储在本地变量中,并在"remote-exec”中使用变量值

在Terraform中,可以使用provisioner来在资源创建过程中执行一些额外的操作。其中,local-exec和remote-exec是两种常用的provisioner类型。local-exec用于在Terraform执行端本地执行命令,而remote-exec用于在创建的资源上远程执行命令。

要将local-exec的输出存储在本地变量中,并在remote-exec中使用该变量的值,可以通过以下步骤完成:

  1. 在Terraform配置文件中定义一个本地变量:
代码语言:txt
复制
variable "command_output" {
  type = string
}
  1. 在资源的provisioner部分使用local-exec,并在命令中将输出值存储到本地变量:
代码语言:txt
复制
provisioner "local-exec" {
  command = "your_command"
  interpreter = ["bash", "-c"]

  environment = {
    TF_VAR_command_output = "${var.command_output}"
  }

  on_failure = continue
}
  1. 在资源的provisioner部分使用remote-exec,并使用存储在本地变量中的值:
代码语言:txt
复制
provisioner "remote-exec" {
  inline = [
    "your_command ${var.command_output}"
  ]
}

通过上述配置,local-exec会执行"your_command"命令,并将输出值存储在本地变量TF_VAR_command_output中。然后,remote-exec会使用存储在TF_VAR_command_output中的值来执行"your_command ${var.command_output}"。

需要注意的是,为了保证变量在local-exec和remote-exec之间的传递,使用了environment参数,并设置了TF_VAR_command_output的值为var.command_output。这样可以确保本地变量的值在不同provisioner中的正确传递。

对于这个问题,腾讯云的产品和服务可以提供以下方面的支持:

  • 腾讯云服务器(CVM):提供云服务器实例,可用于运行Terraform和执行相应的provisioner命令。
  • 腾讯云对象存储(COS):提供数据存储和处理服务,可以存储和管理Terraform执行过程中产生的文件和输出结果。

更多关于腾讯云产品和服务的信息,请参考腾讯云官方文档:

  • 腾讯云服务器(CVM):https://cloud.tencent.com/document/product/213
  • 腾讯云对象存储(COS):https://cloud.tencent.com/document/product/436
相关搜索:如何将exec的结果存储在变量中如何将DNS输出存储在nodejs中的变量中在我的Terraform存储桶策略中,如何将存储桶用作变量?如何将命令的输出作为变量存储在PowerShell中?如何将查询的输出存储在配置单元的变量中如何将sql语句的输出存储在C SHELL中的变量中?Terraform -有没有办法捕获shell脚本输出(从远程vm)并将其存储在Terraform输出(本地/领事上的状态文件)中?Laravel:如何将href id存储在新变量中,并在输入字段中显示或使用?将使用-print0查找的输出存储在变量中如何使用ajax将javascript变量值传递给php变量以存储在codeighter中的会话中如何在本地变量中存储http请求响应并在我的任何文件中使用它?将列名存储在变量中并在SQL Server的查询中使用它如何将fetch的JSON输出保存到一个变量中,并在Javascript中使用?如何将TextInput的值存储到本地存储中,并在应用程序在react native中启动时获取它们?如何将匹配条件存储在可以使用selenium单击的变量中如何将split与存储在变量中的regex一起使用?在WebGL或OpenGL中,使用输出片段变量作为临时存储是不好的吗?如何将查询结果存储在列表中并在以后的neo4j中使用如何使用Angular typescript中存储在本地机器上的csv文件的数据创建变量?如何将getText的结果存储在一个变量中,以便稍后在Nightwatch中使用?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券