docs: def build_policy(region=None, key=None, keyid=None, profile=None):
      '''
      Build a default assume role policy.
  
      .. versionadded:: 2015.8.0
  
      CLI Example:
  
      .. code-block:: bash
  
          salt myminion boto_iam.build_policy
      '''
      conn = _get_conn(region=region, key=key, keyid=keyid, profile=profile)
      if hasattr(conn, 'build_policy'):
          policy = salt.utils.json.loads(conn.build_policy())
      elif hasattr(conn, '_build_policy'):
          policy = salt.utils.json.loads(conn._build_policy())
      else:
          return {}
      # The format we get from build_policy isn't going to be what we get back
      # from AWS for the exact same policy. AWS converts single item list values
      # into strings, so let's do the same here.
      for key, policy_val in policy.items():
          for statement in policy_val:
              if (isinstance(statement['Action'], list)
                      and len(statement['Action']) == 1):
                  statement['Action'] = statement['Action'][0]
              if (isinstance(statement['Principal']['Service'], list)
                      and len(statement['Principal']['Service']) == 1):
                  statement['Principal']['Service'] = statement['Principal']['Service'][0]
      # build_policy doesn't add a version field, which AWS is going to set to a
      # default value, when we get it back, so let's set it.
      policy['Version'] = '2008-10-17'
      return policy