code: 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)f 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)}
docs: 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