AWS CloudFormation AWS ::在地图中包含位置

时间:2019-02-15 14:40:39

标签: amazon-ec2 amazon-cloudformation

我想使用Fn :: Transform-AWS :: Include来包含文件的非硬编码路径。

示例代码:

  DataLaunchConfiguration:
    Fn::Transform:
      Name: AWS::Include
      Parameters: 
        Location:
          Fn::Sub:
            - "s3://${MyParam}/xyz/metadata.yml"
            - MyParam: !FindInMap [Constants, A, B]

语法被接受,但是描述堆栈事件给出:

  

“ ResourceStatusReason”:“未能在转换内提取函数   参数,转换块中的内部函数只能包含   参数值或堆栈元数据。”

当我直接- MyParam: "abcabc"指定MyParam时,这将起作用。


也尝试过这样的事情:

  DataLaunchConfiguration:
    Fn::Transform:
      Name: AWS::Include
      Parameters: 
        Location:
          Fn::Join:
            - ''
            - -
              - "s3://"
              - !FindInMap [Constants, A, B]
              - "/xyz/metadata.yml"

描述堆栈事件输出:

  

“ ResourceStatusReason”:“内部故障”


问题:是否可以通过FindInMap函数实现这一目标?

也许有更好的方法来存储一些常量而不是映射。因为 Fn :: Ref 可以正常工作。

0 个答案:

没有答案