首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >云模板中ssm参数的条件值

云模板中ssm参数的条件值
EN

Stack Overflow用户
提问于 2021-08-13 15:01:56
回答 2查看 431关注 0票数 2

我有一个cloudformation模板,它使用了一些ssm参数。这些参数仅在给定帐户的给定区域中定义。如果定义了ssm参数,则使用ssm参数;如果在给定区域中没有定义ssm参数,则不使用ssm参数(可能默认为某个字符串值,如“未定义”)。

就像这样

代码语言:javascript
复制
Parameters:
  anssmparameter:
    Type: AWS::SSM::Parameter::Value<String>
    # if ssmparam is defined
    Default: ssmparam
    # else ssmparam is not defined use a different default
    Default: "a placeholder value"
    Description: some description

这在云格式中有可能吗?我研究过一点,看来这是不可能的?

我所看到的最接近的是,它本质上说是不可能的。

Is this possible to have optional SSM parameter?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-14 00:11:52

遗憾的是,不能在Parameters中使用条件,除非您在部署过程中编写一个tin包装器,以便在模板进入CloudFormation之前对其进行修改。

除此之外,您还必须在Resources中使用Resources条件来在不同的可能性之间进行实际的交替。

票数 1
EN

Stack Overflow用户

发布于 2022-10-20 06:01:43

如果给定参数值,则可以在运行时使用动态引用进行解析。

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html

代码语言:javascript
复制
Parameters:
  anssmparameter:
    Type: String
  placeholdervalue:
    Type: String
    Default: 'a placeholder value'

Conditions:
  toResolveSSMParam: !Not [!Equals [!Sub '${anssmparameter}', '']]

Resources:
  ResourceA:
    Properties:
      PropertyA: !If [toResolveSSMParam, !Sub '{{resolve:ssm:${anssmparameter}}}', !Ref placeholdervalue]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68774554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档