class DrawCloud::ASLaunchConfiguration

Attributes

image_id[RW]
instance_class[RW]
instance_class=[RW]
instance_monitoring[RW]
instance_type[RW]
kernel_id[RW]
key_name[RW]
metadata[RW]
monitoring[RW]
monitoring=[RW]
name[RW]
ram_disk_id[RW]
security_groups[RW]
tags[RW]
user_data[RW]

Public Class Methods

new(name, options={}, &block) click to toggle source
Calls superclass method
# File lib/draw_cloud/as_launch_configuration.rb, line 26
def initialize(name, options={}, &block)
  @name = name
  @image_id = options.fetch(:image_id, nil)
  @instance_monitoring = options.fetch(:instance_monitoring, nil)
  @instance_type = options.fetch(:instance_type, nil)
  @kernel_id = options.fetch(:kernel_id, nil)
  @key_name = options.fetch(:key_name, nil)
  @ram_disk_id = options.fetch(:ram_disk_id, nil)
  @security_groups = options.fetch(:security_groups, nil)
  @user_data = options.fetch(:user_data, nil)
  super(options, &block)
end

Public Instance Methods

as_launch_configuration() click to toggle source
# File lib/draw_cloud/as_launch_configuration.rb, line 39
def as_launch_configuration
  self
end
load_into_config(config) click to toggle source
Calls superclass method
# File lib/draw_cloud/as_launch_configuration.rb, line 43
def load_into_config(config)
  config.cf_add_resource resource_name, self
  super(config)
end
resource_name() click to toggle source
# File lib/draw_cloud/as_launch_configuration.rb, line 48
def resource_name
  resource_style(name) + "LaunchConfig"
end
to_h() click to toggle source
# File lib/draw_cloud/as_launch_configuration.rb, line 52
def to_h
  h = {
    "Type" => "AWS::AutoScaling::LaunchConfiguration",
    "Properties" => {
      "ImageId" => DrawCloud.ref(image_id),
      "InstanceType" => DrawCloud.ref(instance_type),
    }
  }
  p = h["Properties"]
  p["InstanceMonitoring"] = DrawCloud.ref(instance_monitoring) if instance_monitoring
  p["KernelId"] = DrawCloud.ref(kernel_id) if kernel_id
  p["KeyName"] = DrawCloud.ref(key_name) if key_name
  p["RamDiskId"] = DrawCloud.ref(ram_disk_id) if ram_disk_id
  p["SecurityGroups"] = security_groups.collect {|s| DrawCloud.ref(s)} if security_groups
  p["UserData"] = DrawCloud.ref(user_data) if user_data
  h["Metadata"] = DrawCloud.ref(metadata) unless metadata.nil? || metadata.empty?
  add_standard_properties(h)
end