Class: OpenDelivery::MachineImage

Inherits:
Object
  • Object
show all
Defined in:
lib/opendelivery/machine_image.rb

Instance Method Summary collapse

Constructor Details

#initialize(region = nil) ⇒ MachineImage

Returns a new instance of MachineImage.



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/opendelivery/machine_image.rb', line 6

def initialize(region=nil)
  if region.nil?
    @ec2 = AWS::EC2.new
    @sdb = AWS::SimpleDB.new
    @auto_scale = AWS::AutoScaling.new
    @domain = OpenDelivery::Domain.new
  else
    @ec2 = AWS::EC2.new(:region => region)
    @sdb = AWS::SimpleDB.new(:region => region)
    @auto_scale = AWS::AutoScaling.new(:region => region)
    @domain = OpenDelivery::Domain.new(:region => region)
  end
end

Instance Method Details

#create(domain, stack_name, type, key) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/opendelivery/machine_image.rb', line 20

def create(domain, stack_name, type, key)
  instance_id = prep_instance(domain, stack_name)
  image = @ec2.images.create(
    instance_id: instance_id,
    name: image_name)

  wait_for_image(image)

  @domain.set_property(domain, key, type, image.id)
end