Tipo de nome
Para alguns recursos, é possível especificar um nome personalizado. Por padrão, o AWS CloudFormation gera um ID físico exclusivo para nomear um recurso. Por exemplo, o CloudFormation pode nomear um bucket do Amazon S3 com o ID físico a seguir MyStack-MyBucket-abcdefghijk1
. Com nomes personalizados, é possível especificar um nome que seja mais fácil de ler e identificar, como production-app-logs
ou business-metrics
.
Os nomes de recurso devem ser exclusivos em todas as pilhas ativas. Caso reutilize modelos para criar várias pilhas, você deve alterar ou remover nomes personalizados do modelo. Caso você não especifique um nome, o CloudFormation gera um ID físico exclusivo para nomear o recurso. Os nomes devem começar com uma letra, conter apenas letras ASCII, dígitos e hifens, e não terminar com um hífen ou conter dois hifens consecutivos.
Além disso, não gerencie recursos de pilha fora do CloudFormation. Por exemplo, se renomear um recurso que faça parte de uma pilha sem usar o CloudFormation, você poderá receber um erro sempre que tentar atualizar ou excluir essa pilha.
Importante
Você não pode realizar uma atualização que cause a substituição do recurso personalizado. Caso você precise substituir o recurso, especifique um nome novo.
Exemplo
Caso você queira usar um nome personalizado, especifique uma propriedade de nome para esse recurso no modelo do CloudFormation. Cada recurso que dá suporte a nomes personalizados tem a própria propriedade especificada por você. Por exemplo, para nomear uma tabela do DynamoDB, você usa a propriedade TableName
, conforme indicado na seguinte amostra:
JSON
"myDynamoDBTable" : { "Type" : "AWS::DynamoDB::Table", "Properties" : { "KeySchema" : { "HashKeyElement": { "AttributeName" : "AttributeName1", "AttributeType" : "S" }, "RangeKeyElement" : { "AttributeName" : "AttributeName2", "AttributeType" : "N" } }, "ProvisionedThroughput" : { "ReadCapacityUnits" : "5", "WriteCapacityUnits" : "10" }, "TableName" : "SampleTable" } }
YAML
myDynamoDBTable: Type: AWS::DynamoDB::Table Properties: KeySchema: HashKeyElement: AttributeName: "AttributeName1" AttributeType: "S" RangeKeyElement: AttributeName: "AttributeName2" AttributeType: "N" ProvisionedThroughput: ReadCapacityUnits: "5" WriteCapacityUnits: "10" TableName: "SampleTable"
Atributos suportados
Os seguintes tipos de recurso dão suporte a nomes personalizados: