[ aws . cloudformation ]
Validates a specified template. CloudFormation first checks if the template is valid JSON. If it isn’t, CloudFormation checks if the template is valid YAML. If both these checks fail, CloudFormation returns a template validation error.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
validate-template
[--template-body <value>]
[--template-url <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--template-body
(string)
Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the CloudFormation User Guide.
Conditional: You must pass
TemplateURL
orTemplateBody
. If both are passed, onlyTemplateBody
is used.
--template-url
(string)
Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the CloudFormation User Guide.
Conditional: You must pass
TemplateURL
orTemplateBody
. If both are passed, onlyTemplateBody
is used.
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command.
See ‘aws help’ for descriptions of global parameters.
To validate an AWS CloudFormation template
The following validate-template
command validates the sampletemplate.json
template:
aws cloudformation validate-template --template-body file://sampletemplate.json
Output:
{
"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": []
}
For more information, see Working with AWS CloudFormation Templates in the AWS CloudFormation User Guide.
Parameters -> (list)
A list of
TemplateParameter
structures.(structure)
The TemplateParameter data type.
ParameterKey -> (string)
The name associated with the parameter.
DefaultValue -> (string)
The default value associated with the parameter.
NoEcho -> (boolean)
Flag indicating whether the parameter should be displayed as plain text in logs and UIs.
Description -> (string)
User defined description associated with the parameter.
Description -> (string)
The description found within the template.
Capabilities -> (list)
The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.
For more information, see Acknowledging IAM Resources in CloudFormation Templates .
(string)
CapabilitiesReason -> (string)
The list of resources that generated the values in the
Capabilities
response element.
DeclaredTransforms -> (list)
A list of the transforms that are declared in the template.
(string)