diff options
author | Alexander Mazuruk <a.mazuruk@samsung.com> | 2018-09-20 15:46:17 +0200 |
---|---|---|
committer | Pawel Wieczorek <p.wieczorek2@samsung.com> | 2018-12-03 16:41:54 +0100 |
commit | 56f4a0a7b2c4d9d6fcda2bbcb29bf3f6b9d34fe1 (patch) | |
tree | b6add006cbd82c7ec657796cb8718ad79059eb76 | |
parent | 8ff3914867564171a7765404c68453f07a85ab42 (diff) | |
download | weles-56f4a0a7b2c4d9d6fcda2bbcb29bf3f6b9d34fe1.tar.gz weles-56f4a0a7b2c4d9d6fcda2bbcb29bf3f6b9d34fe1.tar.bz2 weles-56f4a0a7b2c4d9d6fcda2bbcb29bf3f6b9d34fe1.zip |
Add API documentation
Generated using:
$ make docs-swagger
Needs css adjustments to alabaster theme.
Change-Id: I90eb6277ef046a1d7e5f716bffa29d9523d50616
Signed-off-by: Alexander Mazuruk <a.mazuruk@samsung.com>
-rw-r--r-- | doc/source/_static/swagger/.swagger-codegen-ignore | 23 | ||||
-rw-r--r-- | doc/source/_static/swagger/.swagger-codegen/VERSION | 1 | ||||
-rw-r--r-- | doc/source/_static/swagger/index.html | 746 | ||||
-rw-r--r-- | doc/source/api.txt | 7 | ||||
-rw-r--r-- | doc/source/index.txt | 1 |
5 files changed, 778 insertions, 0 deletions
diff --git a/doc/source/_static/swagger/.swagger-codegen-ignore b/doc/source/_static/swagger/.swagger-codegen-ignore new file mode 100644 index 0000000..c5fa491 --- /dev/null +++ b/doc/source/_static/swagger/.swagger-codegen-ignore @@ -0,0 +1,23 @@ +# Swagger Codegen Ignore +# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/doc/source/_static/swagger/.swagger-codegen/VERSION b/doc/source/_static/swagger/.swagger-codegen/VERSION new file mode 100644 index 0000000..855ff95 --- /dev/null +++ b/doc/source/_static/swagger/.swagger-codegen/VERSION @@ -0,0 +1 @@ +2.4.0-SNAPSHOT
\ No newline at end of file diff --git a/doc/source/_static/swagger/index.html b/doc/source/_static/swagger/index.html new file mode 100644 index 0000000..6e5d050 --- /dev/null +++ b/doc/source/_static/swagger/index.html @@ -0,0 +1,746 @@ +<!doctype html> +<html> + <head> + <title>Weles</title> + <style type="text/css"> + body { + font-family: Trebuchet MS, sans-serif; + font-size: 15px; + color: #444; + margin-right: 24px; +} + +h1 { + font-size: 25px; +} +h2 { + font-size: 20px; +} +h3 { + font-size: 16px; + font-weight: bold; +} +hr { + height: 1px; + border: 0; + color: #ddd; + background-color: #ddd; +} + +.app-desc { + clear: both; + margin-left: 20px; +} +.param-name { + width: 100%; +} +.license-info { + margin-left: 20px; +} + +.license-url { + margin-left: 20px; +} + +.model { + margin: 0 0 0px 20px; +} + +.method { + margin-left: 20px; +} + +.method-notes { + margin: 10px 0 20px 0; + font-size: 90%; + color: #555; +} + +pre { + padding: 10px; + margin-bottom: 2px; +} + +.http-method { + text-transform: uppercase; +} + +pre.get { + background-color: #0f6ab4; +} + +pre.post { + background-color: #10a54a; +} + +pre.put { + background-color: #c5862b; +} + +pre.delete { + background-color: #a41e22; +} + +.huge { + color: #fff; +} + +pre.example { + background-color: #f3f3f3; + padding: 10px; + border: 1px solid #ddd; +} + +code { + white-space: pre; +} + +.nickname { + font-weight: bold; +} + +.method-path { + font-size: 1.5em; + background-color: #0f6ab4; +} + +.up { + float:right; +} + +.parameter { + width: 500px; +} + +.param { + width: 500px; + padding: 10px 0 0 20px; + font-weight: bold; +} + +.param-desc { + width: 700px; + padding: 0 0 0 20px; + color: #777; +} + +.param-type { + font-style: italic; +} + +.param-enum-header { +width: 700px; +padding: 0 0 0 60px; +color: #777; +font-weight: bold; +} + +.param-enum { +width: 700px; +padding: 0 0 0 80px; +color: #777; +font-style: italic; +} + +.field-label { + padding: 0; + margin: 0; + clear: both; +} + +.field-items { + padding: 0 0 15px 0; + margin-bottom: 15px; +} + +.return-type { + clear: both; + padding-bottom: 10px; +} + +.param-header { + font-weight: bold; +} + +.method-tags { + text-align: right; +} + +.method-tag { + background: none repeat scroll 0% 0% #24A600; + border-radius: 3px; + padding: 2px 10px; + margin: 2px; + color: #FFF; + display: inline-block; + text-decoration: none; +} + + </style> + </head> + <body> + <h1>Weles</h1> + <div class="app-desc">This is a Weles server. You can find out more about Weles at <a href="http://tbd.tbd">http://tbd.tbd</a>.</div> + <div class="app-desc">More information: <a href="https://helloreverb.com">https://helloreverb.com</a></div> + <div class="app-desc">Contact Info: <a href="tbd@tbd.com">tbd@tbd.com</a></div> + <div class="app-desc">Version: 0.0.0</div> + <div class="app-desc">BasePath:/api/v1</div> + <div class="license-info">Apache 2.0</div> + <div class="license-url">http://www.apache.org/licenses/LICENSE-2.0.html</div> + <h2>Access</h2> + + <h2><a name="__Methods">Methods</a></h2> + [ Jump to <a href="#__Models">Models</a> ] + + <h3>Table of Contents </h3> + <div class="method-summary"></div> + <h4><a href="#Artifacts">Artifacts</a></h4> + <ul> + <li><a href="#artifactLister"><code><span class="http-method">post</span> /artifacts/list</code></a></li> + </ul> + <h4><a href="#Jobs">Jobs</a></h4> + <ul> + <li><a href="#jobCanceler"><code><span class="http-method">post</span> /jobs/{JobID}/cancel</code></a></li> + <li><a href="#jobCreator"><code><span class="http-method">post</span> /jobs</code></a></li> + <li><a href="#jobLister"><code><span class="http-method">post</span> /jobs/list</code></a></li> + </ul> + + <h1><a name="Artifacts">Artifacts</a></h1> + <div class="method"><a name="artifactLister"/> + <div class="method-path"> + <a class="up" href="#__Methods">Up</a> + <pre class="post"><code class="huge"><span class="http-method">post</span> /artifacts/list</code></pre></div> + <div class="method-summary">List artifacts with filter and sort features (<span class="nickname">artifactLister</span>)</div> + <div class="method-notes">ArtifactLister returns information on filtered Weles artifacts.</div> + + + <h3 class="field-label">Consumes</h3> + This API call consumes the following media types via the <span class="header">Content-Type</span> request header: + <ul> + <li><code>application/json</code></li> + </ul> + + <h3 class="field-label">Request body</h3> + <div class="field-items"> + <div class="param">artifactFilterAndSort <a href="#ArtifactFilterAndSort">ArtifactFilterAndSort</a> (optional)</div> + + <div class="param-desc"><span class="param-type">Body Parameter</span> — Artifact Filter and Sort object. </div> + + </div> <!-- field-items --> + + + <h3 class="field-label">Query parameters</h3> + <div class="field-items"> + <div class="param">after (optional)</div> + + <div class="param-desc"><span class="param-type">Query Parameter</span> — ID of the last element from previous page. format: int64</div><div class="param">before (optional)</div> + + <div class="param-desc"><span class="param-type">Query Parameter</span> — ID of first element from next page. format: int64</div><div class="param">limit (optional)</div> + + <div class="param-desc"><span class="param-type">Query Parameter</span> — Custom page limit. Denotes number of ArtifactInfo structures that will be returned. format: int32</div> + </div> <!-- field-items --> + + + <h3 class="field-label">Return type</h3> + <div class="return-type"> + array[<a href="#ArtifactInfo">ArtifactInfo</a>] + + </div> + + <!--Todo: process Response Object and its headers, schema, examples --> + + <h3 class="field-label">Example data</h3> + <div class="example-data-content-type">Content-Type: application/json</div> + <pre class="example"><code>[ "", "" ]</code></pre> + + <h3 class="field-label">Produces</h3> + This API call produces the following media types according to the <span class="header">Accept</span> request header; + the media type will be conveyed by the <span class="header">Content-Type</span> response header. + <ul> + <li><code>application/json</code></li> + </ul> + + <h3 class="field-label">Responses</h3> + <h4 class="field-label">200</h4> + OK + + <h4 class="field-label">206</h4> + Partial Content + + <h4 class="field-label">400</h4> + Bad Request + <a href="#ErrResponse">ErrResponse</a> + <h4 class="field-label">404</h4> + Not Found + <a href="#ErrResponse">ErrResponse</a> + <h4 class="field-label">500</h4> + Internal Server error + <a href="#ErrResponse">ErrResponse</a> + </div> <!-- method --> + <hr/> + <h1><a name="Jobs">Jobs</a></h1> + <div class="method"><a name="jobCanceler"/> + <div class="method-path"> + <a class="up" href="#__Methods">Up</a> + <pre class="post"><code class="huge"><span class="http-method">post</span> /jobs/{JobID}/cancel</code></pre></div> + <div class="method-summary">Cancel existing job (<span class="nickname">jobCanceler</span>)</div> + <div class="method-notes">JobCanceler stops execution of Job identified by JobID.</div> + + <h3 class="field-label">Path parameters</h3> + <div class="field-items"> + <div class="param">JobID (required)</div> + + <div class="param-desc"><span class="param-type">Path Parameter</span> — format: uint64</div> + </div> <!-- field-items --> + + <h3 class="field-label">Consumes</h3> + This API call consumes the following media types via the <span class="header">Content-Type</span> request header: + <ul> + <li><code>application/json</code></li> + </ul> + + + + + + + <!--Todo: process Response Object and its headers, schema, examples --> + + + <h3 class="field-label">Produces</h3> + This API call produces the following media types according to the <span class="header">Accept</span> request header; + the media type will be conveyed by the <span class="header">Content-Type</span> response header. + <ul> + <li><code>application/json</code></li> + </ul> + + <h3 class="field-label">Responses</h3> + <h4 class="field-label">204</h4> + No Content + <a href="#"></a> + <h4 class="field-label">403</h4> + Forbidden + <a href="#ErrResponse">ErrResponse</a> + <h4 class="field-label">404</h4> + Not Found + <a href="#ErrResponse">ErrResponse</a> + <h4 class="field-label">500</h4> + Internal Server error + <a href="#ErrResponse">ErrResponse</a> + </div> <!-- method --> + <hr/> + <div class="method"><a name="jobCreator"/> + <div class="method-path"> + <a class="up" href="#__Methods">Up</a> + <pre class="post"><code class="huge"><span class="http-method">post</span> /jobs</code></pre></div> + <div class="method-summary">Add new job (<span class="nickname">jobCreator</span>)</div> + <div class="method-notes">adds new Job in Weles using recipe passed in YAML format.</div> + + + <h3 class="field-label">Consumes</h3> + This API call consumes the following media types via the <span class="header">Content-Type</span> request header: + <ul> + <li><code>multipart/form-data</code></li> + </ul> + + + + + <h3 class="field-label">Form parameters</h3> + <div class="field-items"> + <div class="param">yamlfile (required)</div> + + <div class="param-desc"><span class="param-type">Form Parameter</span> — is Job description yaml file. </div> + </div> <!-- field-items --> + + <h3 class="field-label">Return type</h3> + <div class="return-type"> + <a href="#JobID">JobID</a> + + </div> + + <!--Todo: process Response Object and its headers, schema, examples --> + + <h3 class="field-label">Example data</h3> + <div class="example-data-content-type">Content-Type: application/json</div> + <pre class="example"><code>{ }</code></pre> + + <h3 class="field-label">Produces</h3> + This API call produces the following media types according to the <span class="header">Accept</span> request header; + the media type will be conveyed by the <span class="header">Content-Type</span> response header. + <ul> + <li><code>application/json</code></li> + </ul> + + <h3 class="field-label">Responses</h3> + <h4 class="field-label">201</h4> + Created + <a href="#JobID">JobID</a> + <h4 class="field-label">415</h4> + Unsupported media type + <a href="#ErrResponse">ErrResponse</a> + <h4 class="field-label">422</h4> + Unprocessable entity + <a href="#ErrResponse">ErrResponse</a> + <h4 class="field-label">500</h4> + Internal Server error + <a href="#ErrResponse">ErrResponse</a> + </div> <!-- method --> + <hr/> + <div class="method"><a name="jobLister"/> + <div class="method-path"> + <a class="up" href="#__Methods">Up</a> + <pre class="post"><code class="huge"><span class="http-method">post</span> /jobs/list</code></pre></div> + <div class="method-summary">List jobs with filter and sort features (<span class="nickname">jobLister</span>)</div> + <div class="method-notes">JobLister returns information on filtered Weles Jobs.</div> + + + <h3 class="field-label">Consumes</h3> + This API call consumes the following media types via the <span class="header">Content-Type</span> request header: + <ul> + <li><code>application/json</code></li> + </ul> + + <h3 class="field-label">Request body</h3> + <div class="field-items"> + <div class="param">jobFilterAndSort <a href="#JobFilterAndSort">JobFilterAndSort</a> (optional)</div> + + <div class="param-desc"><span class="param-type">Body Parameter</span> — Job Filter and Sort object. </div> + + </div> <!-- field-items --> + + + <h3 class="field-label">Query parameters</h3> + <div class="field-items"> + <div class="param">after (optional)</div> + + <div class="param-desc"><span class="param-type">Query Parameter</span> — JobID of the last element from previous page. format: uint64</div><div class="param">before (optional)</div> + + <div class="param-desc"><span class="param-type">Query Parameter</span> — JobID of first element from next page. format: uint64</div><div class="param">limit (optional)</div> + + <div class="param-desc"><span class="param-type">Query Parameter</span> — Custom page limit. Denotes number of JobInfo structures that will be returned. format: int32</div> + </div> <!-- field-items --> + + + <h3 class="field-label">Return type</h3> + <div class="return-type"> + array[<a href="#JobInfo">JobInfo</a>] + + </div> + + <!--Todo: process Response Object and its headers, schema, examples --> + + <h3 class="field-label">Example data</h3> + <div class="example-data-content-type">Content-Type: application/json</div> + <pre class="example"><code>[ { + "jobID" : { }, + "created" : "2000-01-23T04:56:07.000+00:00", + "name" : "name", + "updated" : "2000-01-23T04:56:07.000+00:00", + "status" : { }, + "info" : "info" +}, { + "jobID" : { }, + "created" : "2000-01-23T04:56:07.000+00:00", + "name" : "name", + "updated" : "2000-01-23T04:56:07.000+00:00", + "status" : { }, + "info" : "info" +} ]</code></pre> + + <h3 class="field-label">Produces</h3> + This API call produces the following media types according to the <span class="header">Accept</span> request header; + the media type will be conveyed by the <span class="header">Content-Type</span> response header. + <ul> + <li><code>application/json</code></li> + </ul> + + <h3 class="field-label">Responses</h3> + <h4 class="field-label">200</h4> + OK + + <h4 class="field-label">206</h4> + Partial Content + + <h4 class="field-label">400</h4> + Bad Request + <a href="#ErrResponse">ErrResponse</a> + <h4 class="field-label">404</h4> + Not Found + <a href="#ErrResponse">ErrResponse</a> + <h4 class="field-label">500</h4> + Internal Server error + <a href="#ErrResponse">ErrResponse</a> + </div> <!-- method --> + <hr/> + + <h2><a name="__Models">Models</a></h2> + [ Jump to <a href="#__Methods">Methods</a> ] + + <h3>Table of Contents</h3> + <ol> + <li><a href="#ArtifactAlias"><code>ArtifactAlias</code> - </a></li> + <li><a href="#ArtifactDescription"><code>ArtifactDescription</code> - </a></li> + <li><a href="#ArtifactFilter"><code>ArtifactFilter</code> - </a></li> + <li><a href="#ArtifactFilterAndSort"><code>ArtifactFilterAndSort</code> - </a></li> + <li><a href="#ArtifactPath"><code>ArtifactPath</code> - </a></li> + <li><a href="#ArtifactSortBy"><code>ArtifactSortBy</code> - </a></li> + <li><a href="#ArtifactSorter"><code>ArtifactSorter</code> - </a></li> + <li><a href="#ArtifactStatus"><code>ArtifactStatus</code> - </a></li> + <li><a href="#ArtifactType"><code>ArtifactType</code> - </a></li> + <li><a href="#ArtifactURI"><code>ArtifactURI</code> - </a></li> + <li><a href="#ErrResponse"><code>ErrResponse</code> - </a></li> + <li><a href="#JobFilter"><code>JobFilter</code> - </a></li> + <li><a href="#JobFilterAndSort"><code>JobFilterAndSort</code> - </a></li> + <li><a href="#JobID"><code>JobID</code> - </a></li> + <li><a href="#JobInfo"><code>JobInfo</code> - </a></li> + <li><a href="#JobSortBy"><code>JobSortBy</code> - </a></li> + <li><a href="#JobSorter"><code>JobSorter</code> - </a></li> + <li><a href="#JobStatus"><code>JobStatus</code> - </a></li> + <li><a href="#SortOrder"><code>SortOrder</code> - </a></li> + <li><a href="#ArtifactInfo"><code>ArtifactInfo</code> - </a></li> + </ol> + + <div class="model"> + <h3><a name="ArtifactAlias"><code>ArtifactAlias</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>is an alternative name of an artifact.</div> + <div class="field-items"> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="ArtifactDescription"><code>ArtifactDescription</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>contains information needed to create new artifact in ArtifactDB.</div> + <div class="field-items"> + <div class="param">JobID (optional)</div><div class="param-desc"><span class="param-type"><a href="#JobID">JobID</a></span> specifies Job for which artifact was created. </div> +<div class="param">Type (optional)</div><div class="param-desc"><span class="param-type"><a href="#ArtifactType">ArtifactType</a></span> </div> +<div class="param">Alias (optional)</div><div class="param-desc"><span class="param-type"><a href="#ArtifactAlias">ArtifactAlias</a></span> </div> +<div class="param">URI (optional)</div><div class="param-desc"><span class="param-type"><a href="#ArtifactURI">ArtifactURI</a></span> </div> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="ArtifactFilter"><code>ArtifactFilter</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>is used to filter results from ArtifactDB.</div> + <div class="field-items"> + <div class="param">JobID (optional)</div><div class="param-desc"><span class="param-type"><a href="#JobID">array[JobID]</a></span> </div> +<div class="param">Type (optional)</div><div class="param-desc"><span class="param-type"><a href="#ArtifactType">array[ArtifactType]</a></span> </div> +<div class="param">Status (optional)</div><div class="param-desc"><span class="param-type"><a href="#ArtifactStatus">array[ArtifactStatus]</a></span> </div> +<div class="param">Alias (optional)</div><div class="param-desc"><span class="param-type"><a href="#ArtifactAlias">array[ArtifactAlias]</a></span> </div> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="ArtifactFilterAndSort"><code>ArtifactFilterAndSort</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>Data for filtering and sorting Weles Jobs lists.</div> + <div class="field-items"> + <div class="param">Filter (optional)</div><div class="param-desc"><span class="param-type"><a href="#ArtifactFilter">ArtifactFilter</a></span> </div> +<div class="param">Sorter (optional)</div><div class="param-desc"><span class="param-type"><a href="#ArtifactSorter">ArtifactSorter</a></span> </div> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="ArtifactPath"><code>ArtifactPath</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>describes path to artifact in ArtifactDB filesystem.</div> + <div class="field-items"> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="ArtifactSortBy"><code>ArtifactSortBy</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'><p>denotes the key for sorting list of all artifacts.</p> +<ul> +<li>ID - sorting by artifact ID.</li> +</ul> +</div> + <div class="field-items"> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="ArtifactSorter"><code>ArtifactSorter</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>defines the key for sorting as well as direction of sorting. +When ArtifactSorter is empty, artifacts are sorted by ID, Ascending.</div> + <div class="field-items"> + <div class="param">SortBy (optional)</div><div class="param-desc"><span class="param-type"><a href="#ArtifactSortBy">ArtifactSortBy</a></span> </div> +<div class="param">SortOrder (optional)</div><div class="param-desc"><span class="param-type"><a href="#SortOrder">SortOrder</a></span> </div> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="ArtifactStatus"><code>ArtifactStatus</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'><p>describes artifact status and availability.</p> +<ul> +<li> +<p>DOWNLOADING - artifact is currently being downloaded.</p> +</li> +<li> +<p>READY - artifact has been downloaded and is ready to use.</p> +</li> +<li> +<p>FAILED - file is not available for use (e.g. download failed).</p> +</li> +<li> +<p>PENDING - artifact download has not started yet.</p> +</li> +</ul> +</div> + <div class="field-items"> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="ArtifactType"><code>ArtifactType</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'><p>denotes type and function of an artifact.</p> +<ul> +<li> +<p>IMAGE - image file.</p> +</li> +<li> +<p>RESULT - all outputs, files built during tests, etc.</p> +</li> +<li> +<p>TEST - additional files uploaded by user for conducting test.</p> +</li> +<li> +<p>YAML - yaml file describing Weles Job.</p> +</li> +</ul> +</div> + <div class="field-items"> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="ArtifactURI"><code>ArtifactURI</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>is used to identify artifact's source.</div> + <div class="field-items"> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="ErrResponse"><code>ErrResponse</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>is a standard error response containing information about the error. It consists of error type and message.</div> + <div class="field-items"> + <div class="param">type (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div> +<div class="param">message (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="JobFilter"><code>JobFilter</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>is used to filter Weles Jobs.</div> + <div class="field-items"> + <div class="param">JobID (optional)</div><div class="param-desc"><span class="param-type"><a href="#JobID">array[JobID]</a></span> </div> +<div class="param">Name (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">array[String]</a></span> </div> +<div class="param">CreatedAfter (optional)</div><div class="param-desc"><span class="param-type"><a href="#DateTime">Date</a></span> format: date-time</div> +<div class="param">CreatedBefore (optional)</div><div class="param-desc"><span class="param-type"><a href="#DateTime">Date</a></span> format: date-time</div> +<div class="param">UpdatedAfter (optional)</div><div class="param-desc"><span class="param-type"><a href="#DateTime">Date</a></span> format: date-time</div> +<div class="param">UpdatedBefore (optional)</div><div class="param-desc"><span class="param-type"><a href="#DateTime">Date</a></span> format: date-time</div> +<div class="param">Status (optional)</div><div class="param-desc"><span class="param-type"><a href="#JobStatus">array[JobStatus]</a></span> </div> +<div class="param">Info (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">array[String]</a></span> </div> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="JobFilterAndSort"><code>JobFilterAndSort</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>Data for filtering and sorting Weles Jobs lists.</div> + <div class="field-items"> + <div class="param">Filter (optional)</div><div class="param-desc"><span class="param-type"><a href="#JobFilter">JobFilter</a></span> </div> +<div class="param">Sorter (optional)</div><div class="param-desc"><span class="param-type"><a href="#JobSorter">JobSorter</a></span> </div> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="JobID"><code>JobID</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>is a unique identifier for Weles Job.</div> + <div class="field-items"> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="JobInfo"><code>JobInfo</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>contains information about a Job available for public API.</div> + <div class="field-items"> + <div class="param">jobID (optional)</div><div class="param-desc"><span class="param-type"><a href="#JobID">JobID</a></span> is a unique Job identifier </div> +<div class="param">name (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> is the Job name acquired from yaml file during Job creation. </div> +<div class="param">created (optional)</div><div class="param-desc"><span class="param-type"><a href="#DateTime">Date</a></span> is the Job creation time in UTC. format: date-time</div> +<div class="param">updated (optional)</div><div class="param-desc"><span class="param-type"><a href="#DateTime">Date</a></span> is the time of latest Jobs' status modification. format: date-time</div> +<div class="param">status (optional)</div><div class="param-desc"><span class="param-type"><a href="#JobStatus">JobStatus</a></span> specifies current state of the Job. </div> +<div class="param">info (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> provides additional information about current state, e.g. cause of failure </div> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="JobSortBy"><code>JobSortBy</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'><p>denotes key for sorting Jobs list. Jobs are sorted by ID (Ascending) by default. +You can sort jobs additionaly by</p> +<ul> +<li> +<p>CreatedDate - sorting by date of creation of the weles job.</p> +</li> +<li> +<p>UpdatedDate - sorting by date of update of the weles job.</p> +</li> +<li> +<p>JobStatus - sorting by the Job Status. Descending order will sort in the order JobStatuses are listed in the docs (from NEW at the start to CANCELED at the end). Ascending will reverse this order. +When sorting is applied, and there are many jobs with the same date/status, they will be sorted by JobID (Ascending)</p> +</li> +</ul> +</div> + <div class="field-items"> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="JobSorter"><code>JobSorter</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>defines the key for sorting as well as direction of sorting.</div> + <div class="field-items"> + <div class="param">SortBy (optional)</div><div class="param-desc"><span class="param-type"><a href="#JobSortBy">JobSortBy</a></span> </div> +<div class="param">SortOrder (optional)</div><div class="param-desc"><span class="param-type"><a href="#SortOrder">SortOrder</a></span> </div> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="JobStatus"><code>JobStatus</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'><p>specifies state of the Job.</p> +<ul> +<li> +<p>NEW - The new Job has been created.</p> +</li> +<li> +<p>PARSING - Provided yaml file is being parsed and interpreted.</p> +</li> +<li> +<p>DOWNLOADING - Images and/or files required for the test are being downloaded.</p> +</li> +<li> +<p>WAITING - Job is waiting for Boruta worker.</p> +</li> +<li> +<p>RUNNING - Job is being executed.</p> +</li> +<li> +<p>COMPLETED - Job is completed. This is terminal state.</p> +</li> +<li> +<p>FAILED - Job execution has failed. This is terminal state.</p> +</li> +<li> +<p>CANCELED -Job has been canceled with API call. This is terminal state.</p> +</li> +</ul> +</div> + <div class="field-items"> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="SortOrder"><code>SortOrder</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'><p>denotes direction of sorting of weles jobs or artifacts.</p> +<ul> +<li> +<p>Ascending - from oldest to newest.</p> +</li> +<li> +<p>Descending - from newest to oldest.</p> +</li> +</ul> +</div> + <div class="field-items"> + </div> <!-- field-items --> + </div> + <div class="model"> + <h3><a name="ArtifactInfo"><code>ArtifactInfo</code> - </a> <a class="up" href="#__Models">Up</a></h3> + <div class='model-description'>describes single artifact stored in ArtifactDB.</div> + <div class="field-items"> + <div class="param">JobID (optional)</div><div class="param-desc"><span class="param-type"><a href="#JobID">JobID</a></span> specifies Job for which artifact was created. </div> +<div class="param">Type (optional)</div><div class="param-desc"><span class="param-type"><a href="#ArtifactType">ArtifactType</a></span> </div> +<div class="param">Alias (optional)</div><div class="param-desc"><span class="param-type"><a href="#ArtifactAlias">ArtifactAlias</a></span> </div> +<div class="param">URI (optional)</div><div class="param-desc"><span class="param-type"><a href="#ArtifactURI">ArtifactURI</a></span> </div> + </div> <!-- field-items --> + </div> + </body> +</html> diff --git a/doc/source/api.txt b/doc/source/api.txt new file mode 100644 index 0000000..c98e7b3 --- /dev/null +++ b/doc/source/api.txt @@ -0,0 +1,7 @@ +### +API +### + + +.. raw:: html + :file: _static/swagger/index.html diff --git a/doc/source/index.txt b/doc/source/index.txt index d28fc48..6935472 100644 --- a/doc/source/index.txt +++ b/doc/source/index.txt @@ -11,6 +11,7 @@ Welcome to the documentation of Weles! :caption: Contents: readme + api Indices and tables |