## org.freedesktop.UDisks2.VolumeGroup org.freedesktop.UDisks2.VolumeGroup — A volume group |

## Methods

    Poll                 ();
    Delete               (IN  b     wipe,
                          IN  a{sv} options);
    Rename               (IN  s     new_name,
                          IN  a{sv} options,
                          OUT o     result);
    AddDevice            (IN  o     block,
                          IN  a{sv} options);
    EmptyDevice          (IN  o     block,
                          IN  a{sv} options);
    RemoveDevice         (IN  o     block,
                          IN  b     wipe,
                          IN  a{sv} options);
    CreatePlainVolume    (IN  s     name,
                          IN  t     size,
                          IN  a{sv} options,
                          OUT o     result);
    CreateThinPoolVolume (IN  s     name,
                          IN  t     size,
                          IN  a{sv} options,
                          OUT o     result);
    CreateThinVolume     (IN  s     name,
                          IN  t     size,
                          IN  o     pool,
                          IN  a{sv} options,
                          OUT o     result);

## Properties

    Name          readable   s
    UUID          readable   s
    Size          readable   t
    FreeSize      readable   t
    ExtentSize    readable   t
    NeedsPolling  readable   b

## Description

Objects implementing this interface represent LVM2 volume groups. They appear under /org/freedesktop/UDisks2/lvm/.

The logical volume objects of a volume group are the children of the volume group objects in the D-Bus object hierarchy. See the org.freedesktop.UDisks2.LogicalVolume interface.

The physical volume objects of a volume group can be found by looking for block devices with a org.freedesktop.UDisks2.PhysicalVolume.VolumeGroup property that points to the volume group object.

Since 2.0.0

## Method Details

### The Poll() method

    Poll ();

Make sure that all properties of this volume group and of all their logical and physical volumes are up-to-date.

The properties are not guaranteed to be up-to-date yet when this method returns.

Since 2.0.0

### The Delete() method

    Delete (IN  b     wipe,
            IN  a{sv} options);

Delete this volume group. All its logical volumes will be deleted, too.

If the option `tear-down` is set to `TRUE`, then all logical volumes will be cleaned up before deletion. This cleanup consists of removing entries from /etc/fstab and /etc/crypttab, and locking of encrypted block devices. Entries in /etc/fstab and /etc/crypttab that have been created with the 'track-parents' options to AddConfigurationItem will be removed even if their block device is currently unavailable.

`IN b `wipe``: | Whether to wipe the volume group.
`IN a{sv} `options``: | Additional options.

Since 2.0.0

### The Rename() method

    Rename (IN  s     new_name,
            IN  a{sv} options,
            OUT o     result);

Rename this volume group. This might cause the volume group object to disappear from D-Bus and reappear with a different path.

No additional options are currently defined.

`IN s `new_name``: | The new name.
`IN a{sv} `options``: | Additional options.
`OUT o `result``: | The new object path.

Since 2.0.0

### The AddDevice() method

    AddDevice (IN  o     block,
               IN  a{sv} options);

Add a new physical volume to the volume group. The block device will be wiped and all data on it will be lost.

`IN o `block``: | The block device to add, as a UDisks2 object path.
`IN a{sv} `options``: | Additional options.

Since 2.0.0

### The EmptyDevice() method

    EmptyDevice (IN  o     block,
                 IN  a{sv} options);

Move all data on the given block device somewhere else so that the block device might be removed.

No additional options are currently defined.

`IN o `block``: | The block device to empty, as a UDisks2 object path.
`IN a{sv} `options``: | Additional options.

Since 2.0.0

### The RemoveDevice() method

    RemoveDevice (IN  o     block,
                  IN  b     wipe,
                  IN  a{sv} options);

Remove the indicated physical volume from the volume group. The physical device must be unused.

No additional options are currently defined.

`IN o `block``: | The block device to remove, as a UDisks2 object path.
`IN b `wipe``: | Whether to wipe the physical volume.
`IN a{sv} `options``: | Additional options.

Since 2.0.0

### The CreatePlainVolume() method

    CreatePlainVolume (IN  s     name,
                       IN  t     size,
                       IN  a{sv} options,
                       OUT o     result);

Create a 'normal' new logical volume.

No additional options are currently defined.

`IN s `name``: | The name of the new logical volume.
`IN t `size``: | The size.
`IN a{sv} `options``: | Additional options.
`OUT o `result``: | The object path of the new logical volume.

Since 2.0.0

### The CreateThinPoolVolume() method

    CreateThinPoolVolume (IN  s     name,
                          IN  t     size,
                          IN  a{sv} options,
                          OUT o     result);

Create a new logical volume that can be used to back thinly-provisioned logical volumes. The `size` parameter is the total amount of space taken out of the volume group. That space will be used for data and metadata. The actual amount of data that can be stored in the pool will be slightly smaller.

No additional options are currently defined.

`IN s `name``: | The name of the new logical volume.
`IN t `size``: | The total size.
`IN a{sv} `options``: | Additional options.
`OUT o `result``: | The object path of the new logical volume.

Since 2.0.0

### The CreateThinVolume() method

    CreateThinVolume (IN  s     name,
                      IN  t     size,
                      IN  o     pool,
                      IN  a{sv} options,
                      OUT o     result);

Create a new thinly provisioned logical volume in the given pool.

No additional options are currently defined.

`IN s `name``: | The name of the new logical volume.
`IN t `size``: | The virtual size.
`IN o `pool``: | The thin pool to use.
`IN a{sv} `options``: | Additional options.
`OUT o `result``: | The object path of the new logical volume.

Since 2.0.0

## Property Details

### The "Name" property

    Name  readable   s

The name of this volume group, as known to LVM2.

Since 2.0.0

### The "UUID" property

    UUID  readable   s

The UUID this volume group. It is guaranteed to be unique, but it might change over time.

Since 2.0.0

### The "Size" property

    Size  readable   t

The total capacity of this volume group, in bytes.

Since 2.0.0

### The "FreeSize" property

    FreeSize  readable   t

The unused capacity of this volume group, in bytes.

Since 2.0.0

### The "ExtentSize" property

    ExtentSize  readable   t

The size of extents. When creating and resizing logical volumes, sizes are rounded up to multiples of the extent size.

Since 2.0.0

### The "NeedsPolling" property

    NeedsPolling  readable   b

Whether or not this volume group needs to be periodically polled to guarantee updates.

Since 2.0.0