Yaml 在cloudformation模板中的不同资源类型之间共享标记

Yaml 在cloudformation模板中的不同资源类型之间共享标记,yaml,amazon-cloudformation,aws-sam,Yaml,Amazon Cloudformation,Aws Sam,我正在尝试编写一个SAM模板,使其具有触发Lambda函数的IoT规则。由于计费原因,我使用的帐户需要用一长串标识符标记所有资源。这些都是相同的,对每个资源重复复制它们似乎是一种耻辱。SAM允许在一种资源类型之间共享全局标记(因此每个函数都可以共享标记),但我没有看到在资源类型之间应用全局标记的好方法 我考虑过使用一个参数并尝试引用它,但是没有支持的参数类型允许标记的键/值结构。 我很想做这样的事情: Parameters: UniversalTags: Type: KeyValu

我正在尝试编写一个SAM模板,使其具有触发Lambda函数的IoT规则。由于计费原因,我使用的帐户需要用一长串标识符标记所有资源。这些都是相同的,对每个资源重复复制它们似乎是一种耻辱。SAM允许在一种资源类型之间共享全局标记(因此每个函数都可以共享标记),但我没有看到在资源类型之间应用全局标记的好方法

我考虑过使用一个参数并尝试引用它,但是没有支持的参数类型允许标记的键/值结构。

我很想做这样的事情:

Parameters:
  UniversalTags:
    Type: KeyValueObject
    Default:
      - 
        Key: "Name"
        Value: "my name"
      - 
        Key: "Manager"
        Value: "my manager"
      -
        Key: "Market"
        Value: "my market"
       -
        Key: "Engagement Office"
        Value: "location"
      -
        Key: "Email"
        Value: "email@test.com"

Resources:
  IoTProcessingFunction:
    Type: AWS::Serverless::Function 
    Properties:
      Tags: !Ref UniversalTags

  IoTRule:
    Type: AWS::IoT::TopicRule
    Properties:
      Tags: !Ref UniversalTags

有人知道实现这一点的方法吗?

这是CloudFormation做得不好的事情。调查它允许您编写生成CloudFormation的代码。您的CloudFormation仍然是重复的,但您不需要查看或维护它,并且您将能够在CDK中只描述一次标记