Sha256: d6f12b536b2a2000809b4ab38ff65bfc340fe9527f44714ee06e60072e2233db

Contents?: true

Size: 800 Bytes

Versions: 5

Compression:

Stored size: 800 Bytes

Contents

require "base64"
require "swa/resource"
require "swa/ec2/tagged_resource"

module Swa
  module EC2

    class Instance < Resource

      include TaggedResource

      def summary
        [
          field(i, :instance_id),
          field(i, :image_id),
          field(i, :instance_type),
          pad(i.state.name, 10),
          field(i, :private_ip_address),
          field(i, :public_ip_address),
          quoted(name)
        ].join("  ")
      end

      def name
        tags["Name"]
      end

      def console_output
        encoded_output = i.console_output.output
        Base64.decode64(encoded_output) if encoded_output
      end

      delegate :launch_time
      delegate :stop, :start, :reboot, :terminate

      private

      alias_method :i, :aws_resource

    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
swa-0.6.0 lib/swa/ec2/instance.rb
swa-0.5.2 lib/swa/ec2/instance.rb
swa-0.5.1 lib/swa/ec2/instance.rb
swa-0.5.0 lib/swa/ec2/instance.rb
swa-0.4.4 lib/swa/ec2/instance.rb