:doc:`ForecastService <../../forecast>` / Client / tag_resource

************
tag_resource
************



.. py:method:: ForecastService.Client.tag_resource(**kwargs)

  

  Associates the specified tags to a resource with the specified ``resourceArn``. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are also deleted.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/TagResource>`_  


  **Request Syntax**
  ::

    response = client.tag_resource(
        ResourceArn='string',
        Tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    )
    
  :type ResourceArn: string
  :param ResourceArn: **[REQUIRED]** 

    The Amazon Resource Name (ARN) that identifies the resource for which to list the tags.

    

  
  :type Tags: list
  :param Tags: **[REQUIRED]** 

    The tags to add to the resource. A tag is an array of key-value pairs.

     

    The following basic restrictions apply to tags:

     

    
    * Maximum number of tags per resource - 50.
     
    * For each resource, each tag key must be unique, and each tag key can have only one value.
     
    * Maximum key length - 128 Unicode characters in UTF-8.
     
    * Maximum value length - 256 Unicode characters in UTF-8.
     
    * If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
     
    * Tag keys and values are case sensitive.
     
    * Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such as a prefix for keys as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has ``aws`` as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of ``aws`` do not count against your tags per resource limit.
    

    

  
    - *(dict) --* 

      The optional metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

       

      The following basic restrictions apply to tags:

       

      
      * Maximum number of tags per resource - 50.
       
      * For each resource, each tag key must be unique, and each tag key can have only one value.
       
      * Maximum key length - 128 Unicode characters in UTF-8.
       
      * Maximum value length - 256 Unicode characters in UTF-8.
       
      * If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
       
      * Tag keys and values are case sensitive.
       
      * Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such as a prefix for keys as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has ``aws`` as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of ``aws`` do not count against your tags per resource limit.
      

      

    
      - **Key** *(string) --* **[REQUIRED]** 

        One part of a key-value pair that makes up a tag. A ``key`` is a general label that acts like a category for more specific tag values.

        

      
      - **Value** *(string) --* **[REQUIRED]** 

        The optional part of a key-value pair that makes up a tag. A ``value`` acts as a descriptor within a tag category (key).

        

      
    

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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`ForecastService.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`ForecastService.Client.exceptions.LimitExceededException`

  
  *   :py:class:`ForecastService.Client.exceptions.InvalidInputException`

  