:doc:`CloudFormation <../../cloudformation>` / Client / estimate_template_cost

**********************
estimate_template_cost
**********************



.. py:method:: CloudFormation.Client.estimate_template_cost(**kwargs)

  

  Returns the estimated monthly cost of a template. The return value is an Amazon Web Services Simple Monthly Calculator URL with a query string that describes the resources required to run the template.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/EstimateTemplateCost>`_  


  **Request Syntax**
  ::

    response = client.estimate_template_cost(
        TemplateBody='string',
        TemplateURL='string',
        Parameters=[
            {
                'ParameterKey': 'string',
                'ParameterValue': 'string',
                'UsePreviousValue': True|False,
                'ResolvedValue': 'string'
            },
        ]
    )
    
  :type TemplateBody: string
  :param TemplateBody: 

    Structure that contains the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.

     

    Conditional: You must pass ``TemplateBody`` or ``TemplateURL``. If both are passed, only ``TemplateBody`` is used.

    

  
  :type TemplateURL: string
  :param TemplateURL: 

    The URL of a file that contains the template body. The URL must point to a template that's located in an Amazon S3 bucket or a Systems Manager document. The location for an Amazon S3 bucket must start with ``https://``. URLs from S3 static websites are not supported.

     

    Conditional: You must pass ``TemplateURL`` or ``TemplateBody``. If both are passed, only ``TemplateBody`` is used.

    

  
  :type Parameters: list
  :param Parameters: 

    A list of ``Parameter`` structures that specify input parameters.

    

  
    - *(dict) --* 

      The ``Parameter`` data type.

      

    
      - **ParameterKey** *(string) --* 

        The key associated with the parameter. If you don't specify a key and value for a particular parameter, CloudFormation uses the default value that's specified in your template.

        

      
      - **ParameterValue** *(string) --* 

        The input value associated with the parameter.

        

      
      - **UsePreviousValue** *(boolean) --* 

        During a stack update, use the existing parameter value that the stack is using for a given parameter key. If you specify ``true``, do not specify a parameter value.

        

      
      - **ResolvedValue** *(string) --* 

        Read-only. The value that corresponds to a Systems Manager parameter key. This field is returned only for Systems Manager parameter types in the template. For more information, see `Specify existing resources at runtime with CloudFormation-supplied parameter types <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-supplied-parameter-types.html>`__ in the *CloudFormation User Guide*.

        

      
    

  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'Url': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 

      The output for a  EstimateTemplateCost action.

      
      

      - **Url** *(string) --* 

        An Amazon Web Services Simple Monthly Calculator URL with a query string that describes the resources required to run the template.

        
  