class Roark::Instance

Public Class Methods

new(args) click to toggle source
# File lib/roark/instance.rb, line 10
def initialize(args)
  @aws    = args[:aws]
  @name   = args[:name]
  @logger = Roark.logger
end

Public Instance Methods

create(args) click to toggle source
# File lib/roark/instance.rb, line 16
def create(args)
  parameters = args[:parameters]
  template   = args[:template]

  stack.create :name       => @name,
               :parameters => parameters,
               :template   => template
end
create_ami_from_instance() click to toggle source
# File lib/roark/instance.rb, line 25
def create_ami_from_instance
  create_ami.create :name        => @name,
                    :instance_id => instance_id
end
status() click to toggle source
# File lib/roark/instance.rb, line 34
def status
  instance_status.status instance_id
end
stop() click to toggle source
# File lib/roark/instance.rb, line 30
def stop
  stop_instance.stop instance_id
end

Private Instance Methods

create_ami() click to toggle source
# File lib/roark/instance.rb, line 44
def create_ami
  @create_ami ||= Roark::Aws::Ec2::CreateAmi.new @aws
end
instance_status() click to toggle source
# File lib/roark/instance.rb, line 52
def instance_status
  @instance_status ||= Roark::Aws::Ec2::InstanceStatus.new @aws
end
stack() click to toggle source
# File lib/roark/instance.rb, line 40
def stack
  @stack ||= Stack.new :aws  => @aws, :name => @name
end
stop_instance() click to toggle source
# File lib/roark/instance.rb, line 48
def stop_instance
  @stop_instance ||= Roark::Aws::Ec2::StopInstance.new @aws
end