bootstrap-vz/base/fs/__init__.py

20 lines
758 B
Python
Raw Normal View History

def load_volume(data):
from common.fs.loopbackvolume import LoopbackVolume
from providers.ec2.volume import EBSVolume
from providers.virtualbox.volume import VirtualBoxVolume
from partitionmaps.gpt import GPTPartitionMap
from partitionmaps.mbr import MBRPartitionMap
from partitionmaps.none import NoPartitions
partition_maps = {'none': NoPartitions,
'gpt': GPTPartitionMap,
'mbr': MBRPartitionMap,
}
partition_map = partition_maps.get(data['partitions']['type'])(data['partitions'])
volume_backings = {'raw': LoopbackVolume,
'vdi': VirtualBoxVolume,
'ebs': EBSVolume
}
return volume_backings.get(data['backing'])(partition_map)