# File lib/aws/core/xml/frame.rb, line 118
        def index_keys_for index_opts, &block

          # simple (single) key
          if key = index_opts[:key]
            yield(data[key])
            return
          end

          # composite key, joined by ":"
          if parts = index_opts[:keys]
            composite_key = parts.map{|part| data[part] }.join(":")
            yield(composite_key)
            return
          end

          # multiple keys, collected from the given path
          if path = index_opts[:key_path]
            keys_from_path(data, path.dup, &block)
            return
          end

          raise "missing require index rule option, :key, :keys or :key_path"

        end