docs: def describe_role(name, region=None, key=None, keyid=None, profile=None):
      '''
      Get information for a role.
  
      CLI Example:
  
      .. code-block:: bash
  
          salt myminion boto_iam.describe_role myirole
      '''
      conn = _get_conn(region=region, key=key, keyid=keyid, profile=profile)
      try:
          info = conn.get_role(name)
          if not info:
              return False
          role = info.get_role_response.get_role_result.role
          role['assume_role_policy_document'] = salt.utils.json.loads(_unquote(
              role.assume_role_policy_document
          ))
          # If Sid wasn't defined by the user, boto will still return a Sid in
          # each policy. To properly check idempotently, let's remove the Sid
          # from the return if it's not actually set.
          for policy_key, policy in role['assume_role_policy_document'].items():
              if policy_key == 'Statement':
                  for val in policy:
                      if 'Sid' in val and not val['Sid']:
                          del val['Sid']
          return role
      except boto.exception.BotoServerError as e:
          log.debug(e)
          log.error('Failed to get %s information.', name)
          return False