我对 AWS 还很陌生,所以我在这里问的问题听起来很基本。我正在尝试定义 cloudformation 模板,并且我需要标记我创建的每个资源。
我可以使用以下方法轻松创建资源和应用标签
Resources:
ResourceName1:
Type: AWS::SSM::Parameter
Properties:
Name: 'ResourceName1'
Type: String
Value: 'Value'
Tags:
a: 'some value A'
b: 'some value B'
c: 'some value C'
ResourceName2:
Type: AWS::SSM::Parameter
Properties:
Name: 'ResourceName2'
Type: String
Value: 'Value'
Tags:
a: 'some value A'
b: 'some value B'
c: 'some value C'
在这里,如果我创建多个资源标签将被重复,如果我需要更改标签值,我必须为每个资源更改很多次,所以我在想是否有可能像下面这样我可以外部化标签。
Mappings:
EnvVariables:
tags:
[ a: 'some value A'
b: 'some value B'
c: 'some value C'
]
Resources:
ResourceName1:
Type: AWS::SSM::Parameter
Properties:
Name: 'ResourceName1'
Type: String
Value: 'Value'
Tags:
!FindInMap [EnvVariables, tags]
ResourceName2:
Type: AWS::SSM::Parameter
Properties:
Name: 'ResourceName2'
Type: String
Value: 'Value'
Tags:
!FindInMap [EnvVariables, tags]
无论是这种方式,还是有任何其他方法可以将标签外部化到一个地方并从资源中引用它,这都会使对标签的更改变得更加容易。