mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-24 15:36:27 +00:00
20 lines
804 B
Python
20 lines
804 B
Python
|
|
|
|
def load_volume(data):
|
|
from common.fs.loopbackvolume import LoopbackVolume
|
|
from providers.ec2.ebsvolume 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,
|
|
's3': LoopbackVolume,
|
|
'vdi': VirtualBoxVolume,
|
|
'ebs': EBSVolume
|
|
}
|
|
return volume_backings.get(data['backing'])(partition_map)
|