Terraform-从AWS应用程序配置参数获取一个值,然后传递到资源

发布于 2025-02-13 07:53:15 字数 267 浏览 1 评论 0原文

如何在Terraform脚本中以JSON格式以JSON格式获取AWS配置参数。我想在另一个资源中使用这些参数。 我只想将脚本中的所有变量参数外部化。

例如:我们有数据来源:AWS_SSM_PARAMETER获取AWS SSM参数。

'''

data "aws_ssm_parameter" "foo" {
  name = "foo"
}

''

同样,我们如何在Terraform脚本中获得AWS应用程序配置。

How to get aws configuration parameters stored in json format on S3 in terraform scripts. I want to use those parameters in another resources.
I just want to externalise all the variable parameters in the script.

e.g: we have Data Source: aws_ssm_parameter to get AWS ssm parameters.

'''

data "aws_ssm_parameter" "foo" {
  name = "foo"
}

'''

Similarly how can we get aws app configurations in terraform scripts.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我不会写诗 2025-02-20 07:53:16

从我的理解来看,您需要读取S3对象的值并将其用于Terraform。

使用的数据因为它是我们引用的外部资源。
我会这样使用:

data "aws_s3_object" "obj" {
  bucket = "foo"
  key    = "foo.json"
}

output "s3_json_value" {
    value = data.aws_s3_object.obj.body
}

要解析JSON您可以使用JSondecode

locals {
    a_variable = jsondecode(data.aws_s3_object.obj.body)
}

output "Username" {
    value = local.a_variable.name
}

From my understanding you need to read S3 objects' value's and use it in terraform.

Used data because it's external resource that we're referencing.
I would use like this:

data "aws_s3_object" "obj" {
  bucket = "foo"
  key    = "foo.json"
}

output "s3_json_value" {
    value = data.aws_s3_object.obj.body
}

To parse JSON you can use jsondecode

locals {
    a_variable = jsondecode(data.aws_s3_object.obj.body)
}

output "Username" {
    value = local.a_variable.name
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文