/*
Package nodes provides information and interaction with the Virtual IP API
resource for the Rackspace Cloud Load Balancer service.

A virtual IP (VIP) makes a load balancer accessible by clients. The load
balancing service supports either a public VIP, routable on the public Internet,
or a ServiceNet address, routable only within the region in which the load
balancer resides.

All load balancers must have at least one virtual IP associated with them at
all times.
*/
package vips
