// Package services provides information and interaction with the services API
// resource in the Rackspace CDN service. This API resource allows for
// listing, creating, updating, retrieving, and deleting services.
//
// A service represents an application that has its content cached to the edge
// nodes.
package services
