def get_template_summary(TemplateBody=None, TemplateURL=None, StackName=None):
    """
    Returns information about a new or existing template. The GetTemplateSummary action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack.
    You can use the GetTemplateSummary action when you submit a template, or you can get template information for a running or deleted stack.
    For deleted stacks, GetTemplateSummary returns the template information for up to 90 days after the stack has been deleted. If the template does not exist, a ValidationError is returned.
    See also: AWS API Documentation
    
    
    :example: response = client.get_template_summary(
        TemplateBody='string',
        TemplateURL='string',
        StackName='string'
    )
    
    
    :type TemplateBody: string
    :param TemplateBody: Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.
            Conditional: You must specify only one of the following parameters: StackName , TemplateBody , or TemplateURL .
            

    :type TemplateURL: string
    :param TemplateURL: 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. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.
            Conditional: You must specify only one of the following parameters: StackName , TemplateBody , or TemplateURL .
            

    :type StackName: string
    :param StackName: The name or the stack ID that is associated with the stack, which are not always interchangeable. For running stacks, you can specify either the stack's name or its unique stack ID. For deleted stack, you must specify the unique stack ID.
            Conditional: You must specify only one of the following parameters: StackName , TemplateBody , or TemplateURL .
            

    :rtype: dict
    :return: {
        'Parameters': [
            {
                'ParameterKey': 'string',
                'DefaultValue': 'string',
                'ParameterType': 'string',
                'NoEcho': True|False,
                'Description': 'string',
                'ParameterConstraints': {
                    'AllowedValues': [
                        'string',
                    ]
                }
            },
        ],
        'Description': 'string',
        'Capabilities': [
            'CAPABILITY_IAM'|'CAPABILITY_NAMED_IAM',
        ],
        'CapabilitiesReason': 'string',
        'ResourceTypes': [
            'string',
        ],
        'Version': 'string',
        'Metadata': 'string',
        'DeclaredTransforms': [
            'string',
        ]
    }
    
    
    :returns: 
    (string) --
    
    """
    pass
