This method will fetch the image; the fetch will happen from the
        device-side using the 'copy' command.  Note that the NXAPI appears to
        be single-threaded, so the code needs to wait until this operation has
        completed before attempting another API call.  Therefore the :timeout:
        value is set very high (10min)

        :param location: URL to the location of the file.  This URL must be a valid source
        field to the NXOS 'copy' command

        :keyword timeout: Timeout in seconds

        :return:

def copy_from(self, location, timeout=10 * 60):
        """
        This method will fetch the image; the fetch will happen from the
        device-side using the 'copy' command.  Note that the NXAPI appears to
        be single-threaded, so the code needs to wait until this operation has
        completed before attempting another API call.  Therefore the :timeout:
        value is set very high (10min)

        :param location: URL to the location of the file.  This URL must be a valid source
        field to the NXOS 'copy' command

        :keyword timeout: Timeout in seconds

        :return:
        """

        cmd = 'copy {location} {dir}: vrf {vrf_name}'.format(
            location=location, dir=self.DESTDIR, vrf_name=self.VRF_NAME)

        run = self.device.api.exec_opcmd
        run(cmd, msg_type='cli_show_ascii', timeout=timeout)