# File lib/fog/aws/requests/compute/describe_tags.rb, line 36
        def describe_tags(filters = {})
          response = Excon::Response.new

          tag_set = deep_clone(self.data[:tags])
          
          aliases = {
            'key'               => 'key',
            'resource-id'       => 'resourceId',
            'resource-type'     => 'resourceType',
            'value'             => 'value'
          }

          for filter_key, filter_value in filters
            filter_attribute = aliases[filter_key]
            case filter_attribute
            when 'key'
              tag_set.reject! { |k,_| k != filter_value }
            when 'value'
              tag_set.each { |k,values| values.reject! { |v, _| v != filter_value } }
            when 'resourceId'
              filter_resources(tag_set, 'resourceId', filter_value)
            when 'resourceType'
              filter_resources(tag_set, 'resourceType', filter_value)
            end
          end
          
          tagged_resources = []
          tag_set.each do |key, values|
            values.each do |value, resources|
              resources.each do |resource|
                tagged_resources << resource.merge({
                  'key' => key,
                  'value' => value
                })
              end
            end
          end

          response.status = 200
          response.body = {
            'requestId'       => Fog::AWS::Mock.request_id,
            'tagSet'          => tagged_resources
          }
          response
        end