有没有办法参数化 cloudformation 资源名称?
Is there a way to parameterize cloud formation resource names?
我正在尝试使云形成模板上的 AutoScalingGroup 名称动态化。我在想这是否可以通过参数或任何其他方式实现?
"DynamicASGName": {
"Type": "AWS::AutoScaling::AutoScalingGroup",
"Properties": {
...properties here...
}
}
CloudFormation 使用两组名称:逻辑资源名称 来标识堆栈中的资源,以及 物理名称在整个地区唯一标识它。
CloudFormation 不支持动态设置逻辑名称,但对于某些类型,您可以使用 Name property 在模板中设置物理名称。例如:
MyUserPoolClient:
Type: AWS::Cognito::UserPoolClient
Properties:
UserPoolId: !Ref MyUserPool
ClientName: !Sub '${AppName}-userpoolclient'
GenerateSecret: false
很遗憾,AutoScalingGroup
不支持此功能。
更好的解决方案可能是在您的资源上使用标签。大多数 AWS 资源类型(包括 AutoScalingGroup
)都支持标签,它们可以在 CloudFormation 模板中动态设置。
我正在尝试使云形成模板上的 AutoScalingGroup 名称动态化。我在想这是否可以通过参数或任何其他方式实现?
"DynamicASGName": {
"Type": "AWS::AutoScaling::AutoScalingGroup",
"Properties": {
...properties here...
}
}
CloudFormation 使用两组名称:逻辑资源名称 来标识堆栈中的资源,以及 物理名称在整个地区唯一标识它。
CloudFormation 不支持动态设置逻辑名称,但对于某些类型,您可以使用 Name property 在模板中设置物理名称。例如:
MyUserPoolClient:
Type: AWS::Cognito::UserPoolClient
Properties:
UserPoolId: !Ref MyUserPool
ClientName: !Sub '${AppName}-userpoolclient'
GenerateSecret: false
很遗憾,AutoScalingGroup
不支持此功能。
更好的解决方案可能是在您的资源上使用标签。大多数 AWS 资源类型(包括 AutoScalingGroup
)都支持标签,它们可以在 CloudFormation 模板中动态设置。