Validar um modelo - AWS CloudFormation

Validar um modelo

Para verificar o arquivo de modelo e saber se há erros de sintaxe, você pode usar o comando aws cloudformation validate-template.

nota

O comando aws cloudformation validate-template foi projetado para verificar somente a sintaxe do modelo. Isso não garante que os valores de propriedade que você especificou para um recurso sejam válidos para esse recurso. Isso também não determina o número de recursos que existirão quando a pilha for criada.

Para verificar a validade operacional, você precisa tentar criar a pilha. Não há sandbox ou área de teste para pilhas do AWS CloudFormation. Assim, você será cobrado pelos recursos que criar durante o teste.

Durante a validação, o AWS CloudFormation primeiro verifica se o modelo é JSON válido. Caso não seja, o CloudFormation verifica se o modelo é YAML válido. Se as duas verificações falharem, o CloudFormation retornará um erro de validação de modelo. Você pode validar os modelos localmente usando o parâmetro --template-body ou remotamente com o parâmetro --template-url. O exemplo a seguir valida um modelo em um local remoto:

PROMPT> aws cloudformation validate-template --template-url https://s3.amazonaws.com/cloudformation-templates-us-east-1/S3_Bucket.template { "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "Parameters": [], "Capabilities": [] }

O resultado esperado não é uma mensagem de erro com informações sobre todos os parâmetros listados.

O exemplo a seguir mostra um erro com um arquivo de modelo local.

PROMPT> aws cloudformation validate-template --template-body file:///home/local/test/sampletemplate.json
{
    "ResponseMetadata": {
        "RequestId": "4ae33ec0-1988-11e3-818b-e15a6df955cd"
    },
    "Errors": [
        {
            "Message": "Template format error: JSON not well-formed. (line 11, column 8)",
            "Code": "ValidationError",
            "Type": "Sender"
        }
    ],
    "Capabilities": [],
    "Parameters": []
}
A client error (ValidationError) occurred: Template format error: JSON not well-formed. (line 11, column 8)