Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Macro name changed from html to html-bobswift during server to cloud migration processing.
Html bobswift
<!doctype html>
<html lang="en">
<body>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
<meta name="generator" content="pdoc 0.10.0" />
<title>universal_extension.extension_result API documentation</title>
<meta name="description" content="" />
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/sanitize.min.css" integrity="sha256-PK9q560IAAa6WVRRh76LtCaI8pjTJ2z11v0miyNNjrs=" crossorigin>
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/typography.min.css" integrity="sha256-7l/o7C8jubJiy74VsKTidCy1yBkRtiUGbVkYBylBqUg=" crossorigin>
<link rel="stylesheet preload" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/github.min.css" crossorigin>
<style>:root{--highlight-color:#fe9}.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}#sidebar > *:last-child{margin-bottom:2cm}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;padding:0em 0em 0.75em 0em !important}h4{margin:0;font-size:105%}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{background:var(--highlight-color);padding:.2em 0}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold;font-size:1.5em !important}.classes-title{padding:1em 0em 0em 0em !important;font-weight:bold !important}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;padding: 0px;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{margin-top:.6em;font-weight:bold}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:none;font-weight:500;font-size:1.1em;padding:5px 10px;display:inline-block;min-width:40%}dt:target .name{background:var(--highlight-color)}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}td{padding:0 .5em}admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{color:#00529B;background-color:#BDE5F8;border-left:solid 4px #3498db;line-height:18px;padding:5px;margin:0.5em 0em}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{color:#9F6000;background-color:#FEEFB3;border-left:solid 4px #ec8e00;line-height:18px;padding:5px;margin:0.5em 0em}.admonition.error,.admonition.danger,.admonition.caution{color:#D8000C;background-color:#FFD2D2;border-left:solid 4px #DB1924;line-height:18px;padding:5px;margin:0.5em 0em}pre{background-color:#eeffcc;word-wrap:break-word;border:1px solid #ac9;padding:5px}pre code{background:none}hr{width:95%}.thick-line{height:2.5px;border-width:0;color:gray;background-color:gray}</style>
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%;height:100vh;overflow:auto;position:sticky;top:0}#content{width:100%;padding:0em}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
<main>
<article id="content">
<section id="section-intro">
</section>
<section>
</section>
<section>
</section>
<section>
</section>
<section>
<h1 class="classes-title">Classes</h1>
<dl>
<dt id="universal_extension.extension_result.ExtensionResult"><code class="flex name class">
<span>class <span class="ident">ExtensionResult</span></span>
<span>(</span><span>**kwargs)</span>
</code></dt>
<dd>
<div class="desc"><p>Depending on the context of the initialization, different parameters
need to be passed to the constructor. See the notes below.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The form of the ExtensionResult constructor when instantiated
in the context of <strong>Dynamic Command</strong>, is as follows:</p>
</div>
<p><strong>Constructor Signature</strong></p>
<p><em>(rc = 0, message = '', output = False, output_data = None,
output_name = None, call_frame = None, **kwargs)</em></p>
<h2 id="parameters">Parameters</h2>
<dl>
<dt><strong><code>rc</code></strong> : <code>int</code>, optional</dt>
<dd>
<p>This parameter represents the return code of the Dynamic Command
operation and determines whether the Extension task instance is
perceived as completing as Success or Failed by the Controller.<br>
A value of 0 indicates success.
All other values indicate an
error condition and result in a status of Failed in the Controller.
The non-zero value used to represent the error condition is
implementation defined and therefore left up to the extension
developer.</p>
<p>The ExtensionResult class sets a default value of 0.</p>
</dd>
<dt><strong><code>message</code></strong> : <code>str</code>, optional</dt>
<dd>
<p>This parameter allows the extension to pass a completion message
back to the Controller.
If rc is set to 0, the message will be
considered informational and will be logged by the Controller.<br>
If rc is non-zero, the message will be considered an error message
and will be displayed to the user on the task instance form. </p>
<p>The default value is an empty string.</p>
</dd>
<dt><strong><code>output</code></strong> : <code>bool</code>, optional</dt>
<dd>
<p>This parameter specifies if the command produced output that should
be persisted and displayed under the task instance Output tab in
the Controller task instance associated with the dynamic command
invocation. </p>
<p>The default value is False.</p>
</dd>
<dt><strong><code>output_data</code></strong> : <code>str</code>, optional</dt>
<dd>
<p>This parameter specifies the data that will be returned to the
Controller for the command execution.
It is interpreted as a
UTF-8 encoded text object.</p>
<p>If the output attribute is True, the output_data will be persisted
in the Controller as a record under table ops_exec_output, and
appearing as Universal Command output type from the task instance
Output tab.</p>
<p>The default value is None.</p>
</dd>
<dt><strong><code>output_name</code></strong> : <code>str</code>, optional</dt>
<dd>
<p>This attribute is used to provide a custom name for the associated
output data.
The output_name (if provided) will be used in the
presentation of the output_data by the Controller.</p>
<p>The default value is None.</p>
</dd>
</dl>
<h2 id="examples">Example</h2>
<pre><code>>>> @dynamic_command('reset_environment')
>>> def reset_environment(self, fields):
>>>     # Implementation omitted
>>>     return ExtensionResult(
...         message = "Message: Hello from dynamic command 'reset_environment'!",
...         output = True,
...         output_data = 'The environment has been reset.',
...         output_name = 'DYNAMIC_OUTPUT'
...     )
</code></pre>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The form of the ExtensionResult constructor when instantiated
in the context of <strong>Choice Command</strong>, is as follows:</p>
</div>
<p><strong>Constructor Signature</strong></p>
<p><em>(rc = 0, message = '', values = None, call_frame = None, **kwargs)</em></p>
<h2 id="parameters_1">Parameters</h2>
<dl>
<dt><strong><code>rc</code></strong> : <code>int</code>, optional</dt>
<dd>
<p>This parameter represents the return code of the 'choice' operation
and determines whether the command is perceived as completing with
success or failure by the Controller.
A value of 0 indicates
success.
All other values indicate an error condition and will be
ignored by the Controller for form field population. However, the
Controller will log the command response.
The non-zero value used to represent the error condition is
implementation defined and therefore left up to the extension
developer.</p>
<p>The ExtensionResult class sets a default value of 0 to the rc
attribute.</p>
</dd>
<dt><strong><code>message</code></strong> : <code>str</code>, optional</dt>
<dd>
<p>This parameter allows the extension to pass a completion message
back to the Controller.
The message will be logged by the
Controller.
</p>
<p>The default value is an empty string.</p>
</dd>
<dt><strong><code>values</code></strong> : <code>list</code>, optional</dt>
<dd>
<p>This parameter specifies a list of string values to be returned to
the Controller and used to populate the associated dynamic choice
field on the Extension task form.</p>
<p>The default value is an empty list.</p>
</dd>
</dl>
<h2 id="examples_1">Example</h2>
<pre><code>>>> @dynamic_choice_command("primary_choice_field")
>>> def primary_choice_command(self, fields):
>>>     # Implementation omitted
>>>     return ExtensionResult(
...         rc = 0,
...         message = "Values for choice field: 'primary_choice_field'",
...         values = ["Start", "Pause", "Stop", "Build", "Destroy"]
...         )
</code></pre>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The form of the ExtensionResult constructor when instantiated
in the context of <strong>Extension Start</strong>, is as follows:</p>
</div>
<p><strong>Constructor Signature</strong></p>
<p><em>(rc = 0, message = '', output_fields = None,
unv_output = None, call_frame = None, **kwargs)</em></p>
<h2 id="parameters_2">Parameters</h2>
<dl>
<dt><strong><code>rc</code></strong> : <code>int</code>, optional</dt>
<dd>
<p>This parameter represents the return code of the extension_start
operation.
The associated Universal Task instance in the
Controler can use this value to determine the completion status of
the Extension instance.
The value is implementation defined and
therefore left up to the extension developer.</p>
<p>The ExtensionResult class sets a default value of 0.</p>
</dd>
<dt><strong><code>message</code></strong> : <code>str</code>, optional</dt>
<dd>
<p>This parameter allows the extension to pass a completion message
back to the Controller.
If rc is set to 0, the message will be
considered informational and will be logged by the Controller.<br>
If rc is non-zero, the message will be considered an error message
and will be displayed to the user on the task instance form. </p>
<p>The default value is an empty string.</p>
</dd>
<dt><strong><code>output_fields</code></strong> : <code>dict</code>, optional</dt>
<dd>
<p>Dictionary containing output fields.</p>
<p>The default None.</p>
</dd>
<dt><strong><code>unv_output</code></strong> : <code>str</code>, optional</dt>
<dd>
<p>The value for this parameter is considered the payload of the task
execution.
It appears on the task instance Output tab as Universal
output type.</p>
<p>The default value is None.</p>
</dd>
</dl>
<h2 id="examples_2">Example</h2>
<pre><code>>>> def extension_start(self, fields):
>>>     # Implementation omitted
>>>     return ExtensionResult(
...         unv_output = "extension_start() finished successfully",
...         rc = 0
...         )
</code></pre></div>
</dd>
<dd>
</dd>
<hr class="thick-line">
</dl>
</section>
</article>
</main>
</body>
</html>