X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=python%2Fguestfs.py;h=dd9fa58cb1a8c0fcf6fe5a6a3548241702ff2e75;hb=42b90f2d0d5b16da948f77e99e84c9192e742a4e;hp=8ac4037cc0cc8e7ed154e3353cf37a4d063f65fc;hpb=5cd39c83e23eb300d1bdfa806902a31b409ff420;p=libguestfs.git diff --git a/python/guestfs.py b/python/guestfs.py index 8ac4037..dd9fa58 100644 --- a/python/guestfs.py +++ b/python/guestfs.py @@ -78,6 +78,87 @@ class GuestFS: def __del__ (self): libguestfsmod.close (self._o) + def test0 (self, str, optstr, strlist, b, integer, filein, fileout): + return libguestfsmod.test0 (self._o, str, optstr, strlist, b, integer, filein, fileout) + + def test0rint (self, val): + return libguestfsmod.test0rint (self._o, val) + + def test0rinterr (self): + return libguestfsmod.test0rinterr (self._o) + + def test0rint64 (self, val): + return libguestfsmod.test0rint64 (self._o, val) + + def test0rint64err (self): + return libguestfsmod.test0rint64err (self._o) + + def test0rbool (self, val): + return libguestfsmod.test0rbool (self._o, val) + + def test0rboolerr (self): + return libguestfsmod.test0rboolerr (self._o) + + def test0rconststring (self, val): + return libguestfsmod.test0rconststring (self._o, val) + + def test0rconststringerr (self): + return libguestfsmod.test0rconststringerr (self._o) + + def test0rstring (self, val): + return libguestfsmod.test0rstring (self._o, val) + + def test0rstringerr (self): + return libguestfsmod.test0rstringerr (self._o) + + def test0rstringlist (self, val): + return libguestfsmod.test0rstringlist (self._o, val) + + def test0rstringlisterr (self): + return libguestfsmod.test0rstringlisterr (self._o) + + def test0rintbool (self, val): + return libguestfsmod.test0rintbool (self._o, val) + + def test0rintboolerr (self): + return libguestfsmod.test0rintboolerr (self._o) + + def test0rpvlist (self, val): + return libguestfsmod.test0rpvlist (self._o, val) + + def test0rpvlisterr (self): + return libguestfsmod.test0rpvlisterr (self._o) + + def test0rvglist (self, val): + return libguestfsmod.test0rvglist (self._o, val) + + def test0rvglisterr (self): + return libguestfsmod.test0rvglisterr (self._o) + + def test0rlvlist (self, val): + return libguestfsmod.test0rlvlist (self._o, val) + + def test0rlvlisterr (self): + return libguestfsmod.test0rlvlisterr (self._o) + + def test0rstat (self, val): + return libguestfsmod.test0rstat (self._o, val) + + def test0rstaterr (self): + return libguestfsmod.test0rstaterr (self._o) + + def test0rstatvfs (self, val): + return libguestfsmod.test0rstatvfs (self._o, val) + + def test0rstatvfserr (self): + return libguestfsmod.test0rstatvfserr (self._o) + + def test0rhashtable (self, val): + return libguestfsmod.test0rhashtable (self._o, val) + + def test0rhashtableerr (self): + return libguestfsmod.test0rhashtableerr (self._o) + def launch (self): u"""Internally libguestfs is implemented by running a virtual machine using qemu(1). @@ -117,6 +198,12 @@ class GuestFS: This is equivalent to the qemu parameter "-drive file=filename". + + Note that this call checks for the existence of + "filename". This stops you from specifying other types + of drive which are supported by qemu such as "nbd:" and + "http:" URLs. To specify those, use the general + "g.config" call instead. """ return libguestfsmod.add_drive (self._o, filename) @@ -126,9 +213,37 @@ class GuestFS: This is equivalent to the qemu parameter "-cdrom filename". + + Note that this call checks for the existence of + "filename". This stops you from specifying other types + of drive which are supported by qemu such as "nbd:" and + "http:" URLs. To specify those, use the general + "g.config" call instead. """ return libguestfsmod.add_cdrom (self._o, filename) + def add_drive_ro (self, filename): + u"""This adds a drive in snapshot mode, making it + effectively read-only. + + Note that writes to the device are allowed, and will be + seen for the duration of the guestfs handle, but they + are written to a temporary file which is discarded as + soon as the guestfs handle is closed. We don't currently + have any method to enable changes to be committed, + although qemu can support this. + + This is equivalent to the qemu parameter "-drive + file=filename,snapshot=on". + + Note that this call checks for the existence of + "filename". This stops you from specifying other types + of drive which are supported by qemu such as "nbd:" and + "http:" URLs. To specify those, use the general + "g.config" call instead. + """ + return libguestfsmod.add_drive_ro (self._o, filename) + def config (self, qemuparam, qemuvalue): u"""This can be used to add arbitrary qemu command line parameters of the form "-param value". Actually it's not @@ -1397,3 +1512,95 @@ class GuestFS: """ return libguestfsmod.sfdisk_disk_geometry (self._o, device) + def vg_activate_all (self, activate): + u"""This command activates or (if "activate" is false) + deactivates all logical volumes in all volume groups. If + activated, then they are made known to the kernel, ie. + they appear as "/dev/mapper" devices. If deactivated, + then those devices disappear. + + This command is the same as running "vgchange -a y|n" + """ + return libguestfsmod.vg_activate_all (self._o, activate) + + def vg_activate (self, activate, volgroups): + u"""This command activates or (if "activate" is false) + deactivates all logical volumes in the listed volume + groups "volgroups". If activated, then they are made + known to the kernel, ie. they appear as "/dev/mapper" + devices. If deactivated, then those devices disappear. + + This command is the same as running "vgchange -a y|n + volgroups..." + + Note that if "volgroups" is an empty list then all + volume groups are activated or deactivated. + """ + return libguestfsmod.vg_activate (self._o, activate, volgroups) + + def lvresize (self, device, mbytes): + u"""This resizes (expands or shrinks) an existing LVM + logical volume to "mbytes". When reducing, data in the + reduced part is lost. + """ + return libguestfsmod.lvresize (self._o, device, mbytes) + + def resize2fs (self, device): + u"""This resizes an ext2 or ext3 filesystem to match the + size of the underlying device. + + *Note:* It is sometimes required that you run + "g.e2fsck_f" on the "device" before calling this + command. For unknown reasons "resize2fs" sometimes gives + an error about this and sometimes not. In any case, it + is always safe to call "g.e2fsck_f" before calling this + function. + """ + return libguestfsmod.resize2fs (self._o, device) + + def find (self, directory): + u"""This command lists out all files and directories, + recursively, starting at "directory". It is essentially + equivalent to running the shell command "find directory + -print" but some post-processing happens on the output, + described below. + + This returns a list of strings *without any prefix*. + Thus if the directory structure was: + + /tmp/a + /tmp/b + /tmp/c/d + + then the returned list from "g.find" "/tmp" would be 4 + elements: + + a + b + c + c/d + + If "directory" is not a directory, then this command + returns an error. + + The returned list is sorted. + + This function returns a list of strings. + """ + return libguestfsmod.find (self._o, directory) + + def e2fsck_f (self, device): + u"""This runs "e2fsck -p -f device", ie. runs the ext2/ext3 + filesystem checker on "device", noninteractively ("-p"), + even if the filesystem appears to be clean ("-f"). + + This command is only needed because of "g.resize2fs" + (q.v.). Normally you should use "g.fsck". + """ + return libguestfsmod.e2fsck_f (self._o, device) + + def sleep (self, secs): + u"""Sleep for "secs" seconds. + """ + return libguestfsmod.sleep (self._o, secs) +