blob: c9a2b96cb45969fa1789a241c3c16c3adf6e0a55 [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>aria.modeling &mdash; ARIA TOSCA 0.1.1 documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="index" title="Index"
href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/>
<link rel="top" title="ARIA TOSCA 0.1.1 documentation" href="index.html"/>
<link rel="next" title="aria.modeling.models" href="aria.modeling.models.html"/>
<link rel="prev" title="aria.cli" href="aria.cli.html"/>
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="index.html" class="icon icon-home"> ARIA TOSCA
</a>
<div class="version">
0.1.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="cli.html">CLI</a></li>
<li class="toctree-l1"><a class="reference internal" href="rest.html">REST</a></li>
</ul>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="aria.html"><code class="docutils literal"><span class="pre">aria</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.cli.html"><code class="docutils literal"><span class="pre">aria.cli</span></code></a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#"><code class="docutils literal"><span class="pre">aria.modeling</span></code></a><ul>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.modeling.constraints"><code class="docutils literal"><span class="pre">aria.modeling.constraints</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.modeling.exceptions"><code class="docutils literal"><span class="pre">aria.modeling.exceptions</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.modeling.functions"><code class="docutils literal"><span class="pre">aria.modeling.functions</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.modeling.mixins"><code class="docutils literal"><span class="pre">aria.modeling.mixins</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.modeling.relationship"><code class="docutils literal"><span class="pre">aria.modeling.relationship</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.modeling.types"><code class="docutils literal"><span class="pre">aria.modeling.types</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.modeling.utils"><code class="docutils literal"><span class="pre">aria.modeling.utils</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="aria.modeling.models.html"><code class="docutils literal"><span class="pre">aria.modeling.models</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.html"><code class="docutils literal"><span class="pre">aria.orchestrator</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.context.html"><code class="docutils literal"><span class="pre">aria.orchestrator.context</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.execution_plugin.html"><code class="docutils literal"><span class="pre">aria.orchestrator.execution_plugin</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.execution_plugin.ctx_proxy.html"><code class="docutils literal"><span class="pre">aria.orchestrator.execution_plugin.ctx_proxy</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.execution_plugin.ssh.html"><code class="docutils literal"><span class="pre">aria.orchestrator.execution_plugin.ssh</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.workflows.html"><code class="docutils literal"><span class="pre">aria.orchestrator.workflows</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.workflows.api.html"><code class="docutils literal"><span class="pre">aria.orchestrator.workflows.api</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.workflows.builtin.html"><code class="docutils literal"><span class="pre">aria.orchestrator.workflows.builtin</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.workflows.executor.html"><code class="docutils literal"><span class="pre">aria.orchestrator.workflows.executor</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.html"><code class="docutils literal"><span class="pre">aria.parser</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.consumption.html"><code class="docutils literal"><span class="pre">aria.parser.consumption</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.loading.html"><code class="docutils literal"><span class="pre">aria.parser.loading</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.modeling.html"><code class="docutils literal"><span class="pre">aria.parser.modeling</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.presentation.html"><code class="docutils literal"><span class="pre">aria.parser.presentation</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.reading.html"><code class="docutils literal"><span class="pre">aria.parser.reading</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.validation.html"><code class="docutils literal"><span class="pre">aria.parser.validation</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.storage.html"><code class="docutils literal"><span class="pre">aria.storage</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.utils.html"><code class="docutils literal"><span class="pre">aria.utils</span></code></a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="aria_extension_tosca.simple_v1_0.html"><code class="docutils literal"><span class="pre">aria_extension_tosca.simple_v1_0</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria_extension_tosca.simple_v1_0.modeling.html"><code class="docutils literal"><span class="pre">aria_extension_tosca.simple_v1_0.modeling</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria_extension_tosca.simple_v1_0.presentation.html"><code class="docutils literal"><span class="pre">aria_extension_tosca.simple_v1_0.presentation</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria_extension_tosca.simple_nfv_v1_0.html"><code class="docutils literal"><span class="pre">aria_extension_tosca.simple_nfv_v1_0</span></code></a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">ARIA TOSCA</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li><code class="docutils literal"><span class="pre">aria.modeling</span></code></li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/aria.modeling.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="module-aria.modeling">
<span id="aria-modeling"></span><h1><a class="reference internal" href="#module-aria.modeling" title="aria.modeling"><code class="xref py py-mod docutils literal"><span class="pre">aria.modeling</span></code></a><a class="headerlink" href="#module-aria.modeling" title="Permalink to this headline"></a></h1>
<p>This package provides an API for modeling ARIA’s state and serializing it to storage.</p>
<div class="section" id="module-aria.modeling.constraints">
<span id="aria-modeling-constraints"></span><h2><a class="reference internal" href="#module-aria.modeling.constraints" title="aria.modeling.constraints"><code class="xref py py-mod docutils literal"><span class="pre">aria.modeling.constraints</span></code></a><a class="headerlink" href="#module-aria.modeling.constraints" title="Permalink to this headline"></a></h2>
<p>Constraints for the requirements-and-capabilities matching mechanism.</p>
<dl class="class">
<dt id="aria.modeling.constraints.NodeTemplateConstraint">
<em class="property">class </em><code class="descclassname">aria.modeling.constraints.</code><code class="descname">NodeTemplateConstraint</code><a class="headerlink" href="#aria.modeling.constraints.NodeTemplateConstraint" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Used to constrain requirements for node templates.</p>
<p>Must be serializable.</p>
<dl class="method">
<dt id="aria.modeling.constraints.NodeTemplateConstraint.matches">
<code class="descname">matches</code><span class="sig-paren">(</span><em>source_node_template</em>, <em>target_node_template</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.constraints.NodeTemplateConstraint.matches" title="Permalink to this definition"></a></dt>
<dd><p>Returns <code class="docutils literal"><span class="pre">True</span></code> if the target matches the constraint for the source.</p>
</dd></dl>
</dd></dl>
</div>
<div class="section" id="module-aria.modeling.exceptions">
<span id="aria-modeling-exceptions"></span><h2><a class="reference internal" href="#module-aria.modeling.exceptions" title="aria.modeling.exceptions"><code class="xref py py-mod docutils literal"><span class="pre">aria.modeling.exceptions</span></code></a><a class="headerlink" href="#module-aria.modeling.exceptions" title="Permalink to this headline"></a></h2>
<p>Modeling exceptions.</p>
<dl class="exception">
<dt id="aria.modeling.exceptions.CannotEvaluateFunctionException">
<em class="property">exception </em><code class="descclassname">aria.modeling.exceptions.</code><code class="descname">CannotEvaluateFunctionException</code><span class="sig-paren">(</span><em>message=None</em>, <em>cause=None</em>, <em>cause_traceback=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.exceptions.CannotEvaluateFunctionException" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#aria.modeling.exceptions.ModelingException" title="aria.modeling.exceptions.ModelingException"><code class="xref py py-class docutils literal"><span class="pre">aria.modeling.exceptions.ModelingException</span></code></a></p>
<p>ARIA modeling exception: cannot evaluate the function at this time.</p>
</dd></dl>
<dl class="exception">
<dt id="aria.modeling.exceptions.MissingRequiredParametersException">
<em class="property">exception </em><code class="descclassname">aria.modeling.exceptions.</code><code class="descname">MissingRequiredParametersException</code><span class="sig-paren">(</span><em>message=None</em>, <em>cause=None</em>, <em>cause_traceback=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.exceptions.MissingRequiredParametersException" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#aria.modeling.exceptions.ParameterException" title="aria.modeling.exceptions.ParameterException"><code class="xref py py-class docutils literal"><span class="pre">aria.modeling.exceptions.ParameterException</span></code></a></p>
<p>ARIA modeling exception: Required parameters have been omitted.</p>
</dd></dl>
<dl class="exception">
<dt id="aria.modeling.exceptions.ModelingException">
<em class="property">exception </em><code class="descclassname">aria.modeling.exceptions.</code><code class="descname">ModelingException</code><span class="sig-paren">(</span><em>message=None</em>, <em>cause=None</em>, <em>cause_traceback=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.exceptions.ModelingException" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="aria.html#aria.exceptions.AriaException" title="aria.exceptions.AriaException"><code class="xref py py-class docutils literal"><span class="pre">aria.exceptions.AriaException</span></code></a></p>
<p>ARIA modeling exception.</p>
</dd></dl>
<dl class="exception">
<dt id="aria.modeling.exceptions.ParameterException">
<em class="property">exception </em><code class="descclassname">aria.modeling.exceptions.</code><code class="descname">ParameterException</code><span class="sig-paren">(</span><em>message=None</em>, <em>cause=None</em>, <em>cause_traceback=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.exceptions.ParameterException" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#aria.modeling.exceptions.ModelingException" title="aria.modeling.exceptions.ModelingException"><code class="xref py py-class docutils literal"><span class="pre">aria.modeling.exceptions.ModelingException</span></code></a></p>
<p>ARIA parameter exception.</p>
</dd></dl>
<dl class="exception">
<dt id="aria.modeling.exceptions.ParametersOfWrongTypeException">
<em class="property">exception </em><code class="descclassname">aria.modeling.exceptions.</code><code class="descname">ParametersOfWrongTypeException</code><span class="sig-paren">(</span><em>message=None</em>, <em>cause=None</em>, <em>cause_traceback=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.exceptions.ParametersOfWrongTypeException" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#aria.modeling.exceptions.ParameterException" title="aria.modeling.exceptions.ParameterException"><code class="xref py py-class docutils literal"><span class="pre">aria.modeling.exceptions.ParameterException</span></code></a></p>
<p>ARIA modeling exception: Parameters of the wrong types have been provided.</p>
</dd></dl>
<dl class="exception">
<dt id="aria.modeling.exceptions.UndeclaredParametersException">
<em class="property">exception </em><code class="descclassname">aria.modeling.exceptions.</code><code class="descname">UndeclaredParametersException</code><span class="sig-paren">(</span><em>message=None</em>, <em>cause=None</em>, <em>cause_traceback=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.exceptions.UndeclaredParametersException" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#aria.modeling.exceptions.ParameterException" title="aria.modeling.exceptions.ParameterException"><code class="xref py py-class docutils literal"><span class="pre">aria.modeling.exceptions.ParameterException</span></code></a></p>
<p>ARIA modeling exception: Undeclared parameters have been provided.</p>
</dd></dl>
<dl class="exception">
<dt id="aria.modeling.exceptions.ValueFormatException">
<em class="property">exception </em><code class="descclassname">aria.modeling.exceptions.</code><code class="descname">ValueFormatException</code><span class="sig-paren">(</span><em>message=None</em>, <em>cause=None</em>, <em>cause_traceback=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.exceptions.ValueFormatException" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#aria.modeling.exceptions.ModelingException" title="aria.modeling.exceptions.ModelingException"><code class="xref py py-class docutils literal"><span class="pre">aria.modeling.exceptions.ModelingException</span></code></a></p>
<p>ARIA modeling exception: the value is in the wrong format.</p>
</dd></dl>
</div>
<div class="section" id="module-aria.modeling.functions">
<span id="aria-modeling-functions"></span><h2><a class="reference internal" href="#module-aria.modeling.functions" title="aria.modeling.functions"><code class="xref py py-mod docutils literal"><span class="pre">aria.modeling.functions</span></code></a><a class="headerlink" href="#module-aria.modeling.functions" title="Permalink to this headline"></a></h2>
<p>Mechanism for evaluating intrinsic functions.</p>
<dl class="class">
<dt id="aria.modeling.functions.Evaluation">
<em class="property">class </em><code class="descclassname">aria.modeling.functions.</code><code class="descname">Evaluation</code><span class="sig-paren">(</span><em>value</em>, <em>final=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.functions.Evaluation" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>An evaluated <a class="reference internal" href="#aria.modeling.functions.Function" title="aria.modeling.functions.Function"><code class="xref py py-class docutils literal"><span class="pre">Function</span></code></a> return value.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Variables:</th><td class="field-body"><ul class="first last simple">
<li><strong>value</strong> – evaluated value</li>
<li><strong>final</strong> (<em>boolean</em>) – whether the value is final</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="class">
<dt id="aria.modeling.functions.Function">
<em class="property">class </em><code class="descclassname">aria.modeling.functions.</code><code class="descname">Function</code><a class="headerlink" href="#aria.modeling.functions.Function" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Base class for intrinsic functions. Serves as a placeholder for a value that should eventually
be derived by “evaluating” (calling) the function.</p>
<p>Note that this base class is provided as a convenience and you do not have to inherit it: any
object with an <code class="docutils literal"><span class="pre">__evaluate__</span></code> method would be treated similarly.</p>
<dl class="method">
<dt id="aria.modeling.functions.Function.__evaluate__">
<code class="descname">__evaluate__</code><span class="sig-paren">(</span><em>container_holder</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.functions.Function.__evaluate__" title="Permalink to this definition"></a></dt>
<dd><p>Evaluates the function if possible.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#aria.modeling.functions.Evaluation" title="aria.modeling.functions.Evaluation"><code class="xref py py-class docutils literal"><span class="pre">Evaluation</span></code></a> (or any object with <code class="docutils literal"><span class="pre">value</span></code> and <code class="docutils literal"><span class="pre">final</span></code> properties)</td>
</tr>
<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><strong>CannotEvaluateFunctionException</strong> – if cannot be evaluated at this time (do <em>not</em> just
return <code class="docutils literal"><span class="pre">None</span></code>)</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="attribute">
<dt id="aria.modeling.functions.Function.as_raw">
<code class="descname">as_raw</code><a class="headerlink" href="#aria.modeling.functions.Function.as_raw" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="function">
<dt id="aria.modeling.functions.evaluate">
<code class="descclassname">aria.modeling.functions.</code><code class="descname">evaluate</code><span class="sig-paren">(</span><em>value</em>, <em>container_holder</em>, <em>report_issues=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.functions.evaluate" title="Permalink to this definition"></a></dt>
<dd><p>Recursively attempts to call <code class="docutils literal"><span class="pre">__evaluate__</span></code>. If an evaluation occurred will return an
<a class="reference internal" href="#aria.modeling.functions.Evaluation" title="aria.modeling.functions.Evaluation"><code class="xref py py-class docutils literal"><span class="pre">Evaluation</span></code></a>, otherwise it will be <code class="docutils literal"><span class="pre">None</span></code>. If any evaluation is non-final, then the
entire evaluation will also be non-final.</p>
<p>The <code class="docutils literal"><span class="pre">container_holder</span></code> argument should have three properties: <code class="docutils literal"><span class="pre">container</span></code> should return
the model that contains the value, <code class="docutils literal"><span class="pre">service</span></code> should return the containing
<a class="reference internal" href="aria.modeling.models.html#aria.modeling.models.Service" title="aria.modeling.models.Service"><code class="xref py py-class docutils literal"><span class="pre">Service</span></code></a> model or None, and <code class="docutils literal"><span class="pre">service_template</span></code> should return the
containing <a class="reference internal" href="aria.modeling.models.html#aria.modeling.models.ServiceTemplate" title="aria.modeling.models.ServiceTemplate"><code class="xref py py-class docutils literal"><span class="pre">ServiceTemplate</span></code></a> model or <code class="docutils literal"><span class="pre">None</span></code>.</p>
</dd></dl>
</div>
<div class="section" id="module-aria.modeling.mixins">
<span id="aria-modeling-mixins"></span><h2><a class="reference internal" href="#module-aria.modeling.mixins" title="aria.modeling.mixins"><code class="xref py py-mod docutils literal"><span class="pre">aria.modeling.mixins</span></code></a><a class="headerlink" href="#module-aria.modeling.mixins" title="Permalink to this headline"></a></h2>
<p>ARIA modeling mix-ins module</p>
<dl class="class">
<dt id="aria.modeling.mixins.InstanceModelMixin">
<em class="property">class </em><code class="descclassname">aria.modeling.mixins.</code><code class="descname">InstanceModelMixin</code><a class="headerlink" href="#aria.modeling.mixins.InstanceModelMixin" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#aria.modeling.mixins.ModelMixin" title="aria.modeling.mixins.ModelMixin"><code class="xref py py-class docutils literal"><span class="pre">aria.modeling.mixins.ModelMixin</span></code></a></p>
<p>Mix-in for service instance models.</p>
<p>All models support validation, diagnostic dumping, and representation as raw data (which can be
translated into JSON or YAML) via <a class="reference internal" href="#aria.modeling.mixins.InstanceModelMixin.as_raw" title="aria.modeling.mixins.InstanceModelMixin.as_raw"><code class="xref py py-meth docutils literal"><span class="pre">as_raw()</span></code></a>.</p>
<dl class="attribute">
<dt id="aria.modeling.mixins.InstanceModelMixin.as_raw">
<code class="descname">as_raw</code><a class="headerlink" href="#aria.modeling.mixins.InstanceModelMixin.as_raw" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.modeling.mixins.InstanceModelMixin.coerce_values">
<code class="descname">coerce_values</code><span class="sig-paren">(</span><em>report_issues</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.InstanceModelMixin.coerce_values" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.modeling.mixins.InstanceModelMixin.dump">
<code class="descname">dump</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.InstanceModelMixin.dump" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.modeling.mixins.InstanceModelMixin.validate">
<code class="descname">validate</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.InstanceModelMixin.validate" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.modeling.mixins.ModelIDMixin">
<em class="property">class </em><code class="descclassname">aria.modeling.mixins.</code><code class="descname">ModelIDMixin</code><a class="headerlink" href="#aria.modeling.mixins.ModelIDMixin" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<dl class="attribute">
<dt id="aria.modeling.mixins.ModelIDMixin.id">
<code class="descname">id</code><em class="property"> = Column(None, Integer(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#aria.modeling.mixins.ModelIDMixin.id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="classmethod">
<dt id="aria.modeling.mixins.ModelIDMixin.id_column_name">
<em class="property">classmethod </em><code class="descname">id_column_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.ModelIDMixin.id_column_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="aria.modeling.mixins.ModelIDMixin.name">
<code class="descname">name</code><em class="property"> = Column(None, Text(), table=None)</em><a class="headerlink" href="#aria.modeling.mixins.ModelIDMixin.name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="classmethod">
<dt id="aria.modeling.mixins.ModelIDMixin.name_column_name">
<em class="property">classmethod </em><code class="descname">name_column_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.ModelIDMixin.name_column_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.modeling.mixins.ModelMixin">
<em class="property">class </em><code class="descclassname">aria.modeling.mixins.</code><code class="descname">ModelMixin</code><a class="headerlink" href="#aria.modeling.mixins.ModelMixin" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<dl class="classmethod">
<dt id="aria.modeling.mixins.ModelMixin.fields">
<em class="property">classmethod </em><code class="descname">fields</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.ModelMixin.fields" title="Permalink to this definition"></a></dt>
<dd><p>List of field names for this table.</p>
<p>Mostly for backwards compatibility in the code (that uses <code class="docutils literal"><span class="pre">fields</span></code>).</p>
</dd></dl>
<dl class="classmethod">
<dt id="aria.modeling.mixins.ModelMixin.id_column_name">
<em class="property">classmethod </em><code class="descname">id_column_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.ModelMixin.id_column_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="classmethod">
<dt id="aria.modeling.mixins.ModelMixin.name_column_name">
<em class="property">classmethod </em><code class="descname">name_column_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.ModelMixin.name_column_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.modeling.mixins.ModelMixin.to_dict">
<code class="descname">to_dict</code><span class="sig-paren">(</span><em>fields=None</em>, <em>suppress_error=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.ModelMixin.to_dict" title="Permalink to this definition"></a></dt>
<dd><p>Create a dict representation of the model.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>suppress_error</strong> – if set to <code class="docutils literal"><span class="pre">True</span></code>, sets <code class="docutils literal"><span class="pre">None</span></code> to attributes that it’s unable to
retrieve (e.g., if a relationship wasn’t established yet, and so it’s impossible to access
a property through it)</td>
</tr>
</tbody>
</table>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.modeling.mixins.ParameterMixin">
<em class="property">class </em><code class="descclassname">aria.modeling.mixins.</code><code class="descname">ParameterMixin</code><span class="sig-paren">(</span><em>method_cache=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#aria.modeling.mixins.TemplateModelMixin" title="aria.modeling.mixins.TemplateModelMixin"><code class="xref py py-class docutils literal"><span class="pre">aria.modeling.mixins.TemplateModelMixin</span></code></a>, <a class="reference internal" href="aria.utils.html#aria.utils.caching.HasCachedMethods" title="aria.utils.caching.HasCachedMethods"><code class="xref py py-class docutils literal"><span class="pre">aria.utils.caching.HasCachedMethods</span></code></a></p>
<p>Mix-in for typed values. The value can contain nested intrinsic functions.</p>
<p>This model can be used as the <code class="docutils literal"><span class="pre">container_holder</span></code> argument for
<a class="reference internal" href="#aria.modeling.functions.evaluate" title="aria.modeling.functions.evaluate"><code class="xref py py-func docutils literal"><span class="pre">evaluate()</span></code></a>.</p>
<dl class="method">
<dt id="aria.modeling.mixins.ParameterMixin.as_argument">
<code class="descname">as_argument</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.as_argument" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.modeling.mixins.ParameterMixin.as_other_parameter_model">
<code class="descname">as_other_parameter_model</code><span class="sig-paren">(</span><em>other_model_cls</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.as_other_parameter_model" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="aria.modeling.mixins.ParameterMixin.as_raw">
<code class="descname">as_raw</code><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.as_raw" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.modeling.mixins.ParameterMixin.coerce_values">
<code class="descname">coerce_values</code><span class="sig-paren">(</span><em>report_issues</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.coerce_values" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="aria.modeling.mixins.ParameterMixin.container">
<code class="descname">container</code><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.container" title="Permalink to this definition"></a></dt>
<dd><p>The logical container for this parameter, which would be another model: service, node,
group, or policy (or their templates).</p>
<p>The logical container is equivalent to the <code class="docutils literal"><span class="pre">SELF</span></code> keyword used by intrinsic functions in
TOSCA.</p>
<p><em>All</em> parameters should have a container model.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.ValueError" title="(in Python v2.7)"><strong>ValueError</strong></a> – if failed to find a container model, which signifies an
abnormal, orphaned parameter</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="attribute">
<dt id="aria.modeling.mixins.ParameterMixin.description">
<code class="descname">description</code><em class="property"> = Column(None, Text(), table=None)</em><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.modeling.mixins.ParameterMixin.dump">
<code class="descname">dump</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.dump" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.modeling.mixins.ParameterMixin.instantiate">
<code class="descname">instantiate</code><span class="sig-paren">(</span><em>container</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.instantiate" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="aria.modeling.mixins.ParameterMixin.owner">
<code class="descname">owner</code><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.owner" title="Permalink to this definition"></a></dt>
<dd><p>The sole owner of this parameter, which is another model that relates to it.</p>
<p><em>All</em> parameters should have an owner model.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.ValueError" title="(in Python v2.7)"><strong>ValueError</strong></a> – if failed to find an owner, which signifies an abnormal,
orphaned parameter</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="attribute">
<dt id="aria.modeling.mixins.ParameterMixin.service">
<code class="descname">service</code><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.service" title="Permalink to this definition"></a></dt>
<dd><p>The <a class="reference internal" href="aria.modeling.models.html#aria.modeling.models.Service" title="aria.modeling.models.Service"><code class="xref py py-class docutils literal"><span class="pre">Service</span></code></a> model containing this parameter, or <code class="docutils literal"><span class="pre">None</span></code> if
not contained in a service.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.ValueError" title="(in Python v2.7)"><strong>ValueError</strong></a> – if failed to find a container model, which signifies an
abnormal, orphaned parameter</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="attribute">
<dt id="aria.modeling.mixins.ParameterMixin.service_template">
<code class="descname">service_template</code><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.service_template" title="Permalink to this definition"></a></dt>
<dd><p>The <a class="reference internal" href="aria.modeling.models.html#aria.modeling.models.ServiceTemplate" title="aria.modeling.models.ServiceTemplate"><code class="xref py py-class docutils literal"><span class="pre">ServiceTemplate</span></code></a> model containing this parameter, or
<code class="docutils literal"><span class="pre">None</span></code> if not contained in a service template.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.ValueError" title="(in Python v2.7)"><strong>ValueError</strong></a> – if failed to find a container model, which signifies an
abnormal, orphaned parameter</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="attribute">
<dt id="aria.modeling.mixins.ParameterMixin.type_name">
<code class="descname">type_name</code><em class="property"> = Column(None, Text(), table=None)</em><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.type_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="aria.modeling.mixins.ParameterMixin.unwrapped">
<code class="descname">unwrapped</code><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.unwrapped" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="aria.modeling.mixins.ParameterMixin.value">
<code class="descname">value</code><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.value" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="classmethod">
<dt id="aria.modeling.mixins.ParameterMixin.wrap">
<em class="property">classmethod </em><code class="descname">wrap</code><span class="sig-paren">(</span><em>name</em>, <em>value</em>, <em>description=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.ParameterMixin.wrap" title="Permalink to this definition"></a></dt>
<dd><p>Wraps an arbitrary value as a parameter. The type will be guessed via introspection.</p>
<p>For primitive types, we will prefer their TOSCA aliases. See the <a class="reference external" href="http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#_Toc373867862">TOSCA Simple Profile v1.0
cos01 specification</a></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>name</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – parameter name</li>
<li><strong>value</strong> – parameter value</li>
<li><strong>description</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – human-readable description (optional)</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.modeling.mixins.TemplateModelMixin">
<em class="property">class </em><code class="descclassname">aria.modeling.mixins.</code><code class="descname">TemplateModelMixin</code><a class="headerlink" href="#aria.modeling.mixins.TemplateModelMixin" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#aria.modeling.mixins.InstanceModelMixin" title="aria.modeling.mixins.InstanceModelMixin"><code class="xref py py-class docutils literal"><span class="pre">aria.modeling.mixins.InstanceModelMixin</span></code></a></p>
<p>Mix-in for service template models.</p>
<p>All model models can be instantiated into service instance models.</p>
<dl class="method">
<dt id="aria.modeling.mixins.TemplateModelMixin.instantiate">
<code class="descname">instantiate</code><span class="sig-paren">(</span><em>container</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.mixins.TemplateModelMixin.instantiate" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
<div class="section" id="module-aria.modeling.relationship">
<span id="aria-modeling-relationship"></span><h2><a class="reference internal" href="#module-aria.modeling.relationship" title="aria.modeling.relationship"><code class="xref py py-mod docutils literal"><span class="pre">aria.modeling.relationship</span></code></a><a class="headerlink" href="#module-aria.modeling.relationship" title="Permalink to this headline"></a></h2>
<p>ARIA modeling relationship module</p>
<dl class="function">
<dt id="aria.modeling.relationship.association_proxy">
<code class="descclassname">aria.modeling.relationship.</code><code class="descname">association_proxy</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.relationship.association_proxy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.modeling.relationship.foreign_key">
<code class="descclassname">aria.modeling.relationship.</code><code class="descname">foreign_key</code><span class="sig-paren">(</span><em>other_table</em>, <em>nullable=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.relationship.foreign_key" title="Permalink to this definition"></a></dt>
<dd><p>Declare a foreign key property, which will also create a foreign key column in the table with
the name of the property. By convention the property name should end in “_fk”.</p>
<p>You are required to explicitly create foreign keys in order to allow for one-to-one,
one-to-many, and many-to-one relationships (but not for many-to-many relationships). If you do
not do so, SQLAlchemy will fail to create the relationship property and raise an exception with
a clear error message.</p>
<p>You should normally not have to access this property directly, but instead use the associated
relationship properties.</p>
<p><em>This utility method should only be used during class creation.</em></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>other_table</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – other table name</li>
<li><strong>nullable</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) – <code class="docutils literal"><span class="pre">True</span></code> to allow null values (meaning that there is no relationship)</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="aria.modeling.relationship.many_to_many">
<code class="descclassname">aria.modeling.relationship.</code><code class="descname">many_to_many</code><span class="sig-paren">(</span><em>model_class</em>, <em>other_table=None</em>, <em>prefix=None</em>, <em>dict_key=None</em>, <em>other_property=None</em>, <em>self=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.relationship.many_to_many" title="Permalink to this definition"></a></dt>
<dd><p>Declare a many-to-many relationship property. The property value would be a list or dict of
instances of the other table’s model.</p>
<p>You do not need associated foreign keys for this relationship. Instead, an extra table will be
created for you.</p>
<p>The declaration will automatically create a matching many-to-many property at the other model,
named after the plural form of our table name. Use the <code class="docutils literal"><span class="pre">other_property</span></code> argument to override
this name. Note: the automatic property will always be a SQLAlchemy query object; if you need a
Python collection then use <a class="reference internal" href="#aria.modeling.relationship.many_to_many" title="aria.modeling.relationship.many_to_many"><code class="xref py py-func docutils literal"><span class="pre">many_to_many()</span></code></a> again at that model.</p>
<p><em>This utility method should only be used during class creation.</em></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>model_class</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#type" title="(in Python v2.7)"><em>type</em></a>) – class in which this relationship will be declared</li>
<li><strong>other_table</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – parent table name</li>
<li><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – optional prefix for extra table name as well as for <code class="docutils literal"><span class="pre">other_property</span></code></li>
<li><strong>dict_key</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – if set the value will be a dict with this key as the dict key; otherwise will
be a list</li>
<li><strong>other_property</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a><em> or </em><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) – override name of matching many-to-many property at other table; set to
<code class="docutils literal"><span class="pre">False</span></code> to disable</li>
<li><strong>self</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) – used for relationships between a table and itself. if set, other_table will
become the same as the source table.</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="aria.modeling.relationship.many_to_one">
<code class="descclassname">aria.modeling.relationship.</code><code class="descname">many_to_one</code><span class="sig-paren">(</span><em>model_class</em>, <em>parent_table</em>, <em>fk=None</em>, <em>parent_fk=None</em>, <em>back_populates=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.relationship.many_to_one" title="Permalink to this definition"></a></dt>
<dd><p>Declare a many-to-one relationship property. The property value would be an instance of the
parent table’s model.</p>
<p>You will need an associated foreign key to the parent table.</p>
<p>The declaration will automatically create a matching one-to-many property at the child model,
named after the plural form of our table name. Use the <code class="docutils literal"><span class="pre">parent_property</span></code> argument to override
this name. Note: the automatic property will always be a SQLAlchemy query object; if you need a
Python collection then use <a class="reference internal" href="#aria.modeling.relationship.one_to_many" title="aria.modeling.relationship.one_to_many"><code class="xref py py-func docutils literal"><span class="pre">one_to_many()</span></code></a> at that model.</p>
<p><em>This utility method should only be used during class creation.</em></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>model_class</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#type" title="(in Python v2.7)"><em>type</em></a>) – class in which this relationship will be declared</li>
<li><strong>parent_table</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – parent table name</li>
<li><strong>fk</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – foreign key name at our table (no need specify if there’s no ambiguity)</li>
<li><strong>back_populates</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a><em> or </em><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) – override name of matching one-to-many property at parent table; set to
<code class="docutils literal"><span class="pre">False</span></code> to disable</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="aria.modeling.relationship.one_to_many">
<code class="descclassname">aria.modeling.relationship.</code><code class="descname">one_to_many</code><span class="sig-paren">(</span><em>model_class</em>, <em>other_table=None</em>, <em>other_fk=None</em>, <em>dict_key=None</em>, <em>back_populates=None</em>, <em>rel_kwargs=None</em>, <em>self=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.relationship.one_to_many" title="Permalink to this definition"></a></dt>
<dd><p>Declare a one-to-many relationship property. The property value would be a list or dict of
instances of the child table’s model.</p>
<p>The child table will need an associated foreign key to our table.</p>
<p>The declaration will automatically create a matching many-to-one property at the child model,
named after our table name. Use the <code class="docutils literal"><span class="pre">child_property</span></code> argument to override this name.</p>
<p><em>This utility method should only be used during class creation.</em></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>model_class</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#type" title="(in Python v2.7)"><em>type</em></a>) – class in which this relationship will be declared</li>
<li><strong>other_table</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – other table name</li>
<li><strong>other_fk</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – foreign key name at the other table (no need specify if there’s no ambiguity)</li>
<li><strong>dict_key</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – if set the value will be a dict with this key as the dict key; otherwise will
be a list</li>
<li><strong>back_populates</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a><em> or </em><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) – override name of matching many-to-one property at other table; set to
<code class="docutils literal"><span class="pre">False</span></code> to disable</li>
<li><strong>rel_kwargs</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/stdtypes.html#dict" title="(in Python v2.7)"><em>dict</em></a>) – additional relationship kwargs to be used by SQLAlchemy</li>
<li><strong>self</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) – used for relationships between a table and itself. if set, other_table will
become the same as the source table.</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="aria.modeling.relationship.one_to_one">
<code class="descclassname">aria.modeling.relationship.</code><code class="descname">one_to_one</code><span class="sig-paren">(</span><em>model_class</em>, <em>other_table</em>, <em>fk=None</em>, <em>other_fk=None</em>, <em>back_populates=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.relationship.one_to_one" title="Permalink to this definition"></a></dt>
<dd><p>Declare a one-to-one relationship property. The property value would be an instance of the other
table’s model.</p>
<p>You have two options for the foreign key. Either this table can have an associated key to the
other table (use the <code class="docutils literal"><span class="pre">fk</span></code> argument) or the other table can have an associated foreign key to
this our table (use the <code class="docutils literal"><span class="pre">other_fk</span></code> argument).</p>
<p><em>This utility method should only be used during class creation.</em></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>model_class</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#type" title="(in Python v2.7)"><em>type</em></a>) – class in which this relationship will be declared</li>
<li><strong>other_table</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – other table name</li>
<li><strong>fk</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – foreign key name at our table (no need specify if there’s no ambiguity)</li>
<li><strong>other_fk</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – foreign key name at the other table (no need specify if there’s no ambiguity)</li>
<li><strong>back_populates</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a><em> or </em><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) – override name of matching many-to-many property at other table; set to
<code class="docutils literal"><span class="pre">False</span></code> to disable</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="aria.modeling.relationship.one_to_one_self">
<code class="descclassname">aria.modeling.relationship.</code><code class="descname">one_to_one_self</code><span class="sig-paren">(</span><em>model_class</em>, <em>fk</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.relationship.one_to_one_self" title="Permalink to this definition"></a></dt>
<dd><p>Declare a one-to-one relationship property. The property value would be an instance of the same
model.</p>
<p>You will need an associated foreign key to our own table.</p>
<p><em>This utility method should only be used during class creation.</em></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>model_class</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#type" title="(in Python v2.7)"><em>type</em></a>) – class in which this relationship will be declared</li>
<li><strong>fk</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – foreign key name</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
</div>
<div class="section" id="module-aria.modeling.types">
<span id="aria-modeling-types"></span><h2><a class="reference internal" href="#module-aria.modeling.types" title="aria.modeling.types"><code class="xref py py-mod docutils literal"><span class="pre">aria.modeling.types</span></code></a><a class="headerlink" href="#module-aria.modeling.types" title="Permalink to this headline"></a></h2>
<p>Allows JSON-serializable collections to be used as SQLAlchemy column types.</p>
<dl class="class">
<dt id="aria.modeling.types.Dict">
<em class="property">class </em><code class="descclassname">aria.modeling.types.</code><code class="descname">Dict</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.types.Dict" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">aria.modeling.types._MutableType</span></code></p>
<p>JSON-serializable dict type for SQLAlchemy columns.</p>
<p>Construct a <code class="xref py py-class docutils literal"><span class="pre">TypeDecorator</span></code>.</p>
<p>Arguments sent here are passed to the constructor
of the class assigned to the <code class="docutils literal"><span class="pre">impl</span></code> class level attribute,
assuming the <code class="docutils literal"><span class="pre">impl</span></code> is a callable, and the resulting
object is assigned to the <code class="docutils literal"><span class="pre">self.impl</span></code> instance attribute
(thus overriding the class attribute of the same name).</p>
<p>If the class level <code class="docutils literal"><span class="pre">impl</span></code> is not a callable (the unusual case),
it will be assigned to the same instance attribute ‘as-is’,
ignoring those arguments passed to the constructor.</p>
<p>Subclasses can override this to customize the generation
of <code class="docutils literal"><span class="pre">self.impl</span></code> entirely.</p>
<dl class="attribute">
<dt id="aria.modeling.types.Dict.python_type">
<code class="descname">python_type</code><a class="headerlink" href="#aria.modeling.types.Dict.python_type" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.modeling.types.List">
<em class="property">class </em><code class="descclassname">aria.modeling.types.</code><code class="descname">List</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.types.List" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">aria.modeling.types._MutableType</span></code></p>
<p>JSON-serializable list type for SQLAlchemy columns.</p>
<p>Construct a <code class="xref py py-class docutils literal"><span class="pre">TypeDecorator</span></code>.</p>
<p>Arguments sent here are passed to the constructor
of the class assigned to the <code class="docutils literal"><span class="pre">impl</span></code> class level attribute,
assuming the <code class="docutils literal"><span class="pre">impl</span></code> is a callable, and the resulting
object is assigned to the <code class="docutils literal"><span class="pre">self.impl</span></code> instance attribute
(thus overriding the class attribute of the same name).</p>
<p>If the class level <code class="docutils literal"><span class="pre">impl</span></code> is not a callable (the unusual case),
it will be assigned to the same instance attribute ‘as-is’,
ignoring those arguments passed to the constructor.</p>
<p>Subclasses can override this to customize the generation
of <code class="docutils literal"><span class="pre">self.impl</span></code> entirely.</p>
<dl class="attribute">
<dt id="aria.modeling.types.List.python_type">
<code class="descname">python_type</code><a class="headerlink" href="#aria.modeling.types.List.python_type" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="data">
<dt id="aria.modeling.types.StrictDict">
<code class="descclassname">aria.modeling.types.</code><code class="descname">StrictDict</code><em class="property"> = &lt;aria.modeling.types._StrictDict object&gt;</em><a class="headerlink" href="#aria.modeling.types.StrictDict" title="Permalink to this definition"></a></dt>
<dd><p>JSON-serializable strict dict type for SQLAlchemy columns.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>key_cls</strong></li>
<li><strong>value_cls</strong></li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="data">
<dt id="aria.modeling.types.StrictList">
<code class="descclassname">aria.modeling.types.</code><code class="descname">StrictList</code><em class="property"> = &lt;aria.modeling.types._StrictList object&gt;</em><a class="headerlink" href="#aria.modeling.types.StrictList" title="Permalink to this definition"></a></dt>
<dd><p>JSON-serializable strict list type for SQLAlchemy columns.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>item_cls</strong></td>
</tr>
</tbody>
</table>
</dd></dl>
</div>
<div class="section" id="module-aria.modeling.utils">
<span id="aria-modeling-utils"></span><h2><a class="reference internal" href="#module-aria.modeling.utils" title="aria.modeling.utils"><code class="xref py py-mod docutils literal"><span class="pre">aria.modeling.utils</span></code></a><a class="headerlink" href="#module-aria.modeling.utils" title="Permalink to this headline"></a></h2>
<p>Miscellaneous modeling utilities.</p>
<dl class="class">
<dt id="aria.modeling.utils.ModelJSONEncoder">
<em class="property">class </em><code class="descclassname">aria.modeling.utils.</code><code class="descname">ModelJSONEncoder</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.ModelJSONEncoder" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">json.encoder.JSONEncoder</span></code></p>
<p>JSON encoder that automatically unwraps <code class="docutils literal"><span class="pre">value</span></code> attributes.</p>
<dl class="method">
<dt id="aria.modeling.utils.ModelJSONEncoder.default">
<code class="descname">default</code><span class="sig-paren">(</span><em>o</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.ModelJSONEncoder.default" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.modeling.utils.NodeTemplateContainerHolder">
<em class="property">class </em><code class="descclassname">aria.modeling.utils.</code><code class="descname">NodeTemplateContainerHolder</code><span class="sig-paren">(</span><em>node_template</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.NodeTemplateContainerHolder" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Wrapper that allows using a <a class="reference internal" href="aria.modeling.models.html#aria.modeling.models.NodeTemplate" title="aria.modeling.models.NodeTemplate"><code class="xref py py-class docutils literal"><span class="pre">NodeTemplate</span></code></a> model directly as the
<code class="docutils literal"><span class="pre">container_holder</span></code> input for <a class="reference internal" href="#aria.modeling.functions.evaluate" title="aria.modeling.functions.evaluate"><code class="xref py py-func docutils literal"><span class="pre">evaluate()</span></code></a>.</p>
<dl class="attribute">
<dt id="aria.modeling.utils.NodeTemplateContainerHolder.service_template">
<code class="descname">service_template</code><a class="headerlink" href="#aria.modeling.utils.NodeTemplateContainerHolder.service_template" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.modeling.utils.classproperty">
<em class="property">class </em><code class="descclassname">aria.modeling.utils.</code><code class="descname">classproperty</code><span class="sig-paren">(</span><em>f</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.classproperty" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
</dd></dl>
<dl class="function">
<dt id="aria.modeling.utils.coerce_dict_values">
<code class="descclassname">aria.modeling.utils.</code><code class="descname">coerce_dict_values</code><span class="sig-paren">(</span><em>the_dict</em>, <em>report_issues=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.coerce_dict_values" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.modeling.utils.coerce_list_values">
<code class="descclassname">aria.modeling.utils.</code><code class="descname">coerce_list_values</code><span class="sig-paren">(</span><em>the_list</em>, <em>report_issues=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.coerce_list_values" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.modeling.utils.dump_dict_values">
<code class="descclassname">aria.modeling.utils.</code><code class="descname">dump_dict_values</code><span class="sig-paren">(</span><em>the_dict</em>, <em>name</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.dump_dict_values" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.modeling.utils.dump_interfaces">
<code class="descclassname">aria.modeling.utils.</code><code class="descname">dump_interfaces</code><span class="sig-paren">(</span><em>interfaces</em>, <em>name='Interfaces'</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.dump_interfaces" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.modeling.utils.dump_list_values">
<code class="descclassname">aria.modeling.utils.</code><code class="descname">dump_list_values</code><span class="sig-paren">(</span><em>the_list</em>, <em>name</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.dump_list_values" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.modeling.utils.fix_doc">
<code class="descclassname">aria.modeling.utils.</code><code class="descname">fix_doc</code><span class="sig-paren">(</span><em>cls</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.fix_doc" title="Permalink to this definition"></a></dt>
<dd><p>Class decorator to use the last base class’s docstring and make sure Sphinx doesn’t grab the
base constructor’s docstring.</p>
</dd></dl>
<dl class="function">
<dt id="aria.modeling.utils.instantiate_dict">
<code class="descclassname">aria.modeling.utils.</code><code class="descname">instantiate_dict</code><span class="sig-paren">(</span><em>container</em>, <em>the_dict</em>, <em>from_dict</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.instantiate_dict" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.modeling.utils.instantiate_list">
<code class="descclassname">aria.modeling.utils.</code><code class="descname">instantiate_list</code><span class="sig-paren">(</span><em>container</em>, <em>the_list</em>, <em>from_list</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.instantiate_list" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.modeling.utils.merge_parameter_values">
<code class="descclassname">aria.modeling.utils.</code><code class="descname">merge_parameter_values</code><span class="sig-paren">(</span><em>parameter_values</em>, <em>declared_parameters</em>, <em>model_cls</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.merge_parameter_values" title="Permalink to this definition"></a></dt>
<dd><p>Merges parameter values according to those declared by a type.</p>
<p>Exceptions will be raised for validation errors.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>parameter_values</strong> ({<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><code class="xref py py-obj docutils literal"><span class="pre">basestring</span></code></a>: object}) – provided parameter values or None</li>
<li><strong>declared_parameters</strong> ({<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><code class="xref py py-obj docutils literal"><span class="pre">basestring</span></code></a>: <code class="xref py py-class docutils literal"><span class="pre">Parameter</span></code>}) – declared parameters</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">the merged parameters</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">{<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><code class="xref py py-obj docutils literal"><span class="pre">basestring</span></code></a>: <code class="xref py py-class docutils literal"><span class="pre">Parameter</span></code>}</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><ul class="first last simple">
<li><a class="reference internal" href="#aria.modeling.exceptions.UndeclaredParametersException" title="aria.modeling.exceptions.UndeclaredParametersException"><strong>UndeclaredParametersException</strong></a> – if a key in
<code class="docutils literal"><span class="pre">parameter_values</span></code> does not exist in <code class="docutils literal"><span class="pre">declared_parameters</span></code></li>
<li><a class="reference internal" href="#aria.modeling.exceptions.MissingRequiredParametersException" title="aria.modeling.exceptions.MissingRequiredParametersException"><strong>MissingRequiredParametersException</strong></a> – if a key in
<code class="docutils literal"><span class="pre">declared_parameters</span></code> does not exist in <code class="docutils literal"><span class="pre">parameter_values</span></code> and also has no default value</li>
<li><a class="reference internal" href="#aria.modeling.exceptions.ParametersOfWrongTypeException" title="aria.modeling.exceptions.ParametersOfWrongTypeException"><strong>ParametersOfWrongTypeException</strong></a> – if a value in
<code class="docutils literal"><span class="pre">parameter_values</span></code> does not match its type in <code class="docutils literal"><span class="pre">declared_parameters</span></code></li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="aria.modeling.utils.validate_dict_values">
<code class="descclassname">aria.modeling.utils.</code><code class="descname">validate_dict_values</code><span class="sig-paren">(</span><em>the_dict</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.validate_dict_values" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.modeling.utils.validate_list_values">
<code class="descclassname">aria.modeling.utils.</code><code class="descname">validate_list_values</code><span class="sig-paren">(</span><em>the_list</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.modeling.utils.validate_list_values" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
</div>
</div>
<div class="articleComments">
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="aria.modeling.models.html" class="btn btn-neutral float-right" title="aria.modeling.models" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="aria.cli.html" class="btn btn-neutral" title="aria.cli" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2016-2017, Apache Software Foundation.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'0.1.1',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>