
<p>


<p>This page explains some of the conventions used in this documention.</p>

<h1>Objects, fields and messages</h1>
<p>Objects have both <i>fields</i> and <i>messages.</i> Messages are either <i>implicit</i> or <i>explicit</i> where an implicit message is one of:</p>
<ul>
<li> a constructor (usually called &quot;create&quot;);</li>
<li> a destructor (usually called &quot;destroy&quot;);</li>
<li> &quot;get_by_name_label&quot;;</li>
<li> &quot;get_by_uuid&quot;</li>
<li> &quot;get_record&quot;; and</li>
<li> &quot;get_all&quot;.</li>
</ul>
<p>Explicit messages include all the rest, more class-specific messages (e.g. &quot;VM.start&quot;, &quot;VM.clone&quot;)</p>
<p>Every field has at least one <i>accessor</i> depending both on its type and whether it is read-only or read-write. Accessors for a field named &quot;X&quot; would be a proper subset of:</p>
<ul>
<li> set_X: change the value of field X (only if it is read-write);</li>
<li> get_X: retrieve the value of field X;</li>
<li> add_to_X: add a key/value pair (only if field has type set or map); and</li>
<li> remove_from_X: remove a key (only if a field has type set or map).</li>
</ul>

</p>