The Compute class represents the OpenStack Nova service. It is constructed from a OpenStack object and requires a service name,
region, and URL type to select the proper endpoint from the service
catalog. However, constants can be used to define default values for
these to make it easier to use:
Creating a compute object:
$rackspace = new OpenCloud\Rackspace(...);
$dallas = new Compute(
$rackspace, // connection
'cloudServersOpenStack', // the service's name
'DFW', // region identifier
'publicURL' // URL type
);
The easy way (with defaults); this assumes that the constants (RAXSDK_...)
are defined elsewhere *before* the inclusion of the first SDK library file:
$rackspace = new OpenCloud\Rackspace(...);
$dallas = new OpenCloud\Compute($rackspace); // uses defaults
Returns a Collection of images (class Image) This is a factory method and should normally be used instead of creating
an ImageList object directly.
Arguments
Name
Type
Description
Default
$details
boolean
if TRUE (the default), returns complete image
details. Set to FALSE to improve performance, but only return a
minimal set of data
true
$filter
array
key/value pairs to pass to the images resource.
The actual values available here are determined by the OpenStack
code and any extensions installed by your cloud provider;
see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/List_Images-d1e4435.html
for current filters available.
Returns a Server object associated with this Compute service This is a factory method and should generally be used to create server
objects (thus ensuring that they are correctly associated with the
server) instead of calling the Server class explicitly.
Returns a Collection of server objects, filtered by the specified
parameters This is a factory method and should normally be called instead of
creating a ServerList object directly.
Arguments
Name
Type
Description
Default
$details
boolean
if TRUE, full server details are returned; if
FALSE, just the minimal set of info is listed. Defaults to TRUE;
you might set this to FALSE to improve performance at the risk of
not having all the information you need.
TRUE
$filter
array
a set of key/value pairs that is passed to the
servers list for filtering
Called when creating a new Compute service object _NOTE_ that the order of parameters for this is *different* from the
parent Service class. This is because the earlier parameters are the
ones that most typically change, whereas the later ones are not
modified as often.
Arguments
Name
Type
Description
Default
$conn
\OpenCloud\Identity
a connection object
$serviceName
string
identifies the name of the service in the
catalog
$serviceRegion
string
identifies the region of this Compute
service
$urltype
string
identifies the URL type ("publicURL",
"privateURL")
Metadata The Metadata class represents either Server or Image metadata
Nova Nova is an abstraction layer for the OpenStack compute service.
ObjectStore Intermediate (abstract) class to implement shared
features of all object-storage classes
PersistentObject represents an object that has the ability to be
retrieved, created, updated, and deleted.
Service This class defines a "service"—a relationship between a specific OpenStack
and a provided service, represented by a URL in the service catalog.
ServiceCatalogItem Holds information on a single service from the Service Catalog
Curl The CurlRequest class is a simple wrapper to CURL functions. Not only does
this permit stubbing of the interface as described under the HttpRequest
interface, it could potentially allow us to replace the interface methods
with other function calls in the future.
HttpRequestInterface The HttpRequest interface defines methods for wrapping CURL; this allows
those methods to be stubbed out for unit testing, thus allowing us to
test without actually making live calls.
Response
Blank The HttpResponse returns an object with status information, separated
headers, and any response body necessary.
Http The HttpResponse returns an object with status information, separated
headers, and any response body necessary.
Compute
Flavor The Flavor class represents a flavor defined by the Compute service
Image The Image class represents a stored machine image returned by the
Compute service.
Network The Network class represents a single virtual network
Server The Server class represents a single server node.
Record The Record class represents a single domain record
Service This class defines a "service"—a relationship between a specific OpenStack
and a provided service, represented by a URL in the service catalog.
Subdomain The Subdomain is basically another domain, albeit one that is a child of
a parent domain. In terms of the code involved, the JSON is slightly
different than a top-level domain, and the parent is a domain instead of
the DNS service itself.
Database
Database This class represents a Database in the Rackspace "Red Dwarf"
database-as-a-service product.
Instance Instance represents an instance of DbService, similar to a Server in a
Compute service
Service The Rackspace Database As A Service (aka "Red Dwarf")
User This class represents a User in the Rackspace "Red Dwarf"
database-as-a-service product.
LoadBalancer
Algorithm sub-resource to manage algorithms (read-only)
AllowedDomain sub-resource to manage allowed domains
BillableLoadBalancer used to get a list of billable load balancers for a specific date range
LoadBalancer The LoadBalancer class represents a single load balancer
Protocol sub-resource to manage protocols (read-only)
Node information on a single node in the load balancer
NodeEvent a single node event, usually called as part of a Collection
Readonly This defines a read-only SubResource - one that cannot be created, updated,
or deleted. Many subresources are like this, and this simplifies their
class definitions.
Stats Stats returns statistics about the load balancer
SubResource SubResource is an abstract class that handles subresources of a
LoadBalancer object; for example, the
`/loadbalancers/{id}/errorpage`. Since most of the subresources are
handled in a similar manner, this consolidates the functions.
Curl The CurlRequest class is a simple wrapper to CURL functions. Not only does
this permit stubbing of the interface as described under the HttpRequest
interface, it could potentially allow us to replace the interface methods
with other function calls in the future.
DataObject A DataObject is an object in the ObjectStore
Database This class represents a Database in the Rackspace "Red Dwarf"
database-as-a-service product.
HttpRequestInterface The HttpRequest interface defines methods for wrapping CURL; this allows
those methods to be stubbed out for unit testing, thus allowing us to
test without actually making live calls.
Rackspace Rackspace extends the OpenStack class with support for Rackspace's
API key and tenant requirements.
Readonly This defines a read-only SubResource - one that cannot be created, updated,
or deleted. Many subresources are like this, and this simplifies their
class definitions.
Service This class defines a "service"—a relationship between a specific OpenStack
and a provided service, represented by a URL in the service catalog.
Service The Compute class represents the OpenStack Nova service.
Service The Rackspace Database As A Service (aka "Red Dwarf")
Service This class defines a "service"—a relationship between a specific OpenStack
and a provided service, represented by a URL in the service catalog.
Stack The Stack class requires a CloudFormation template and may contain additional
parameters for that template.
Stats Stats returns statistics about the load balancer
SubResource SubResource is an abstract class that handles subresources of a
LoadBalancer object; for example, the
`/loadbalancers/{id}/errorpage`. Since most of the subresources are
handled in a similar manner, this consolidates the functions.
Subdomain The Subdomain is basically another domain, albeit one that is a child of
a parent domain. In terms of the code involved, the JSON is slightly
different than a top-level domain, and the parent is a domain instead of
the DNS service itself.