Reputation: 45223
According the aws validate-template, I did the test to validate same template from URL and local file.
But I got different output.
Test from URL directly:
$ 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": []
}
But when I download it to local, and test again.
$ wget https://s3.amazonaws.com/cloudformation-templates-us-east-1/S3_Bucket.template
2014-12-16 14:48:27 (11.1 MB/s) - 'S3_Bucket.template' saved [652/652]
$ aws cloudformation validate-template --template-body S3_Bucket.template
A client error (ValidationError) occurred when calling the ValidateTemplate operation: Template format error: JSON not well-formed. (line 1, column 10)
Any idea?
Upvotes: 11
Views: 9037
Reputation: 45223
I knew how to fix it now. You need give the file full path
with file:///
aws cloudformation validate-template --template-body file:///home/local/test/S3_Bucket.template
Or with relative path ( file:// instead of file:/// ):
aws cloudformation validate-template --template-body file://S3_Bucket.template
Upvotes: 25