mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
fix indexed_param usage
This commit is contained in:
parent
15bbb42dc5
commit
48f468ffaa
1 changed files with 21 additions and 17 deletions
|
@ -20,17 +20,18 @@ module Fog
|
|||
# * 'requestId'<~String> - Id of request.
|
||||
#
|
||||
# {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-CreateImage.html]
|
||||
def create_image(instance_id, name, description, no_reboot = false, attributes=[])
|
||||
def create_image(instance_id, name, description, no_reboot = false, options={})
|
||||
params = {}
|
||||
attributes.each{|attr|
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.DeviceName', attr['DeviceName']))
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.NoDevice', attr['NoDevice']))
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.VirtualName', attr['VirtualName']))
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.Ebs.SnapshotId', attr['Ebs.SnapshotId']))
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.Ebs.DeleteOnTermination', attr['Ebs.DeleteOnTermination']))
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.Ebs.VolumeType', attr['Ebs.VolumeType']))
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.Ebs.Iops', attr['Ebs.Iops']))
|
||||
}
|
||||
block_device_mappings = options[:block_device_mappings]
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.DeviceName', block_device_mappings.map{|mapping| mapping['DeviceName']})
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.NoDevice', block_device_mappings.map{|mapping| mapping['NoDevice']})
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.VirtualName', block_device_mappings.map{|mapping| mapping['VirtualName']})
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.Ebs.SnapshotId', block_device_mappings.map{|mapping| mapping['Ebs.SnapshotId']})
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.Ebs.DeleteOnTermination', block_device_mappings.map{|mapping| mapping['Ebs.DeleteOnTermination']})
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.Ebs.VolumeType', block_device_mappings.map{|mapping| mapping['Ebs.VolumeType']})
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.Ebs.Iops', block_device_mappings.map{|mapping| mapping['Ebs.Iops']})
|
||||
params.reject!{|k,v| v.nil?}
|
||||
|
||||
request({
|
||||
'Action' => 'CreateImage',
|
||||
'InstanceId' => instance_id,
|
||||
|
@ -51,13 +52,16 @@ module Fog
|
|||
|
||||
def create_image(instance_id, name, description, no_reboot = false, attributes = {})
|
||||
params = {}
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.DeviceName', attributes['DeviceName']))
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.NoDevice', attributes['NoDevice']))
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.VirtualName', attributes['VirtualName']))
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.Ebs.SnapshotId', attributes['Ebs.SnapshotId']))
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.Ebs.DeleteOnTermination', attributes['Ebs.DeleteOnTermination']))
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.Ebs.VolumeType', attributes['Ebs.VolumeType']))
|
||||
params.merge!(Fog::AWS.indexed_param('BlockDeviceMapping.%d.Ebs.Iops', attributes['Ebs.Iops']))
|
||||
block_device_mappings = options[:block_device_mappings]
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.DeviceName', block_device_mappings.map{|mapping| mapping['DeviceName']})
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.NoDevice', block_device_mappings.map{|mapping| mapping['NoDevice']})
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.VirtualName', block_device_mappings.map{|mapping| mapping['VirtualName']})
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.Ebs.SnapshotId', block_device_mappings.map{|mapping| mapping['Ebs.SnapshotId']})
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.Ebs.DeleteOnTermination', block_device_mappings.map{|mapping| mapping['Ebs.DeleteOnTermination']})
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.Ebs.VolumeType', block_device_mappings.map{|mapping| mapping['Ebs.VolumeType']})
|
||||
params.merge!Fog:AWS.indexed_param('BlockDeviceMapping.%d.Ebs.Iops', block_device_mappings.map{|mapping| mapping['Ebs.Iops']})
|
||||
params.reject!{|k,v| v.nil?}
|
||||
|
||||
response = Excon::Response.new
|
||||
if instance_id && !name.empty?
|
||||
response.status = 200
|
||||
|
|
Loading…
Add table
Reference in a new issue