10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/conan/cloud/aws/create_launch_configuration.rb', line 10
def create_launch_configuration(image_id, instance_type, launch_configuration_name, options = {})
if block_device_mappings = options.delete('BlockDeviceMappings')
block_device_mappings.each_with_index do |mapping, i|
for key, value in mapping
options.merge!({ format("BlockDeviceMappings.member.%d.#{key}", i+1) => value })
end
end
end
if security_groups = options.delete('SecurityGroups')
options.merge!(Fog::AWS.indexed_param('SecurityGroup.member', [*security_groups]))
end
if options['UserData']
options['UserData'] = Base64.encode64(options['UserData'])
end
request({
'Action' => 'CreateLaunchConfiguration',
'ImageId' => image_id,
'InstanceType' => instance_type,
'LaunchConfigurationName' => launch_configuration_name,
:parser => Fog::Parsers::AWS::AutoScaling::Basic.new
}.merge!(options))
end
|