Estou tentando criar um SecurityGroup que tenha uma tag como Name: SG-StackName
. Este código funciona perfeitamente em json:
"Resources": {
"SecurityGroup": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
...
"Tags": [{
"Key": "Name",
"Value": {
"Fn::Join" : [ "", [
"SG-",
{ "Ref" : "AWS::StackName" }
]]
}
}
]
}
},
Agora estou tentando convertê-lo para yaml:
Resources:
SecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
...
Tags:
- Key: Name
- Value: !Join
- ''
- - 'SG-'
- Ref: AWS::StackName
A compilação da pilha falha com o erro "Chave não encontrada na propriedade Tags". Onde está o erro no modelo?
Você tem um caractere '-' extra na definição de Tags. Deve ser algo como o trecho abaixo (não tenho certeza da sintaxe do Join, pessoalmente, uso o Sub normalmente):