propellor-3.2.3: property-based host configuration management in haskell

Safe HaskellNone
LanguageHaskell98

Propellor.Property.Parted

Synopsis

Documentation

data TableType Source #

Types of partition tables supported by parted.

Constructors

MSDOS 
GPT 
AIX 
AMIGA 
BSD 
DVH 
LOOP 
MAC 
PC98 
SUN 

Instances

Show TableType Source # 

Methods

showsPrec :: Int -> TableType -> ShowS

show :: TableType -> String

showList :: [TableType] -> ShowS

data PartTable Source #

A disk's partition table.

Constructors

PartTable TableType [Partition] 

Instances

Show PartTable Source # 

Methods

showsPrec :: Int -> PartTable -> ShowS

show :: PartTable -> String

showList :: [PartTable] -> ShowS

Monoid PartTable Source # 

partTableSize :: PartTable -> ByteSize Source #

Gets the total size of the disk specified by the partition table.

data Partition Source #

A partition on the disk.

Constructors

Partition 

Fields

Instances

Show Partition Source # 

Methods

showsPrec :: Int -> Partition -> ShowS

show :: Partition -> String

showList :: [Partition] -> ShowS

mkPartition :: Fs -> PartSize -> Partition Source #

Makes a Partition with defaults for non-important values.

data Fs Source #

Filesystems etc that can be used for a partition.

Constructors

EXT2 
EXT3 
EXT4 
BTRFS 
REISERFS 
XFS 
FAT 
VFAT 
NTFS 
LinuxSwap 

Instances

Eq Fs Source # 

Methods

(==) :: Fs -> Fs -> Bool

(/=) :: Fs -> Fs -> Bool

Show Fs Source # 

Methods

showsPrec :: Int -> Fs -> ShowS

show :: Fs -> String

showList :: [Fs] -> ShowS

newtype PartSize Source #

All partition sizing is done in megabytes, so that parted can automatically lay out the partitions.

Note that these are SI megabytes, not mebibytes.

Constructors

MegaBytes Integer 

Instances

Show PartSize Source # 

Methods

showsPrec :: Int -> PartSize -> ShowS

show :: PartSize -> String

showList :: [PartSize] -> ShowS

Monoid PartSize Source # 

type ByteSize = Integer Source #

toPartSize :: ByteSize -> PartSize Source #

Rounds up to the nearest MegaByte.

type MkfsOpts = [String] Source #

Options passed to a mkfs.* command when making a filesystem.

Eg, ["-m0"]

data PartType Source #

Type of a partition.

Constructors

Primary 
Logical 
Extended 

Instances

Show PartType Source # 

Methods

showsPrec :: Int -> PartType -> ShowS

show :: PartType -> String

showList :: [PartType] -> ShowS

data PartFlag Source #

Flags that can be set on a partition.

Instances

Show PartFlag Source # 

Methods

showsPrec :: Int -> PartFlag -> ShowS

show :: PartFlag -> String

showList :: [PartFlag] -> ShowS

partitioned :: Eep -> FilePath -> PartTable -> Property DebianLike Source #

Partitions a disk using parted, and formats the partitions.

The FilePath can be a block device (eg, /dev/sda), or a disk image file.

This deletes any existing partitions in the disk! Use with EXTREME caution!

parted :: Eep -> FilePath -> [String] -> Property DebianLike Source #

Runs parted on a disk with the specified parameters.

Parted is run in script mode, so it will never prompt for input. It is asked to use cylinder alignment for the disk.

installed :: Property DebianLike Source #

Gets parted installed.