class Ec2ssh::Ec2Instances
Attributes
aws_keys[R]
ec2s[R]
Public Class Methods
expand_profile_name_to_credential(profile_name, region)
click to toggle source
# File lib/ec2ssh/ec2_instances.rb, line 92 def self.expand_profile_name_to_credential(profile_name, region) client = Aws::STS::Client.new(profile: profile_name, region: region) client.config.credentials end
new(aws_keys, filters)
click to toggle source
# File lib/ec2ssh/ec2_instances.rb, line 61 def initialize(aws_keys, filters) @aws_keys = aws_keys @filters = filters end
Public Instance Methods
instances(key_name)
click to toggle source
# File lib/ec2ssh/ec2_instances.rb, line 82 def instances(key_name) aws_keys[key_name].each_key.map {|region| ec2s[key_name][region].instances( filters: @filters ). map {|ins| InstanceWrapper.new(ins) }. sort_by {|ins| ins.tag('Name').to_s } }.flatten end
make_ec2s()
click to toggle source
# File lib/ec2ssh/ec2_instances.rb, line 66 def make_ec2s _ec2s = {} aws_keys.each_pair do |name, keys| _ec2s[name] = {} keys.each_pair do |region, key| client = Aws::EC2::Client.new region: region, credentials: key _ec2s[name][region] = Aws::EC2::Resource.new client: client end end _ec2s end