def METHOD_NAME(self, source_path, path,
                server, project_name, file, representation, site,
                overwrite=False):
    """
        Copy file from 'source_path' to 'target_path' on provider.
        Use 'overwrite' boolean to rewrite existing file on provider
    Args:
        source_path (string):
        path (string): absolute path with or without name of the file
        overwrite (boolean): replace existing file
        arguments for saving progress:
        server (SyncServer): server instance to call update_db on
        project_name (str): name of project_name
        file (dict): info about uploaded file (matches structure from db)
        representation (dict): complete repre containing 'file'
        site (str): site name
    Returns:
        (string) file_id of created/modified file ,
            throws FileExistsError, FileNotFoundError exceptions
    """
    pass