def write(self, format_p, options, path):
        """Writes the contents of the appliance exports into a new OVF file.
        
        Calling this method is the final step of exporting an appliance from VirtualBox;
        see :py:class:`IAppliance`  for an overview.
        
        Since exporting the appliance will most probably involve copying and converting
        disk images, which can take a long time, this method operates asynchronously and
        returns an IProgress object to allow the caller to monitor the progress.

        in format_p of type str
            Output format, as a string. Currently supported formats are "ovf-0.9", "ovf-1.0",
            "ovf-2.0" and "opc-1.0"; future versions of VirtualBox may support additional formats.
            The "opc-1.0" format is for creating tarballs for the Oracle Public Cloud.

        in options of type :class:`ExportOptions`
            Options for the exporting operation.

        in path of type str
            Name of appliance file to create.  There are certain restrictions with regard
            to the file name suffix.  If the format parameter is "opc-1.0" a .tar.gz
            suffix is required.  Otherwise the suffix must either be .ovf or
            .ova, depending on whether the appliance is distributed as a set of
            files or as a single file, respectively.

        return progress of type :class:`IProgress`
            Progress object to track the operation completion.

        """
        if not isinstance(format_p, basestring):
            raise TypeError("format_p can only be an instance of type basestring")
        if not isinstance(options, list):
            raise TypeError("options can only be an instance of type list")
        for a in options[:10]:
            if not isinstance(a, ExportOptions):
                raise TypeError(
                        "array can only contain objects of type ExportOptions")
        if not isinstance(path, basestring):
            raise TypeError("path can only be an instance of type basestring")
        progress = self._call("write",
                     in_p=[format_p, options, path])
        progress = IProgress(progress)
        return progress
Writes the contents of the appliance exports into a new OVF file.
        
        Calling this method is the final step of exporting an appliance from VirtualBox;
        see :py:class:`IAppliance`  for an overview.
        
        Since exporting the appliance will most probably involve copying and converting
        disk images, which can take a long time, this method operates asynchronously and
        returns an IProgress object to allow the caller to monitor the progress.

        in format_p of type str
            Output format, as a string. Currently supported formats are "ovf-0.9", "ovf-1.0",
            "ovf-2.0" and "opc-1.0"; future versions of VirtualBox may support additional formats.
            The "opc-1.0" format is for creating tarballs for the Oracle Public Cloud.

        in options of type :class:`ExportOptions`
            Options for the exporting operation.

        in path of type str
            Name of appliance file to create.  There are certain restrictions with regard
            to the file name suffix.  If the format parameter is "opc-1.0" a .tar.gz
            suffix is required.  Otherwise the suffix must either be .ovf or
            .ova, depending on whether the appliance is distributed as a set of
            files or as a single file, respectively.

        return progress of type :class:`IProgress`
            Progress object to track the operation completion.