Sha256: 9034b316de722816111d4ba2eeec80daef2fe65c37ee3e7b5f40e9ca5d21306b
Contents?: true
Size: 756 Bytes
Versions: 3
Compression:
Stored size: 756 Bytes
Contents
require 'aws-sdk' require 'contracts' module Audit53 module EC2 include Contracts Contract ({ region: String }) => Aws::EC2::Client def self.client(region:) Aws::EC2::Client.new region: region end Contract ({ region: String }) => ArrayOf[Aws::EC2::Types::Instance] def self.instances(region:) client(region: region).describe_instances.each_page .flat_map(&:reservations) .flat_map(&:instances) end Contract None => Hash def self.ips @ips ||= %w(us-east-1 us-west-1 us-west-2 eu-west-1) .flat_map { |r| instances region: r } .map { |i| { i.public_ip_address => i.instance_id } } .reduce({}, :update) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
audit53-0.8.10 | lib/audit53/ec2.rb |
audit53-0.8.9 | lib/audit53/ec2.rb |
audit53-0.8.0 | lib/audit53/ec2.rb |