首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Terraform的外部数据源: STDOUT语法不清楚

Terraform的外部数据源: STDOUT语法不清楚
EN

Stack Overflow用户
提问于 2021-11-25 10:51:24
回答 2查看 350关注 0票数 1

我想使用terraform的外部数据源来标识某些AWS EC2实例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data "external" "monitoring_instances" {
  program = ["bash", "${path.module}/../bash/tf_datasource_monitoring.sh"]

  query = {
    env = var.env_stage
  }
}

bash脚本使用AWS返回实例ID的列表。

但我一直收到这个Error: command "bash" produced invalid JSON: json: cannot unmarshal array into Go value of type string

我不明白我的脚本的STDOUT的预期语法对于terraform来说是什么来理解结果。

因此,让我们假设脚本应该返回3个实例ID i-1i-2i-3

返回给terraform的正确JSON语法是什么?

例如,不起作用的例子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
"instances": [
  "i-1",
  "i-2",
  "i-3"
]
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
  "i-1",
  "i-2",
  "i-3"
]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-25 12:46:57

这是provider-externalhttps://github.com/hashicorp/terraform-provider-external/issues/2在Terraform中的一个已知问题。它是在一段时间前打开的,不幸的是,最新版本仍然存在(Terraformv1.011)。

您可能希望避免返回包含数组的JSON对象。

票数 2
EN

Stack Overflow用户

发布于 2022-10-12 03:50:10

在执行python脚本生成动态bigquery模式时,我也遇到了同样的问题,根据定义,这是一个JSON数组。

我通过将模式作为字符串值来实现包装器JSON来解决这个问题(请参阅下面的虚拟代码)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# get_dynamic_bigquery_schema.py
import json

bigquery_schema = [
       {"name": "int_field", "type": "INTEGER", "mode": "NULLABLE", "description": "int_field"},
       {"name": "int_field_repeated", "type": "INTEGER", "mode": "REPEATED", "description": "int_field_repeated"}
   ]

wrapper_json = {'actual_output': str(json.dumps(bigquery_schema))}

print(json.dumps(wrapper_json))

然后我就可以在陆地上访问

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# main.tf
data "external" "bigquery_schema" {
  program = ["python", "${path.module}/get_dynamic_bigquery_schema.py"]
}
locals {
  bigquery_schema= data.external.bigquery_schema.result['actual_output']
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70116038

复制
相关文章
使用DNSStager在DNS中隐藏Payload
DNSStager是一个基于Python开发的开源项目,可以帮助广大研究人员使用DNS来隐藏和传输Payload。
FB客服
2021/09/16
1.1K0
在 Kubernetes 中检查镜像签名
之前连续写了几篇 Shell Operator 的东西,后来又写了一篇 cosign 的介绍,细心的读者可能会猜到,最终我的目的就是会用 Shell Operator 结合 cosign 来检查镜像的签名,以此保障镜像的完整性——是的,这个过程相当容易。
崔秀龙
2021/04/25
1.2K0
在 Kubernetes 中检查镜像签名
之前连续写了几篇 Shell Operator 的东西,后来又写了一篇 cosign 的介绍,细心的读者可能会猜到,最终我的目的就是会用 Shell Operator 结合 cosign 来检查镜像的签名,以此保障镜像的完整性——是的,这个过程相当容易。
CNCF
2021/05/07
9310
在CRI运行中验证容器镜像签名
Kubernetes社区自v1.24版本开始对其基于容器镜像的工件进行签名。随着v1.26版本中相应增强功能从alpha版本升级为beta版本,引入了对二进制工件的签名。其他项目也采用了这种方法,为其发布提供了镜像签名。这意味着它们可以在自己的CI/CD流水线中创建签名,例如使用GitHub Actions,或者依靠Kubernetes镜像推广流程通过向k/k8s.io存储库提交拉取请求来自动签名镜像。使用此流程的要求是项目必须是kubernetes或kubernetes-sigs GitHub组织的一部分,以便利用社区基础设施将镜像推送到暂存存储桶中。
灵雀云
2023/08/09
4490
在CRI运行中验证容器镜像签名
在 Python 中隐藏和加密密码?
在当前的数字时代,安全至关重要。在我们作为开发人员的工作中,我们经常处理密码等机密数据。必须使用正确的密码加密和隐藏方法来保护这些敏感数据。Python 中许多可访问的技术和模块可以帮助我们实现这一目标。通过对可用实现的基本思想和示例的解释,本文研究了在 Python 中隐藏和加密密码的最佳技术和方法。
很酷的站长
2023/08/11
5980
在 Python 中隐藏和加密密码?
iOS地图----MapKit框架
1.MapKit框架使用前提 ①导入框架 ②导入主头文件 #import <MapKit/MapKit.h> ③MapKit框架使用须知 MapKit框架中所有数据类型的前缀都是MK MapKit有一
用户1941540
2018/05/11
1.5K0
在IPA中重签名iOS应用程序
当我们在对iOS应用程序执行黑盒安全测试时,我们一般只能从AppStore来访问和获取iOS应用程序。但是在大多数情况下,客户都会给我们提供一个IPA文件。在黑盒测试过程中,我们无法访问目标应用的源代码,因此通过Xcode将其部署到设备并进行测试,几乎是不可能的。但是有一种可行的解决方案,即使用我们手头上的配置文件来重新启动应用程序,并将其部署到我们的测试设备上。
FB客服
2020/03/10
2.4K0
如何在使用 Flutter时切换应用时隐藏应用预览
如果您要显示敏感数据,例如。钱包金额,或者只是当登录表单显示插入的密码清晰时(想想眼睛图标..),当您不在应用程序中时,您必须隐藏敏感数据。
徐建国
2022/06/24
2.2K0
如何在使用 Flutter时切换应用时隐藏应用预览
如何使用MrKaplan在红队活动中隐藏和清理代码执行痕迹
关于MrKaplan  MrKaplan是一款功能强大的红队安全研究工具,该工具可以帮助广大红队研究人员清理和隐藏活动中的代码执行痕迹。该工具可以通过保存文件运行时间、存储文件快照等信息来辅助红队活动,并将所有的取证信息与相关用户关联起来。  功能介绍  1、关闭系统事件日志记录功能; 2、清理文件和代码组件; 3、清理注册表; 4、支持多用户运行; 5、支持以普通用户或管理员身份运行(建议以管理员权限运行); 6、支持保存文件时间戳; 7、支持排除指定操作,并将组件留给蓝队人员。  工具下载  该工具本质
FB客服
2023/03/30
1.8K0
如何使用MrKaplan在红队活动中隐藏和清理代码执行痕迹
PowerShell:在 Windows 中创建并导出自签名证书
证书是一种包含公钥和一些识别信息的文件。在PKI中,证书是由可信任的第三方(称为证书颁发机构,CA)颁发的,CA证明了证书持有者的身份以及与之关联的公钥。然而,我们也可以创建自签名证书,即由证书持有者自己(而不是CA)签名的证书。
运维开发王义杰
2023/08/10
2.4K0
PowerShell:在 Windows 中创建并导出自签名证书
如何使用 SwiftUI 中新地图框架 MapKit
了解 iOS 17 中的 MapKit 后,我们会发现 Apple 引入了更适合 SwiftUI 的 API。
Swift社区
2023/09/06
7390
如何使用 SwiftUI 中新地图框架 MapKit
干货|使用Go语言在图片中隐藏Shellcode
该项目是用 Go 语言编写的免杀项目,可以将生成的 Shellcode 隐藏进图片中,然后让目标主机进行远程加载调用。
HACK学习
2021/09/29
1.2K0
在使用Vue2.0中使用axios库时,遇到415错误
解决办法:在axios的第三个参数config中,设置请求头信息'Content-Type': 'application/json;charset=UTF-8'
Arebirth
2020/06/19
3.4K0
分享 8 种在 CSS 中隐藏元素的方法
作为 Web 开发人员,我们经常遇到需要隐藏网页上的元素的情况。在本文中,我们将分享8 种在 CSS 中隐藏元素的方法,每种方法都有优点和注意事项。
前端达人
2023/08/31
3310
分享 8 种在 CSS 中隐藏元素的方法
代码签名证书怎么写?签名证书制作时需要注意什么?
软件开发在现代已经成为了一件很多人都可以完成的工作,而为了让自己书写的代码不会受到恶意的篡改,很多用户都习惯在所开发的软件中加入代码签名证书,那么代码签名证书怎么写?签名证书制作时需要注意什么问题呢?
用户8715145
2021/11/12
5350
如何使用 Python 隐藏图像中的数据
秘密数据可以是任何格式的数据,如文本甚至文件。简而言之,隐写术的主要目的是隐藏任何文件(通常是图像、音频或视频)中的预期信息,而不实际改变文件的外观,即文件外观看起来和以前一样。
小白学视觉
2022/02/14
4K0
如何使用 Python 隐藏图像中的数据
实现滚动时Header自动隐藏
这是掘金网页版的头部,当滚动条向下滑动时,主header会隐藏,次级header会吸在页面顶部。
戴兜
2023/03/11
2.4K0
实现滚动时Header自动隐藏
如何使用mimic在LInux中以普通用户身份来隐藏进程
mimic是一款针对进程隐藏的安全工具,在该工具的帮助下,广大研究人员可以通过普通用户身份来在Linux操作系统(x86_64)上隐藏某个进程的执行。
FB客服
2023/08/08
4520
如何使用mimic在LInux中以普通用户身份来隐藏进程
点击加载更多

相似问题

将键数组映射到值数组

13

将键值数组映射到值数组

10

将数组对象值映射到新数组

36

如何将数组值映射到另一个数组值

10

将空值映射到数组

51
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文