class AWS::AutoScaling::LaunchConfiguration
@attr_reader [String] name
@attr_reader [Time] created_time
@attr_reader [String] image_id
@attr_reader [Boolean] detailed_instance_monitoring
@attr_reader [String] instance_type
@attr_reader [String,nil] kernel_id
@attr_reader [String,nil] key_name
@attr_reader [String] arn
@attr_reader [String,nil] ramdisk_id
@attr_reader [String,nil] user_data
@attr_reader [Array<Hash>] block_device_mappings
@attr_reader [String] iam_instance_profile
@attr_reader [String] spot_price
@attr_reader [Boolean] associate_public_ip_address
@attr_reader [String] classic_link_vpc_id
Public Class Methods
@api private
# File lib/aws/auto_scaling/launch_configuration.rb, line 51 def initialize name, options = {} super(options.merge(:name => name)) end
Public Instance Methods
@return [Array<EC2::SecurityGroup>]
# File lib/aws/auto_scaling/launch_configuration.rb, line 134 def classic_link_vpc_security_groups get_security_groups(classic_link_vpc_security_group_details) end
Deletes the current launch configuration. @return [nil]
# File lib/aws/auto_scaling/launch_configuration.rb, line 145 def delete client.delete_launch_configuration(resource_options) nil end
@return [Boolean] Returns true if this launch configuration exists.
# File lib/aws/auto_scaling/launch_configuration.rb, line 139 def exists? !!get_resource.launch_configurations.first end
@return [EC2::Image]
# File lib/aws/auto_scaling/launch_configuration.rb, line 117 def image EC2::Image.new(image_id, :config => config) end
@return [KeyPair,nil]
# File lib/aws/auto_scaling/launch_configuration.rb, line 122 def key_pair if key_name EC2::KeyPair.new(key_name, :config => config) end end
@return [Array<EC2::SecurityGroup>]
# File lib/aws/auto_scaling/launch_configuration.rb, line 129 def security_groups get_security_groups(security_group_details) end
Protected Instance Methods
# File lib/aws/auto_scaling/launch_configuration.rb, line 171 def get_resource attr_name = nil client_opts = {} client_opts[:launch_configuration_names] = [name] client.describe_launch_configurations(client_opts) end
# File lib/aws/auto_scaling/launch_configuration.rb, line 152 def get_security_groups(names_or_ids) if names_or_ids.all?{|str| str.match(/^sg-[0-9a-f]{8,}$/) } names_or_ids.collect do |security_group_id| EC2::SecurityGroup.new(security_group_id, :config => config) end else begin ec2 = EC2.new(:config => config) ec2.security_groups.filter('group-name', *names_or_ids).to_a rescue names_or_ids end end end
# File lib/aws/auto_scaling/launch_configuration.rb, line 167 def resource_identifiers [[:launch_configuration_name, name]] end