# File lib/AWS/EC2/security_groups.rb, line 136
136:       def revoke_security_group_ingress( options = {} )
137:         options = { :group_name => nil,
138:                     :ip_protocol => nil,
139:                     :from_port => nil,
140:                     :to_port => nil,
141:                     :cidr_ip => nil,
142:                     :source_security_group_name => nil,
143:                     :source_security_group_owner_id => nil }.merge(options)
144: 
145:         # lets not validate the rest of the possible permutations of required params and instead let
146:         # EC2 sort it out on the server side.  We'll only require :group_name as that is always needed.
147:         raise ArgumentError, "No :group_name provided" if options[:group_name].nil? || options[:group_name].empty?
148: 
149:         params = { "GroupName" => options[:group_name],
150:                    "IpProtocol" => options[:ip_protocol],
151:                    "FromPort" => options[:from_port].to_s,
152:                    "ToPort" => options[:to_port].to_s,
153:                    "CidrIp" => options[:cidr_ip],
154:                    "SourceSecurityGroupName" => options[:source_security_group_name],
155:                    "SourceSecurityGroupOwnerId" => options[:source_security_group_owner_id]
156:                    }
157:         return response_generator(:action => "RevokeSecurityGroupIngress", :params => params)
158:       end