#NEWLINE# def update( self , source_id , source_type , name , resources , auth , parameters = None , validate = True ) : #NEWLINE# #INDENT# ' Update a managed source\n\n            Uses API documented at http://dev.datasift.com/docs/api/rest-api/endpoints/sourceupdate\n\n            :param source_type: data source name e.g. facebook_page, googleplus, instagram, yammer\n            :type source_type: str\n            :param name: name to use to identify the managed source being created\n            :type name: str\n            :param resources: list of source-specific config dicts\n            :type resources: list\n            :param auth: list of source-specific authentication dicts\n            :type auth: list\n            :param parameters: (optional) dict with config information on how to treat each resource\n            :type parameters: dict\n            :return: dict of REST API output with headers attached\n            :rtype: :class:`~datasift.request.DictResponse`\n            :raises: :class:`~datasift.exceptions.DataSiftApiException`, :class:`requests.exceptions.HTTPError`\n        ' #NEWLINE# assert auth , 'Need at least one resource' #NEWLINE# assert auth , 'Need at least one authentication token' #NEWLINE# params = { #NEWLINE# #INDENT# 'id' : source_id , #NEWLINE# 'source_type' : source_type , #NEWLINE# 'name' : name , #NEWLINE# 'resources' : resources , #NEWLINE# 'auth' : auth , #NEWLINE# 'validate' : validate , #NEWLINE# #UNINDENT# } #NEWLINE# if parameters : #NEWLINE# #INDENT# params [ 'parameters' ] = parameters #NEWLINE# #UNINDENT# return self . request . post ( 'update' , params )