CloudFormation 堆栈 yaml 语法?

CloudFormation 堆栈 yaml 语法?

我正在尝试创建一个具有类似标签的 SecurityGroup Name: SG-StackName。此代码在 json 中完美运行:

"Resources": {
    "SecurityGroup": {
        "Type": "AWS::EC2::SecurityGroup",
        "Properties": {
            ...
            "Tags": [{
                    "Key": "Name",
                    "Value": {
                        "Fn::Join" : [ "", [
                            "SG-",
                            {   "Ref" : "AWS::StackName"    }
                        ]]
                    }
                }
            ]
        }
    },

现在我尝试将其转换为 yaml:

Resources: 
  SecurityGroup: 
    Type: AWS::EC2::SecurityGroup
    Properties: 
      ...
      Tags: 
        - Key: Name
        - Value: !Join
          - ''
          - - 'SG-'
            - Ref: AWS::StackName

堆栈构建失败,错误为“未在标签属性中找到键”。模板中的错误在哪里?

答案1

标签定义中有一个多余的“-”字符。它应该类似于下面的代码片段(我不确定 Join 语法,我个人通常使用 Sub):

Tags: 
    - Key: Name
      Value: !Sub "SG-${AWS::StackName}"

相关内容