Estou tentando começar a trabalhar com o AWS Cloudformation, mas recebo a mesma mensagem de erro não útil para todos os modelos que tento usar, a maioria dos quais foram copiados diretamente do site da AWS.
eu corro
aws cloudformation validate-template --template-body hellobucket.yml
e obter o erro
An error occurred (ValidationError) when calling the ValidateTemplate operation: Template format error: unsupported structure.
Não importa qual arquivo eu uso como modelo. Por exemplo, o arquivo hellobucket.yml, vem diretamente do guia da AWS para usar a cloudformation como um exemplo super simples de um modelo de trabalho: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/gettingstarted.templatebasics.html
Este link diz:
Vamos dar uma olhada em um modelo muito básico. O modelo a seguir declara um único recurso do tipo AWS :: S3 :: Bucket: com o nome HelloBucket.
YAML
Resources:
HelloBucket:
Type: AWS::S3::Bucket
Se você usar esse modelo para criar uma pilha, o AWS CloudFormation criará um bucket do Amazon S3. Criar um bucket é simples, porque o AWS CloudFormation pode criar um bucket com as configurações padrão.
MAS não funciona. Não faço ideia do que aws cli significa quando diz que a estrutura não é suportada e não tenho pistas sobre como corrigi-la.
Qualquer orientação apreciada. Obrigado!
Respostas:
4 para resposta № 1Aparentemente, essa mensagem de erro inútil é resultado de uma formatação incorreta no comando cli.
Para o --template-body
, é necessário incluir o caminho completo do arquivo no sistema para o arquivo de modelo, juntamente com o file://
prefixo.
A forma correta e executável do comando acima é
aws cloudformation validate-template --template-body file://{path_to_file}/hellobucket.yml
mais informações aqui: https://randops.org/2016/11/11/confusing-syntax-error-with-aws-cli-and-cf-templates/