#!/usr/bin/env ruby # Install dependencies with: # gem install aws-sdk-rds aws-sdk-ec2 require 'aws-sdk-rds' require 'aws-sdk-ec2' require 'csv' aws_regions = %w[us-east-1 us-east-2 us-west-1 us-west-2 sa-east-1] CSV.open('rds-instances.csv', 'wb') do |csv| csv << %w[Type Multi-AZ Region Zone Identifier] aws_regions.each do |region| puts "Connecting to RDS in region #{region}" rds_client = Aws::RDS::Client.new(region: region) rds_client.describe_db_instances[:db_instances].each do |i| csv << [i.db_instance_class, i.multi_az, region, i.availability_zone, i.db_instance_identifier] end end end CSV.open('ec2-instances.csv', 'wb') do |csv| csv << %w[Type Region Zone KeyName] aws_regions.each do |region| puts "Connecting to EC2 in region #{region}" ec2_client = Aws::EC2::Client.new(region: region) ec2_client.describe_instances[:reservations].each do |reservation| reservation[:instances].each do |i| csv << [i.instance_type, region, i.placement.availability_zone, i.key_name] end end end end