<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def describe_topic_rule(ruleName,
             region=None, key=None, keyid=None, profile=None):
    '''
    Given a topic rule name describe its properties.

    Returns a dictionary of interesting properties.

    CLI Example:

    .. code-block:: bash

        salt myminion boto_iot.describe_topic_rule myrule

    '''

    try:
        conn = _get_conn(region=region, key=key, keyid=keyid, profile=profile)
        rule = conn.get_topic_rule(ruleName=ruleName)
        if rule and 'rule' in rule:
            rule = rule['rule']
            keys = ('ruleName', 'sql', 'description',
                    'actions', 'ruleDisabled')
            return {'rule': dict([(k, rule.get(k)) for k in keys])}
        else:
            return {'rule': None}
    except ClientError as e:
        return {'error': __utils__['boto3.get_error'](e)}