    # 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