OpenCloud/DNS/AsyncResponse.php

Properties

Description

The Rackspace Cloud DNS service asynchronous response object

Classes

AsyncResponse

Properties

 
 
No 
No 

Description

The AsyncResponse class encapsulates the data returned by a Cloud DNS asynchronous response.
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, Delete, Name, PrimaryKeyField, Update, Url, __construct,

Create(   $parm = array(), ) : n/a

Description

overrides for methods

Arguments

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

Return value

Type Description
n/a n/a

Delete( ) : n/a

Return value

Type Description
n/a n/a

Name( ) : string

Description

returns the Name of the request (the job ID)

Return value

Type Description
string

PrimaryKeyField( ) : n/a

Return value

Type Description
n/a n/a

Update(   $parm = array(), ) : n/a

Arguments

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

Return value

Type Description
n/a n/a

Url(   $subresource = null,   $qstr = array(), ) : string

Description

URL for status
We always show details

Arguments

Name Type Description Default
$subresource n/a null
$qstr n/a array()

Return value

Type Description
string

__construct( \OpenCloud\Service   $service, string   $json = null, ) : n/a

Description

constructs a new AsyncResponse object from a JSON string

Arguments

Name Type Description Default
$service \OpenCloud\Service

the calling service

$json string

the json response from the initial request

null

Return value

Type Description
n/a n/a

Properties

$callbackUrl, $domains, $error, $jobId, $json_name, $request, $requestUrl, $response, $status, $verb,

  public  $callbackUrl =




  public  $domains =




  public  $error =




  public  $jobId =




  protected  static $json_name = false




  public  $request =




  public  $requestUrl =




  public  $response =




  public  $status =




  public  $verb =




Documentation was generated by phpDocumentor 2.0.0b6 .

Namespaces

Packages