bootstrap-vz/bootstrapvz/providers/ec2/tasks/ebs.py

38 lines
1.1 KiB
Python
Raw Normal View History

from bootstrapvz.base import Task
from bootstrapvz.common import phases
class Create(Task):
description = 'Creating the EBS volume'
phase = phases.volume_creation
2013-06-26 20:14:37 +02:00
@classmethod
def run(cls, info):
info.volume.create(info._ec2['connection'], info._ec2['host']['availabilityZone'])
2013-06-26 20:14:37 +02:00
class Attach(Task):
description = 'Attaching the volume'
phase = phases.volume_creation
predecessors = [Create]
@classmethod
def run(cls, info):
info.volume.attach(info._ec2['host']['instanceId'])
class Snapshot(Task):
description = 'Creating a snapshot of the EBS volume'
phase = phases.image_registration
2013-07-07 19:24:52 +02:00
@classmethod
def run(cls, info):
info._ec2['snapshot'] = info.volume.snapshot()
2016-11-12 19:58:51 +00:00
# # Setting up tags on the snapshot
# if 'tags' in info.manifest.data:
# raw_tags = info.manifest.data['tags']
# tags = {k: v.format(**info.manifest_vars) for k, v in raw_tags.items()}
# info._ec2['connection'](Resources=[info._ec2['snapshot']],
# Tags=[tags])