# File lib/fog/compute/requests/aws/revoke_security_group_ingress.rb, line 49
        def revoke_security_group_ingress(group_name, options = {})
          if group_name.is_a?(Hash)
            location = caller.first
            warning = "[yellow][WARN] Fog::AWS::Compute#revoke_security_group_ingress now requires the 'group_name' parameter. Only specifying an options hash is now deprecated"
            warning << " [light_black](" << location << ")[/] "
            Formatador.display_line(warning)
            options = group_name
            group_name = options['GroupName']
          end
          response = Excon::Response.new
          group = self.data[:security_groups][group_name]
          if group
            if options['SourceSecurityGroupName'] && options['SourceSecurityGroupOwnerId']
              group['ipPermissions'].delete_if {|permission|
                permission['groups'].first['groupName'] == group_name
              }
            else
              ingress = group['ipPermissions'].select {|permission|
                permission['fromPort']    == options['FromPort'] &&
                permission['ipProtocol']  == options['IpProtocol'] &&
                permission['toPort']      == options['ToPort'] &&
                (
                  permission['ipRanges'].empty? ||
                  (
                    permission['ipRanges'].first &&
                    permission['ipRanges'].first['cidrIp'] == options['CidrIp']
                  )
                )
              }.first
              group['ipPermissions'].delete(ingress)
            end
            response.status = 200
            response.body = {
              'requestId' => Fog::AWS::Mock.request_id,
              'return'    => true
            }
            response
          else
            raise Fog::Compute::AWS::NotFound.new("The security group '#{group_name}' does not exist")
          end
        end