BMW
BMW

Reputation: 45223

Cloudformation template validate

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

Answers (1)

BMW
BMW

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

Related Questions