# File lib/aws/ec2/security_group.rb, line 360
      def egress_opts args
        ensure_vpc do

          last = args.last
          
          if last.is_a?(Hash) and (last.key?(:protocol) or last.key?(:ports))
            # hashes at the end of egress methods could be a hash intedned
            # to be a source, like:
            #
            #   { :group_id => ..., :user_id => ... }
            #
            options = args.pop
          else
            options = {}
          end

          opts = {}

          opts[:ip_protocol] = [nil,:any, '-1'].include?(options[:protocol]) ?
            '-1' : options[:protocol].to_s.downcase

          if options[:ports]
            opts[:from_port] = Array(options[:ports]).first.to_i
            opts[:to_port] = Array(options[:ports]).last.to_i
          end

          ips, groups = parse_sources(args)

          opts[:ip_ranges] = ips unless ips.empty?
          opts[:user_id_group_pairs] = groups unless groups.empty?

          opts

        end
      end