Class: Awsom::Instance

Inherits:
Object
  • Object
show all
Includes:
Logger
Defined in:
lib/awsom/instance.rb

Instance Method Summary collapse

Methods included from Logger

#debug?, #logger, logger, #stderr, stderr

Constructor Details

#initialize(name, vpc_id:, setup_proc: nil) ⇒ Instance

Returns a new instance of Instance.



7
8
9
10
# File 'lib/awsom/instance.rb', line 7

def initialize(name, vpc_id:, setup_proc: nil)
  @name = name
  @vpc_id = vpc_id
end

Instance Method Details

#created(setup_proc = nil, &block) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/awsom/instance.rb', line 12

def created(setup_proc = nil, &block)
  id = find_id
  return id if id
  run_params = yield
  id = create(run_params)
  instance = Aws::EC2::Instance.new(id)
  puts "(#{@name}) waiting for instance to start"
  instance.wait_until_running
  setup_proc.call(instance) if setup_proc
end