Sha256: 82541a85462640ba71eace1ae7daa42b447260458b2cffbe3aee7c9f601cdd14

Contents?: true

Size: 577 Bytes

Versions: 2

Compression:

Stored size: 577 Bytes

Contents

require 'aws-sdk'
require 'hashie'
require 'logger'

module Pec2
  class Core

    def initialize
      @logger = Logger.new(STDOUT)
      @ec2 = Aws::EC2::Client.new
    end

    def instances_hash(condition)
      filter = []
      condition.each do |key, value|
        filter << { name: "tag:#{key}", values: ["#{value}"] }
      end
      filter << { name: 'instance-state-name', values: ['running'] }
      @ec2.describe_instances(
        filters: filter
      ).data.to_h[:reservations].map { |instance| Hashie::Mash.new(instance[:instances].first) }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pec2-0.1.1 lib/pec2/core.rb
pec2-0.1.0 lib/pec2/core.rb