def tag_resource(KeyId=None, Tags=None):
    """
    Adds or overwrites one or more tags for the specified customer master key (CMK).
    Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.
    You cannot use the same tag key more than once per CMK. For example, consider a CMK with one tag whose tag key is Purpose and tag value is Test . If you send a TagResource request for this CMK with a tag key of Purpose and a tag value of Prod , it does not create a second tag. Instead, the original tag is overwritten with the new tag value.
    See also: AWS API Documentation
    
    
    :example: response = client.tag_resource(
        KeyId='string',
        Tags=[
            {
                'TagKey': 'string',
                'TagValue': 'string'
            },
        ]
    )
    
    
    :type KeyId: string
    :param KeyId: [REQUIRED]
            A unique identifier for the CMK you are tagging. You can use the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples:
            Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
            Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
            

    :type Tags: list
    :param Tags: [REQUIRED]
            One or more tags. Each tag consists of a tag key and a tag value.
            (dict) --A key-value pair. A tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.
            TagKey (string) -- [REQUIRED]The key of the tag.
            TagValue (string) -- [REQUIRED]The value of the tag.
            
            

    """
    pass
