无效的模板资源属性“标签”

时间:2020-01-29 20:47:25

标签: amazon-web-services amazon-cloudformation

对于以下cloudformation模板:

(CASE WHEN PRODUCT IS NOT NULL 
      THEN DENSE_RANK() OVER (PARTITION BY USER, (PRODUCT IS NOT NULL) ORDER BY DATE ASC) 
      ELSE 1 
 END) as DENSE_RANK_OUTPUT 

以下是错误:

{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "Some Stack",
    "Parameters":{
        "VpcId":{
            "Type": "AWS::EC2::VPC::Id",
            "Description": "The target VPC Id"
        },
        "SubnetId":{
            "Type": "AWS::EC2::Subnet::Id",
            "Description": "The target subnet Id"
        },
        "KeyName": {
            "Type": "String",
            "Description": "The key pair that is allowed SSH access"
        }
    },
    "Resources":{
        "EcsCluster":{
            "Type": "AWS::ECS::Cluster",
            "Tags": [ 
                        {
                            "Key": "Name",
                            "Value": { "Fn::Join": ["", [ { "Ref": "AWS::StackName" }, "-ecs-cluster" ] ] }     
                        },
                        {
                            "Key": "workenv",
                            "Value": "dev"
                        },
                        {
                            "Key": "abc",
                            "Value": "some_value"
                        },
                        {
                            "Key": "function",
                            "Value": "someapp"
                        },
                        {
                            "Key": "owner",
                            "Value": "email@abc.com"
                        }
            ]
        }
    },
    "Outputs":{
        "ElbDomainName":{
            "Description": "Public DNS name of Elastic Load Balancer",
            "Value": {
                "Fn::GetAtt": [
                    "ElasticLoadBalancer",
                    "DNSName"
                ]
            }
        }
    }
}

请按照以下文档添加标签:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html


为什么CloudFormation服务不接受在每个资源上定义的 Invalid template resource property 'Tags' ?与缩进有关?

2 个答案:

答案 0 :(得分:2)

这是因为Tags资源没有正确定义EcsClusterTags属性应该在Properties部分中定义,就像您为其他资源定义Tags一样。

"EcsCluster": {
  "Type": "AWS::ECS::Cluster",
  "Properties": {
    "Tags": []
  }
}

希望这会有所帮助。

答案 1 :(得分:1)

并非所有资源类型都支持标签。查看每种资源类型的文档。

相关问题