Location: PHPKode > projects > php-opencloud > php-opencloud-master/docs/api/domain.html
<html xmlns="http://www.w3.org/1999/xhtml"><head><title></title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta><link rel="stylesheet" href="css/black-tie/jquery-ui-1.8.2.custom.css" type="text/css"></link><link rel="stylesheet" href="css/jquery.treeview.css" type="text/css"></link><link rel="stylesheet" href="css/default.css" type="text/css"></link><script type="text/javascript" src="js/jquery-1.4.2.min.js"></script><script type="text/javascript" src="js/jquery-ui-1.8.2.custom.min.js"></script><script type="text/javascript" src="js/jquery.cookie.js"></script><script type="text/javascript" src="js/jquery.treeview.js"></script></head><body><script type="text/javascript">
          $(document).ready(function()
          {
            $(".filetree").treeview({
              animated: "fast",
              collapsed: true,
              persist: "cookie"
            });
          });

          function jq_escape(myid)
          {
            return '#' + myid.replace(/(#|\$|:|\.|\(|\))/g, '\\$1');
          }

          function applySearchHash()
          {
            hashes = document.location.hash.substr(1, document.location.hash.length);
            if (hashes != "")
            {
              hashes = hashes.split('/');
              $.each(hashes, function(index, hash)
              {
                node = $(jq_escape(hash));
                switch (node[0].nodeName)
                {
                  case 'DIV':
                    tabs = node.parents('.tabs');
                    $(tabs[0]).tabs('select', '#' + hash)
                    break;
                  case 'A':
                    window.scrollTo(0, node.offset().top);
                    break;
                }
              });
            }
          }

          jQuery(function()
          {
            jQuery(".tabs").tabs();
            applySearchHash();
          });
        </script><div id="maincontainer"><div id="header"><h1>
                phpDocumentor
              <img src="images/top-stopper.png"></img></h1></div><ul xmlns="" id="menu">
<li><a href="graph.html">Class diagram</a></li>
<li><a href="markers.html">TODO / Markers</a></li>
<li><a href="parse_markers.html">Errors</a></li>
</ul>
<div id="content_container"><div xmlns="" id="content">
<h1>domain.php</h1>
<div class="file_menu">
<a href="#includes">Includes</a> |<a href="#classes">Classes</a> |</div>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">author</label><div class="property-value"></div>
<label class="property-key">copyright</label><div class="property-value"></div>
<label class="property-key">package</label><div class="property-value"></div>
<label class="property-key">version</label><div class="property-value"></div>
</div>
<h2>Description</h2>Defines a DNS domain<br><br><a name="includes"></a><h2>Includes</h2> <span class="nb-faded-text">(Require Once)</span><br> <span class="nb-faded-text">(Require Once)</span><br><a name="classes"></a><h2>Classes</h2>
<div id="Domain" class="class">
<h3>Domain</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject">\OpenCloud\DNS\DnsObject</a>
         </div>
<label class="property-key">Implements</label><div class="property-value"> 
      </div>
<label class="property-key">api</label><div class="property-value">
<a title=""></a>
             
        </div>
<label class="property-key">author</label><div class="property-value">
<a title="" href="mailto:hide@address.com">Glen Campbell</a>
             
        </div>
<label class="property-key">Abstract</label><div class="property-value">No 
      </div>
<label class="property-key">Final</label><div class="property-value">No 
      </div>
</div>
<h4>Description</h4>
<em>The Domain class represents a single domain</em><br><p>Note that the <code>Subdomain</code> class is defined in this same file because of
mutual dependencies.</p><br><div id="methods_Domain">
<h4>Methods</h4>
<a style="font-style: italic;" href="#Domain::Action()">Action</a>,
      <a style="font-style: italic;" href="#Domain::AddRecord()">AddRecord</a>,
      <a style="font-style: italic;" href="#Domain::AddSubdomain()">AddSubdomain</a>,
      <a style="font-style: italic;" href="#Domain::Changes()">Changes</a>,
      <a style="font-style: italic;" href="#Domain::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#Domain::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#Domain::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#Domain::Create()">Create</a>,
      <a style="font-style: italic;" href="#Domain::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#Domain::CreateKeys()">CreateKeys</a>,
      <a style="font-style: italic;" href="#Domain::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#Domain::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#Domain::Export()">Export</a>,
      <a style="font-style: italic;" href="#Domain::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#Domain::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#Domain::GetJson()">GetJson</a>,
      <a style="font-style: italic;" href="#Domain::Id()">Id</a>,
      <a style="font-style: italic;" href="#Domain::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#Domain::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#Domain::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#Domain::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#Domain::Name()">Name</a>,
      <a style="font-style: italic;" href="#Domain::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#Domain::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#Domain::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#Domain::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#Domain::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#Domain::Record()">Record</a>,
      <a style="font-style: italic;" href="#Domain::RecordList()">RecordList</a>,
      <a style="font-style: italic;" href="#Domain::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#Domain::Region()">Region</a>,
      <a style="font-style: italic;" href="#Domain::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#Domain::Service()">Service</a>,
      <a style="font-style: italic;" href="#Domain::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#Domain::Status()">Status</a>,
      <a style="font-style: italic;" href="#Domain::Subdomain()">Subdomain</a>,
      <a style="font-style: italic;" href="#Domain::SubdomainList()">SubdomainList</a>,
      <a style="font-style: italic;" href="#Domain::Update()">Update</a>,
      <a style="font-style: italic;" href="#Domain::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#Domain::Url()">Url</a>,
      <a style="font-style: italic;" href="#Domain::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#Domain::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#Domain::__set()">__set</a>,
      <a style="font-style: italic;" href="#Domain::debug()">debug</a>,
      <a style="font-style: italic;" href="#Domain::to_string()">to_string</a>,
      <div class="method">
<a id="Domain::Action()"></a><h3>Action<span class="nb-faded-text">(
          
             
            $object,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Sends the json string to the /action resource</em><br><small><p>This is used for many purposes, such as rebooting the server,
setting the root password, creating images, etc.
Since it can only be used on a live server, it checks for a valid ID.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$object</td>
<td style="white-space: normal;">n/a</td>
<td><ul>
<li>this will be encoded as json, and we handle all the JSON
error-checking in one place</li>
</ul>
</td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if server ID is not defined</td>
</tr>
<tr>
<td>throws</td>
<td>on other errors</td>
</tr>
<tr>
<td>returns</td>
<td>boolean; TRUE if successful, FALSE otherwise</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Action()"><small>\OpenCloud\DNS\DnsObject::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::AddRecord()"></a><h3>AddRecord<span class="nb-faded-text">(
          <a href="record.html#%5COpenCloud%5CDNS%5CRecord">\OpenCloud\DNS\Record</a>
             
            $rec,
          
          )
        </span>
        :
        <span class="nb-faded-text">integer</span>
</h3>
<h4>Description</h4>
<em>Adds a new record to the list (for multiple record creation)</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$rec</td>
<td style="white-space: normal;"><a href="record.html#%5COpenCloud%5CDNS%5CRecord">\OpenCloud\DNS\Record</a></td>
<td><p>the record to add</p></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>integer</td>
<td>the number of records</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>api</td>
<td></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Domain::AddSubdomain()"></a><h3>AddSubdomain<span class="nb-faded-text">(
          <a href="domain.html#%5COpenCloud%5CDNS%5CSubdomain">\OpenCloud\DNS\Subdomain</a>
             
            $subd,
          
          )
        </span>
        :
        <span class="nb-faded-text">integer</span>
</h3>
<h4>Description</h4>
<em>adds a new subdomain (for multiple subdomain creation)</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$subd</td>
<td style="white-space: normal;"><a href="domain.html#%5COpenCloud%5CDNS%5CSubdomain">\OpenCloud\DNS\Subdomain</a></td>
<td><p>the subdomain to add</p></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>integer</td>
<td>the number of subdomains</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>api</td>
<td></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Domain::Changes()"></a><h3>Changes<span class="nb-faded-text">(
          string
             
            $since
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\DNS\Changes</span>
</h3>
<h4>Description</h4>
<em>returns changes since a specified date/time</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$since</td>
<td style="white-space: normal;">string</td>
<td><p>the date or time</p></td>
<td>NULL</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\DNS\Changes</td>
<td></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Domain::CheckAttributePrefix()"></a><h3>CheckAttributePrefix<span class="nb-faded-text">(
          string
             
            $property,
          array
             
            $prefixes
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">boolean</span>
</h3>
<h4>Description</h4>
<em>Checks the attribute $property and only permits it if the prefix is
in the specified $prefixes array</em><br><small><p>This is to support extension namespaces in some services.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$property</td>
<td style="white-space: normal;">string</td>
<td><p>the name of the attribute</p></td>
<td></td>
</tr>
<tr>
<td>$prefixes</td>
<td style="white-space: normal;">array</td>
<td><p>a list of prefixes</p></td>
<td>array()</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>boolean</td>
<td>TRUE if valid; FALSE if not</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::CheckAttributePrefix()"><small>\OpenCloud\DNS\DnsObject::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::CheckExtension()"></a><h3>CheckExtension<span class="nb-faded-text">(
          
             
            $alias,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>checks for `$alias` in extensions and throws an error if not present</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$alias</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::CheckExtension()"><small>\OpenCloud\DNS\DnsObject::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::CheckJsonError()"></a><h3>CheckJsonError<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">boolean</span>
</h3>
<h4>Description</h4>
<em>Checks the most recent JSON operation for errors</em><br><small><p>This function should be called after any <code>json_*()</code> function call.
This ensures that nasty JSON errors are detected and the proper
exception thrown.</p>

<p>Example:
  <code>$obj = json_decode($string);</code>
  <code>if (check_json_error()) do something ...</code></p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>boolean</td>
<td>TRUE if an error occurred, FALSE if none</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::CheckJsonError()"><small>\OpenCloud\DNS\DnsObject::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\AsyncResponse</span>
</h3>
<h4>Description</h4>
<em>Create() returns an asynchronous response</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$params</td>
<td style="white-space: normal;">array</td>
<td><p>array of key/value pairs</p>
</td>
<td>array()</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\AsyncResponse</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Create()"><small>\OpenCloud\DNS\DnsObject::Create()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass</span>
</h3>
<h4>Description</h4>
<em>handles creation of multiple records at Create()</em><br><small><p>Must be overridden in a child class.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\stdClass</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if not overridden</td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::CreateKeys()"></a><h3>CreateKeys<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns the create keys</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::CreateKeys()"><small>\OpenCloud\DNS\DnsObject::CreateKeys()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Domain::CreateUrl()"></a><h3>CreateUrl<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns the URL used for Create</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::CreateUrl()"><small>\OpenCloud\DNS\DnsObject::CreateUrl()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\AsyncResponse</span>
</h3>
<h4>Description</h4>
<em>Delete() returns an asynchronous response</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\AsyncResponse</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Delete()"><small>\OpenCloud\DNS\DnsObject::Delete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::Export()"></a><h3>Export<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\AsyncResponse</span>
</h3>
<h4>Description</h4>
<em>exports the domain</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\AsyncResponse</td>
<td></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Domain::FindLink()"></a><h3>FindLink<span class="nb-faded-text">(
          string
             
            $type
            = 'self',
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>Since each server can have multiple links, this returns the desired one</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$type</td>
<td style="white-space: normal;">string</td>
<td><ul>
<li>'self' is most common; use 'bookmark' for
 the version-independent one</li>
</ul>
</td>
<td>'self'</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td>the URL from the links block</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::FindLink()"><small>\OpenCloud\DNS\DnsObject::FindLink()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::GetHttpRequestObject()"></a><h3>GetHttpRequestObject<span class="nb-faded-text">(
          
             
            $url,
          
             
            $method
            = 'GET',
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Returns a class that implements the HttpRequest interface.</em><br><small><p>This can be stubbed out for unit testing and avoid making live calls.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$url</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td></td>
</tr>
<tr>
<td>$method</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td>'GET'</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::GetHttpRequestObject()"><small>\OpenCloud\DNS\DnsObject::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::GetJson()"></a><h3>GetJson<span class="nb-faded-text">(
          array
             
            $keys,
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\stdClass</span>
</h3>
<h4>Description</h4>
<em>returns JSON based on $keys</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$keys</td>
<td style="white-space: normal;">array</td>
<td><p>list of items to include</p></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\stdClass</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::GetJson()"><small>\OpenCloud\DNS\DnsObject::GetJson()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Domain::Id()"></a><h3>Id<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns the object's identifier</em><br><small><p>Can be overridden by a child class if the identifier is not in the
<code>$id</code> property. Use of this function permits the <code>$id</code> attribute to
be protected or private to prevent unauthorized overwriting for
security.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Id()"><small>\OpenCloud\DNS\DnsObject::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::JsonCollectionElement()"></a><h3>JsonCollectionElement<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns the JSON name for each element in a collection</em><br><small><p>Usually, elements in a collection are anonymous; this function, however,
provides for an element level name:</p>

<pre><code>`{ "collection" : [ { "element" : ... } ] }`
</code></pre></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::JsonCollectionElement()"><small>\OpenCloud\DNS\DnsObject::JsonCollectionElement()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::JsonCollectionName()"></a><h3>JsonCollectionName<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns the collection JSON element name</em><br><small><p>When an object is returned in a collection, it usually has a top-level
object that is an array holding child objects of the object types.
This static function returns the name of the top-level element. Usually,
that top-level element is simply the JSON name of the resource.'s';
however, it can be overridden by specifying the $json_collection_name
attribute.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::JsonCollectionName()"><small>\OpenCloud\DNS\DnsObject::JsonCollectionName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::JsonName()"></a><h3>JsonName<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Returns the top-level document identifier for the returned response
JSON document; must be overridden in child classes</em><br><small><p>For example, a server document is (JSON) <code>{"server": ...}</code> and an
Instance document is <code>{"instance": ...}</code> - this function must return
the top level document name (either "server" or "instance", in
these examples).</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::JsonName()"><small>\OpenCloud\DNS\DnsObject::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::MakeQueryString()"></a><h3>MakeQueryString<span class="nb-faded-text">(
          array
             
            $arr,
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>Converts an array of key/value pairs into a single query string</em><br><small><p>For example, array('A'=>1,'B'=>2) would become 'A=1&amp;B=2'.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$arr</td>
<td style="white-space: normal;">array</td>
<td><p>array of key/value pairs</p>
</td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::MakeQueryString()"><small>\OpenCloud\DNS\DnsObject::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::Name()"></a><h3>Name<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>Returns the displayable name of the object</em><br><small><p>Can be overridden by child objects; <em>must</em> be overridden by child
objects if the object does not have a <code>name</code> attribute defined.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if attribute 'name' is not defined</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Name()"><small>\OpenCloud\PersistentObject::Name()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Name()"><small>\OpenCloud\DNS\DnsObject::Name()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::NoCreate()"></a><h3>NoCreate<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>throws a CreateError for subclasses that don't support Create</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::NoCreate()"><small>\OpenCloud\DNS\DnsObject::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::NoDelete()"></a><h3>NoDelete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>throws a DeleteError for subclasses that don't support Delete</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::NoDelete()"><small>\OpenCloud\DNS\DnsObject::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::NoUpdate()"></a><h3>NoUpdate<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>throws a UpdateError for subclasses that don't support Update</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::NoUpdate()"><small>\OpenCloud\DNS\DnsObject::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::Parent()"></a><h3>Parent<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns the parent object of this object</em><br><small><p>This is a synonym for Service(), since the object is usually a
service.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Parent()"><small>\OpenCloud\PersistentObject::Parent()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Parent()"><small>\OpenCloud\DNS\DnsObject::Parent()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::PrimaryKeyField()"></a><h3>PrimaryKeyField<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>Returns the primary key field for the object</em><br><small><p>The primary key is usually 'id', but this function is provided so that
(in rare cases where it is not 'id'), it can be overridden.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::PrimaryKeyField()"><small>\OpenCloud\DNS\DnsObject::PrimaryKeyField()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::Record()"></a><h3>Record<span class="nb-faded-text">(
          
             
            $info
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\Record</span>
</h3>
<h4>Description</h4>
<em>returns a Record object</em><br><small><p>Note that this method is available at the DNS level, but only for
PTR records.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$info</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td>NULL</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\Record</td>
<td></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Domain::RecordList()"></a><h3>RecordList<span class="nb-faded-text">(
          array
             
            $filter
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\Collection</span>
</h3>
<h4>Description</h4>
<em>returns a Collection of Record objects</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$filter</td>
<td style="white-space: normal;">array</td>
<td><p>query-string parameters</p>
</td>
<td>array()</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\Collection</td>
<td></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Domain::Refresh()"></a><h3>Refresh<span class="nb-faded-text">(
          
             
            $id
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">void</span>
</h3>
<h4>Description</h4>
<em>Refreshes the object from the origin (useful when the server is
changing states)</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$id</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td>NULL</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>void</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Refresh()"><small>\OpenCloud\DNS\DnsObject::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::Region()"></a><h3>Region<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns the region associated with the object</em><br><small><p>navigates to the parent service to determine the region.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Region()"><small>\OpenCloud\DNS\DnsObject::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::ResourceName()"></a><h3>ResourceName<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Returns the resource name for the URL of the object; must be overridden
in child classes</em><br><small><p>For example, a server is <code>/servers/</code>, a database instance is
<code>/instances/</code>. Must be overridden in child classes.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::ResourceName()"><small>\OpenCloud\DNS\DnsObject::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::Service()"></a><h3>Service<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Returns the Service/parent object associated with this object</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Service()"><small>\OpenCloud\DNS\DnsObject::Service()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::SetProperty()"></a><h3>SetProperty<span class="nb-faded-text">(
          string
             
            $property,
          mixed
             
            $value,
          array
             
            $prefixes
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Sets an extended (unrecognized) property on the current object</em><br><small><p>If RAXSDK_STRICT_PROPERTY_CHECKS is TRUE, then the prefix of the
property name must appear in the $prefixes array, or else an
exception is thrown.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$property</td>
<td style="white-space: normal;">string</td>
<td><p>the property name</p></td>
<td></td>
</tr>
<tr>
<td>$value</td>
<td style="white-space: normal;">mixed</td>
<td><p>the value of the property</p></td>
<td></td>
</tr>
<tr>
<td>$prefixes</td>
<td style="white-space: normal;">array</td>
<td><p>optional list of supported prefixes</p></td>
<td>array()</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if strict checks are on and
     the property prefix is not in the list of prefixes.</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::SetProperty()"><small>\OpenCloud\DNS\DnsObject::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::Status()"></a><h3>Status<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns the object's status or `N/A` if not available</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Status()"><small>\OpenCloud\DNS\DnsObject::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::Subdomain()"></a><h3>Subdomain<span class="nb-faded-text">(
          
             
            $info
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns a Subdomain object (child of current domain)</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$info</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td>array()</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Domain::SubdomainList()"></a><h3>SubdomainList<span class="nb-faded-text">(
          array
             
            $filter
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns a Collection of subdomains</em><br><small><p>The subdomains are all <code>DNS:Domain</code> objects that are children of
the current domain.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$filter</td>
<td style="white-space: normal;">array</td>
<td><p>key/value pairs for query string parameters
return \OpenCloud\Collection</p>
</td>
<td>array()</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Domain::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\AsyncResponse</span>
</h3>
<h4>Description</h4>
<em>Update() returns an asynchronous response</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$params</td>
<td style="white-space: normal;">array</td>
<td><p>array of key/value pairs</p>
</td>
<td>array()</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\AsyncResponse</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Update()"><small>\OpenCloud\DNS\DnsObject::Update()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\stdClass</span>
</h3>
<h4>Description</h4>
<em>creates the JSON for update</em><br><small><p>Must be overridden in a child class.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\stdClass</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::UpdateJson()"><small>\OpenCloud\DNS\DnsObject::UpdateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::Url()"></a><h3>Url<span class="nb-faded-text">(
          string
             
            $subresource
            = NULL,
          array
             
            $qstr
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>Returns the default URL of the object</em><br><small><p>This may have to be overridden in subclasses.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$subresource</td>
<td style="white-space: normal;">string</td>
<td><p>optional sub-resource string</p>
</td>
<td>NULL</td>
</tr>
<tr>
<td>$qstr</td>
<td style="white-space: normal;">array</td>
<td><p>optional k/v pairs for query strings</p>
</td>
<td>array()</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if URL is not defined</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Url()"><small>\OpenCloud\PersistentObject::Url()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Url()"><small>\OpenCloud\DNS\DnsObject::Url()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          callable
             
            $callback
            = NULL,
          
             
            $sleep
            = RAXSDK_POLL_INTERVAL,
          
          )
        </span>
        :
        <span class="nb-faded-text">void</span>
</h3>
<h4>Description</h4>
<em>Waits for the server/instance status to change</em><br><small><p>This function repeatedly polls the system for a change in server
status. Once the status reaches the <code>$terminal</code> value (or 'ERROR'),
then the function returns.</p>

<p>The polling interval is set by the constant RAXSDK_POLL_INTERVAL.</p>

<p>The function will automatically terminate after RAXSDK_SERVER_MAXTIMEOUT
seconds elapse.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$terminal</td>
<td style="white-space: normal;">string</td>
<td><p>the terminal state to wait for</p></td>
<td>'ACTIVE'</td>
</tr>
<tr>
<td>$timeout</td>
<td style="white-space: normal;">integer</td>
<td><p>the max time (in seconds) to wait</p>
</td>
<td>RAXSDK_SERVER_MAXTIMEOUT</td>
</tr>
<tr>
<td>$callback</td>
<td style="white-space: normal;">callable</td>
<td><p>a callback function that is invoked with
     each repetition of the polling sequence. This can be used, for
     example, to update a status display or to permit other operations
     to continue</p></td>
<td>NULL</td>
</tr>
<tr>
<td>$sleep</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td>RAXSDK_POLL_INTERVAL</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>void</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::WaitFor()"><small>\OpenCloud\DNS\DnsObject::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::__construct()"></a><h3>__construct<span class="nb-faded-text">(
          mixed
             
            $parentobj,
          mixed
             
            $info
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Retrieves the instance from persistent storage</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$parentobj</td>
<td style="white-space: normal;">mixed</td>
<td><p>the parent object of the current object</p></td>
<td></td>
</tr>
<tr>
<td>$info</td>
<td style="white-space: normal;">mixed</td>
<td><p>the ID or array/object of data</p>
</td>
<td>NULL</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if $info has an invalid data type</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::__construct()"><small>\OpenCloud\PersistentObject::__construct()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::__construct()"><small>\OpenCloud\DNS\DnsObject::__construct()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::__set()"></a><h3>__set<span class="nb-faded-text">(
          string
             
            $name,
          mixed
             
            $value,
          
          )
        </span>
        :
        <span class="nb-faded-text">void</span>
</h3>
<h4>Description</h4>
<em>Validates properties that have a namespace: prefix</em><br><small><p>If the property prefix: appears in the list of supported extension
namespaces, then the property is applied to the object. Otherwise,
an exception is thrown.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$name</td>
<td style="white-space: normal;">string</td>
<td><p>the name of the property</p></td>
<td></td>
</tr>
<tr>
<td>$value</td>
<td style="white-space: normal;">mixed</td>
<td><p>the property's value</p>
</td>
<td></td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>void</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::__set()"><small>\OpenCloud\DNS\DnsObject::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::debug()"></a><h3>debug<span class="nb-faded-text">(
          string
             
            $msg,
          mixed
             
            $p1
            = NULL,
          mixed
             
            $p2
            = NULL,
          mixed
             
            $p3
            = NULL,
          mixed
             
            $p4
            = NULL,
          mixed
             
            $p5
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">void</span>
</h3>
<h4>Description</h4>
<em>Displays a debug message if $RAXSDK_DEBUG is TRUE</em><br><small><p>The primary parameter is a string in sprintf() format, and it can accept
up to five optional parameters. It prints the debug message, prefixed
with "Debug:" and the class name, to the standard output device.</p>

<p>Example:
  <code>$this-&gt;debug('Starting execution of %s', get_class($this))</code></p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$msg</td>
<td style="white-space: normal;">string</td>
<td><p>The message string (required); can be in
     sprintf() format.</p>
</td>
<td></td>
</tr>
<tr>
<td>$p1</td>
<td style="white-space: normal;">mixed</td>
<td><p>Optional argument to be passed to sprintf()</p>
</td>
<td>NULL</td>
</tr>
<tr>
<td>$p2</td>
<td style="white-space: normal;">mixed</td>
<td><p>Optional argument to be passed to sprintf()</p>
</td>
<td>NULL</td>
</tr>
<tr>
<td>$p3</td>
<td style="white-space: normal;">mixed</td>
<td><p>Optional argument to be passed to sprintf()</p>
</td>
<td>NULL</td>
</tr>
<tr>
<td>$p4</td>
<td style="white-space: normal;">mixed</td>
<td><p>Optional argument to be passed to sprintf()</p>
</td>
<td>NULL</td>
</tr>
<tr>
<td>$p5</td>
<td style="white-space: normal;">mixed</td>
<td><p>Optional argument to be passed to sprintf()</p>
</td>
<td>NULL</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>void</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::debug()"><small>\OpenCloud\DNS\DnsObject::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Domain::to_string()"></a><h3>to_string<span class="nb-faded-text">(
          mixed
             
            $x,
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>Converts a value to an HTTP-displayable string form</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$x</td>
<td style="white-space: normal;">mixed</td>
<td><p>a value to convert</p></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::to_string()"><small>\OpenCloud\DNS\DnsObject::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_Domain">
<h4>Properties</h4>
<a href="#Domain::%24_create_keys">$_create_keys</a>,
      <a href="#Domain::%24_errors">$_errors</a>,
      <a href="#Domain::%24_parent">$_parent</a>,
      <a href="#Domain::%24_update_keys">$_update_keys</a>,
      <a href="#Domain::%24accountId">$accountId</a>,
      <a href="#Domain::%24comment">$comment</a>,
      <a href="#Domain::%24created">$created</a>,
      <a href="#Domain::%24emailAddress">$emailAddress</a>,
      <a href="#Domain::%24http_headers">$http_headers</a>,
      <a href="#Domain::%24id">$id</a>,
      <a href="#Domain::%24json_collection_name">$json_collection_name</a>,
      <a href="#Domain::%24json_name">$json_name</a>,
      <a href="#Domain::%24name">$name</a>,
      <a href="#Domain::%24records">$records</a>,
      <a href="#Domain::%24subdomains">$subdomains</a>,
      <a href="#Domain::%24ttl">$ttl</a>,
      <a href="#Domain::%24updated">$updated</a>,
      <a href="#Domain::%24url_resource">$url_resource</a>,
      <div class="method">
<a id="Domain::$_create_keys"></a><h3>
<span class="nb-faded-text"> 
          protected 
          </span>$_create_keys
          =
          array('name', 'emailAddress', 'ttl', 'comment')</h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$_update_keys"></a><h3>
<span class="nb-faded-text"> 
          protected 
          </span>$_update_keys
          =
          array('emailAddress', 'ttl', 'comment')</h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$accountId"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$accountId
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$comment"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$comment
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$created"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$created
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$emailAddress"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$emailAddress
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$id"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$json_collection_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_collection_name
          =
          'domains'</h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$json_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_name
          =
          FALSE</h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$name"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$name
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$records"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$records
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$subdomains"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$subdomains
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$ttl"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$ttl
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$updated"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$updated
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Domain::$url_resource"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$url_resource
          =
          'domains'</h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
<div id="Subdomain" class="class">
<h3>Subdomain</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="domain.html#%5COpenCloud%5CDNS%5CDomain">\OpenCloud\DNS\Domain</a>
         </div>
<label class="property-key">Implements</label><div class="property-value"> 
      </div>
<label class="property-key">author</label><div class="property-value">
<a title="" href="mailto:hide@address.com">Glen Campbell</a>
             
        </div>
<label class="property-key">Abstract</label><div class="property-value">No 
      </div>
<label class="property-key">Final</label><div class="property-value">No 
      </div>
</div>
<h4>Description</h4>
<em>The Subdomain is basically another domain, albeit one that is a child of
a parent domain.</em><br><p>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.</p><br><div id="methods_Subdomain">
<h4>Methods</h4>
<a style="font-style: italic;" href="#Subdomain::Action()">Action</a>,
      <a style="font-style: italic;" href="#Subdomain::AddRecord()">AddRecord</a>,
      <a style="font-style: italic;" href="#Subdomain::AddSubdomain()">AddSubdomain</a>,
      <a style="font-style: italic;" href="#Subdomain::Changes()">Changes</a>,
      <a style="font-style: italic;" href="#Subdomain::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#Subdomain::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#Subdomain::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#Subdomain::Create()">Create</a>,
      <a style="font-style: italic;" href="#Subdomain::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#Subdomain::CreateKeys()">CreateKeys</a>,
      <a style="font-style: italic;" href="#Subdomain::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#Subdomain::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#Subdomain::Export()">Export</a>,
      <a style="font-style: italic;" href="#Subdomain::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#Subdomain::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#Subdomain::GetJson()">GetJson</a>,
      <a style="font-style: italic;" href="#Subdomain::Id()">Id</a>,
      <a style="font-style: italic;" href="#Subdomain::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#Subdomain::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#Subdomain::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#Subdomain::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#Subdomain::Name()">Name</a>,
      <a style="font-style: italic;" href="#Subdomain::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#Subdomain::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#Subdomain::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#Subdomain::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#Subdomain::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#Subdomain::Record()">Record</a>,
      <a style="font-style: italic;" href="#Subdomain::RecordList()">RecordList</a>,
      <a style="font-style: italic;" href="#Subdomain::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#Subdomain::Region()">Region</a>,
      <a style="font-style: italic;" href="#Subdomain::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#Subdomain::Service()">Service</a>,
      <a style="font-style: italic;" href="#Subdomain::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#Subdomain::Status()">Status</a>,
      <a style="font-style: italic;" href="#Subdomain::Subdomain()">Subdomain</a>,
      <a style="font-style: italic;" href="#Subdomain::SubdomainList()">SubdomainList</a>,
      <a style="font-style: italic;" href="#Subdomain::Update()">Update</a>,
      <a style="font-style: italic;" href="#Subdomain::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#Subdomain::Url()">Url</a>,
      <a style="font-style: italic;" href="#Subdomain::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#Subdomain::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#Subdomain::__set()">__set</a>,
      <a style="font-style: italic;" href="#Subdomain::debug()">debug</a>,
      <a style="font-style: italic;" href="#Subdomain::to_string()">to_string</a>,
      <div class="method">
<a id="Subdomain::Action()"></a><h3>Action<span class="nb-faded-text">(
          
             
            $object,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Sends the json string to the /action resource</em><br><small><p>This is used for many purposes, such as rebooting the server,
setting the root password, creating images, etc.
Since it can only be used on a live server, it checks for a valid ID.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$object</td>
<td style="white-space: normal;">n/a</td>
<td><ul>
<li>this will be encoded as json, and we handle all the JSON
error-checking in one place</li>
</ul>
</td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if server ID is not defined</td>
</tr>
<tr>
<td>throws</td>
<td>on other errors</td>
</tr>
<tr>
<td>returns</td>
<td>boolean; TRUE if successful, FALSE otherwise</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Action()"><small>\OpenCloud\DNS\DnsObject::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Action()"><small>\OpenCloud\DNS\Domain::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::AddRecord()"></a><h3>AddRecord<span class="nb-faded-text">(
          <a href="record.html#%5COpenCloud%5CDNS%5CRecord">\OpenCloud\DNS\Record</a>
             
            $rec,
          
          )
        </span>
        :
        <span class="nb-faded-text">integer</span>
</h3>
<h4>Description</h4>
<em>Adds a new record to the list (for multiple record creation)</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$rec</td>
<td style="white-space: normal;"><a href="record.html#%5COpenCloud%5CDNS%5CRecord">\OpenCloud\DNS\Record</a></td>
<td><p>the record to add</p></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>integer</td>
<td>the number of records</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::AddRecord()"><small>\OpenCloud\DNS\Domain::AddRecord()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::AddSubdomain()"></a><h3>AddSubdomain<span class="nb-faded-text">(
          <a href="domain.html#%5COpenCloud%5CDNS%5CSubdomain">\OpenCloud\DNS\Subdomain</a>
             
            $subd,
          
          )
        </span>
        :
        <span class="nb-faded-text">integer</span>
</h3>
<h4>Description</h4>
<em>adds a new subdomain (for multiple subdomain creation)</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$subd</td>
<td style="white-space: normal;"><a href="domain.html#%5COpenCloud%5CDNS%5CSubdomain">\OpenCloud\DNS\Subdomain</a></td>
<td><p>the subdomain to add</p></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>integer</td>
<td>the number of subdomains</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::AddSubdomain()"><small>\OpenCloud\DNS\Domain::AddSubdomain()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Changes()"></a><h3>Changes<span class="nb-faded-text">(
          string
             
            $since
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\DNS\Changes</span>
</h3>
<h4>Description</h4>
<em>returns changes since a specified date/time</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$since</td>
<td style="white-space: normal;">string</td>
<td><p>the date or time</p></td>
<td>NULL</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\DNS\Changes</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Changes()"><small>\OpenCloud\DNS\Domain::Changes()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::CheckAttributePrefix()"></a><h3>CheckAttributePrefix<span class="nb-faded-text">(
          string
             
            $property,
          array
             
            $prefixes
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">boolean</span>
</h3>
<h4>Description</h4>
<em>Checks the attribute $property and only permits it if the prefix is
in the specified $prefixes array</em><br><small><p>This is to support extension namespaces in some services.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$property</td>
<td style="white-space: normal;">string</td>
<td><p>the name of the attribute</p></td>
<td></td>
</tr>
<tr>
<td>$prefixes</td>
<td style="white-space: normal;">array</td>
<td><p>a list of prefixes</p></td>
<td>array()</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>boolean</td>
<td>TRUE if valid; FALSE if not</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::CheckAttributePrefix()"><small>\OpenCloud\DNS\DnsObject::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::CheckAttributePrefix()"><small>\OpenCloud\DNS\Domain::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::CheckExtension()"></a><h3>CheckExtension<span class="nb-faded-text">(
          
             
            $alias,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>checks for `$alias` in extensions and throws an error if not present</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$alias</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::CheckExtension()"><small>\OpenCloud\DNS\DnsObject::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::CheckExtension()"><small>\OpenCloud\DNS\Domain::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::CheckJsonError()"></a><h3>CheckJsonError<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">boolean</span>
</h3>
<h4>Description</h4>
<em>Checks the most recent JSON operation for errors</em><br><small><p>This function should be called after any <code>json_*()</code> function call.
This ensures that nasty JSON errors are detected and the proper
exception thrown.</p>

<p>Example:
  <code>$obj = json_decode($string);</code>
  <code>if (check_json_error()) do something ...</code></p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>boolean</td>
<td>TRUE if an error occurred, FALSE if none</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::CheckJsonError()"><small>\OpenCloud\DNS\DnsObject::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::CheckJsonError()"><small>\OpenCloud\DNS\Domain::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\AsyncResponse</span>
</h3>
<h4>Description</h4>
<em>Create() returns an asynchronous response</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$params</td>
<td style="white-space: normal;">array</td>
<td><p>array of key/value pairs</p>
</td>
<td>array()</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\AsyncResponse</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Create()"><small>\OpenCloud\DNS\DnsObject::Create()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Create()"><small>\OpenCloud\DNS\Domain::Create()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass</span>
</h3>
<h4>Description</h4>
<em>handles creation of multiple records at Create()</em><br><small><p>Must be overridden in a child class.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\stdClass</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::CreateJson()"><small>\OpenCloud\DNS\Domain::CreateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::CreateKeys()"></a><h3>CreateKeys<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns the create keys</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::CreateKeys()"><small>\OpenCloud\DNS\DnsObject::CreateKeys()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::CreateKeys()"><small>\OpenCloud\DNS\Domain::CreateKeys()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::CreateUrl()"></a><h3>CreateUrl<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns the URL used for Create</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::CreateUrl()"><small>\OpenCloud\DNS\DnsObject::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::CreateUrl()"><small>\OpenCloud\DNS\Domain::CreateUrl()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\AsyncResponse</span>
</h3>
<h4>Description</h4>
<em>Delete() returns an asynchronous response</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\AsyncResponse</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Delete()"><small>\OpenCloud\DNS\DnsObject::Delete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Delete()"><small>\OpenCloud\DNS\Domain::Delete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Export()"></a><h3>Export<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\AsyncResponse</span>
</h3>
<h4>Description</h4>
<em>exports the domain</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\AsyncResponse</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Export()"><small>\OpenCloud\DNS\Domain::Export()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::FindLink()"></a><h3>FindLink<span class="nb-faded-text">(
          string
             
            $type
            = 'self',
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>Since each server can have multiple links, this returns the desired one</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$type</td>
<td style="white-space: normal;">string</td>
<td><ul>
<li>'self' is most common; use 'bookmark' for
 the version-independent one</li>
</ul>
</td>
<td>'self'</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td>the URL from the links block</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::FindLink()"><small>\OpenCloud\DNS\DnsObject::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::FindLink()"><small>\OpenCloud\DNS\Domain::FindLink()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::GetHttpRequestObject()"></a><h3>GetHttpRequestObject<span class="nb-faded-text">(
          
             
            $url,
          
             
            $method
            = 'GET',
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Returns a class that implements the HttpRequest interface.</em><br><small><p>This can be stubbed out for unit testing and avoid making live calls.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$url</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td></td>
</tr>
<tr>
<td>$method</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td>'GET'</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::GetHttpRequestObject()"><small>\OpenCloud\DNS\DnsObject::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::GetHttpRequestObject()"><small>\OpenCloud\DNS\Domain::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::GetJson()"></a><h3>GetJson<span class="nb-faded-text">(
          array
             
            $keys,
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\stdClass</span>
</h3>
<h4>Description</h4>
<em>returns JSON based on $keys</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$keys</td>
<td style="white-space: normal;">array</td>
<td><p>list of items to include</p></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\stdClass</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::GetJson()"><small>\OpenCloud\DNS\DnsObject::GetJson()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::GetJson()"><small>\OpenCloud\DNS\Domain::GetJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Id()"></a><h3>Id<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns the object's identifier</em><br><small><p>Can be overridden by a child class if the identifier is not in the
<code>$id</code> property. Use of this function permits the <code>$id</code> attribute to
be protected or private to prevent unauthorized overwriting for
security.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Id()"><small>\OpenCloud\DNS\DnsObject::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Id()"><small>\OpenCloud\DNS\Domain::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::JsonCollectionElement()"></a><h3>JsonCollectionElement<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns the JSON name for each element in a collection</em><br><small><p>Usually, elements in a collection are anonymous; this function, however,
provides for an element level name:</p>

<pre><code>`{ "collection" : [ { "element" : ... } ] }`
</code></pre></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::JsonCollectionElement()"><small>\OpenCloud\DNS\DnsObject::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::JsonCollectionElement()"><small>\OpenCloud\DNS\Domain::JsonCollectionElement()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::JsonCollectionName()"></a><h3>JsonCollectionName<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns the collection JSON element name</em><br><small><p>When an object is returned in a collection, it usually has a top-level
object that is an array holding child objects of the object types.
This static function returns the name of the top-level element. Usually,
that top-level element is simply the JSON name of the resource.'s';
however, it can be overridden by specifying the $json_collection_name
attribute.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::JsonCollectionName()"><small>\OpenCloud\DNS\DnsObject::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::JsonCollectionName()"><small>\OpenCloud\DNS\Domain::JsonCollectionName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::JsonName()"></a><h3>JsonName<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Returns the top-level document identifier for the returned response
JSON document; must be overridden in child classes</em><br><small><p>For example, a server document is (JSON) <code>{"server": ...}</code> and an
Instance document is <code>{"instance": ...}</code> - this function must return
the top level document name (either "server" or "instance", in
these examples).</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::JsonName()"><small>\OpenCloud\DNS\DnsObject::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::JsonName()"><small>\OpenCloud\DNS\Domain::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::MakeQueryString()"></a><h3>MakeQueryString<span class="nb-faded-text">(
          array
             
            $arr,
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>Converts an array of key/value pairs into a single query string</em><br><small><p>For example, array('A'=>1,'B'=>2) would become 'A=1&amp;B=2'.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$arr</td>
<td style="white-space: normal;">array</td>
<td><p>array of key/value pairs</p>
</td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::MakeQueryString()"><small>\OpenCloud\DNS\DnsObject::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::MakeQueryString()"><small>\OpenCloud\DNS\Domain::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Name()"></a><h3>Name<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>Returns the displayable name of the object</em><br><small><p>Can be overridden by child objects; <em>must</em> be overridden by child
objects if the object does not have a <code>name</code> attribute defined.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if attribute 'name' is not defined</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Name()"><small>\OpenCloud\PersistentObject::Name()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Name()"><small>\OpenCloud\DNS\DnsObject::Name()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Name()"><small>\OpenCloud\DNS\Domain::Name()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::NoCreate()"></a><h3>NoCreate<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>throws a CreateError for subclasses that don't support Create</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::NoCreate()"><small>\OpenCloud\DNS\DnsObject::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::NoCreate()"><small>\OpenCloud\DNS\Domain::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::NoDelete()"></a><h3>NoDelete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>throws a DeleteError for subclasses that don't support Delete</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::NoDelete()"><small>\OpenCloud\DNS\DnsObject::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::NoDelete()"><small>\OpenCloud\DNS\Domain::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::NoUpdate()"></a><h3>NoUpdate<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>throws a UpdateError for subclasses that don't support Update</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::NoUpdate()"><small>\OpenCloud\DNS\DnsObject::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::NoUpdate()"><small>\OpenCloud\DNS\Domain::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Parent()"></a><h3>Parent<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns the parent domain object</em><br><small><p>This is a synonym for Service(), since the object is usually a
service.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::PrimaryKeyField()"></a><h3>PrimaryKeyField<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>Returns the primary key field for the object</em><br><small><p>The primary key is usually 'id', but this function is provided so that
(in rare cases where it is not 'id'), it can be overridden.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::PrimaryKeyField()"><small>\OpenCloud\DNS\DnsObject::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::PrimaryKeyField()"><small>\OpenCloud\DNS\Domain::PrimaryKeyField()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Record()"></a><h3>Record<span class="nb-faded-text">(
          
             
            $info
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\Record</span>
</h3>
<h4>Description</h4>
<em>returns a Record object</em><br><small><p>Note that this method is available at the DNS level, but only for
PTR records.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$info</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td>NULL</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\Record</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Record()"><small>\OpenCloud\DNS\Domain::Record()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::RecordList()"></a><h3>RecordList<span class="nb-faded-text">(
          array
             
            $filter
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\Collection</span>
</h3>
<h4>Description</h4>
<em>returns a Collection of Record objects</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$filter</td>
<td style="white-space: normal;">array</td>
<td><p>query-string parameters</p>
</td>
<td>array()</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\Collection</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::RecordList()"><small>\OpenCloud\DNS\Domain::RecordList()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Refresh()"></a><h3>Refresh<span class="nb-faded-text">(
          
             
            $id
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">void</span>
</h3>
<h4>Description</h4>
<em>Refreshes the object from the origin (useful when the server is
changing states)</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$id</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td>NULL</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>void</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Refresh()"><small>\OpenCloud\DNS\DnsObject::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Refresh()"><small>\OpenCloud\DNS\Domain::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Region()"></a><h3>Region<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns the region associated with the object</em><br><small><p>navigates to the parent service to determine the region.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Region()"><small>\OpenCloud\DNS\DnsObject::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Region()"><small>\OpenCloud\DNS\Domain::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::ResourceName()"></a><h3>ResourceName<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Returns the resource name for the URL of the object; must be overridden
in child classes</em><br><small><p>For example, a server is <code>/servers/</code>, a database instance is
<code>/instances/</code>. Must be overridden in child classes.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::ResourceName()"><small>\OpenCloud\DNS\DnsObject::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::ResourceName()"><small>\OpenCloud\DNS\Domain::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Service()"></a><h3>Service<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Returns the Service/parent object associated with this object</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Service()"><small>\OpenCloud\DNS\DnsObject::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Service()"><small>\OpenCloud\DNS\Domain::Service()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::SetProperty()"></a><h3>SetProperty<span class="nb-faded-text">(
          string
             
            $property,
          mixed
             
            $value,
          array
             
            $prefixes
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Sets an extended (unrecognized) property on the current object</em><br><small><p>If RAXSDK_STRICT_PROPERTY_CHECKS is TRUE, then the prefix of the
property name must appear in the $prefixes array, or else an
exception is thrown.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$property</td>
<td style="white-space: normal;">string</td>
<td><p>the property name</p></td>
<td></td>
</tr>
<tr>
<td>$value</td>
<td style="white-space: normal;">mixed</td>
<td><p>the value of the property</p></td>
<td></td>
</tr>
<tr>
<td>$prefixes</td>
<td style="white-space: normal;">array</td>
<td><p>optional list of supported prefixes</p></td>
<td>array()</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if strict checks are on and
     the property prefix is not in the list of prefixes.</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::SetProperty()"><small>\OpenCloud\DNS\DnsObject::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::SetProperty()"><small>\OpenCloud\DNS\Domain::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Status()"></a><h3>Status<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns the object's status or `N/A` if not available</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Status()"><small>\OpenCloud\DNS\DnsObject::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Status()"><small>\OpenCloud\DNS\Domain::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Subdomain()"></a><h3>Subdomain<span class="nb-faded-text">(
          
             
            $info
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns a Subdomain object (child of current domain)</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$info</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td>array()</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Subdomain()"><small>\OpenCloud\DNS\Domain::Subdomain()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::SubdomainList()"></a><h3>SubdomainList<span class="nb-faded-text">(
          array
             
            $filter
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns a Collection of subdomains</em><br><small><p>The subdomains are all <code>DNS:Domain</code> objects that are children of
the current domain.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$filter</td>
<td style="white-space: normal;">array</td>
<td><p>key/value pairs for query string parameters
return \OpenCloud\Collection</p>
</td>
<td>array()</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::SubdomainList()"><small>\OpenCloud\DNS\Domain::SubdomainList()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\AsyncResponse</span>
</h3>
<h4>Description</h4>
<em>Update() returns an asynchronous response</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$params</td>
<td style="white-space: normal;">array</td>
<td><p>array of key/value pairs</p>
</td>
<td>array()</td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\AsyncResponse</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Update()"><small>\OpenCloud\DNS\DnsObject::Update()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Update()"><small>\OpenCloud\DNS\Domain::Update()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\DNS\stdClass</span>
</h3>
<h4>Description</h4>
<em>creates the JSON for update</em><br><small><p>Must be overridden in a child class.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\DNS\stdClass</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::UpdateJson()"><small>\OpenCloud\DNS\DnsObject::UpdateJson()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::UpdateJson()"><small>\OpenCloud\DNS\Domain::UpdateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::Url()"></a><h3>Url<span class="nb-faded-text">(
          string
             
            $subresource
            = NULL,
          array
             
            $qstr
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>Returns the default URL of the object</em><br><small><p>This may have to be overridden in subclasses.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$subresource</td>
<td style="white-space: normal;">string</td>
<td><p>optional sub-resource string</p>
</td>
<td>NULL</td>
</tr>
<tr>
<td>$qstr</td>
<td style="white-space: normal;">array</td>
<td><p>optional k/v pairs for query strings</p>
</td>
<td>array()</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td>if URL is not defined</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::Url()"><small>\OpenCloud\PersistentObject::Url()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::Url()"><small>\OpenCloud\DNS\DnsObject::Url()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::Url()"><small>\OpenCloud\DNS\Domain::Url()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          callable
             
            $callback
            = NULL,
          
             
            $sleep
            = RAXSDK_POLL_INTERVAL,
          
          )
        </span>
        :
        <span class="nb-faded-text">void</span>
</h3>
<h4>Description</h4>
<em>Waits for the server/instance status to change</em><br><small><p>This function repeatedly polls the system for a change in server
status. Once the status reaches the <code>$terminal</code> value (or 'ERROR'),
then the function returns.</p>

<p>The polling interval is set by the constant RAXSDK_POLL_INTERVAL.</p>

<p>The function will automatically terminate after RAXSDK_SERVER_MAXTIMEOUT
seconds elapse.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$terminal</td>
<td style="white-space: normal;">string</td>
<td><p>the terminal state to wait for</p></td>
<td>'ACTIVE'</td>
</tr>
<tr>
<td>$timeout</td>
<td style="white-space: normal;">integer</td>
<td><p>the max time (in seconds) to wait</p>
</td>
<td>RAXSDK_SERVER_MAXTIMEOUT</td>
</tr>
<tr>
<td>$callback</td>
<td style="white-space: normal;">callable</td>
<td><p>a callback function that is invoked with
     each repetition of the polling sequence. This can be used, for
     example, to update a status display or to permit other operations
     to continue</p></td>
<td>NULL</td>
</tr>
<tr>
<td>$sleep</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td>RAXSDK_POLL_INTERVAL</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>void</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>api</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::WaitFor()"><small>\OpenCloud\DNS\DnsObject::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::WaitFor()"><small>\OpenCloud\DNS\Domain::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::__construct()"></a><h3>__construct<span class="nb-faded-text">(
          
             
            $parent,
          mixed
             
            $info
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Retrieves the instance from persistent storage</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$parent</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td></td>
</tr>
<tr>
<td>$info</td>
<td style="white-space: normal;">mixed</td>
<td><p>the ID or array/object of data</p>
</td>
<td>array()</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>throws</td>
<td>if $info has an invalid data type</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::__set()"></a><h3>__set<span class="nb-faded-text">(
          string
             
            $name,
          mixed
             
            $value,
          
          )
        </span>
        :
        <span class="nb-faded-text">void</span>
</h3>
<h4>Description</h4>
<em>Validates properties that have a namespace: prefix</em><br><small><p>If the property prefix: appears in the list of supported extension
namespaces, then the property is applied to the object. Otherwise,
an exception is thrown.</p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$name</td>
<td style="white-space: normal;">string</td>
<td><p>the name of the property</p></td>
<td></td>
</tr>
<tr>
<td>$value</td>
<td style="white-space: normal;">mixed</td>
<td><p>the property's value</p>
</td>
<td></td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>void</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>throws</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::__set()"><small>\OpenCloud\DNS\DnsObject::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::__set()"><small>\OpenCloud\DNS\Domain::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::debug()"></a><h3>debug<span class="nb-faded-text">(
          string
             
            $msg,
          mixed
             
            $p1
            = NULL,
          mixed
             
            $p2
            = NULL,
          mixed
             
            $p3
            = NULL,
          mixed
             
            $p4
            = NULL,
          mixed
             
            $p5
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">void</span>
</h3>
<h4>Description</h4>
<em>Displays a debug message if $RAXSDK_DEBUG is TRUE</em><br><small><p>The primary parameter is a string in sprintf() format, and it can accept
up to five optional parameters. It prints the debug message, prefixed
with "Debug:" and the class name, to the standard output device.</p>

<p>Example:
  <code>$this-&gt;debug('Starting execution of %s', get_class($this))</code></p></small><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$msg</td>
<td style="white-space: normal;">string</td>
<td><p>The message string (required); can be in
     sprintf() format.</p>
</td>
<td></td>
</tr>
<tr>
<td>$p1</td>
<td style="white-space: normal;">mixed</td>
<td><p>Optional argument to be passed to sprintf()</p>
</td>
<td>NULL</td>
</tr>
<tr>
<td>$p2</td>
<td style="white-space: normal;">mixed</td>
<td><p>Optional argument to be passed to sprintf()</p>
</td>
<td>NULL</td>
</tr>
<tr>
<td>$p3</td>
<td style="white-space: normal;">mixed</td>
<td><p>Optional argument to be passed to sprintf()</p>
</td>
<td>NULL</td>
</tr>
<tr>
<td>$p4</td>
<td style="white-space: normal;">mixed</td>
<td><p>Optional argument to be passed to sprintf()</p>
</td>
<td>NULL</td>
</tr>
<tr>
<td>$p5</td>
<td style="white-space: normal;">mixed</td>
<td><p>Optional argument to be passed to sprintf()</p>
</td>
<td>NULL</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>void</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::debug()"><small>\OpenCloud\DNS\DnsObject::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::debug()"><small>\OpenCloud\DNS\Domain::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Subdomain::to_string()"></a><h3>to_string<span class="nb-faded-text">(
          mixed
             
            $x,
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>Converts a value to an HTTP-displayable string form</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$x</td>
<td style="white-space: normal;">mixed</td>
<td><p>a value to convert</p></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td></td>
</tr></tbody>
</table>
<h4>Tags</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td>inherited_from</td>
<td><a href="base.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="dnsobject.html#%5COpenCloud%5CDNS%5CDnsObject::to_string()"><small>\OpenCloud\DNS\DnsObject::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="domain.html#%5COpenCloud%5CDNS%5CDomain::to_string()"><small>\OpenCloud\DNS\Domain::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_Subdomain">
<h4>Properties</h4>
<a href="#Subdomain::%24_create_keys">$_create_keys</a>,
      <a href="#Subdomain::%24_errors">$_errors</a>,
      <a href="#Subdomain::%24_parent">$_parent</a>,
      <a href="#Subdomain::%24_update_keys">$_update_keys</a>,
      <a href="#Subdomain::%24accountId">$accountId</a>,
      <a href="#Subdomain::%24comment">$comment</a>,
      <a href="#Subdomain::%24created">$created</a>,
      <a href="#Subdomain::%24emailAddress">$emailAddress</a>,
      <a href="#Subdomain::%24http_headers">$http_headers</a>,
      <a href="#Subdomain::%24id">$id</a>,
      <a href="#Subdomain::%24json_collection_name">$json_collection_name</a>,
      <a href="#Subdomain::%24json_name">$json_name</a>,
      <a href="#Subdomain::%24name">$name</a>,
      <a href="#Subdomain::%24records">$records</a>,
      <a href="#Subdomain::%24subdomains">$subdomains</a>,
      <a href="#Subdomain::%24ttl">$ttl</a>,
      <a href="#Subdomain::%24updated">$updated</a>,
      <a href="#Subdomain::%24url_resource">$url_resource</a>,
      <div class="method">
<a id="Subdomain::$_create_keys"></a><h3>
<span class="nb-faded-text"> 
          protected 
          </span>$_create_keys
          =
          array('name', 'emailAddress', 'ttl', 'comment')</h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$_update_keys"></a><h3>
<span class="nb-faded-text"> 
          protected 
          </span>$_update_keys
          =
          array('emailAddress', 'ttl', 'comment')</h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$accountId"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$accountId
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$comment"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$comment
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$created"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$created
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$emailAddress"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$emailAddress
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$id"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$json_collection_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_collection_name
          =
          'domains'</h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$json_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_name
          =
          FALSE</h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$name"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$name
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$records"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$records
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$subdomains"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$subdomains
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$ttl"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$ttl
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$updated"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$updated
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Subdomain::$url_resource"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$url_resource
          =
          'subdomains'</h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
</div>
<small xmlns="" class="footer">Documentation was generated by <a href="http://www.phpdoc.org">phpDocumentor 2.0.0a12</a>.</small></div><div id="index"><div class="padder"><script xmlns="" type="text/javascript">
      $(function() {

        var is_chrome = /chrome/.test( navigator.userAgent.toLowerCase() );
        var is_local = /file:\/\//.test(document.location.href);
        if (is_chrome && is_local)
        {
          // search is disabled on chrome with local files due to http://code.google.com/p/chromium/issues/detail?id=40787
          return;
        }

        $("#search_box").show();
        var search_index = {};
        $.ajax({
          url: "search_index.xml",
          dataType: ($.browser.msie) ? "text" : "xml",
          error: function(data) {
            alert('An error occurred using the search data');
          },
          success: function( data ) {
            var xml;
            if (typeof data == "string") {
              xml = new ActiveXObject("Microsoft.XMLDOM");
              xml.async = false;
              xml.loadXML(data);
            } else {
              xml = data;
            }

            search_index = $("node", xml).map(function() {
              type = $("type", this).text();
              return {
                value: $("value", this).text(),
                label: '<img src="images/icons/'+type+'.png" align="absmiddle">'+$("value", this).text(),
                id: $("id", this).text(),
              };
            }).get();

            $("#search_box").autocomplete({
              source: search_index,
              select: function(event, ui) {
                // redirect to the documentation
                if ((parent) && (parent.content))
                {
                  parent.content.document.location = ''+ui.item.id;
                }
                else
                {
                  jQuery(document).location = ''+ui.item.id;
                }
                applySearchHash();
              }
            });
          }
        });
      });
    </script><input id="search_box"></input><div class="section">
<h1>Namespaces</h1>
<ul id="namespaces-" class="filetree">
<li class="closed">
<span class="folder">OpenCloud</span><ul>
<li><span class="class"><a href="exceptions.html#AttributeError">AttributeError</a><br><small>General Exceptions</small></span></li>
<li><span class="class"><a href="exceptions.html#AuthenticationError">AuthenticationError</a><br><small></small></span></li>
<li><span class="class"><a href="base.html#Base">Base</a><br><small>The Base class is the root class for all other objects used or defined by
this SDK.</small></span></li>
<li><span class="class"><a href="http.html#BlankResponse">BlankResponse</a><br><small>This is a stubbed-out variant of HttpResponse for unit testing</small></span></li>
<li><span class="class"><a href="collection.html#Collection">Collection</a><br><small>Provides an abstraction for working with ordered sets of objects</small></span></li>
<li><span class="class"><a href="exceptions.html#CollectionError">CollectionError</a><br><small></small></span></li>
<li><span class="class"><a href="compute.html#Compute">Compute</a><br><small>The Compute class represents the OpenStack Nova service.</small></span></li>
<li><span class="class"><a href="exceptions.html#CreateError">CreateError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#CredentialError">CredentialError</a><br><small></small></span></li>
<li><span class="class"><a href="http.html#CurlRequest">CurlRequest</a><br><small>The CurlRequest class is a simple wrapper to CURL functions.</small></span></li>
<li><span class="class"><a href="dns.html#DNS">DNS</a><br><small>This class defines a "service"—a relationship between a specific OpenStack
and a provided service, represented by a URL in the service catalog.</small></span></li>
<li><span class="class"><a href="dbservice.html#DbService">DbService</a><br><small>The Rackspace Database As A Service (aka "Red Dwarf")</small></span></li>
<li><span class="class"><a href="exceptions.html#DeleteError">DeleteError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#DocumentError">DocumentError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#DomainError">DomainError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#EmptyResponseError">EmptyResponseError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#EndpointError">EndpointError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#HttpError">HttpError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#HttpForbiddenError">HttpForbiddenError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#HttpOverLimitError">HttpOverLimitError</a><br><small></small></span></li>
<li><span class="interface"><a href="http.html#HttpRequest">HttpRequest</a><br><small>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.</small></span></li>
<li><span class="class"><a href="http.html#HttpResponse">HttpResponse</a><br><small>The HttpResponse returns an object with status information, separated
headers, and any response body necessary.</small></span></li>
<li><span class="class"><a href="exceptions.html#HttpRetryError">HttpRetryError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#HttpTimeoutError">HttpTimeoutError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#HttpUnauthorizedError">HttpUnauthorizedError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#HttpUrlError">HttpUrlError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#IdRequiredError">IdRequiredError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#InstanceNotFound">InstanceNotFound</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#InvalidArgumentError">InvalidArgumentError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#JsonError">JsonError</a><br><small></small></span></li>
<li><span class="class"><a href="lbservice.html#LoadBalancerService">LoadBalancerService</a><br><small>The Rackspace Cloud Load Balancers</small></span></li>
<li><span class="class"><a href="metadata.html#Metadata">Metadata</a><br><small>The Metadata class represents either Server or Image metadata</small></span></li>
<li><span class="class"><a href="exceptions.html#NameError">NameError</a><br><small></small></span></li>
<li><span class="class"><a href="nova.html#Nova">Nova</a><br><small>Nova is an abstraction layer for the OpenStack compute service.</small></span></li>
<li><span class="class"><a href="objectstore.html#ObjectStore">ObjectStore</a><br><small>ObjectStore - this defines the object-store (Cloud Files) service.</small></span></li>
<li><span class="class"><a href="objectstore.html#ObjectStoreBase">ObjectStoreBase</a><br><small>A base class for common code shared between the ObjectStore and ObjectStoreCDN
objects</small></span></li>
<li><span class="class"><a href="objectstore.html#ObjectStoreCDN">ObjectStoreCDN</a><br><small>This is the CDN related to the ObjectStore</small></span></li>
<li><span class="class"><a href="openstack.html#OpenStack">OpenStack</a><br><small>The OpenStack class represents a relationship (or "connection")
between a user and a service.</small></span></li>
<li><span class="class"><a href="persistentobject.html#PersistentObject">PersistentObject</a><br><small>represents an object that has the ability to be
retrieved, created, updated, and deleted.</small></span></li>
<li><span class="class"><a href="rackspace.html#Rackspace">Rackspace</a><br><small>Rackspace extends the OpenStack class with support for Rackspace&#39;s
API key and tenant requirements.</small></span></li>
<li><span class="class"><a href="exceptions.html#ServerActionError">ServerActionError</a><br><small></small></span></li>
<li><span class="class"><a href="service.html#Service">Service</a><br><small>This class defines a "service"—a relationship between a specific OpenStack
and a provided service, represented by a URL in the service catalog.</small></span></li>
<li><span class="class"><a href="openstack.html#ServiceCatalogItem">ServiceCatalogItem</a><br><small>Holds information on a single service from the Service Catalog</small></span></li>
<li><span class="class"><a href="exceptions.html#ServiceValueError">ServiceValueError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#UnknownError">UnknownError</a><br><small>catch-all</small></span></li>
<li><span class="class"><a href="exceptions.html#UnrecognizedServiceError">UnrecognizedServiceError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#UnsupportedExtensionError">UnsupportedExtensionError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#UpdateError">UpdateError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#UrlError">UrlError</a><br><small></small></span></li>
<li><span class="class"><a href="volumeservice.html#VolumeService">VolumeService</a><br><small>Nova is an abstraction layer for the OpenStack compute service.</small></span></li>
<li class="closed">
<span class="folder">Compute</span><ul>
<li><span class="class"><a href="flavor.html#Flavor">Flavor</a><br><small>The Flavor class represents a flavor defined by the Compute service</small></span></li>
<li><span class="class"><a href="exceptions.html#FlavorError">FlavorError</a><br><small></small></span></li>
<li><span class="class"><a href="image.html#Image">Image</a><br><small>The Image class represents a stored machine image returned by the
Compute service.</small></span></li>
<li><span class="class"><a href="exceptions.html#ImageError">ImageError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#InvalidArgumentError">InvalidArgumentError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#InvalidIpTypeError">InvalidIpTypeError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#InvalidParameterError">InvalidParameterError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#InvalidRequestError">InvalidRequestError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#MetadataCreateError">MetadataCreateError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#MetadataDeleteError">MetadataDeleteError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#MetadataError">MetadataError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#MetadataJsonError">MetadataJsonError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#MetadataKeyError">MetadataKeyError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#MetadataUpdateError">MetadataUpdateError</a><br><small></small></span></li>
<li><span class="class"><a href="network.html#Network">Network</a><br><small>The Network class represents a single virtual network</small></span></li>
<li><span class="class"><a href="exceptions.html#NetworkCreateError">NetworkCreateError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#NetworkDeleteError">NetworkDeleteError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#NetworkError">NetworkError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#NetworkUpdateError">NetworkUpdateError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#NetworkUrlError">NetworkUrlError</a><br><small></small></span></li>
<li><span class="class"><a href="server.html#Server">Server</a><br><small>The Server class represents a single server node.</small></span></li>
<li><span class="class"><a href="exceptions.html#ServerCreateError">ServerCreateError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#ServerDeleteError">ServerDeleteError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#ServerIpsError">ServerIpsError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#ServerJsonError">ServerJsonError</a><br><small></small></span></li>
<li><span class="class"><a href="servermetadata.html#ServerMetadata">ServerMetadata</a><br><small>This class handles server metadata</small></span></li>
<li><span class="class"><a href="exceptions.html#ServerUpdateError">ServerUpdateError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#ServerUrlError">ServerUrlError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#UnsupportedFeatureExtension">UnsupportedFeatureExtension</a><br><small></small></span></li>
<li><span class="class"><a href="volumeattachment.html#VolumeAttachment">VolumeAttachment</a><br><small>The VolumeAttachment class represents a volume that is attached
to a server.</small></span></li>
<li><span class="class"><a href="exceptions.html#VolumeError">VolumeError</a><br><small></small></span></li>
</ul>
</li>
<li class="closed">
<span class="folder">DNS</span><ul>
<li><span class="class"><a href="exceptions.html#AsyncError">AsyncError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#AsyncHttpError">AsyncHttpError</a><br><small></small></span></li>
<li><span class="class"><a href="asyncresponse.html#AsyncResponse">AsyncResponse</a><br><small>The AsyncResponse class encapsulates the data returned by a Cloud DNS
asynchronous response.</small></span></li>
<li><span class="class"><a href="exceptions.html#AsyncTimeoutError">AsyncTimeoutError</a><br><small></small></span></li>
<li><span class="class"><a href="dnsobject.html#DnsObject">DnsObject</a><br><small>The DnsObject class is an extension of the PersistentObject class that
permits the asynchronous responses used by Cloud DNS</small></span></li>
<li><span class="class"><a href="domain.html#Domain">Domain</a><br><small>The Domain class represents a single domain</small></span></li>
<li><span class="class"><a href="ptrrecord.html#PtrRecord">PtrRecord</a><br><small>PTR records are used for reverse DNS</small></span></li>
<li><span class="class"><a href="record.html#Record">Record</a><br><small>The Record class represents a single domain record</small></span></li>
<li><span class="class"><a href="exceptions.html#RecordTypeError">RecordTypeError</a><br><small></small></span></li>
<li><span class="class"><a href="domain.html#Subdomain">Subdomain</a><br><small>The Subdomain is basically another domain, albeit one that is a child of
a parent domain.</small></span></li>
</ul>
</li>
<li class="closed">
<span class="folder">DbService</span><ul>
<li><span class="class"><a href="database.html#Database">Database</a><br><small>This class represents a Database in the Rackspace "Red Dwarf"
database-as-a-service product.</small></span></li>
<li><span class="class"><a href="exceptions.html#DatabaseCreateError">DatabaseCreateError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#DatabaseDeleteError">DatabaseDeleteError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#DatabaseListError">DatabaseListError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#DatabaseNameError">DatabaseNameError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#DatabaseUpdateError">DatabaseUpdateError</a><br><small></small></span></li>
<li><span class="class"><a href="instance.html#Instance">Instance</a><br><small>Instance represents an instance of DbService, similar to a Server in a
Compute service</small></span></li>
<li><span class="class"><a href="exceptions.html#InstanceCreateError">InstanceCreateError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#InstanceDeleteError">InstanceDeleteError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#InstanceError">InstanceError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#InstanceFlavorError">InstanceFlavorError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#InstanceUpdateError">InstanceUpdateError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#InvalidIdTypeError">InvalidIdTypeError</a><br><small></small></span></li>
<li><span class="class"><a href="user.html#User">User</a><br><small>This class represents a User in the Rackspace "Red Dwarf"
database-as-a-service product.</small></span></li>
<li><span class="class"><a href="exceptions.html#UserCreateError">UserCreateError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#UserDeleteError">UserDeleteError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#UserListError">UserListError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#UserNameError">UserNameError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#UserUpdateError">UserUpdateError</a><br><small></small></span></li>
</ul>
</li>
<li class="closed">
<span class="folder">LoadBalancerService</span><ul>
<li><span class="class"><a href="lbresources.html#Access">Access</a><br><small>sub-resource to manage access lists</small></span></li>
<li><span class="class"><a href="lbresources.html#Algorithm">Algorithm</a><br><small>sub-resource to manage algorithms (read-only)</small></span></li>
<li><span class="class"><a href="lbresources.html#AllowedDomain">AllowedDomain</a><br><small>sub-resource to manage allowed domains</small></span></li>
<li><span class="class"><a href="lbresources.html#BillableLoadBalancer">BillableLoadBalancer</a><br><small>used to get a list of billable load balancers for a specific date range</small></span></li>
<li><span class="class"><a href="lbresources.html#ConnectionLogging">ConnectionLogging</a><br><small>sub-resource to manage connection logging</small></span></li>
<li><span class="class"><a href="lbresources.html#ConnectionThrottle">ConnectionThrottle</a><br><small>sub-resource to manage connection throttling</small></span></li>
<li><span class="class"><a href="lbresources.html#ContentCaching">ContentCaching</a><br><small>sub-resource to manage content caching</small></span></li>
<li><span class="class"><a href="lbresources.html#ErrorPage">ErrorPage</a><br><small>The /loadbalancer/{id}/errorpage manages the error page for the load
balancer.</small></span></li>
<li><span class="class"><a href="lbresources.html#HealthMonitor">HealthMonitor</a><br><small>sub-resource to read health monitor info</small></span></li>
<li><span class="class"><a href="loadbalancer.html#LoadBalancer">LoadBalancer</a><br><small>The LoadBalancer class represents a single load balancer</small></span></li>
<li><span class="class"><a href="lbresources.html#Metadata">Metadata</a><br><small>sub-resource to manage Metadata</small></span></li>
<li><span class="class"><a href="exceptions.html#MissingValueError">MissingValueError</a><br><small></small></span></li>
<li><span class="class"><a href="lbresources.html#Node">Node</a><br><small>information on a single node in the load balancer</small></span></li>
<li><span class="class"><a href="lbresources.html#NodeEvent">NodeEvent</a><br><small>a single node event, usually called as part of a Collection</small></span></li>
<li><span class="class"><a href="lbresources.html#Protocol">Protocol</a><br><small>sub-resource to manage protocols (read-only)</small></span></li>
<li><span class="class"><a href="lbresources.html#ReadonlySubResource">ReadonlySubResource</a><br><small>This defines a read-only SubResource - one that cannot be created, updated,
or deleted.</small></span></li>
<li><span class="class"><a href="lbresources.html#SSLTermination">SSLTermination</a><br><small>sub-resource to manage SSL termination</small></span></li>
<li><span class="class"><a href="lbresources.html#SessionPersistence">SessionPersistence</a><br><small>sub-resource to manage session persistence setting</small></span></li>
<li><span class="class"><a href="lbresources.html#Stats">Stats</a><br><small>Stats returns statistics about the load balancer</small></span></li>
<li><span class="class"><a href="lbresources.html#SubResource">SubResource</a><br><small>SubResource is an abstract class that handles subresources of a
LoadBalancer object; for example, the
`/loadbalancers/{id}/errorpage`.</small></span></li>
<li><span class="class"><a href="lbresources.html#Usage">Usage</a><br><small>used to get usage data for a load balancer</small></span></li>
<li><span class="class"><a href="lbresources.html#VirtualIp">VirtualIp</a><br><small>VirtualIp represents a single virtual IP (usually returned in a Collection)</small></span></li>
</ul>
</li>
<li class="closed">
<span class="folder">ObjectStore</span><ul>
<li><span class="class"><a href="container.html#CDNContainer">CDNContainer</a><br><small>A simple container for the CDN Service</small></span></li>
<li><span class="class"><a href="exceptions.html#CdnError">CdnError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#CdnHttpError">CdnHttpError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#CdnNotAvailableError">CdnNotAvailableError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#CdnTtlError">CdnTtlError</a><br><small></small></span></li>
<li><span class="class"><a href="container.html#Container">Container</a><br><small>A regular container with a (potentially) CDN container</small></span></li>
<li><span class="class"><a href="exceptions.html#ContainerCreateError">ContainerCreateError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#ContainerDeleteError">ContainerDeleteError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#ContainerError">ContainerError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#ContainerNameError">ContainerNameError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#ContainerNotEmptyError">ContainerNotEmptyError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#ContainerNotFoundError">ContainerNotFoundError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#CreateUpdateError">CreateUpdateError</a><br><small></small></span></li>
<li><span class="class"><a href="dataobject.html#DataObject">DataObject</a><br><small>A DataObject is an object in the ObjectStore</small></span></li>
<li><span class="class"><a href="exceptions.html#DeleteError">DeleteError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#IOError">IOError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#MetadataPrefixError">MetadataPrefixError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#MisMatchedChecksumError">MisMatchedChecksumError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#NoContentTypeError">NoContentTypeError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#NoNameError">NoNameError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#ObjFetchError">ObjFetchError</a><br><small></small></span></li>
<li><span class="class"><a href="objstorebase.html#ObjStoreBase">ObjStoreBase</a><br><small>Intermediate (abstract) class to implement shared
features of all object-storage classes</small></span></li>
<li><span class="class"><a href="exceptions.html#ObjectCopyError">ObjectCopyError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#ObjectError">ObjectError</a><br><small></small></span></li>
<li><span class="class"><a href="exceptions.html#UnknownParameterError">UnknownParameterError</a><br><small></small></span></li>
</ul>
</li>
<li class="closed">
<span class="folder">VolumeService</span><ul>
<li><span class="class"><a href="snapshot.html#Snapshot">Snapshot</a><br><small>The Snapshot class represents a single block storage snapshot</small></span></li>
<li><span class="class"><a href="exceptions.html#SnapshotError">SnapshotError</a><br><small></small></span></li>
<li><span class="class"><a href="volume.html#Volume">Volume</a><br><small>The Volume class represents a single block storage volume</small></span></li>
<li><span class="class"><a href="exceptions.html#VolumeError">VolumeError</a><br><small></small></span></li>
<li><span class="class"><a href="volumetype.html#VolumeType">VolumeType</a><br><small>The VolumeType class represents a single block storage volume type</small></span></li>
<li><span class="class"><a href="exceptions.html#VolumeTypeError">VolumeTypeError</a><br><small></small></span></li>
</ul>
</li>
</ul>
</li>
<li class="closed">
<span class="folder">global</span><ul></ul>
</li>
</ul>
</div><div class="section">
<h1>Packages</h1>
<ul id="packages-" class="filetree">
<li class="closed">
<span class="folder">Default</span><ul id="packages_Default" class="filetree"></ul>
</li>
<li class="closed">
<span class="folder">phpOpenCloud</span><ul id="packages_phpOpenCloud" class="filetree"></ul>
</li>
</ul>
</div>
</div></div><div id="footer"><div class="padder"></div></div></div></body></html>
Return current item: php-opencloud