Location: PHPKode > projects > php-opencloud > php-opencloud-master/docs/api/lbresources.inc.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>lbresources.inc</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 a number of classes that are child resources of LoadBalancer<br><br><a name="includes"></a><h2>Includes</h2>persistentobject.inc <span class="nb-faded-text">(Require Once)</span><br><a name="classes"></a><h2>Classes</h2>
<div id="SubResource" class="class">
<h3>SubResource</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject">\OpenCloud\PersistentObject</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>SubResource is an abstract class that handles subresources of a
LoadBalancer object; for example, the
`/loadbalancers/{id}/errorpage`.</em><br><p>Since most of the subresources are
handled in a similar manner, this consolidates the functions.</p>

<p>There are really four pieces of data that define a subresource:
* <code>$url_resource</code> - the actual name of the url component
* <code>$json_name</code> - the name of the JSON object holding the data
* <code>$json_collection_name</code> - if the collection is not simply
  <code>$json_name . 's'</code>, this defines the collectio name.
* <code>$json_collection_element</code> - if the object in a collection is not
  anonymous, this defines the name of the element holding the object.
Of these, only the <code>$json_name</code> and <code>$url_resource</code> are required.</p><br><div id="methods_SubResource">
<h4>Methods</h4>
<a style="font-style: italic;" href="#SubResource::Action()">Action</a>,
      <a style="font-style: italic;" href="#SubResource::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#SubResource::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#SubResource::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#SubResource::Create()">Create</a>,
      <a style="font-style: italic;" href="#SubResource::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#SubResource::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#SubResource::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#SubResource::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#SubResource::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#SubResource::Id()">Id</a>,
      <a style="font-style: italic;" href="#SubResource::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#SubResource::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#SubResource::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#SubResource::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#SubResource::Name()">Name</a>,
      <a style="font-style: italic;" href="#SubResource::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#SubResource::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#SubResource::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#SubResource::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#SubResource::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#SubResource::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#SubResource::Region()">Region</a>,
      <a style="font-style: italic;" href="#SubResource::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#SubResource::Service()">Service</a>,
      <a style="font-style: italic;" href="#SubResource::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#SubResource::Status()">Status</a>,
      <a style="font-style: italic;" href="#SubResource::Update()">Update</a>,
      <a style="font-style: italic;" href="#SubResource::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#SubResource::Url()">Url</a>,
      <a style="font-style: italic;" href="#SubResource::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#SubResource::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#SubResource::__set()">__set</a>,
      <a style="font-style: italic;" href="#SubResource::debug()">debug</a>,
      <a style="font-style: italic;" href="#SubResource::to_string()">to_string</a>,
      <div class="method">
<a id="SubResource::Action()"></a><h3>Action<span class="nb-faded-text">(
          \OpenCloud\$object
             
            $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;">\OpenCloud\$object</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.inc.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Creates a new object</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 values to set when creating the object</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\HttpResponse</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 HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::Create()"><small>\OpenCloud\PersistentObject::Create()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass;</span>
</h3>
<h4>Description</h4>
<em>returns the JSON document's object for creating the subresource</em><br><small><p>The value <code>$_create_keys</code> should be an array of names of data items
that can be used in the creation of the object.</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>throws</td>
<td>if not overridden</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="SubResource::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Deletes an object</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\HttpResponse</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 HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::Delete()"><small>\OpenCloud\PersistentObject::Delete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::Name()"></a><h3>Name<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns a (default) name of the object</em><br><small><p>The name is constructed by the object class and the object's ID.</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>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::Parent()"></a><h3>Parent<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">mixed</span>
</h3>
<h4>Description</h4>
<em>returns the Parent object (usually a LoadBalancer, but sometimes another
SubResource)</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>mixed</td>
<td></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Updates an existing object</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 values to set when updating the object</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\HttpResponse</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 HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::Update()"><small>\OpenCloud\PersistentObject::Update()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass</span>
</h3>
<h4>Description</h4>
<em>returns the JSON for the update (same as create)</em><br><small><p>For these subresources, the update JSON is the same as the Create JSON</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>$params</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>\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></tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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 URL of the SubResource</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>the subresource of the parent</p></td>
<td>NULL</td>
</tr>
<tr>
<td>$qstr</td>
<td style="white-space: normal;">array</td>
<td><p>an array of key/value pairs to be converted to query string parameters for the subresource</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>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if URL is not defined</td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          \OpenCloud\callable
             
            $callback
            = NULL,
          
          )
        </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;">\OpenCloud\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>
</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.inc.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::__construct()"></a><h3>__construct<span class="nb-faded-text">(
          mixed
             
            $obj,
          mixed
             
            $value
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>constructs the SubResource's object</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>$obj</td>
<td style="white-space: normal;">mixed</td>
<td><p>the parent object</p></td>
<td></td>
</tr>
<tr>
<td>$value</td>
<td style="white-space: normal;">mixed</td>
<td><p>the ID or array of values for the object</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></tbody>
</table>
</div>
<div class="method">
<a id="SubResource::__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.inc.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="SubResource::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.inc.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_SubResource">
<h4>Properties</h4>
<a href="#SubResource::%24_errors">$_errors</a>,
      <a href="#SubResource::%24_parent">$_parent</a>,
      <a href="#SubResource::%24http_headers">$http_headers</a>,
      <a href="#SubResource::%24id">$id</a>,
      <a href="#SubResource::%24parent">$parent</a>,
      <div class="method">
<a id="SubResource::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="SubResource::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="SubResource::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="SubResource::$id"></a><h3>
<span class="nb-faded-text"> 
          protected 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="SubResource::$parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$parent
          =
          </h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
<div id="ReadonlySubResource" class="class">
<h3>ReadonlySubResource</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource">\OpenCloud\LoadBalancerService\SubResource</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>This defines a read-only SubResource - one that cannot be created, updated,
or deleted.</em><br><p>Many subresources are like this, and this simplifies their
class definitions.</p><br><div id="methods_ReadonlySubResource">
<h4>Methods</h4>
<a style="font-style: italic;" href="#ReadonlySubResource::Action()">Action</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::Create()">Create</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::Id()">Id</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::Name()">Name</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::Region()">Region</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::Service()">Service</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::Status()">Status</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::Update()">Update</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::Url()">Url</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::__set()">__set</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::debug()">debug</a>,
      <a style="font-style: italic;" href="#ReadonlySubResource::to_string()">to_string</a>,
      <div class="method">
<a id="ReadonlySubResource::Action()"></a><h3>Action<span class="nb-faded-text">(
          \OpenCloud\$object
             
            $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;">\OpenCloud\$object</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.inc.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Action()"><small>\OpenCloud\LoadBalancerService\SubResource::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckExtension()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Create</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 values to set when creating the object</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\HttpResponse</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></tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass;</span>
</h3>
<h4>Description</h4>
<em>returns the JSON document's object for creating the subresource</em><br><small><p>The value <code>$_create_keys</code> should be an array of names of data items
that can be used in the creation of the object.</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>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateUrl()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateUrl()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Delete</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\HttpResponse</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></tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::FindLink()"><small>\OpenCloud\LoadBalancerService\SubResource::FindLink()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::GetHttpRequestObject()"><small>\OpenCloud\LoadBalancerService\SubResource::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Id()"><small>\OpenCloud\LoadBalancerService\SubResource::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionElement()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionElement()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::MakeQueryString()"><small>\OpenCloud\LoadBalancerService\SubResource::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::Name()"></a><h3>Name<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns a (default) name of the object</em><br><small><p>The name is constructed by the object class and the object's ID.</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Name()"><small>\OpenCloud\LoadBalancerService\SubResource::Name()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoCreate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoDelete()"><small>\OpenCloud\LoadBalancerService\SubResource::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoUpdate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::Parent()"></a><h3>Parent<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">mixed</span>
</h3>
<h4>Description</h4>
<em>returns the Parent object (usually a LoadBalancer, but sometimes another
SubResource)</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>mixed</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Parent()"><small>\OpenCloud\LoadBalancerService\SubResource::Parent()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::PrimaryKeyField()"><small>\OpenCloud\LoadBalancerService\SubResource::PrimaryKeyField()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Refresh()"><small>\OpenCloud\LoadBalancerService\SubResource::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Region()"><small>\OpenCloud\LoadBalancerService\SubResource::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::ResourceName()"><small>\OpenCloud\LoadBalancerService\SubResource::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Service()"><small>\OpenCloud\LoadBalancerService\SubResource::Service()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::SetProperty()"><small>\OpenCloud\LoadBalancerService\SubResource::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Status()"><small>\OpenCloud\LoadBalancerService\SubResource::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Update</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 values to set when updating the object</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\HttpResponse</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></tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass</span>
</h3>
<h4>Description</h4>
<em>returns the JSON for the update (same as create)</em><br><small><p>For these subresources, the update JSON is the same as the Create JSON</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>$params</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>\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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::UpdateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::UpdateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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 URL of the SubResource</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>the subresource of the parent</p></td>
<td>NULL</td>
</tr>
<tr>
<td>$qstr</td>
<td style="white-space: normal;">array</td>
<td><p>an array of key/value pairs to be converted to query string parameters for the subresource</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>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if URL is not defined</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Url()"><small>\OpenCloud\LoadBalancerService\SubResource::Url()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          \OpenCloud\callable
             
            $callback
            = NULL,
          
          )
        </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;">\OpenCloud\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>
</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.inc.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::WaitFor()"><small>\OpenCloud\LoadBalancerService\SubResource::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::__construct()"></a><h3>__construct<span class="nb-faded-text">(
          mixed
             
            $obj,
          mixed
             
            $value
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>constructs the SubResource's object</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>$obj</td>
<td style="white-space: normal;">mixed</td>
<td><p>the parent object</p></td>
<td></td>
</tr>
<tr>
<td>$value</td>
<td style="white-space: normal;">mixed</td>
<td><p>the ID or array of values for the object</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__construct()"><small>\OpenCloud\LoadBalancerService\SubResource::__construct()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::__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.inc.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__set()"><small>\OpenCloud\LoadBalancerService\SubResource::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::debug()"><small>\OpenCloud\LoadBalancerService\SubResource::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ReadonlySubResource::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.inc.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::to_string()"><small>\OpenCloud\LoadBalancerService\SubResource::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_ReadonlySubResource">
<h4>Properties</h4>
<a href="#ReadonlySubResource::%24_errors">$_errors</a>,
      <a href="#ReadonlySubResource::%24_parent">$_parent</a>,
      <a href="#ReadonlySubResource::%24http_headers">$http_headers</a>,
      <a href="#ReadonlySubResource::%24id">$id</a>,
      <a href="#ReadonlySubResource::%24parent">$parent</a>,
      <div class="method">
<a id="ReadonlySubResource::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="ReadonlySubResource::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="ReadonlySubResource::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="ReadonlySubResource::$id"></a><h3>
<span class="nb-faded-text"> 
          protected 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="ReadonlySubResource::$parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$parent
          =
          </h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
<div id="ErrorPage" class="class">
<h3>ErrorPage</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource">\OpenCloud\LoadBalancerService\SubResource</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 /loadbalancer/{id}/errorpage manages the error page for the load
balancer.</em><br><p>Since most of the subresources are
handled in a similar manner, this consolidates the functions.</p>

<p>There are really four pieces of data that define a subresource:
* <code>$url_resource</code> - the actual name of the url component
* <code>$json_name</code> - the name of the JSON object holding the data
* <code>$json_collection_name</code> - if the collection is not simply
  <code>$json_name . 's'</code>, this defines the collectio name.
* <code>$json_collection_element</code> - if the object in a collection is not
  anonymous, this defines the name of the element holding the object.
Of these, only the <code>$json_name</code> and <code>$url_resource</code> are required.</p><br><div id="methods_ErrorPage">
<h4>Methods</h4>
<a style="font-style: italic;" href="#ErrorPage::Action()">Action</a>,
      <a style="font-style: italic;" href="#ErrorPage::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#ErrorPage::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#ErrorPage::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#ErrorPage::Create()">Create</a>,
      <a style="font-style: italic;" href="#ErrorPage::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#ErrorPage::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#ErrorPage::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#ErrorPage::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#ErrorPage::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#ErrorPage::Id()">Id</a>,
      <a style="font-style: italic;" href="#ErrorPage::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#ErrorPage::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#ErrorPage::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#ErrorPage::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#ErrorPage::Name()">Name</a>,
      <a style="font-style: italic;" href="#ErrorPage::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#ErrorPage::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#ErrorPage::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#ErrorPage::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#ErrorPage::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#ErrorPage::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#ErrorPage::Region()">Region</a>,
      <a style="font-style: italic;" href="#ErrorPage::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#ErrorPage::Service()">Service</a>,
      <a style="font-style: italic;" href="#ErrorPage::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#ErrorPage::Status()">Status</a>,
      <a style="font-style: italic;" href="#ErrorPage::Update()">Update</a>,
      <a style="font-style: italic;" href="#ErrorPage::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#ErrorPage::Url()">Url</a>,
      <a style="font-style: italic;" href="#ErrorPage::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#ErrorPage::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#ErrorPage::__set()">__set</a>,
      <a style="font-style: italic;" href="#ErrorPage::debug()">debug</a>,
      <a style="font-style: italic;" href="#ErrorPage::to_string()">to_string</a>,
      <div class="method">
<a id="ErrorPage::Action()"></a><h3>Action<span class="nb-faded-text">(
          \OpenCloud\$object
             
            $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;">\OpenCloud\$object</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.inc.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Action()"><small>\OpenCloud\LoadBalancerService\SubResource::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckExtension()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $parm
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>creates a new error page</em><br><small><p>This calls the Update() method, since it requires a PUT to create
a new error page. A POST request is not supported, since the URL
resource is already defined.</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>$parm</td>
<td style="white-space: normal;">array</td>
<td><p>array of 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\HttpResponse</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></tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass;</span>
</h3>
<h4>Description</h4>
<em>returns the JSON document's object for creating the subresource</em><br><small><p>The value <code>$_create_keys</code> should be an array of names of data items
that can be used in the creation of the object.</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>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateUrl()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateUrl()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Deletes an object</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\HttpResponse</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 HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::Delete()"><small>\OpenCloud\PersistentObject::Delete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Delete()"><small>\OpenCloud\LoadBalancerService\SubResource::Delete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::FindLink()"><small>\OpenCloud\LoadBalancerService\SubResource::FindLink()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::GetHttpRequestObject()"><small>\OpenCloud\LoadBalancerService\SubResource::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Id()"><small>\OpenCloud\LoadBalancerService\SubResource::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionElement()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionElement()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::MakeQueryString()"><small>\OpenCloud\LoadBalancerService\SubResource::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::Name()"></a><h3>Name<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns a (default) name of the object</em><br><small><p>The name is constructed by the object class and the object's ID.</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Name()"><small>\OpenCloud\LoadBalancerService\SubResource::Name()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoCreate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoDelete()"><small>\OpenCloud\LoadBalancerService\SubResource::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoUpdate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::Parent()"></a><h3>Parent<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">mixed</span>
</h3>
<h4>Description</h4>
<em>returns the Parent object (usually a LoadBalancer, but sometimes another
SubResource)</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>mixed</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Parent()"><small>\OpenCloud\LoadBalancerService\SubResource::Parent()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::PrimaryKeyField()"><small>\OpenCloud\LoadBalancerService\SubResource::PrimaryKeyField()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Refresh()"><small>\OpenCloud\LoadBalancerService\SubResource::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Region()"><small>\OpenCloud\LoadBalancerService\SubResource::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::ResourceName()"><small>\OpenCloud\LoadBalancerService\SubResource::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Service()"><small>\OpenCloud\LoadBalancerService\SubResource::Service()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::SetProperty()"><small>\OpenCloud\LoadBalancerService\SubResource::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Status()"><small>\OpenCloud\LoadBalancerService\SubResource::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Updates an existing object</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 values to set when updating the object</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\HttpResponse</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 HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::Update()"><small>\OpenCloud\PersistentObject::Update()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Update()"><small>\OpenCloud\LoadBalancerService\SubResource::Update()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass</span>
</h3>
<h4>Description</h4>
<em>returns the JSON for the update (same as create)</em><br><small><p>For these subresources, the update JSON is the same as the Create JSON</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>$params</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>\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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::UpdateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::UpdateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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 URL of the SubResource</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>the subresource of the parent</p></td>
<td>NULL</td>
</tr>
<tr>
<td>$qstr</td>
<td style="white-space: normal;">array</td>
<td><p>an array of key/value pairs to be converted to query string parameters for the subresource</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>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if URL is not defined</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Url()"><small>\OpenCloud\LoadBalancerService\SubResource::Url()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          \OpenCloud\callable
             
            $callback
            = NULL,
          
          )
        </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;">\OpenCloud\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>
</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.inc.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::WaitFor()"><small>\OpenCloud\LoadBalancerService\SubResource::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::__construct()"></a><h3>__construct<span class="nb-faded-text">(
          mixed
             
            $obj,
          mixed
             
            $value
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>constructs the SubResource's object</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>$obj</td>
<td style="white-space: normal;">mixed</td>
<td><p>the parent object</p></td>
<td></td>
</tr>
<tr>
<td>$value</td>
<td style="white-space: normal;">mixed</td>
<td><p>the ID or array of values for the object</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__construct()"><small>\OpenCloud\LoadBalancerService\SubResource::__construct()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::__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.inc.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__set()"><small>\OpenCloud\LoadBalancerService\SubResource::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::debug()"><small>\OpenCloud\LoadBalancerService\SubResource::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ErrorPage::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.inc.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::to_string()"><small>\OpenCloud\LoadBalancerService\SubResource::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_ErrorPage">
<h4>Properties</h4>
<a href="#ErrorPage::%24_create_keys">$_create_keys</a>,
      <a href="#ErrorPage::%24_errors">$_errors</a>,
      <a href="#ErrorPage::%24_parent">$_parent</a>,
      <a href="#ErrorPage::%24content">$content</a>,
      <a href="#ErrorPage::%24http_headers">$http_headers</a>,
      <a href="#ErrorPage::%24id">$id</a>,
      <a href="#ErrorPage::%24json_name">$json_name</a>,
      <a href="#ErrorPage::%24parent">$parent</a>,
      <a href="#ErrorPage::%24url_resource">$url_resource</a>,
      <div class="method">
<a id="ErrorPage::$_create_keys"></a><h3>
<span class="nb-faded-text"> 
          protected 
          </span>$_create_keys
          =
          array('content')</h3>
<em></em><br>
</div>
<div class="method">
<a id="ErrorPage::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="ErrorPage::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="ErrorPage::$content"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$content
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="ErrorPage::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="ErrorPage::$id"></a><h3>
<span class="nb-faded-text"> 
          protected 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="ErrorPage::$json_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_name
          =
          'errorpage'</h3>
<em></em><br>
</div>
<div class="method">
<a id="ErrorPage::$parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="ErrorPage::$url_resource"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$url_resource
          =
          'errorpage'</h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
<div id="Stats" class="class">
<h3>Stats</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource">\OpenCloud\LoadBalancerService\ReadonlySubResource</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>Stats returns statistics about the load balancer</em><br><p>Many subresources are like this, and this simplifies their
class definitions.</p><br><div id="methods_Stats">
<h4>Methods</h4>
<a style="font-style: italic;" href="#Stats::Action()">Action</a>,
      <a style="font-style: italic;" href="#Stats::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#Stats::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#Stats::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#Stats::Create()">Create</a>,
      <a style="font-style: italic;" href="#Stats::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#Stats::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#Stats::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#Stats::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#Stats::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#Stats::Id()">Id</a>,
      <a style="font-style: italic;" href="#Stats::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#Stats::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#Stats::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#Stats::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#Stats::Name()">Name</a>,
      <a style="font-style: italic;" href="#Stats::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#Stats::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#Stats::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#Stats::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#Stats::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#Stats::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#Stats::Region()">Region</a>,
      <a style="font-style: italic;" href="#Stats::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#Stats::Service()">Service</a>,
      <a style="font-style: italic;" href="#Stats::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#Stats::Status()">Status</a>,
      <a style="font-style: italic;" href="#Stats::Update()">Update</a>,
      <a style="font-style: italic;" href="#Stats::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#Stats::Url()">Url</a>,
      <a style="font-style: italic;" href="#Stats::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#Stats::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#Stats::__set()">__set</a>,
      <a style="font-style: italic;" href="#Stats::debug()">debug</a>,
      <a style="font-style: italic;" href="#Stats::to_string()">to_string</a>,
      <div class="method">
<a id="Stats::Action()"></a><h3>Action<span class="nb-faded-text">(
          \OpenCloud\$object
             
            $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;">\OpenCloud\$object</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.inc.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Action()"><small>\OpenCloud\LoadBalancerService\SubResource::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Action()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckExtension()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CheckExtension()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Create</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 values to set when creating the object</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\HttpResponse</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Create()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Create()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass;</span>
</h3>
<h4>Description</h4>
<em>returns the JSON document's object for creating the subresource</em><br><small><p>The value <code>$_create_keys</code> should be an array of names of data items
that can be used in the creation of the object.</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>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateJson()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CreateJson()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CreateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateUrl()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CreateUrl()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CreateUrl()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Delete</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\HttpResponse</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Delete()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Delete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::FindLink()"><small>\OpenCloud\LoadBalancerService\SubResource::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::FindLink()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::FindLink()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::GetHttpRequestObject()"><small>\OpenCloud\LoadBalancerService\SubResource::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::GetHttpRequestObject()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Id()"><small>\OpenCloud\LoadBalancerService\SubResource::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Id()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionElement()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::JsonCollectionElement()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::JsonCollectionElement()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::JsonCollectionName()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::JsonCollectionName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::JsonName()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::MakeQueryString()"><small>\OpenCloud\LoadBalancerService\SubResource::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::MakeQueryString()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::Name()"></a><h3>Name<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns a (default) name of the object</em><br><small><p>The name is constructed by the object class and the object's ID.</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Name()"><small>\OpenCloud\LoadBalancerService\SubResource::Name()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Name()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Name()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoCreate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::NoCreate()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoDelete()"><small>\OpenCloud\LoadBalancerService\SubResource::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::NoDelete()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoUpdate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::NoUpdate()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::Parent()"></a><h3>Parent<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">mixed</span>
</h3>
<h4>Description</h4>
<em>returns the Parent object (usually a LoadBalancer, but sometimes another
SubResource)</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>mixed</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Parent()"><small>\OpenCloud\LoadBalancerService\SubResource::Parent()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Parent()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Parent()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::PrimaryKeyField()"><small>\OpenCloud\LoadBalancerService\SubResource::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::PrimaryKeyField()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::PrimaryKeyField()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Refresh()"><small>\OpenCloud\LoadBalancerService\SubResource::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Refresh()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Region()"><small>\OpenCloud\LoadBalancerService\SubResource::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Region()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::ResourceName()"><small>\OpenCloud\LoadBalancerService\SubResource::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::ResourceName()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Service()"><small>\OpenCloud\LoadBalancerService\SubResource::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Service()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Service()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::SetProperty()"><small>\OpenCloud\LoadBalancerService\SubResource::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::SetProperty()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Status()"><small>\OpenCloud\LoadBalancerService\SubResource::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Status()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Update</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 values to set when updating the object</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\HttpResponse</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Update()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Update()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass</span>
</h3>
<h4>Description</h4>
<em>returns the JSON for the update (same as create)</em><br><small><p>For these subresources, the update JSON is the same as the Create JSON</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>$params</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>\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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::UpdateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::UpdateJson()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::UpdateJson()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::UpdateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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 URL of the SubResource</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>the subresource of the parent</p></td>
<td>NULL</td>
</tr>
<tr>
<td>$qstr</td>
<td style="white-space: normal;">array</td>
<td><p>an array of key/value pairs to be converted to query string parameters for the subresource</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>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if URL is not defined</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Url()"><small>\OpenCloud\LoadBalancerService\SubResource::Url()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Url()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Url()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          \OpenCloud\callable
             
            $callback
            = NULL,
          
          )
        </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;">\OpenCloud\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>
</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.inc.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::WaitFor()"><small>\OpenCloud\LoadBalancerService\SubResource::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::WaitFor()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::__construct()"></a><h3>__construct<span class="nb-faded-text">(
          mixed
             
            $obj,
          mixed
             
            $value
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>constructs the SubResource's object</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>$obj</td>
<td style="white-space: normal;">mixed</td>
<td><p>the parent object</p></td>
<td></td>
</tr>
<tr>
<td>$value</td>
<td style="white-space: normal;">mixed</td>
<td><p>the ID or array of values for the object</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__construct()"><small>\OpenCloud\LoadBalancerService\SubResource::__construct()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::__construct()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::__construct()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::__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.inc.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__set()"><small>\OpenCloud\LoadBalancerService\SubResource::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::__set()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::debug()"><small>\OpenCloud\LoadBalancerService\SubResource::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::debug()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Stats::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.inc.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::to_string()"><small>\OpenCloud\LoadBalancerService\SubResource::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::to_string()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_Stats">
<h4>Properties</h4>
<a href="#Stats::%24_errors">$_errors</a>,
      <a href="#Stats::%24_parent">$_parent</a>,
      <a href="#Stats::%24connectError">$connectError</a>,
      <a href="#Stats::%24connectFailure">$connectFailure</a>,
      <a href="#Stats::%24connectTimeOut">$connectTimeOut</a>,
      <a href="#Stats::%24dataTimedOut">$dataTimedOut</a>,
      <a href="#Stats::%24http_headers">$http_headers</a>,
      <a href="#Stats::%24id">$id</a>,
      <a href="#Stats::%24json_name">$json_name</a>,
      <a href="#Stats::%24keepAliveTimedOut">$keepAliveTimedOut</a>,
      <a href="#Stats::%24maxConn">$maxConn</a>,
      <a href="#Stats::%24parent">$parent</a>,
      <a href="#Stats::%24url_resource">$url_resource</a>,
      <div class="method">
<a id="Stats::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Stats::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Stats::$connectError"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$connectError
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Stats::$connectFailure"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$connectFailure
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Stats::$connectTimeOut"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$connectTimeOut
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Stats::$dataTimedOut"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$dataTimedOut
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Stats::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Stats::$id"></a><h3>
<span class="nb-faded-text"> 
          protected 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Stats::$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="Stats::$keepAliveTimedOut"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$keepAliveTimedOut
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Stats::$maxConn"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$maxConn
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Stats::$parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Stats::$url_resource"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$url_resource
          =
          'stats'</h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
<div id="Node" class="class">
<h3>Node</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject">\OpenCloud\PersistentObject</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>information on a single node in the load balancer</em><br><p>This extends <code>PersistentObject</code> because it has an ID, unlike most other
sub-resources.</p><br><div id="methods_Node">
<h4>Methods</h4>
<a style="font-style: italic;" href="#Node::Action()">Action</a>,
      <a style="font-style: italic;" href="#Node::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#Node::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#Node::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#Node::Create()">Create</a>,
      <a style="font-style: italic;" href="#Node::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#Node::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#Node::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#Node::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#Node::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#Node::Id()">Id</a>,
      <a style="font-style: italic;" href="#Node::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#Node::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#Node::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#Node::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#Node::Metadata()">Metadata</a>,
      <a style="font-style: italic;" href="#Node::MetadataList()">MetadataList</a>,
      <a style="font-style: italic;" href="#Node::Name()">Name</a>,
      <a style="font-style: italic;" href="#Node::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#Node::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#Node::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#Node::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#Node::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#Node::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#Node::Region()">Region</a>,
      <a style="font-style: italic;" href="#Node::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#Node::Service()">Service</a>,
      <a style="font-style: italic;" href="#Node::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#Node::Status()">Status</a>,
      <a style="font-style: italic;" href="#Node::Update()">Update</a>,
      <a style="font-style: italic;" href="#Node::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#Node::Url()">Url</a>,
      <a style="font-style: italic;" href="#Node::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#Node::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#Node::__set()">__set</a>,
      <a style="font-style: italic;" href="#Node::debug()">debug</a>,
      <a style="font-style: italic;" href="#Node::to_string()">to_string</a>,
      <div class="method">
<a id="Node::Action()"></a><h3>Action<span class="nb-faded-text">(
          \OpenCloud\$object
             
            $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;">\OpenCloud\$object</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.inc.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Creates a new object</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 values to set when creating the object</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\HttpResponse</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 HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::Create()"><small>\OpenCloud\PersistentObject::Create()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass</span>
</h3>
<h4>Description</h4>
<em>returns the object for the Create JSON</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>throws</td>
<td>if not overridden</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Node::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Deletes an object</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\HttpResponse</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 HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::Delete()"><small>\OpenCloud\PersistentObject::Delete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::Metadata()"></a><h3>Metadata<span class="nb-faded-text">(
          
             
            $data
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\LoadBalancerService\Metadata</span>
</h3>
<h4>Description</h4>
<em>factory method to create a new Metadata child of the Node</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>$data</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\LoadBalancerService\Metadata</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></tbody>
</table>
</div>
<div class="method">
<a id="Node::MetadataList()"></a><h3>MetadataList<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\LoadBalancerService\Collection</span>
</h3>
<h4>Description</h4>
<em>factory method to create a Collection of Metadata object</em><br><small><p>Note that these are metadata children of the Node, not of the
LoadBalancer.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\LoadBalancerService\Collection</td>
<td>of Metadata</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="Node::Name()"></a><h3>Name<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns the Node name</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>throws</td>
<td>if attribute 'name' is not defined</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::Parent()"></a><h3>Parent<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\LoadBalancerService\LoadBalancer</span>
</h3>
<h4>Description</h4>
<em>returns the parent LoadBalancer 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>\OpenCloud\LoadBalancerService\LoadBalancer</td>
<td></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Updates an existing object</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 values to set when updating the object</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\HttpResponse</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 HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::Update()"><small>\OpenCloud\PersistentObject::Update()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Returns an object for the Update() method JSON</em><br><small><p>Must be overridden in a child class.</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>$params</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>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::UpdateJson()"><small>\OpenCloud\PersistentObject::UpdateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CPersistentObject::Url()"><small>\OpenCloud\PersistentObject::Url()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          \OpenCloud\callable
             
            $callback
            = NULL,
          
          )
        </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;">\OpenCloud\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>
</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.inc.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::__construct()"></a><h3>__construct<span class="nb-faded-text">(
          <a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer">\OpenCloud\LoadBalancerService\LoadBalancer</a>
             
            $lb,
          mixed
             
            $info
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>builds a new Node object</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>$lb</td>
<td style="white-space: normal;"><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer">\OpenCloud\LoadBalancerService\LoadBalancer</a></td>
<td><p>the parent LB object</p></td>
<td></td>
</tr>
<tr>
<td>$info</td>
<td style="white-space: normal;">mixed</td>
<td><p>either an ID or an array of values</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>returns</td>
<td>void</td>
</tr>
<tr>
<td>throws</td>
<td>if $info has an invalid data type</td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::__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.inc.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Node::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.inc.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_Node">
<h4>Properties</h4>
<a href="#Node::%24_create_keys">$_create_keys</a>,
      <a href="#Node::%24_errors">$_errors</a>,
      <a href="#Node::%24_lb">$_lb</a>,
      <a href="#Node::%24_parent">$_parent</a>,
      <a href="#Node::%24address">$address</a>,
      <a href="#Node::%24condition">$condition</a>,
      <a href="#Node::%24http_headers">$http_headers</a>,
      <a href="#Node::%24id">$id</a>,
      <a href="#Node::%24json_collection_name">$json_collection_name</a>,
      <a href="#Node::%24json_name">$json_name</a>,
      <a href="#Node::%24port">$port</a>,
      <a href="#Node::%24status">$status</a>,
      <a href="#Node::%24type">$type</a>,
      <a href="#Node::%24url_resource">$url_resource</a>,
      <a href="#Node::%24weight">$weight</a>,
      <div class="method">
<a id="Node::$_create_keys"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_create_keys
          =
          array('address', 'port', 'condition', 'type', 'weight')</h3>
<em></em><br>
</div>
<div class="method">
<a id="Node::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Node::$_lb"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_lb
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Node::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Node::$address"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$address
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Node::$condition"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$condition
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Node::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Node::$id"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Node::$json_collection_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_collection_name
          =
          'nodes'</h3>
<em></em><br>
</div>
<div class="method">
<a id="Node::$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="Node::$port"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$port
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Node::$status"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$status
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Node::$type"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$type
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Node::$url_resource"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$url_resource
          =
          'nodes'</h3>
<em></em><br>
</div>
<div class="method">
<a id="Node::$weight"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$weight
          =
          </h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
<div id="NodeEvent" class="class">
<h3>NodeEvent</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource">\OpenCloud\LoadBalancerService\ReadonlySubResource</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>a single node event, usually called as part of a Collection</em><br><p>This is a read-only subresource.</p><br><div id="methods_NodeEvent">
<h4>Methods</h4>
<a style="font-style: italic;" href="#NodeEvent::Action()">Action</a>,
      <a style="font-style: italic;" href="#NodeEvent::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#NodeEvent::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#NodeEvent::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#NodeEvent::Create()">Create</a>,
      <a style="font-style: italic;" href="#NodeEvent::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#NodeEvent::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#NodeEvent::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#NodeEvent::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#NodeEvent::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#NodeEvent::Id()">Id</a>,
      <a style="font-style: italic;" href="#NodeEvent::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#NodeEvent::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#NodeEvent::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#NodeEvent::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#NodeEvent::Name()">Name</a>,
      <a style="font-style: italic;" href="#NodeEvent::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#NodeEvent::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#NodeEvent::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#NodeEvent::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#NodeEvent::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#NodeEvent::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#NodeEvent::Region()">Region</a>,
      <a style="font-style: italic;" href="#NodeEvent::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#NodeEvent::Service()">Service</a>,
      <a style="font-style: italic;" href="#NodeEvent::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#NodeEvent::Status()">Status</a>,
      <a style="font-style: italic;" href="#NodeEvent::Update()">Update</a>,
      <a style="font-style: italic;" href="#NodeEvent::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#NodeEvent::Url()">Url</a>,
      <a style="font-style: italic;" href="#NodeEvent::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#NodeEvent::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#NodeEvent::__set()">__set</a>,
      <a style="font-style: italic;" href="#NodeEvent::debug()">debug</a>,
      <a style="font-style: italic;" href="#NodeEvent::to_string()">to_string</a>,
      <div class="method">
<a id="NodeEvent::Action()"></a><h3>Action<span class="nb-faded-text">(
          \OpenCloud\$object
             
            $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;">\OpenCloud\$object</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.inc.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Action()"><small>\OpenCloud\LoadBalancerService\SubResource::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Action()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckExtension()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CheckExtension()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Create</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 values to set when creating the object</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\HttpResponse</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Create()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Create()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass;</span>
</h3>
<h4>Description</h4>
<em>returns the JSON document's object for creating the subresource</em><br><small><p>The value <code>$_create_keys</code> should be an array of names of data items
that can be used in the creation of the object.</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>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateJson()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CreateJson()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CreateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateUrl()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CreateUrl()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CreateUrl()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Delete</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\HttpResponse</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Delete()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Delete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::FindLink()"><small>\OpenCloud\LoadBalancerService\SubResource::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::FindLink()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::FindLink()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::GetHttpRequestObject()"><small>\OpenCloud\LoadBalancerService\SubResource::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::GetHttpRequestObject()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Id()"><small>\OpenCloud\LoadBalancerService\SubResource::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Id()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionElement()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::JsonCollectionElement()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::JsonCollectionElement()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::JsonCollectionName()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::JsonCollectionName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::JsonName()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::MakeQueryString()"><small>\OpenCloud\LoadBalancerService\SubResource::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::MakeQueryString()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::Name()"></a><h3>Name<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns a (default) name of the object</em><br><small><p>The name is constructed by the object class and the object's ID.</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Name()"><small>\OpenCloud\LoadBalancerService\SubResource::Name()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Name()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Name()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoCreate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::NoCreate()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoDelete()"><small>\OpenCloud\LoadBalancerService\SubResource::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::NoDelete()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoUpdate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::NoUpdate()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::Parent()"></a><h3>Parent<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">mixed</span>
</h3>
<h4>Description</h4>
<em>returns the Parent object (usually a LoadBalancer, but sometimes another
SubResource)</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>mixed</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Parent()"><small>\OpenCloud\LoadBalancerService\SubResource::Parent()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Parent()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Parent()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::PrimaryKeyField()"><small>\OpenCloud\LoadBalancerService\SubResource::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::PrimaryKeyField()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::PrimaryKeyField()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Refresh()"><small>\OpenCloud\LoadBalancerService\SubResource::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Refresh()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Region()"><small>\OpenCloud\LoadBalancerService\SubResource::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Region()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::ResourceName()"><small>\OpenCloud\LoadBalancerService\SubResource::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::ResourceName()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Service()"><small>\OpenCloud\LoadBalancerService\SubResource::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Service()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Service()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::SetProperty()"><small>\OpenCloud\LoadBalancerService\SubResource::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::SetProperty()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Status()"><small>\OpenCloud\LoadBalancerService\SubResource::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Status()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Update</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 values to set when updating the object</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\HttpResponse</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Update()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Update()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass</span>
</h3>
<h4>Description</h4>
<em>returns the JSON for the update (same as create)</em><br><small><p>For these subresources, the update JSON is the same as the Create JSON</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>$params</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>\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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::UpdateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::UpdateJson()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::UpdateJson()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::UpdateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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 URL of the SubResource</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>the subresource of the parent</p></td>
<td>NULL</td>
</tr>
<tr>
<td>$qstr</td>
<td style="white-space: normal;">array</td>
<td><p>an array of key/value pairs to be converted to query string parameters for the subresource</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>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if URL is not defined</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Url()"><small>\OpenCloud\LoadBalancerService\SubResource::Url()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Url()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Url()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          \OpenCloud\callable
             
            $callback
            = NULL,
          
          )
        </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;">\OpenCloud\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>
</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.inc.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::WaitFor()"><small>\OpenCloud\LoadBalancerService\SubResource::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::WaitFor()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::__construct()"></a><h3>__construct<span class="nb-faded-text">(
          mixed
             
            $obj,
          mixed
             
            $value
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>constructs the SubResource's object</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>$obj</td>
<td style="white-space: normal;">mixed</td>
<td><p>the parent object</p></td>
<td></td>
</tr>
<tr>
<td>$value</td>
<td style="white-space: normal;">mixed</td>
<td><p>the ID or array of values for the object</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__construct()"><small>\OpenCloud\LoadBalancerService\SubResource::__construct()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::__construct()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::__construct()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::__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.inc.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__set()"><small>\OpenCloud\LoadBalancerService\SubResource::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::__set()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::debug()"><small>\OpenCloud\LoadBalancerService\SubResource::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::debug()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="NodeEvent::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.inc.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::to_string()"><small>\OpenCloud\LoadBalancerService\SubResource::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::to_string()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_NodeEvent">
<h4>Properties</h4>
<a href="#NodeEvent::%24_errors">$_errors</a>,
      <a href="#NodeEvent::%24_parent">$_parent</a>,
      <a href="#NodeEvent::%24accountId">$accountId</a>,
      <a href="#NodeEvent::%24author">$author</a>,
      <a href="#NodeEvent::%24category">$category</a>,
      <a href="#NodeEvent::%24created">$created</a>,
      <a href="#NodeEvent::%24description">$description</a>,
      <a href="#NodeEvent::%24detailedMessage">$detailedMessage</a>,
      <a href="#NodeEvent::%24http_headers">$http_headers</a>,
      <a href="#NodeEvent::%24id">$id</a>,
      <a href="#NodeEvent::%24json_name">$json_name</a>,
      <a href="#NodeEvent::%24loadbalancerId">$loadbalancerId</a>,
      <a href="#NodeEvent::%24nodeId">$nodeId</a>,
      <a href="#NodeEvent::%24parent">$parent</a>,
      <a href="#NodeEvent::%24relativeUri">$relativeUri</a>,
      <a href="#NodeEvent::%24severity">$severity</a>,
      <a href="#NodeEvent::%24title">$title</a>,
      <a href="#NodeEvent::%24type">$type</a>,
      <a href="#NodeEvent::%24url_resource">$url_resource</a>,
      <div class="method">
<a id="NodeEvent::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$accountId"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$accountId
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$author"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$author
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$category"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$category
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$created"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$created
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$description"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$description
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$detailedMessage"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$detailedMessage
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$id"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$json_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_name
          =
          'nodeServiceEvent'</h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$loadbalancerId"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$loadbalancerId
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$nodeId"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$nodeId
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$relativeUri"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$relativeUri
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$severity"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$severity
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$title"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$title
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$type"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$type
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="NodeEvent::$url_resource"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$url_resource
          =
          'nodes/events'</h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
<div id="AllowedDomain" class="class">
<h3>AllowedDomain</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject">\OpenCloud\PersistentObject</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>sub-resource to manage allowed domains</em><br><p>Note that this is actually a sub-resource of the load balancers service,
and not of the load balancer object. It's included here for convenience,
since it matches the pattern of the other LB subresources.</p><br><div id="methods_AllowedDomain">
<h4>Methods</h4>
<a style="font-style: italic;" href="#AllowedDomain::Action()">Action</a>,
      <a style="font-style: italic;" href="#AllowedDomain::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#AllowedDomain::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#AllowedDomain::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#AllowedDomain::Create()">Create</a>,
      <a style="font-style: italic;" href="#AllowedDomain::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#AllowedDomain::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#AllowedDomain::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#AllowedDomain::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#AllowedDomain::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#AllowedDomain::Id()">Id</a>,
      <a style="font-style: italic;" href="#AllowedDomain::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#AllowedDomain::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#AllowedDomain::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#AllowedDomain::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#AllowedDomain::Name()">Name</a>,
      <a style="font-style: italic;" href="#AllowedDomain::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#AllowedDomain::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#AllowedDomain::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#AllowedDomain::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#AllowedDomain::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#AllowedDomain::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#AllowedDomain::Region()">Region</a>,
      <a style="font-style: italic;" href="#AllowedDomain::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#AllowedDomain::Service()">Service</a>,
      <a style="font-style: italic;" href="#AllowedDomain::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#AllowedDomain::Status()">Status</a>,
      <a style="font-style: italic;" href="#AllowedDomain::Update()">Update</a>,
      <a style="font-style: italic;" href="#AllowedDomain::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#AllowedDomain::Url()">Url</a>,
      <a style="font-style: italic;" href="#AllowedDomain::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#AllowedDomain::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#AllowedDomain::__set()">__set</a>,
      <a style="font-style: italic;" href="#AllowedDomain::debug()">debug</a>,
      <a style="font-style: italic;" href="#AllowedDomain::to_string()">to_string</a>,
      <div class="method">
<a id="AllowedDomain::Action()"></a><h3>Action<span class="nb-faded-text">(
          \OpenCloud\$object
             
            $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;">\OpenCloud\$object</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.inc.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Creates a new object</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 values to set when creating the object</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\HttpResponse</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></tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Returns an object for the Create() method JSON</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>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.inc.html#%5COpenCloud%5CPersistentObject::CreateJson()"><small>\OpenCloud\PersistentObject::CreateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Deletes an object</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\HttpResponse</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></tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::Name()"><small>\OpenCloud\PersistentObject::Name()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::Parent()"><small>\OpenCloud\PersistentObject::Parent()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Updates an existing object</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 values to set when updating the object</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\HttpResponse</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></tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Returns an object for the Update() method JSON</em><br><small><p>Must be overridden in a child class.</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>$params</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>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::UpdateJson()"><small>\OpenCloud\PersistentObject::UpdateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CPersistentObject::Url()"><small>\OpenCloud\PersistentObject::Url()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          \OpenCloud\callable
             
            $callback
            = NULL,
          
          )
        </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;">\OpenCloud\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>
</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.inc.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::__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.inc.html#%5COpenCloud%5CPersistentObject::__construct()"><small>\OpenCloud\PersistentObject::__construct()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::__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.inc.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="AllowedDomain::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.inc.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_AllowedDomain">
<h4>Properties</h4>
<a href="#AllowedDomain::%24_errors">$_errors</a>,
      <a href="#AllowedDomain::%24_parent">$_parent</a>,
      <a href="#AllowedDomain::%24http_headers">$http_headers</a>,
      <a href="#AllowedDomain::%24id">$id</a>,
      <a href="#AllowedDomain::%24json_collection_element">$json_collection_element</a>,
      <a href="#AllowedDomain::%24json_collection_name">$json_collection_name</a>,
      <a href="#AllowedDomain::%24json_name">$json_name</a>,
      <a href="#AllowedDomain::%24name">$name</a>,
      <a href="#AllowedDomain::%24url_resource">$url_resource</a>,
      <div class="method">
<a id="AllowedDomain::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="AllowedDomain::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="AllowedDomain::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="AllowedDomain::$id"></a><h3>
<span class="nb-faded-text"> 
          protected 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="AllowedDomain::$json_collection_element"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_collection_element
          =
          'allowedDomain'</h3>
<em></em><br>
</div>
<div class="method">
<a id="AllowedDomain::$json_collection_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_collection_name
          =
          'allowedDomains'</h3>
<em></em><br>
</div>
<div class="method">
<a id="AllowedDomain::$json_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_name
          =
          'allowedDomain'</h3>
<em></em><br>
</div>
<div class="method">
<a id="AllowedDomain::$name"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$name
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="AllowedDomain::$url_resource"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$url_resource
          =
          'loadbalancers/alloweddomains'</h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
<div id="VirtualIp" class="class">
<h3>VirtualIp</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource">\OpenCloud\LoadBalancerService\SubResource</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>VirtualIp represents a single virtual IP (usually returned in a Collection)</em><br><p>Virtual IPs can be added to a load balancer when it is created; however,
this subresource allows the user to add or update them one at a time.</p><br><div id="methods_VirtualIp">
<h4>Methods</h4>
<a style="font-style: italic;" href="#VirtualIp::Action()">Action</a>,
      <a style="font-style: italic;" href="#VirtualIp::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#VirtualIp::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#VirtualIp::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#VirtualIp::Create()">Create</a>,
      <a style="font-style: italic;" href="#VirtualIp::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#VirtualIp::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#VirtualIp::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#VirtualIp::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#VirtualIp::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#VirtualIp::Id()">Id</a>,
      <a style="font-style: italic;" href="#VirtualIp::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#VirtualIp::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#VirtualIp::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#VirtualIp::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#VirtualIp::Name()">Name</a>,
      <a style="font-style: italic;" href="#VirtualIp::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#VirtualIp::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#VirtualIp::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#VirtualIp::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#VirtualIp::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#VirtualIp::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#VirtualIp::Region()">Region</a>,
      <a style="font-style: italic;" href="#VirtualIp::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#VirtualIp::Service()">Service</a>,
      <a style="font-style: italic;" href="#VirtualIp::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#VirtualIp::Status()">Status</a>,
      <a style="font-style: italic;" href="#VirtualIp::Update()">Update</a>,
      <a style="font-style: italic;" href="#VirtualIp::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#VirtualIp::Url()">Url</a>,
      <a style="font-style: italic;" href="#VirtualIp::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#VirtualIp::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#VirtualIp::__set()">__set</a>,
      <a style="font-style: italic;" href="#VirtualIp::debug()">debug</a>,
      <a style="font-style: italic;" href="#VirtualIp::to_string()">to_string</a>,
      <div class="method">
<a id="VirtualIp::Action()"></a><h3>Action<span class="nb-faded-text">(
          \OpenCloud\$object
             
            $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;">\OpenCloud\$object</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.inc.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Action()"><small>\OpenCloud\LoadBalancerService\SubResource::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckExtension()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Creates a new object</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 values to set when creating the object</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\HttpResponse</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 HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::Create()"><small>\OpenCloud\PersistentObject::Create()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Create()"><small>\OpenCloud\LoadBalancerService\SubResource::Create()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass;</span>
</h3>
<h4>Description</h4>
<em>returns the JSON document's object for creating the subresource</em><br><small><p>The value <code>$_create_keys</code> should be an array of names of data items
that can be used in the creation of the object.</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>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateUrl()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateUrl()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Deletes an object</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\HttpResponse</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 HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::Delete()"><small>\OpenCloud\PersistentObject::Delete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Delete()"><small>\OpenCloud\LoadBalancerService\SubResource::Delete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::FindLink()"><small>\OpenCloud\LoadBalancerService\SubResource::FindLink()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::GetHttpRequestObject()"><small>\OpenCloud\LoadBalancerService\SubResource::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Id()"><small>\OpenCloud\LoadBalancerService\SubResource::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionElement()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionElement()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::MakeQueryString()"><small>\OpenCloud\LoadBalancerService\SubResource::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::Name()"></a><h3>Name<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns a (default) name of the object</em><br><small><p>The name is constructed by the object class and the object's ID.</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Name()"><small>\OpenCloud\LoadBalancerService\SubResource::Name()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoCreate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoDelete()"><small>\OpenCloud\LoadBalancerService\SubResource::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoUpdate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::Parent()"></a><h3>Parent<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">mixed</span>
</h3>
<h4>Description</h4>
<em>returns the Parent object (usually a LoadBalancer, but sometimes another
SubResource)</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>mixed</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Parent()"><small>\OpenCloud\LoadBalancerService\SubResource::Parent()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::PrimaryKeyField()"><small>\OpenCloud\LoadBalancerService\SubResource::PrimaryKeyField()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Refresh()"><small>\OpenCloud\LoadBalancerService\SubResource::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Region()"><small>\OpenCloud\LoadBalancerService\SubResource::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::ResourceName()"><small>\OpenCloud\LoadBalancerService\SubResource::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Service()"><small>\OpenCloud\LoadBalancerService\SubResource::Service()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::SetProperty()"><small>\OpenCloud\LoadBalancerService\SubResource::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Status()"><small>\OpenCloud\LoadBalancerService\SubResource::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Updates an existing object</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 values to set when updating the object</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\HttpResponse</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></tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass</span>
</h3>
<h4>Description</h4>
<em>returns the JSON for the update (same as create)</em><br><small><p>For these subresources, the update JSON is the same as the Create JSON</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>$params</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>\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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::UpdateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::UpdateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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 URL of the SubResource</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>the subresource of the parent</p></td>
<td>NULL</td>
</tr>
<tr>
<td>$qstr</td>
<td style="white-space: normal;">array</td>
<td><p>an array of key/value pairs to be converted to query string parameters for the subresource</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>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if URL is not defined</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Url()"><small>\OpenCloud\LoadBalancerService\SubResource::Url()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          \OpenCloud\callable
             
            $callback
            = NULL,
          
          )
        </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;">\OpenCloud\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>
</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.inc.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::WaitFor()"><small>\OpenCloud\LoadBalancerService\SubResource::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::__construct()"></a><h3>__construct<span class="nb-faded-text">(
          mixed
             
            $obj,
          mixed
             
            $value
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>constructs the SubResource's object</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>$obj</td>
<td style="white-space: normal;">mixed</td>
<td><p>the parent object</p></td>
<td></td>
</tr>
<tr>
<td>$value</td>
<td style="white-space: normal;">mixed</td>
<td><p>the ID or array of values for the object</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__construct()"><small>\OpenCloud\LoadBalancerService\SubResource::__construct()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::__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.inc.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__set()"><small>\OpenCloud\LoadBalancerService\SubResource::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::debug()"><small>\OpenCloud\LoadBalancerService\SubResource::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="VirtualIp::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.inc.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::to_string()"><small>\OpenCloud\LoadBalancerService\SubResource::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_VirtualIp">
<h4>Properties</h4>
<a href="#VirtualIp::%24_create_keys">$_create_keys</a>,
      <a href="#VirtualIp::%24_errors">$_errors</a>,
      <a href="#VirtualIp::%24_parent">$_parent</a>,
      <a href="#VirtualIp::%24address">$address</a>,
      <a href="#VirtualIp::%24http_headers">$http_headers</a>,
      <a href="#VirtualIp::%24id">$id</a>,
      <a href="#VirtualIp::%24ipVersion">$ipVersion</a>,
      <a href="#VirtualIp::%24json_collection_name">$json_collection_name</a>,
      <a href="#VirtualIp::%24json_name">$json_name</a>,
      <a href="#VirtualIp::%24parent">$parent</a>,
      <a href="#VirtualIp::%24type">$type</a>,
      <a href="#VirtualIp::%24url_resource">$url_resource</a>,
      <div class="method">
<a id="VirtualIp::$_create_keys"></a><h3>
<span class="nb-faded-text"> 
          protected 
          </span>$_create_keys
          =
          array('type', 'ipVersion')</h3>
<em></em><br>
</div>
<div class="method">
<a id="VirtualIp::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="VirtualIp::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="VirtualIp::$address"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$address
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="VirtualIp::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="VirtualIp::$id"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="VirtualIp::$ipVersion"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$ipVersion
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="VirtualIp::$json_collection_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_collection_name
          =
          'virtualIps'</h3>
<em></em><br>
</div>
<div class="method">
<a id="VirtualIp::$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="VirtualIp::$parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="VirtualIp::$type"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$type
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="VirtualIp::$url_resource"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$url_resource
          =
          'virtualips'</h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
<div id="BillableLoadBalancer" class="class">
<h3>BillableLoadBalancer</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer">\OpenCloud\LoadBalancerService\LoadBalancer</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>used to get a list of billable load balancers for a specific date range</em><br><p>This class abstracts much of the common functionality between Nova
servers, Swift containers and objects, DBAAS instances, Cinder volumes,
and various other objects that (a) have a URL, (b) can be created, updated,
deleted, or retrieved, and (c) use a standard JSON format with a top-level
element followed by a child object with attributes.</p>

<p>In general, you can create a persistent object class by subclassing this
class and defining some protected, static variables:</p>

<ul>
<li><code>url_resource</code> - the sub-resource value in the URL of the parent. For
example, if the parent URL is <code>http://something/parent</code>, then setting
this value to <code>'another'</code> would result in a URL for the persistent
object of <code>http://something/parent/another</code>.</li>
<li><code>json_name</code> - the top-level JSON object name. For example, if the
persistent object is represented by <code>{"foo": {"attr":value, ...}}</code>, then
set <code>json_name = 'foo'</code>.</li>
<li><code>json_collection_name</code> - optional; this value is the name of a collection
of the persistent objects. If not provided, it defaults to <code>json_name</code>
with an appended <code>'s'</code> (e.g., if <code>json_name</code> is <code>"foo"</code>, then
<code>json_collection_name</code> would be <code>"foos"</code> by default). Set this value if
the collection name doesn't follow this pattern.</li>
<li><code>json_collection_element</code> - the common pattern for a collection is:
<code>{"collection": [{"attr":"value",...}, {"attr":"value",...}, ...]}</code>
That is, each element of the array is an anonymous object containing the
object's attributes. In (very) rare instances, the objects in the array
are named, and <code>json_collection_element</code> contains the name of the
collection objects. For example, in this:
<code>{"allowedDomain":[{"allowedDomain":{"name":"foo"}}]}</code>, then
<code>json_collection_element</code> would be set to <code>'allowedDomain'</code>.</li>
</ul>

<p>The PersistentObject class supports the standard <code>Create()</code>, <code>Update()</code>,
and <code>Delete()</code> methods; if these are not needed (i.e., not supported by
the service, the subclass should redefine these to call the
<code>NoCreate</code>, <code>NoUpdate</code>, or <code>NoDelete</code> methods, which will trigger an
appropriate exception. For example, if an object cannot be created:</p>

<p>function Create($parm=array()) { $this->NoCreate(); }</p>

<p>This will cause any call to the <code>Create()</code> method to fail with an
exception.</p><br><div id="methods_BillableLoadBalancer">
<h4>Methods</h4>
<a style="font-style: italic;" href="#BillableLoadBalancer::Access()">Access</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::AccessList()">AccessList</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Action()">Action</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::AddNode()">AddNode</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::AddNodes()">AddNodes</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::AddVirtualIp()">AddVirtualIp</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::ConnectionLogging()">ConnectionLogging</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::ConnectionThrottle()">ConnectionThrottle</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::ContentCaching()">ContentCaching</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Create()">Create</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::ErrorPage()">ErrorPage</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Id()">Id</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Metadata()">Metadata</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::MetadataList()">MetadataList</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Name()">Name</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Node()">Node</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::NodeEvent()">NodeEvent</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::NodeEventList()">NodeEventList</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::NodeList()">NodeList</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Region()">Region</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::SSLTermination()">SSLTermination</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Service()">Service</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::SessionPersistence()">SessionPersistence</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Stats()">Stats</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Status()">Status</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Update()">Update</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Url()">Url</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::Usage()">Usage</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::VirtualIp()">VirtualIp</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::VirtualIpList()">VirtualIpList</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::__set()">__set</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::debug()">debug</a>,
      <a style="font-style: italic;" href="#BillableLoadBalancer::to_string()">to_string</a>,
      <div class="method">
<a id="BillableLoadBalancer::Access()"></a><h3>Access<span class="nb-faded-text">(
          
             
            $data
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$data</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>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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Access()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Access()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::AccessList()"></a><h3>AccessList<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::AccessList()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::AccessList()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::Action()"></a><h3>Action<span class="nb-faded-text">(
          \OpenCloud\$object
             
            $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;">\OpenCloud\$object</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.inc.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Action()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::AddNode()"></a><h3>AddNode<span class="nb-faded-text">(
          string
             
            $addr,
          integer
             
            $port,
          boolean
             
            $condition
            = 'ENABLED',
          string
             
            $type
            = NULL,
          integer
             
            $weight
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">void</span>
</h3>
<h4>Description</h4>
<em>adds a node to the load balancer</em><br><small><p>This method creates a Node object and adds it to a list of Nodes
to be added to the LoadBalancer. <em>Very important:</em> this method <em>NEVER</em>
adds the nodes directly to the load balancer itself; it stores them
on the object, and the nodes are added later, in one of two ways:</p>

<ul>
<li>for a new LoadBalancer, the Nodes are added as part of the Create()
method call.</li>
<li>for an existing LoadBalancer, you must call the AddNodes() method</li>
</ul></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>$addr</td>
<td style="white-space: normal;">string</td>
<td><p>the IP address of the node</p></td>
<td></td>
</tr>
<tr>
<td>$port</td>
<td style="white-space: normal;">integer</td>
<td><p>the port # of the node</p></td>
<td></td>
</tr>
<tr>
<td>$condition</td>
<td style="white-space: normal;">boolean</td>
<td><p>the initial condition of the node</p></td>
<td>'ENABLED'</td>
</tr>
<tr>
<td>$type</td>
<td style="white-space: normal;">string</td>
<td><p>either PRIMARY or SECONDARY</p></td>
<td>NULL</td>
</tr>
<tr>
<td>$weight</td>
<td style="white-space: normal;">integer</td>
<td><p>the node weight (for round-robin)</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>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if value is not valid</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::AddNode()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::AddNode()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::AddNodes()"></a><h3>AddNodes<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\LoadBalancerService\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>adds queued nodes to the load balancer</em><br><small><p>In many cases, Nodes will be added to the Load Balancer when it is
created (via the <code>Create()</code> method), but this method is provided when
a set of Nodes needs to be added after the fact.</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\LoadBalancerService\HttpResponse</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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::AddNodes()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::AddNodes()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::AddVirtualIp()"></a><h3>AddVirtualIp<span class="nb-faded-text">(
          
             
            $type
            = 'PUBLIC',
          integer
             
            $ipVersion
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">void</span>
</h3>
<h4>Description</h4>
<em>adds a virtual IP to the load balancer</em><br><small><p>You can use the strings <code>'PUBLIC'</code> or <code>'SERVICENET</code>' to indicate the
public or internal networks, or you can pass the <code>Id</code> of an existing
IP address.</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>$type</td>
<td style="white-space: normal;">n/a</td>
<td></td>
<td>'PUBLIC'</td>
</tr>
<tr>
<td>$ipVersion</td>
<td style="white-space: normal;">integer</td>
<td><p>either null, 4, or 6 (both, IPv4, or IPv6)</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>api</td>
<td></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::AddVirtualIp()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::AddVirtualIp()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::CheckExtension()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::ConnectionLogging()"></a><h3>ConnectionLogging<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::ConnectionLogging()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::ConnectionLogging()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::ConnectionThrottle()"></a><h3>ConnectionThrottle<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::ConnectionThrottle()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::ConnectionThrottle()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::ContentCaching()"></a><h3>ContentCaching<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::ContentCaching()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::ContentCaching()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Creates a new object</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 values to set when creating the object</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\HttpResponse</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></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\LoadBalancerService\stdClass</span>
</h3>
<h4>Description</h4>
<em>returns the JSON object for 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>\OpenCloud\LoadBalancerService\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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::CreateJson()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::CreateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::CreateUrl()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::CreateUrl()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Deletes an object</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\HttpResponse</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></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::ErrorPage()"></a><h3>ErrorPage<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\LoadBalancerService\ErrorPage</span>
</h3>
<h4>Description</h4>
<em>returns the load balancer's error page object</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\LoadBalancerService\ErrorPage</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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::ErrorPage()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::ErrorPage()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::FindLink()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::FindLink()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::GetHttpRequestObject()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Id()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::JsonCollectionElement()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::JsonCollectionElement()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::JsonCollectionName()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::JsonCollectionName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::JsonName()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::MakeQueryString()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::Metadata()"></a><h3>Metadata<span class="nb-faded-text">(
          
             
            $data
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$data</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>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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Metadata()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Metadata()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::MetadataList()"></a><h3>MetadataList<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::MetadataList()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::MetadataList()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::Name()"><small>\OpenCloud\PersistentObject::Name()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Name()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Name()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::NoCreate()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::NoDelete()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::NoUpdate()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::Node()"></a><h3>Node<span class="nb-faded-text">(
          
             
            $id
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns a Node object</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>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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Node()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Node()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::NodeEvent()"></a><h3>NodeEvent<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns a NodeEvent 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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::NodeEvent()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::NodeEvent()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::NodeEventList()"></a><h3>NodeEventList<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns a Collection of NodeEvents</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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::NodeEventList()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::NodeEventList()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::NodeList()"></a><h3>NodeList<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns a Collection of Nodes</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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::NodeList()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::NodeList()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::Parent()"><small>\OpenCloud\PersistentObject::Parent()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Parent()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Parent()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::PrimaryKeyField()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::PrimaryKeyField()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Refresh()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Region()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::ResourceName()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::SSLTermination()"></a><h3>SSLTermination<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::SSLTermination()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::SSLTermination()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Service()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Service()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::SessionPersistence()"></a><h3>SessionPersistence<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::SessionPersistence()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::SessionPersistence()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::SetProperty()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::Stats()"></a><h3>Stats<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\LoadBalancerService\Stats</span>
</h3>
<h4>Description</h4>
<em>returns statistics on the load balancer operation</em><br><small><p>cannot be created, updated, or deleted</p></small><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\LoadBalancerService\Stats</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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Stats()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Stats()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Status()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Updates an existing object</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 values to set when updating the object</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\HttpResponse</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></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>Returns an object for the Update() method JSON</em><br><small><p>Must be overridden in a child class.</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>$params</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>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::UpdateJson()"><small>\OpenCloud\PersistentObject::UpdateJson()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::UpdateJson()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::UpdateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CPersistentObject::Url()"><small>\OpenCloud\PersistentObject::Url()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Url()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Url()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::Usage()"></a><h3>Usage<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::Usage()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::Usage()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::VirtualIp()"></a><h3>VirtualIp<span class="nb-faded-text">(
          
             
            $data
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns a single Virtual IP (not called publicly)</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>$data</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>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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::VirtualIp()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::VirtualIp()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::VirtualIpList()"></a><h3>VirtualIpList<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>returns  a Collection of Virtual Ips</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="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::VirtualIpList()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::VirtualIpList()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          \OpenCloud\callable
             
            $callback
            = NULL,
          
          )
        </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;">\OpenCloud\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>
</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.inc.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::WaitFor()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::__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.inc.html#%5COpenCloud%5CPersistentObject::__construct()"><small>\OpenCloud\PersistentObject::__construct()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::__construct()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::__construct()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::__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.inc.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::__set()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::debug()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="BillableLoadBalancer::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.inc.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="loadbalancer.inc.html#%5COpenCloud%5CLoadBalancerService%5CLoadBalancer::to_string()"><small>\OpenCloud\LoadBalancerService\LoadBalancer::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_BillableLoadBalancer">
<h4>Properties</h4>
<a href="#BillableLoadBalancer::%24_create_keys">$_create_keys</a>,
      <a href="#BillableLoadBalancer::%24_errors">$_errors</a>,
      <a href="#BillableLoadBalancer::%24_parent">$_parent</a>,
      <a href="#BillableLoadBalancer::%24accessList">$accessList</a>,
      <a href="#BillableLoadBalancer::%24algorithm">$algorithm</a>,
      <a href="#BillableLoadBalancer::%24connectionLogging">$connectionLogging</a>,
      <a href="#BillableLoadBalancer::%24connectionThrottle">$connectionThrottle</a>,
      <a href="#BillableLoadBalancer::%24created">$created</a>,
      <a href="#BillableLoadBalancer::%24healthMonitor">$healthMonitor</a>,
      <a href="#BillableLoadBalancer::%24http_headers">$http_headers</a>,
      <a href="#BillableLoadBalancer::%24id">$id</a>,
      <a href="#BillableLoadBalancer::%24json_name">$json_name</a>,
      <a href="#BillableLoadBalancer::%24metadata">$metadata</a>,
      <a href="#BillableLoadBalancer::%24name">$name</a>,
      <a href="#BillableLoadBalancer::%24nodes">$nodes</a>,
      <a href="#BillableLoadBalancer::%24port">$port</a>,
      <a href="#BillableLoadBalancer::%24protocol">$protocol</a>,
      <a href="#BillableLoadBalancer::%24sessionPersistence">$sessionPersistence</a>,
      <a href="#BillableLoadBalancer::%24sourceAddresses">$sourceAddresses</a>,
      <a href="#BillableLoadBalancer::%24updated">$updated</a>,
      <a href="#BillableLoadBalancer::%24url_resource">$url_resource</a>,
      <a href="#BillableLoadBalancer::%24virtualIps">$virtualIps</a>,
      <div class="method">
<a id="BillableLoadBalancer::$_create_keys"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_create_keys
          =
          array('name', 'port', 'protocol', 'virtualIps', 'nodes', 'accessList', 'algorithm', 'connectionLogging', 'connectionThrottle', 'healthMonitor', 'sessionPersistence')</h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$accessList"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$accessList
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$algorithm"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$algorithm
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$connectionLogging"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$connectionLogging
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$connectionThrottle"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$connectionThrottle
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$created"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$created
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$healthMonitor"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$healthMonitor
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$id"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$json_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_name
          =
          'loadBalancer'</h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$metadata"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$metadata
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$name"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$name
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$nodes"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$nodes
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$port"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$port
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$protocol"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$protocol
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$sessionPersistence"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$sessionPersistence
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$sourceAddresses"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$sourceAddresses
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$updated"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$updated
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$url_resource"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$url_resource
          =
          'loadbalancers/billable'</h3>
<em></em><br>
</div>
<div class="method">
<a id="BillableLoadBalancer::$virtualIps"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$virtualIps
          =
          array()</h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
<div id="Usage" class="class">
<h3>Usage</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource">\OpenCloud\LoadBalancerService\ReadonlySubResource</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>used to get usage data for a load balancer</em><br><p>Many subresources are like this, and this simplifies their
class definitions.</p><br><div id="methods_Usage">
<h4>Methods</h4>
<a style="font-style: italic;" href="#Usage::Action()">Action</a>,
      <a style="font-style: italic;" href="#Usage::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#Usage::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#Usage::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#Usage::Create()">Create</a>,
      <a style="font-style: italic;" href="#Usage::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#Usage::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#Usage::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#Usage::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#Usage::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#Usage::Id()">Id</a>,
      <a style="font-style: italic;" href="#Usage::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#Usage::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#Usage::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#Usage::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#Usage::Name()">Name</a>,
      <a style="font-style: italic;" href="#Usage::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#Usage::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#Usage::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#Usage::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#Usage::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#Usage::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#Usage::Region()">Region</a>,
      <a style="font-style: italic;" href="#Usage::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#Usage::Service()">Service</a>,
      <a style="font-style: italic;" href="#Usage::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#Usage::Status()">Status</a>,
      <a style="font-style: italic;" href="#Usage::Update()">Update</a>,
      <a style="font-style: italic;" href="#Usage::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#Usage::Url()">Url</a>,
      <a style="font-style: italic;" href="#Usage::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#Usage::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#Usage::__set()">__set</a>,
      <a style="font-style: italic;" href="#Usage::debug()">debug</a>,
      <a style="font-style: italic;" href="#Usage::to_string()">to_string</a>,
      <div class="method">
<a id="Usage::Action()"></a><h3>Action<span class="nb-faded-text">(
          \OpenCloud\$object
             
            $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;">\OpenCloud\$object</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.inc.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Action()"><small>\OpenCloud\LoadBalancerService\SubResource::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Action()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckExtension()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CheckExtension()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Create</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 values to set when creating the object</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\HttpResponse</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Create()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Create()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass;</span>
</h3>
<h4>Description</h4>
<em>returns the JSON document's object for creating the subresource</em><br><small><p>The value <code>$_create_keys</code> should be an array of names of data items
that can be used in the creation of the object.</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>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateJson()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CreateJson()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CreateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateUrl()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CreateUrl()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CreateUrl()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Delete</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\HttpResponse</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Delete()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Delete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::FindLink()"><small>\OpenCloud\LoadBalancerService\SubResource::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::FindLink()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::FindLink()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::GetHttpRequestObject()"><small>\OpenCloud\LoadBalancerService\SubResource::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::GetHttpRequestObject()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Id()"><small>\OpenCloud\LoadBalancerService\SubResource::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Id()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionElement()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::JsonCollectionElement()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::JsonCollectionElement()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::JsonCollectionName()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::JsonCollectionName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::JsonName()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::MakeQueryString()"><small>\OpenCloud\LoadBalancerService\SubResource::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::MakeQueryString()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::Name()"></a><h3>Name<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns a (default) name of the object</em><br><small><p>The name is constructed by the object class and the object's ID.</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Name()"><small>\OpenCloud\LoadBalancerService\SubResource::Name()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Name()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Name()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoCreate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::NoCreate()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoDelete()"><small>\OpenCloud\LoadBalancerService\SubResource::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::NoDelete()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoUpdate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::NoUpdate()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::Parent()"></a><h3>Parent<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">mixed</span>
</h3>
<h4>Description</h4>
<em>returns the Parent object (usually a LoadBalancer, but sometimes another
SubResource)</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>mixed</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Parent()"><small>\OpenCloud\LoadBalancerService\SubResource::Parent()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Parent()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Parent()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::PrimaryKeyField()"><small>\OpenCloud\LoadBalancerService\SubResource::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::PrimaryKeyField()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::PrimaryKeyField()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Refresh()"><small>\OpenCloud\LoadBalancerService\SubResource::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Refresh()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Region()"><small>\OpenCloud\LoadBalancerService\SubResource::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Region()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::ResourceName()"><small>\OpenCloud\LoadBalancerService\SubResource::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::ResourceName()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Service()"><small>\OpenCloud\LoadBalancerService\SubResource::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Service()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Service()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::SetProperty()"><small>\OpenCloud\LoadBalancerService\SubResource::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::SetProperty()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Status()"><small>\OpenCloud\LoadBalancerService\SubResource::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Status()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Update</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 values to set when updating the object</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\HttpResponse</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Update()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Update()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass</span>
</h3>
<h4>Description</h4>
<em>returns the JSON for the update (same as create)</em><br><small><p>For these subresources, the update JSON is the same as the Create JSON</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>$params</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>\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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::UpdateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::UpdateJson()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::UpdateJson()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::UpdateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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 URL of the SubResource</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>the subresource of the parent</p></td>
<td>NULL</td>
</tr>
<tr>
<td>$qstr</td>
<td style="white-space: normal;">array</td>
<td><p>an array of key/value pairs to be converted to query string parameters for the subresource</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>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if URL is not defined</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Url()"><small>\OpenCloud\LoadBalancerService\SubResource::Url()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Url()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Url()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          \OpenCloud\callable
             
            $callback
            = NULL,
          
          )
        </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;">\OpenCloud\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>
</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.inc.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::WaitFor()"><small>\OpenCloud\LoadBalancerService\SubResource::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::WaitFor()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::__construct()"></a><h3>__construct<span class="nb-faded-text">(
          mixed
             
            $obj,
          mixed
             
            $value
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>constructs the SubResource's object</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>$obj</td>
<td style="white-space: normal;">mixed</td>
<td><p>the parent object</p></td>
<td></td>
</tr>
<tr>
<td>$value</td>
<td style="white-space: normal;">mixed</td>
<td><p>the ID or array of values for the object</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__construct()"><small>\OpenCloud\LoadBalancerService\SubResource::__construct()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::__construct()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::__construct()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::__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.inc.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__set()"><small>\OpenCloud\LoadBalancerService\SubResource::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::__set()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::debug()"><small>\OpenCloud\LoadBalancerService\SubResource::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::debug()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Usage::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.inc.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::to_string()"><small>\OpenCloud\LoadBalancerService\SubResource::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::to_string()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_Usage">
<h4>Properties</h4>
<a href="#Usage::%24_errors">$_errors</a>,
      <a href="#Usage::%24_parent">$_parent</a>,
      <a href="#Usage::%24averageNumConnections">$averageNumConnections</a>,
      <a href="#Usage::%24averageNumConnectionsSsl">$averageNumConnectionsSsl</a>,
      <a href="#Usage::%24endTime">$endTime</a>,
      <a href="#Usage::%24eventType">$eventType</a>,
      <a href="#Usage::%24http_headers">$http_headers</a>,
      <a href="#Usage::%24id">$id</a>,
      <a href="#Usage::%24incomingTransfer">$incomingTransfer</a>,
      <a href="#Usage::%24incomingTransferSsl">$incomingTransferSsl</a>,
      <a href="#Usage::%24json_name">$json_name</a>,
      <a href="#Usage::%24numPolls">$numPolls</a>,
      <a href="#Usage::%24numVips">$numVips</a>,
      <a href="#Usage::%24outgoingTransfer">$outgoingTransfer</a>,
      <a href="#Usage::%24outgoingTransferSsl">$outgoingTransferSsl</a>,
      <a href="#Usage::%24parent">$parent</a>,
      <a href="#Usage::%24sslMode">$sslMode</a>,
      <a href="#Usage::%24startTime">$startTime</a>,
      <a href="#Usage::%24url_resource">$url_resource</a>,
      <a href="#Usage::%24vipType">$vipType</a>,
      <div class="method">
<a id="Usage::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$averageNumConnections"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$averageNumConnections
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$averageNumConnectionsSsl"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$averageNumConnectionsSsl
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$endTime"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$endTime
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$eventType"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$eventType
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$id"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$incomingTransfer"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$incomingTransfer
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$incomingTransferSsl"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$incomingTransferSsl
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$json_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_name
          =
          'loadBalancerUsageRecord'</h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$numPolls"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$numPolls
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$numVips"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$numVips
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$outgoingTransfer"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$outgoingTransfer
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$outgoingTransferSsl"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$outgoingTransferSsl
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$sslMode"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$sslMode
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$startTime"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$startTime
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$url_resource"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$url_resource
          =
          'usage'</h3>
<em></em><br>
</div>
<div class="method">
<a id="Usage::$vipType"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$vipType
          =
          </h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
<div id="Access" class="class">
<h3>Access</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource">\OpenCloud\LoadBalancerService\SubResource</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>sub-resource to manage access lists</em><br><p>Since most of the subresources are
handled in a similar manner, this consolidates the functions.</p>

<p>There are really four pieces of data that define a subresource:
* <code>$url_resource</code> - the actual name of the url component
* <code>$json_name</code> - the name of the JSON object holding the data
* <code>$json_collection_name</code> - if the collection is not simply
  <code>$json_name . 's'</code>, this defines the collectio name.
* <code>$json_collection_element</code> - if the object in a collection is not
  anonymous, this defines the name of the element holding the object.
Of these, only the <code>$json_name</code> and <code>$url_resource</code> are required.</p><br><div id="methods_Access">
<h4>Methods</h4>
<a style="font-style: italic;" href="#Access::Action()">Action</a>,
      <a style="font-style: italic;" href="#Access::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#Access::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#Access::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#Access::Create()">Create</a>,
      <a style="font-style: italic;" href="#Access::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#Access::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#Access::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#Access::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#Access::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#Access::Id()">Id</a>,
      <a style="font-style: italic;" href="#Access::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#Access::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#Access::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#Access::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#Access::Name()">Name</a>,
      <a style="font-style: italic;" href="#Access::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#Access::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#Access::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#Access::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#Access::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#Access::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#Access::Region()">Region</a>,
      <a style="font-style: italic;" href="#Access::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#Access::Service()">Service</a>,
      <a style="font-style: italic;" href="#Access::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#Access::Status()">Status</a>,
      <a style="font-style: italic;" href="#Access::Update()">Update</a>,
      <a style="font-style: italic;" href="#Access::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#Access::Url()">Url</a>,
      <a style="font-style: italic;" href="#Access::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#Access::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#Access::__set()">__set</a>,
      <a style="font-style: italic;" href="#Access::debug()">debug</a>,
      <a style="font-style: italic;" href="#Access::to_string()">to_string</a>,
      <div class="method">
<a id="Access::Action()"></a><h3>Action<span class="nb-faded-text">(
          \OpenCloud\$object
             
            $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;">\OpenCloud\$object</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.inc.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Action()"><small>\OpenCloud\LoadBalancerService\SubResource::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckExtension()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Creates a new object</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 values to set when creating the object</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\HttpResponse</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 HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::Create()"><small>\OpenCloud\PersistentObject::Create()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Create()"><small>\OpenCloud\LoadBalancerService\SubResource::Create()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass;</span>
</h3>
<h4>Description</h4>
<em>returns the JSON document's object for creating the subresource</em><br><small><p>The value <code>$_create_keys</code> should be an array of names of data items
that can be used in the creation of the object.</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>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateUrl()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateUrl()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Deletes an object</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\HttpResponse</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 HTTP status is not Success</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::Delete()"><small>\OpenCloud\PersistentObject::Delete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Delete()"><small>\OpenCloud\LoadBalancerService\SubResource::Delete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::FindLink()"><small>\OpenCloud\LoadBalancerService\SubResource::FindLink()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::GetHttpRequestObject()"><small>\OpenCloud\LoadBalancerService\SubResource::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Id()"><small>\OpenCloud\LoadBalancerService\SubResource::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionElement()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionElement()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::MakeQueryString()"><small>\OpenCloud\LoadBalancerService\SubResource::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::Name()"></a><h3>Name<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns a (default) name of the object</em><br><small><p>The name is constructed by the object class and the object's ID.</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Name()"><small>\OpenCloud\LoadBalancerService\SubResource::Name()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoCreate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoDelete()"><small>\OpenCloud\LoadBalancerService\SubResource::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoUpdate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::Parent()"></a><h3>Parent<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">mixed</span>
</h3>
<h4>Description</h4>
<em>returns the Parent object (usually a LoadBalancer, but sometimes another
SubResource)</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>mixed</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Parent()"><small>\OpenCloud\LoadBalancerService\SubResource::Parent()</small></a></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::PrimaryKeyField()"><small>\OpenCloud\LoadBalancerService\SubResource::PrimaryKeyField()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Refresh()"><small>\OpenCloud\LoadBalancerService\SubResource::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Region()"><small>\OpenCloud\LoadBalancerService\SubResource::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::ResourceName()"><small>\OpenCloud\LoadBalancerService\SubResource::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Service()"><small>\OpenCloud\LoadBalancerService\SubResource::Service()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::SetProperty()"><small>\OpenCloud\LoadBalancerService\SubResource::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Status()"><small>\OpenCloud\LoadBalancerService\SubResource::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>Updates an existing object</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 values to set when updating the object</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\HttpResponse</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></tbody>
</table>
</div>
<div class="method">
<a id="Access::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass</span>
</h3>
<h4>Description</h4>
<em>returns the JSON for the update (same as create)</em><br><small><p>For these subresources, the update JSON is the same as the Create JSON</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>$params</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>\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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::UpdateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::UpdateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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 URL of the SubResource</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>the subresource of the parent</p></td>
<td>NULL</td>
</tr>
<tr>
<td>$qstr</td>
<td style="white-space: normal;">array</td>
<td><p>an array of key/value pairs to be converted to query string parameters for the subresource</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>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if URL is not defined</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Url()"><small>\OpenCloud\LoadBalancerService\SubResource::Url()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          \OpenCloud\callable
             
            $callback
            = NULL,
          
          )
        </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;">\OpenCloud\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>
</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.inc.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::WaitFor()"><small>\OpenCloud\LoadBalancerService\SubResource::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::__construct()"></a><h3>__construct<span class="nb-faded-text">(
          mixed
             
            $obj,
          mixed
             
            $value
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>constructs the SubResource's object</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>$obj</td>
<td style="white-space: normal;">mixed</td>
<td><p>the parent object</p></td>
<td></td>
</tr>
<tr>
<td>$value</td>
<td style="white-space: normal;">mixed</td>
<td><p>the ID or array of values for the object</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__construct()"><small>\OpenCloud\LoadBalancerService\SubResource::__construct()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::__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.inc.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__set()"><small>\OpenCloud\LoadBalancerService\SubResource::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::debug()"><small>\OpenCloud\LoadBalancerService\SubResource::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="Access::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.inc.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::to_string()"><small>\OpenCloud\LoadBalancerService\SubResource::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_Access">
<h4>Properties</h4>
<a href="#Access::%24_create_keys">$_create_keys</a>,
      <a href="#Access::%24_errors">$_errors</a>,
      <a href="#Access::%24_parent">$_parent</a>,
      <a href="#Access::%24address">$address</a>,
      <a href="#Access::%24http_headers">$http_headers</a>,
      <a href="#Access::%24id">$id</a>,
      <a href="#Access::%24json_name">$json_name</a>,
      <a href="#Access::%24parent">$parent</a>,
      <a href="#Access::%24type">$type</a>,
      <a href="#Access::%24url_resource">$url_resource</a>,
      <div class="method">
<a id="Access::$_create_keys"></a><h3>
<span class="nb-faded-text"> 
          protected 
          </span>$_create_keys
          =
          array('type', 'address')</h3>
<em></em><br>
</div>
<div class="method">
<a id="Access::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Access::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Access::$address"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$address
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Access::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="Access::$id"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Access::$json_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_name
          =
          "accessList"</h3>
<em></em><br>
</div>
<div class="method">
<a id="Access::$parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Access::$type"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$type
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="Access::$url_resource"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$url_resource
          =
          "accesslist"</h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
<div id="HealthMonitor" class="class">
<h3>HealthMonitor</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource">\OpenCloud\LoadBalancerService\ReadonlySubResource</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>sub-resource to read health monitor info</em><br><p>Many subresources are like this, and this simplifies their
class definitions.</p><br><div id="methods_HealthMonitor">
<h4>Methods</h4>
<a style="font-style: italic;" href="#HealthMonitor::Action()">Action</a>,
      <a style="font-style: italic;" href="#HealthMonitor::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#HealthMonitor::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#HealthMonitor::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#HealthMonitor::Create()">Create</a>,
      <a style="font-style: italic;" href="#HealthMonitor::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#HealthMonitor::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#HealthMonitor::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#HealthMonitor::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#HealthMonitor::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#HealthMonitor::Id()">Id</a>,
      <a style="font-style: italic;" href="#HealthMonitor::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#HealthMonitor::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#HealthMonitor::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#HealthMonitor::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#HealthMonitor::Name()">Name</a>,
      <a style="font-style: italic;" href="#HealthMonitor::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#HealthMonitor::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#HealthMonitor::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#HealthMonitor::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#HealthMonitor::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#HealthMonitor::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#HealthMonitor::Region()">Region</a>,
      <a style="font-style: italic;" href="#HealthMonitor::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#HealthMonitor::Service()">Service</a>,
      <a style="font-style: italic;" href="#HealthMonitor::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#HealthMonitor::Status()">Status</a>,
      <a style="font-style: italic;" href="#HealthMonitor::Update()">Update</a>,
      <a style="font-style: italic;" href="#HealthMonitor::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#HealthMonitor::Url()">Url</a>,
      <a style="font-style: italic;" href="#HealthMonitor::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#HealthMonitor::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#HealthMonitor::__set()">__set</a>,
      <a style="font-style: italic;" href="#HealthMonitor::debug()">debug</a>,
      <a style="font-style: italic;" href="#HealthMonitor::to_string()">to_string</a>,
      <div class="method">
<a id="HealthMonitor::Action()"></a><h3>Action<span class="nb-faded-text">(
          \OpenCloud\$object
             
            $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;">\OpenCloud\$object</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.inc.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Action()"><small>\OpenCloud\LoadBalancerService\SubResource::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Action()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckExtension()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CheckExtension()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::Create()"></a><h3>Create<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Create</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 values to set when creating the object</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\HttpResponse</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Create()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Create()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass;</span>
</h3>
<h4>Description</h4>
<em>returns the JSON document's object for creating the subresource</em><br><small><p>The value <code>$_create_keys</code> should be an array of names of data items
that can be used in the creation of the object.</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>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateJson()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CreateJson()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CreateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::CreateUrl()"><small>\OpenCloud\PersistentObject::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateUrl()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateUrl()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::CreateUrl()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::CreateUrl()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::Delete()"></a><h3>Delete<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Delete</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>\OpenCloud\HttpResponse</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Delete()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Delete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::FindLink()"><small>\OpenCloud\PersistentObject::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::FindLink()"><small>\OpenCloud\LoadBalancerService\SubResource::FindLink()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::FindLink()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::FindLink()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CBase::GetHttpRequestObject()"><small>\OpenCloud\Base::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::GetHttpRequestObject()"><small>\OpenCloud\PersistentObject::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::GetHttpRequestObject()"><small>\OpenCloud\LoadBalancerService\SubResource::GetHttpRequestObject()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::GetHttpRequestObject()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::GetHttpRequestObject()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::Id()"><small>\OpenCloud\PersistentObject::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Id()"><small>\OpenCloud\LoadBalancerService\SubResource::Id()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Id()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Id()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionElement()"><small>\OpenCloud\PersistentObject::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionElement()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionElement()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::JsonCollectionElement()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::JsonCollectionElement()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::JsonCollectionName()"><small>\OpenCloud\PersistentObject::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonCollectionName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonCollectionName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::JsonCollectionName()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::JsonCollectionName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::JsonName()"><small>\OpenCloud\PersistentObject::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::JsonName()"><small>\OpenCloud\LoadBalancerService\SubResource::JsonName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::JsonName()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::JsonName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CBase::MakeQueryString()"><small>\OpenCloud\Base::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::MakeQueryString()"><small>\OpenCloud\PersistentObject::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::MakeQueryString()"><small>\OpenCloud\LoadBalancerService\SubResource::MakeQueryString()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::MakeQueryString()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::MakeQueryString()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::Name()"></a><h3>Name<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>returns a (default) name of the object</em><br><small><p>The name is constructed by the object class and the object's ID.</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Name()"><small>\OpenCloud\LoadBalancerService\SubResource::Name()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Name()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Name()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::NoCreate()"><small>\OpenCloud\PersistentObject::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoCreate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoCreate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::NoCreate()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::NoCreate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::NoDelete()"><small>\OpenCloud\PersistentObject::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoDelete()"><small>\OpenCloud\LoadBalancerService\SubResource::NoDelete()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::NoDelete()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::NoDelete()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::NoUpdate()"><small>\OpenCloud\PersistentObject::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::NoUpdate()"><small>\OpenCloud\LoadBalancerService\SubResource::NoUpdate()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::NoUpdate()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::NoUpdate()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::Parent()"></a><h3>Parent<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">mixed</span>
</h3>
<h4>Description</h4>
<em>returns the Parent object (usually a LoadBalancer, but sometimes another
SubResource)</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>mixed</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Parent()"><small>\OpenCloud\LoadBalancerService\SubResource::Parent()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Parent()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Parent()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::PrimaryKeyField()"><small>\OpenCloud\PersistentObject::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::PrimaryKeyField()"><small>\OpenCloud\LoadBalancerService\SubResource::PrimaryKeyField()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::PrimaryKeyField()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::PrimaryKeyField()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::Refresh()"><small>\OpenCloud\PersistentObject::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Refresh()"><small>\OpenCloud\LoadBalancerService\SubResource::Refresh()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Refresh()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Refresh()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::Region()"><small>\OpenCloud\PersistentObject::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Region()"><small>\OpenCloud\LoadBalancerService\SubResource::Region()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Region()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Region()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::ResourceName()"><small>\OpenCloud\PersistentObject::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::ResourceName()"><small>\OpenCloud\LoadBalancerService\SubResource::ResourceName()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::ResourceName()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::ResourceName()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::Service()"><small>\OpenCloud\PersistentObject::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Service()"><small>\OpenCloud\LoadBalancerService\SubResource::Service()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Service()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Service()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CBase::SetProperty()"><small>\OpenCloud\Base::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::SetProperty()"><small>\OpenCloud\PersistentObject::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::SetProperty()"><small>\OpenCloud\LoadBalancerService\SubResource::SetProperty()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::SetProperty()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::SetProperty()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CPersistentObject::Status()"><small>\OpenCloud\PersistentObject::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Status()"><small>\OpenCloud\LoadBalancerService\SubResource::Status()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Status()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Status()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::Update()"></a><h3>Update<span class="nb-faded-text">(
          array
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>no Update</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 values to set when updating the object</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\HttpResponse</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Update()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Update()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::UpdateJson()"></a><h3>UpdateJson<span class="nb-faded-text">(
          
             
            $params
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass</span>
</h3>
<h4>Description</h4>
<em>returns the JSON for the update (same as create)</em><br><small><p>For these subresources, the update JSON is the same as the Create JSON</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>$params</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>\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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::UpdateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::UpdateJson()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::UpdateJson()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::UpdateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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 URL of the SubResource</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>the subresource of the parent</p></td>
<td>NULL</td>
</tr>
<tr>
<td>$qstr</td>
<td style="white-space: normal;">array</td>
<td><p>an array of key/value pairs to be converted to query string parameters for the subresource</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>api</td>
<td></td>
</tr>
<tr>
<td>throws</td>
<td>if URL is not defined</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Url()"><small>\OpenCloud\LoadBalancerService\SubResource::Url()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::Url()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::Url()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::WaitFor()"></a><h3>WaitFor<span class="nb-faded-text">(
          string
             
            $terminal
            = 'ACTIVE',
          integer
             
            $timeout
            = RAXSDK_SERVER_MAXTIMEOUT,
          \OpenCloud\callable
             
            $callback
            = NULL,
          
          )
        </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;">\OpenCloud\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>
</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.inc.html#%5COpenCloud%5CPersistentObject::WaitFor()"><small>\OpenCloud\PersistentObject::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::WaitFor()"><small>\OpenCloud\LoadBalancerService\SubResource::WaitFor()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::WaitFor()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::WaitFor()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::__construct()"></a><h3>__construct<span class="nb-faded-text">(
          mixed
             
            $obj,
          mixed
             
            $value
            = NULL,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>constructs the SubResource's object</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>$obj</td>
<td style="white-space: normal;">mixed</td>
<td><p>the parent object</p></td>
<td></td>
</tr>
<tr>
<td>$value</td>
<td style="white-space: normal;">mixed</td>
<td><p>the ID or array of values for the object</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="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__construct()"><small>\OpenCloud\LoadBalancerService\SubResource::__construct()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::__construct()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::__construct()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::__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.inc.html#%5COpenCloud%5CPersistentObject::__set()"><small>\OpenCloud\PersistentObject::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::__set()"><small>\OpenCloud\LoadBalancerService\SubResource::__set()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::__set()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::__set()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CBase::debug()"><small>\OpenCloud\Base::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::debug()"><small>\OpenCloud\PersistentObject::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::debug()"><small>\OpenCloud\LoadBalancerService\SubResource::debug()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::debug()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::debug()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="HealthMonitor::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.inc.html#%5COpenCloud%5CBase::to_string()"><small>\OpenCloud\Base::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::to_string()"><small>\OpenCloud\PersistentObject::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::to_string()"><small>\OpenCloud\LoadBalancerService\SubResource::to_string()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CReadonlySubResource::to_string()"><small>\OpenCloud\LoadBalancerService\ReadonlySubResource::to_string()</small></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="properties_HealthMonitor">
<h4>Properties</h4>
<a href="#HealthMonitor::%24_errors">$_errors</a>,
      <a href="#HealthMonitor::%24_parent">$_parent</a>,
      <a href="#HealthMonitor::%24http_headers">$http_headers</a>,
      <a href="#HealthMonitor::%24id">$id</a>,
      <a href="#HealthMonitor::%24json_name">$json_name</a>,
      <a href="#HealthMonitor::%24parent">$parent</a>,
      <a href="#HealthMonitor::%24type">$type</a>,
      <a href="#HealthMonitor::%24url_resource">$url_resource</a>,
      <div class="method">
<a id="HealthMonitor::$_errors"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_errors
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="HealthMonitor::$_parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$_parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="HealthMonitor::$http_headers"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$http_headers
          =
          array()</h3>
<em></em><br>
</div>
<div class="method">
<a id="HealthMonitor::$id"></a><h3>
<span class="nb-faded-text"> 
          protected 
          </span>$id
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="HealthMonitor::$json_name"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$json_name
          =
          'healthMonitor'</h3>
<em></em><br>
</div>
<div class="method">
<a id="HealthMonitor::$parent"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$parent
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="HealthMonitor::$type"></a><h3>
<span class="nb-faded-text"> 
          public 
          </span>$type
          =
          </h3>
<em></em><br>
</div>
<div class="method">
<a id="HealthMonitor::$url_resource"></a><h3>
<span class="nb-faded-text"> 
          protected 
          static </span>$url_resource
          =
          'healthmonitor'</h3>
<em></em><br>
</div>
</div>
<div style="clear: both"></div>
</div>
<div id="ConnectionThrottle" class="class">
<h3>ConnectionThrottle</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value">
<a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource">\OpenCloud\LoadBalancerService\SubResource</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>sub-resource to manage connection throttling</em><br><p>Since most of the subresources are
handled in a similar manner, this consolidates the functions.</p>

<p>There are really four pieces of data that define a subresource:
* <code>$url_resource</code> - the actual name of the url component
* <code>$json_name</code> - the name of the JSON object holding the data
* <code>$json_collection_name</code> - if the collection is not simply
  <code>$json_name . 's'</code>, this defines the collectio name.
* <code>$json_collection_element</code> - if the object in a collection is not
  anonymous, this defines the name of the element holding the object.
Of these, only the <code>$json_name</code> and <code>$url_resource</code> are required.</p><br><div id="methods_ConnectionThrottle">
<h4>Methods</h4>
<a style="font-style: italic;" href="#ConnectionThrottle::Action()">Action</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::CheckAttributePrefix()">CheckAttributePrefix</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::CheckExtension()">CheckExtension</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::CheckJsonError()">CheckJsonError</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::Create()">Create</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::CreateJson()">CreateJson</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::CreateUrl()">CreateUrl</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::Delete()">Delete</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::FindLink()">FindLink</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::GetHttpRequestObject()">GetHttpRequestObject</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::Id()">Id</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::JsonCollectionElement()">JsonCollectionElement</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::JsonCollectionName()">JsonCollectionName</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::JsonName()">JsonName</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::MakeQueryString()">MakeQueryString</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::Name()">Name</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::NoCreate()">NoCreate</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::NoDelete()">NoDelete</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::NoUpdate()">NoUpdate</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::Parent()">Parent</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::PrimaryKeyField()">PrimaryKeyField</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::Refresh()">Refresh</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::Region()">Region</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::ResourceName()">ResourceName</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::Service()">Service</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::SetProperty()">SetProperty</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::Status()">Status</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::Update()">Update</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::UpdateJson()">UpdateJson</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::Url()">Url</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::WaitFor()">WaitFor</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::__construct()">__construct</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::__set()">__set</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::debug()">debug</a>,
      <a style="font-style: italic;" href="#ConnectionThrottle::to_string()">to_string</a>,
      <div class="method">
<a id="ConnectionThrottle::Action()"></a><h3>Action<span class="nb-faded-text">(
          \OpenCloud\$object
             
            $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;">\OpenCloud\$object</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.inc.html#%5COpenCloud%5CPersistentObject::Action()"><small>\OpenCloud\PersistentObject::Action()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::Action()"><small>\OpenCloud\LoadBalancerService\SubResource::Action()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ConnectionThrottle::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.inc.html#%5COpenCloud%5CBase::CheckAttributePrefix()"><small>\OpenCloud\Base::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckAttributePrefix()"><small>\OpenCloud\PersistentObject::CheckAttributePrefix()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckAttributePrefix()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckAttributePrefix()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ConnectionThrottle::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.inc.html#%5COpenCloud%5CPersistentObject::CheckExtension()"><small>\OpenCloud\PersistentObject::CheckExtension()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckExtension()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckExtension()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ConnectionThrottle::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.inc.html#%5COpenCloud%5CBase::CheckJsonError()"><small>\OpenCloud\Base::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="persistentobject.inc.html#%5COpenCloud%5CPersistentObject::CheckJsonError()"><small>\OpenCloud\PersistentObject::CheckJsonError()</small></a></td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CheckJsonError()"><small>\OpenCloud\LoadBalancerService\SubResource::CheckJsonError()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ConnectionThrottle::Create()"></a><h3>Create<span class="nb-faded-text">(
          
             
            $parm
            = array(),
          
          )
        </span>
        :
        <span class="nb-faded-text">\OpenCloud\HttpResponse</span>
</h3>
<h4>Description</h4>
<em>create uses PUT like Update</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>$parm</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>\OpenCloud\HttpResponse</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></tbody>
</table>
</div>
<div class="method">
<a id="ConnectionThrottle::CreateJson()"></a><h3>CreateJson<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">\stdClass;</span>
</h3>
<h4>Description</h4>
<em>returns the JSON document's object for creating the subresource</em><br><small><p>The value <code>$_create_keys</code> should be an array of names of data items
that can be used in the creation of the object.</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>throws</td>
<td>if not overridden</td>
</tr>
<tr>
<td>inherited_from</td>
<td><a href="lbresources.inc.html#%5COpenCloud%5CLoadBalancerService%5CSubResource::CreateJson()"><small>\OpenCloud\LoadBalancerService\SubResource::CreateJson()</small></a></td>
</tr>
</tbody>
</table>
</div>
<div class="method">
<a id="ConnectionThrottle::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.inc.html#%5COpenCloud%5CPersistentObjec