Terraform - 可选的 SSM 参数查找

2024-05-19

我正在查找 SSM 参数,该参数可能存在也可能不存在,具体取决于传入的变量:

data "aws_ssm_parameter" "server_tags" {
  name  = "/${var.env_number}/server_tags"
}

然后我在本地文件中像下面一样使用它并传递到我的模块:

locals {
  server_tags = data.aws_ssm_parameter.server_tags != null ? jsondecode(data.aws_ssm_parameter.server_tags.value) : {}
  instance_tags = merge(var.instance_tags, local.server_tags)
}

当我的参数存在时,这工作正常,但如果我传入一个参数不存在的值,则会收到错误:

Error describing SSM parameter (/997/server_tags): ParameterNotFound: 

无论如何,我可以预先检查该参数是否存在或以某种方式使其可选吗?

Thanks


可悲的是你不能这样做。 TF 无法建立机制来检查数据源是否存在。但是您可以使用以下方法编写自己的逻辑:外部数据源 https://registry.terraform.io/providers/hashicorp/external/latest/docs/data-sources/data_source.

由于您对外部数据源进行了编程,因此您可以创建一个逻辑来检查资源是否存在。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Terraform - 可选的 SSM 参数查找 的相关文章

  • 超时后无法部署到 AWS Elastic Beanstalk

    我是 AWS Elastic Beanstalk 的新手 这是我第一次遇到此问题 我尝试通过将我的应用程序 zip 上传到实例来部署新版本 更新完成后出现错误 已完成 但命令行超时 我增加了配置文件中的超时并重新部署 之后我收到了此消息 在
  • 为什么在对等互连后无法从另一个 VPC 中的 EC2 实例连接 AWS RDS 实例

    我在 VPC A 中的 EC2 实例上运行 Tableau Server 同时 我在另一个 VPC B 中创建了 postgres RDS 现在我想在 Tableau Server 和 RDS 之间建立连接 RDS VPC的CIDR为172
  • 调用API“找不到模块”时AWS lambda层错误

    我尝试使用 AWS Lambda 层 观看了有关它的教程 但收到错误 找不到模块 service aws nodejs package exclude gitignore package json git provider name aws
  • 如何找到 JAR:/home/hadoop/contrib/streaming/hadoop-streaming.jar

    我正在练习有关 Amazon EMR 的复数视角视频教程 我被困住了 因为我收到此错误而无法继续 Not a valid JAR home hadoop contrib streaming hadoop streaming jar 请注意
  • 在 AWS Glue 中覆盖动态框架中的镶木地板文件

    我使用动态框架在 S3 中写入镶木地板文件 但如果文件已存在 我的程序会附加一个新文件而不是替换它 我用的句子是这样的 glueContext write dynamic frame from options frame table con
  • 在 EB 上的 Docker 中运行的应用程序拒绝连接到自身

    我有一个 Play 2 Web 应用程序 我使用 Docker 将其部署到 Elastic Beanstalk 在此 Web 应用程序中 我启动了一个 Akka 集群 启动过程涉及将自动伸缩组中的所有节点添加为种子节点 包括其自身 第一次部
  • AWS 获取带有自定义域的预签名 URL

    以下是我正在做的事情 我正在使用自定义域为我的非公开 s3 存储桶资源生成预签名 URL 另外 为了添加证书 我为具有以下原始设置的存储桶创建了一个 Cloudfront 发行版 源域名 bucket name s3 amazonaws c
  • 为什么只有 50 个实例在 AWS lambda 上运行?

    我在用context logStreamName识别 lambda 实例 并发设置为无保留 但日志显示只有 50 个实例正在运行 我是否误解了logStream pre logStream pre实例 我从那里得到的信息这个博客 https
  • S3 静态网站中的目录列表

    我已经设置了一个 S3 存储桶来托管静态文件 使用网站端点 http s3 website us east 1 amazonaws com 时 它迫使我设置一个索引文件 当找不到文件时 它会抛出错误而不是列出目录内容 使用 s3 端点 s3
  • 身份验证 AWS Cognito SRP

    我正在编写一个控制台 POC 来演示 AWS 认知身份验证 应用程序池而不是联合身份 作为我们的 API 网关身份验证机制 不在 AWS 中托管 这是用 C 编写的 我已经成功创建了一个用户 并确认了他们 但现在我需要进行身份验证以检索我可
  • 亚马逊 CloudFront 延迟

    我正在为我正在开发的 Web 应用程序尝试使用 AWS S3 和 CloudFront 在应用程序中 我允许用户将文件上传到 S3 存储桶 使用 AWS SDK 并通过 CloudFront CDN 提供该文件 但问题是 即使文件已上传并在
  • 如何使用 lambda 和 python 在 s3 上压缩文件

    我需要存档 s3 上存在的多个文件 然后将存档上传回 s3 我正在尝试使用 lambda 和 python 由于某些文件超过 500MB 因此无法在 tmp 中下载 有什么办法可以将文件一一流式传输并将其存档吗 不写入磁盘 流式传输至 S3
  • 在AWS S3中部署react-redux应用程序

    我在堆栈溢出中遇到了很多类似的问题one https stackoverflow com questions 16267339 s3 static website hosting route all paths to index html
  • 如何将 API Gateway 与 Cognito 联合身份和 Cognito 用户池集成

    在AWS中 我构建了一个调用Lambda函数的API网关 用户通过登录与 Cognito 联合身份池关联的 Cognito 用户池来获得访问权限 并且关联的 IAM 角色包含 API 调用权限 API网关方法是POST请求 如果我使用用户池
  • AWS Java SDK 中 DynamoDB v2 的迁移详细信息?

    有没有人对新的命名空间进行了更改 com amazonaws services dynamodbv2 以及 AWS Java SDK 1 4 2 及更高版本 中 DynamoDB 的接口 本地二级指数的发布显然需要根据1 4 2 发行说明
  • 如何将 Terraform 状态从一个远程存储移动到另一个远程存储

    我们使用 Azure blob 存储作为 Terraform 远程状态 并且我尝试将有关特定现有资源的状态信息移动到该存储帐户中的不同容器 新容器 terraforminfra v2 已存在 现有 Terraform 代码指向旧容器 ter
  • 部署 MVC4 项目时出错:找不到文件或程序集

    过去 我只需使用 Visual Studio 2012 发布到 AWS 菜单项即可部署我的 MVC4 网站 到 AWS Elastic Beanstalk 现在 程序可以在本地编译并运行 但无法部署 从消息来看 它似乎正在寻找不在当前部署的
  • azure 和 google 上的自定义联合代理

    azure 和 google 中的 aws 上的自定义联合代理可以替代什么 在AWS中 我可以创建一个允许联合用户登录并访问这样的资源的url https docs aws amazon com IAM latest UserGuide i
  • GPU 上的 AWS SageMaker [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试在 AWS 上训练神经网络 Tensorflow 我有一些 AWS 积分 据我了解 AWS
  • s3-select 查询字段名数据

    我正在尝试从 s3 select 中的 json 数据查询数据 person Id 1 Name Anshu Address Templestowe Car Jeep Id 2 Name Ben Mostafa Address Las Ve

随机推荐

  • RMarkdown html_output 错误

    我正在尝试使用 RStudio 创建 RMarkdown 文档闪亮的服务器 如果输出是 pdf 它工作正常 但如果我想要它作为 html 我会在过程结束时收到以下错误 在 RMarkdown 控制台中 我可以看到它达到了 100 错误 ht
  • C++ 中带有可变参数签名的函数映射

    From Martin Reddy 的 C API 设计 第 3 章 第 3 3 3 节 可扩展工厂示例 我发现工厂模式的这种实现非常高效 它允许用户在运行时注册回调函数 本质上是派生类的构造函数 最终可以在创建该类型的对象时调用该回调函数
  • 同时调用多个 API,并在相应请求处理完成后立即更新 UI Android

    我需要跑6个API同时调用并且需要在相应的请求完成时更新每个用户界面 目前我正在使用kotlin 协程并行执行使用以下代码 suspend fun getAllData List
  • 竖线

    有没有办法在js图形库dygraph中制作垂直线 我正在加载数据 并希望像石墨那样放置垂直线来显示事件 是否有一些特殊的上下文可以添加垂直线 您现在可能已经弄清楚了这一点 或者不再关心 但实现此目的的方法是使用自定义底衬 请参阅http d
  • Android apkanalyzer,通过命令行调用,给出“NoClassDefFoundError”异常

    我正在尝试运行 Android SDK 提供的 apkanalyzer 工具 在 Sdk tool bin 下 但我无法使其工作 我知道我也可以通过AndroidStudio使用这个工具 但是我需要自动化apk分析以覆盖很多APK 所以 我
  • 自动保存笔记本(或mathematica中的其他类型文件)文件

    我现在有时会遇到这个问题 部分原因是 Microsoft Office 自动保存您正在使用版本和自动恢复处理的文件 很多时候 当我在mathematica中启动一个新笔记本来做一些测试或其他事情时 我经常忘记保存我正在做的事情 时不时地 根
  • ASP.Net 中的不同身份验证方式

    我正在为我的公司开发一个网站 该网站可以在我们的内部网络和互联网上访问 有人问我一些对我来说似乎不可能的问题 但我想在真正说之前问这个问题 我们公司有两种类型的用户 一种是实际在 Active Directory 中注册的用户 等等 拥有
  • 如何使用 Create-React-App 节点服务器定义 MIME 类型?

    我正在尝试处理这个 WebAssembly 注释 注意 要运行instantiateStreaming and compileStreaming 您需要您的网络服务器来提供 wasm 文件application wasmMIME 类型 ht
  • Java 8 lambda 和抽象类的接口扩展

    说我想宣布Spring的RowMapper 但不是创建动态类 而是实现一个实现 RowMapper 的抽象类 这是我的方法签名 SqlProcedure declareRowMapper RowMapper
  • 日志锻造强化修复

    我正在使用 Fortify SCA 来查找我的应用程序中的安全问题 作为大学作业 我遇到了一些无法解决的 日志锻造 问题 基本上 我记录一些来自 Web 界面的用户输入的值 logger warn current id not valid
  • 清洁琴弦的更好方法?

    我正在使用这种方法来清理字符串 public static string CleanString string dirtyString string removeChars lt gt string result dirtyString f
  • HTML 格式的 Google Apps 脚本

    是否可以在我的 HTML 中使用 google apps 脚本 我希望能够从外部框架 例如 Node js 以纯 Javascript 形式从表单写入电子表格 https developers google com apps script
  • 如何构建支持 C++0x 的 Boost?

    我不知道如何使用 C 0x 编译器构建 Boost 必须给 bjam 提供哪个选项 应该修改 user config 文件吗 有人可以帮助我吗 最好的 维森特 我已经找到答案了 我正在等待类似 std 的功能 并将其命名如下 bjam st
  • 如何在asp.net中的按钮单击事件调用之前和之后调用javascript函数

    我在 ASP NET 中创建了 ButtonClick 函数 如下所示
  • 将大型 CSV 加载到 Google BigQuery 时出错

    将大型 CSV 加载到 bigquery 时出现错误 我在网上阅读的所有地方都发现压缩文件有 5GB 大小限制 但 CSV 没有限制 加载操作中的 BigQuery 错误 处理作业 bqjob r3016bbfad3037f 0000015
  • 为什么 printf 使用浮点和整数格式说明符打印随机值

    我在64位机器上写了一个简单的代码 int main printf d 2 443 所以 这就是编译器的行为方式 它将识别第二个参数为双精度型 因此它将在堆栈上压入 8 个字节 或者可能只是在调用之间使用寄存器来访问变量 d需要 4 字节整
  • Node.js http get 请求错误事件未拾取 404 或 403

    我正在对图像发出 HTTP GET 请求 有时图像会以 404 或 403 的形式返回 令我惊讶的是 我必须明确检查这一点 而不是在错误事件中选择它 这是它的工作原理还是我在这里遗漏了一些东西 function processRequest
  • 将 Azure AD 集成到 ASP.NET Core Web 应用程序时更改默认访问拒绝路径

    我正在尝试更改使用 Azure AD 时授权被拒绝时的默认访问被拒绝路径 例如 当使用 Microsoft 的 将 Azure AD 集成到 ASP NET Core Web 应用程序中 的示例时 请参见此处 https azure mic
  • postgresql 不同的不工作

    我使用以下代码从数据库获取值 但是当我编写这段代码时 测试看看问题出在哪里 我注意到查询没有从数据库中获取不同的值 这是查询 select distinct ca id as id acc name as accName pIsu name
  • Terraform - 可选的 SSM 参数查找

    我正在查找 SSM 参数 该参数可能存在也可能不存在 具体取决于传入的变量 data aws ssm parameter server tags name var env number server tags 然后我在本地文件中像下面一样使