#!/usr/bin/env ruby require File.join(File.dirname(__FILE__), '..', 'lib', 'fog') require 'irb' require 'yaml' if ARGV[0] && File.exists?(File.expand_path(ARGV[0])) @credentials = YAML.load(File.open(File.expand_path(ARGV[0])).read) elsif File.exists?(File.expand_path('~/.fog')) @credentials = YAML.load(File.open(File.expand_path('~/.fog')).read) end @ec2 = Fog::AWS::EC2.new( :aws_access_key_id => @credentials['aws_access_key_id'], :aws_secret_access_key => @credentials['aws_secret_access_key'] ) @s3 = Fog::AWS::S3.new( :aws_access_key_id => @credentials['aws_access_key_id'], :aws_secret_access_key => @credentials['aws_secret_access_key'] ) def addresses @ec2.addresses end def buckets @s3.buckets end def key_pairs @ec2.key_pairs end def security_groups @ec2.security_groups end def snapshots @ec2.snapshots end def volumes @ec2.volumes end ARGV.clear # Avoid passing args to IRB IRB.setup(nil) @irb = IRB::Irb.new(nil) IRB.conf[:MAIN_CONTEXT] = @irb.context @irb.context.workspace = IRB::WorkSpace.new(binding) catch(:IRB_EXIT) { @irb.eval_input }