servers.go
func (c *Client) SnapshotServer(identifier string) (*Image, error) {
	res, err := c.MakeApiRequest("POST", "/1.0/servers/"+identifier+"/snapshot", nil, nil)
	if err != nil {
		return nil, err
	}
	imageID := getLinkRel(res.Header.Get("Link"), "img", "snapshot")
	if imageID != nil {
		img := new(Image)
		img.Id = *imageID
		return img, nil
	}
	return nil, nil
}
func (c *Client) SnapshotServer(identifier string) (*Image, error) {
	res, err := c.MakeApiRequest("POST", "/1.0/servers/"+identifier+"/snapshot", nil, nil)
	if err != nil {
		return nil, err
	}
	imageID := getLinkRel(res.Header.Get("Link"), "img", "snapshot")
	if imageID != nil {
		img := new(Image)
		img.Id = *imageID
		return img, nil
	}
	return nil, nil
}
// SnapshotServer issues a request to snapshot the disk of an existing
// server. The snapshot is allocated an Image Id which is returned within an
// instance of Image.