def update(id, source_type, name, parameters = {}, resources = [], auth = [], options = {})
      fail BadParametersError, 'ID, source_type and name are required' if id.nil? || source_type.nil? || name.nil?
      params = {
        :id => id,
        :source_type => source_type,
        :name => name
      }
      params.merge!(options) unless options.empty?
      params.merge!({:auth => MultiJson.dump(auth)}) if !auth.empty?
      params.merge!({:parameters => MultiJson.dump(parameters)}) if !parameters.empty?
      params.merge!({:resources => MultiJson.dump(resources)}) if resources.length > 0

      DataSift.request(:POST, 'source/update', @config, params)
    end
def update(id, source_type, name, parameters = {}, resources = [], auth = [], options = {})
      fail BadParametersError, 'ID, source_type and name are required' if id.nil? || source_type.nil? || name.nil?
      params = {
        :id => id,
        :source_type => source_type,
        :name => name
      }
      params.merge!(options) unless options.empty?
      params.merge!({:auth => MultiJson.dump(auth)}) if !auth.empty?
      params.merge!({:parameters => MultiJson.dump(parameters)}) if !parameters.empty?
      params.merge!({:resources => MultiJson.dump(resources)}) if resources.length > 0

      DataSift.request(:POST, 'source/update', @config, params)
    end
Update a Managed Source

 @param id [String] ID of the Managed Source you are updating
 @param source_type [String] Type of Managed Source you are updating
 @param name [String] Name (or new name) of the Managed Source
 @param parameters [Hash] Source-specific configuration parameters
 @param resources [Array] Array of source-specific resources
 @param auth [Array] Array of source-specific auth credentials