docs: def put_user_policy(user_name, policy_name, policy_json, region=None, key=None, keyid=None, profile=None):
      '''
      Adds or updates the specified policy document for the specified user.
  
      .. versionadded:: 2015.8.0
  
      CLI Example:
  
      .. code-block:: bash
  
          salt myminion boto_iam.put_user_policy myuser policyname policyrules
      '''
      user = get_user(user_name, region, key, keyid, profile)
      if not user:
          log.error('IAM user %s does not exist', user_name)
          return False
      conn = _get_conn(region=region, key=key, keyid=keyid, profile=profile)
      try:
          if not isinstance(policy_json, six.string_types):
              policy_json = salt.utils.json.dumps(policy_json)
          created = conn.put_user_policy(user_name, policy_name,
                                         policy_json)
          if created:
              log.info('Created policy %s for IAM user %s.', policy_name, user_name)
              return True
          log.error('Could not create policy %s for IAM user %s.', policy_name, user_name)
      except boto.exception.BotoServerError as e:
          log.debug(e)
          log.error('Failed to create policy %s for IAM user %s.', policy_name, user_name)
      return False