@PUT
  @Path("{sourceId}")
  @Produces("text/plain")
  @ApiOperation(value = "Updates an existing authentication source")
  @ApiImplicitParams({
      @ApiImplicitParam(dataType = UPDATE_REQUEST_TYPE, paramType = PARAM_TYPE_BODY)
  })
  @ApiResponses({
      @ApiResponse(code = HttpStatus.SC_ACCEPTED, message = MSG_REQUEST_ACCEPTED),
      @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS),
      @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_RESOURCE_NOT_FOUND),
      @ApiResponse(code = HttpStatus.SC_CONFLICT, message = MSG_RESOURCE_ALREADY_EXISTS),
      @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
      @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
      @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
  })
  public Response updateAuthenticationSource(String body, @Context HttpHeaders headers, @Context UriInfo ui,
                                             @ApiParam(value = "user name", required = true) @PathParam("userName") String userName,
                                             @ApiParam(value = "source id", required = true) @PathParam("sourceId") String sourceId) {
    return handleRequest(headers, body, ui, Request.Type.PUT, createResource(userName, sourceId));
  }
Creates an authentication source.
Handles: PUT /users/{userName}/sources/{sourceId}

@param headers  http headers
@param ui       uri info
@param userName user name
@param sourceId authentication source id
@return information regarding the created user
ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserAuthenticationSourceService.java