'Initialization of RemoteFile class.
:param address: Address of remote host(guest)
:param client: Type of transfer client
:param username: Username (if required)
:param password: Password (if requried)
:param remote_path: Path of file which we want to edit on remote.
:param limit: Speed limit of file transfer.
:param log_filename: If specified, log all output to this file(SCP only)
:param verbose: If True, log some stats using logging.debug (RSS only)
:param timeout: The time duration (in seconds) to wait for the
transfer tocomplete.'

def __init__(self, address, client, username, password, port, remote_path, limit='', log_filename=None, verbose=False, timeout=600):

    self.address = address
    self.client = client
    self.username = username
    self.password = password
    self.port = port
    self.remote_path = remote_path
    self.limit = limit
    self.log_filename = log_filename
    self.verbose = verbose
    self.timeout = timeout
    filename = os.path.basename(self.remote_path)
    tmp_dir = data_dir.get_tmp_dir()
    local_file = tempfile.NamedTemporaryFile(prefix=('%s_' % filename), dir=tmp_dir)
    self.local_path = local_file.name
    local_file.close()
    backup_file = tempfile.NamedTemporaryFile(prefix=('%s_' % filename), dir=tmp_dir)
    self.backup_path = backup_file.name
    backup_file.close()
    self._pull_file()
    shutil.copy(self.local_path, self.backup_path)
