OpenCloud/DNS/Object.php

Properties

Description

The Rackspace Cloud DNS persistent object

Classes

Object

Properties

 
 
Yes 
No 

Description

The DnsObject class is an extension of the PersistentObject class that permits the asynchronous responses used by Cloud DNS
This class abstracts much of the common functionality between Nova servers, Swift containers and objects, DBAAS instances, Cinder volumes, and various other objects that (a) have a URL, (b) can be created, updated, deleted, or retrieved, and (c) use a standard JSON format with a top-level element followed by a child object with attributes. In general, you can create a persistent object class by subclassing this class and defining some protected, static variables: - $url_resource - the sub-resource value in the URL of the parent. For example, if the parent URL is `http://something/parent`, then setting this value to `'another'` would result in a URL for the persistent object of `http://something/parent/another`. - $json_name - the top-level JSON object name. For example, if the persistent object is represented by `{"foo": {"attr":value, ...}}`, then set `json_name = 'foo'`. - $json_collection_name - optional; this value is the name of a collection of the persistent objects. If not provided, it defaults to `json_name` with an appended `'s'` (e.g., if `json_name` is `"foo"`, then `json_collection_name` would be `"foos"` by default). Set this value if the collection name doesn't follow this pattern. - $json_collection_element - the common pattern for a collection is: `{"collection": [{"attr":"value",...}, {"attr":"value",...}, ...]}` That is, each element of the array is an anonymous object containing the object's attributes. In (very) rare instances, the objects in the array are named, and `json_collection_element` contains the name of the collection objects. For example, in this: `{"allowedDomain":[{"allowedDomain":{"name":"foo"}}]}`, then `json_collection_element` would be set to `'allowedDomain'`. The PersistentObject class supports the standard `Create()`, `Update()`, and `Delete()` methods; if these are not needed (i.e., not supported by the service, the subclass should redefine these to call the `NoCreate`, `NoUpdate`, or `NoDelete` methods, which will trigger an appropriate exception. For example, if an object cannot be created: function Create($parm=array()) { $this->NoCreate(); } This will cause any call to the `Create()` method to fail with an exception.

Methods

Create, CreateJson, CreateKeys, Delete, GetJson, Update, UpdateJson,

Create( array   $params = array(), ) : \OpenCloud\DNS\AsyncResponse

Description

Create() returns an asynchronous response

Arguments

Name Type Description Default
$params array

array of key/value pairs

array()

Return value

Type Description
\OpenCloud\DNS\AsyncResponse

CreateJson( ) : \OpenCloud\DNS\stdClass

Description

creates the JSON for create

Return value

Type Description
\OpenCloud\DNS\stdClass

CreateKeys( ) : n/a

Description

returns the create keys

Return value

Type Description
n/a n/a

Delete( ) : \OpenCloud\DNS\AsyncResponse

Description

Delete() returns an asynchronous response

Return value

Type Description
\OpenCloud\DNS\AsyncResponse

GetJson( array   $keys, ) : \OpenCloud\DNS\stdClass

Description

returns JSON based on $keys

Arguments

Name Type Description Default
$keys array

list of items to include

Return value

Type Description
\OpenCloud\DNS\stdClass

Update( array   $params = array(), ) : \OpenCloud\DNS\AsyncResponse

Description

Update() returns an asynchronous response

Arguments

Name Type Description Default
$params array

array of key/value pairs

array()

Return value

Type Description
\OpenCloud\DNS\AsyncResponse

UpdateJson(   $params = array(), ) : \OpenCloud\DNS\stdClass

Description

creates the JSON for update

Arguments

Name Type Description Default
$params n/a array()

Return value

Type Description
\OpenCloud\DNS\stdClass
Documentation was generated by phpDocumentor 2.0.0b6 .

Namespaces

Packages