Add tags to a trail

    Returns {tagged: true} if the trail was tagged and returns
    {tagged: False} if the trail was not tagged.

    CLI Example:

    .. code-block:: bash

        salt myminion boto_cloudtrail.add_tags my_trail tag_a=tag_value tag_b=tag_value

def add_tags(Name,
           region=None, key=None, keyid=None, profile=None, **kwargs):
    '''
    Add tags to a trail

    Returns {tagged: true} if the trail was tagged and returns
    {tagged: False} if the trail was not tagged.

    CLI Example:

    .. code-block:: bash

        salt myminion boto_cloudtrail.add_tags my_trail tag_a=tag_value tag_b=tag_value

    '''

    try:
        conn = _get_conn(region=region, key=key, keyid=keyid, profile=profile)
        tagslist = []
        for k, v in six.iteritems(kwargs):
            if six.text_type(k).startswith('__'):
                continue
            tagslist.append({'Key': six.text_type(k), 'Value': six.text_type(v)})
        conn.add_tags(ResourceId=_get_trail_arn(Name,
                      region=region, key=key, keyid=keyid,
                      profile=profile), TagsList=tagslist)
        return {'tagged': True}
    except ClientError as e:
        return {'tagged': False, 'error': __utils__['boto3.get_error'](e)}