在Terraform中引入新的数据源
我对地形是新的,并且一直在试图理解地形的构造。假设我有一个公开REST API的服务,我想调用这些REST API作为terraform脚本的一部分,我需要采取什么步骤 我的理解是,我需要编写一个自定义提供程序,但我无法连接dot关于如何为新提供程序添加新数据源类型的信息 另外,假设我们确实有所需的提供者,那么与我的服务通信将使用什么协议?是HTTP/s吗在Terraform中引入新的数据源,terraform,Terraform,我对地形是新的,并且一直在试图理解地形的构造。假设我有一个公开REST API的服务,我想调用这些REST API作为terraform脚本的一部分,我需要采取什么步骤 我的理解是,我需要编写一个自定义提供程序,但我无法连接dot关于如何为新提供程序添加新数据源类型的信息 另外,假设我们确实有所需的提供者,那么与我的服务通信将使用什么协议?是HTTP/s吗 还有一点需要注意的是,我的服务目前用于在后端配置存储 terraform的最新版本(>0.9)支持。您不必创建自定义提供程序。您可以调用任何
还有一点需要注意的是,我的服务目前用于在后端配置存储 terraform的最新版本(>0.9)支持。您不必创建自定义提供程序。您可以调用任何返回可以用作数据的值的任意shell或python脚本
data "external" "example" {
program = ["python", "${path.module}/example-data-source.py"]
query = {
# arbitrary map from strings to strings, passed
# to the external program as the data query.
id = "abc123"
}
}
在您的例子中,您可以在bash脚本中使用一个简单的curl来调用端点,并将数据作为字符串映射返回到terraform
请注意页面顶部的警告。这比看起来要困难得多;不可能调试terraform发送给我的脚本的内容与脚本期望的内容之间的交互。它只是无法解析参数,并且拒绝向我提供任何关于程序中所包含内容的反馈这意味着我们总是可以使用一些外部脚本来完成所有繁重的工作,而我们只是在terraform中调用它,对不对?对于“调用rest api来获取一些任意数据”部分,是的,因为这似乎不是一个有用的答案。如果你想解决OP的问题,请说得更清楚。看起来这是对我上面答案的评论,一个有效的评论。我猜用户没有足够的代表将其作为评论发布。