diff --git a/library/cloud/ec2_vol b/library/cloud/ec2_vol index a60e0b71f8..d3c527f737 100644 --- a/library/cloud/ec2_vol +++ b/library/cloud/ec2_vol @@ -77,6 +77,11 @@ options: required: false default: null aliases: ['aws_zone', 'ec2_zone'] + snapshot: + description: + - snapshot ID on which to base the volume + required: false + default: null requirements: [ "boto" ] author: Lester Wade ''' @@ -139,6 +144,7 @@ def main(): ec2_url = dict(), ec2_secret_key = dict(aliases=['aws_secret_key', 'secret_key'], no_log=True), ec2_access_key = dict(aliases=['aws_access_key', 'access_key']), + snapshot = dict(), ) ) @@ -147,6 +153,7 @@ def main(): iops = module.params.get('iops') device_name = module.params.get('device_name') zone = module.params.get('zone') + snapshot = module.params.get('snapshot') ec2 = ec2_connect(module) @@ -178,7 +185,7 @@ def main(): # If no instance supplied, try volume creation based on module parameters. try: - volume = ec2.create_volume(volume_size, zone, None, volume_type, iops) + volume = ec2.create_volume(volume_size, zone, snapshot, volume_type, iops) while volume.status != 'available': time.sleep(3) volume.update()