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

Public Class Methods

new(name, options = {}) click to toggle source

@private

# File lib/aws/auto_scaling/launch_configuration.rb, line 48
def initialize name, options = {}
  super(options.merge(:name => name))
end

Public Instance Methods

delete() click to toggle source

Deletes the current launch configuration. @return [nil]

# File lib/aws/auto_scaling/launch_configuration.rb, line 139
def delete
  client.delete_launch_configuration(resource_options)
  nil
end
exists?() click to toggle source

@return [Boolean] Returns true if this launch configuration exists.

# File lib/aws/auto_scaling/launch_configuration.rb, line 133
def exists?
  !!get_resource.launch_configurations.first
end
image() click to toggle source

@return [EC2::Image]

# File lib/aws/auto_scaling/launch_configuration.rb, line 104
def image
  EC2::Image.new(image_id, :config => config)
end
key_pair() click to toggle source

@return [KeyPair,nil]

# File lib/aws/auto_scaling/launch_configuration.rb, line 109
def key_pair
  if key_name
    EC2::KeyPair.new(key_name, :config => config)
  end
end
security_groups() click to toggle source

@return [Array<EC2::SecurityGroup>]

# File lib/aws/auto_scaling/launch_configuration.rb, line 116
def security_groups
  names_or_ids = security_group_details
  if names_or_ids.all?{|str| str.match(%r^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

Protected Instance Methods

get_resource(attr_name = nil) click to toggle source
# File lib/aws/auto_scaling/launch_configuration.rb, line 150
def get_resource attr_name = nil
  client_opts = {}
  client_opts[:launch_configuration_names] = [name]
  client.describe_launch_configurations(client_opts)
end
resource_identifiers() click to toggle source
# File lib/aws/auto_scaling/launch_configuration.rb, line 146
def resource_identifiers
  [[:launch_configuration_name, name]]
end