package images

import (
	"fmt"
	"github.com/racker/perigee"
)


var ErrNotImplemented = fmt.Errorf("Images functionality not implemented.")

type ListResults map[string]interface{}

func List(c *Client) (ListResults, error) {
	var lr ListResults

	h, err := c.getListHeaders()
	if err != nil {
		return nil, err
	}

	err = perigee.Get(c.getListUrl(), perigee.Options{
		Results: &lr,
		MoreHeaders: h,
	})
	return lr, err
}

