As announced in openstack-discuss ML[1], Qinling project is retiring in Wallaby cycle. This commit retires this repository as per process deinfed in project-guide[2]. Anyone would like to maintain it again, please revert back this commit and propose the re-adding of Qinling to governance. The community wishes to express our thanks and appreciation to all of those who have contributed to the Qinling project over the years. Depends-On: https://review.opendev.org/c/openstack/project-config/+/764520 Needed-By: https://review.opendev.org/c/openstack/governance/+/764523 [1] http://lists.openstack.org/pipermail/openstack-discuss/2020-November/018638.html [2] https://docs.openstack.org/project-team-guide/repository.html#retiring-a-repository Change-Id: Ic9e422dfbba6d23cf83576ece34bb5071cc89377changes/21/764521/2
@ -1,9 +0,0 @@ | |||
[run] | |||
branch = True | |||
source = qinling | |||
omit = | |||
qinling/tests/* | |||
qinling/db/sqlalchemy/migration/alembic_migrations/versions/* | |||
[report] | |||
ignore_errors = True |
@ -1,62 +0,0 @@ | |||
*.py[cod] | |||
*.sqlite | |||
# C extensions | |||
*.so | |||
# Packages | |||
*.egg | |||
*.eggs | |||
*.egg-info | |||
dist | |||
build | |||
.venv | |||
eggs | |||
parts | |||
bin | |||
var | |||
sdist | |||
develop-eggs | |||
.installed.cfg | |||
lib | |||
lib64 | |||
# Installer logs | |||
pip-log.txt | |||
# Unit test / coverage reports | |||
.coverage | |||
.stestr/* | |||
.tox | |||
nosetests.xml | |||
cover/* | |||
.testrepository/ | |||
subunit.log | |||
.qinling.conf | |||
AUTHORS | |||
ChangeLog | |||
# Translations | |||
*.mo | |||
# Mr Developer | |||
.mr.developer.cfg | |||
.project | |||
.pydevproject | |||
.idea | |||
.DS_Store | |||
etc/*.conf | |||
etc/qinling.conf.sample | |||
*.patch | |||
#Linux swap file | |||
*.swp | |||
# Files created by releasenotes build | |||
releasenotes/build | |||
# Files created by doc build | |||
doc/source/api | |||
# Files created by API build | |||
api-ref/build/ |
@ -1,3 +0,0 @@ | |||
# Format is: | |||
# <preferred e-mail> <other e-mail 1> | |||
# <preferred e-mail> <other e-mail 2> |
@ -1,3 +0,0 @@ | |||
[DEFAULT] | |||
test_path=${TEST_PATH:-./qinling/tests} | |||
top_dir=./ |
@ -1,89 +0,0 @@ | |||
- job: | |||
name: qinling-tempest | |||
parent: devstack-tempest | |||
timeout: 7800 | |||
required-projects: | |||
- openstack/devstack-gate | |||
- openstack/python-qinlingclient | |||
- openstack/qinling | |||
- openstack/tempest | |||
irrelevant-files: | |||
- ^.*\.rst$ | |||
- ^doc/.* | |||
- ^qinling/tests/unit/.*$ | |||
- ^releasenotes/.*$ | |||
- ^api-ref/.*$ | |||
pre-run: playbooks/pre.yaml | |||
post-run: playbooks/post.yaml | |||
vars: | |||
devstack_services: | |||
# Disable unneeded services. | |||
# These services are enabled in the devstack base job and are not | |||
# needed for qinling. | |||
etcd3: false | |||
peakmem_tracker: false | |||
tls-proxy: false | |||
g-api: false | |||
g-reg: false | |||
n-api: false | |||
n-api-meta: false | |||
n-cauth: false | |||
n-cond: false | |||
n-cpu: false | |||
n-novnc: false | |||
n-obj: false | |||
n-sch: false | |||
placement-api: false | |||
q-agt: false | |||
q-dhcp: false | |||
q-l3: false | |||
q-meta: false | |||
q-metering: false | |||
q-svc: false | |||
s-account: false | |||
s-container: false | |||
s-object: false | |||
s-proxy: false | |||
c-api: false | |||
c-bak: false | |||
c-sch: false | |||
c-vol: false | |||
cinder: false | |||
devstack_plugins: | |||
qinling: https://opendev.org/openstack/qinling | |||
devstack_localrc: | |||
TEMPEST_PLUGINS: /opt/stack/qinling | |||
USE_PYTHON3: True | |||
tox_envlist: all | |||
tox_extra_args: --sitepackages | |||
tempest_test_regex: ^(qinling_tempest_plugin.) | |||
# Qinling's default replicas number is 3, some test cases need | |||
# 2 workers, set concurrency to 2 to avoid | |||
# "Not enough workers available" error. | |||
tempest_concurrency: 2 | |||
- job: | |||
name: qinling-tempest-centos7 | |||
parent: qinling-tempest | |||
nodeset: devstack-single-node-centos-7 | |||
- project: | |||
templates: | |||
- openstack-cover-jobs | |||
- openstack-lower-constraints-jobs | |||
- openstack-python3-wallaby-jobs | |||
- check-requirements | |||
- publish-openstack-docs-pti | |||
- release-notes-jobs-python3 | |||
check: | |||
jobs: | |||
- qinling-tempest: | |||
voting: false | |||
gate: | |||
queue: qinling | |||
jobs: | |||
- qinling-tempest: | |||
voting: false | |||
experimental: | |||
jobs: | |||
- qinling-tempest-centos7 |
@ -1,41 +0,0 @@ | |||
If you would like to contribute to the development of OpenStack, you must | |||
follow the steps in this page: | |||
https://docs.openstack.org/infra/manual/developers.html | |||
If you already have a good understanding of how the system works and your | |||
OpenStack accounts are set up, you can skip to the development workflow | |||
section of this documentation to learn how changes to OpenStack should be | |||
submitted for review via the Gerrit tool: | |||
https://docs.openstack.org/infra/manual/developers.html#development-workflow | |||
Pull requests submitted through GitHub will be ignored. | |||
How to file a bug | |||
~~~~~~~~~~~~~~~~~ | |||
* Go to | |||
`Qinling project storyboard <https://storyboard.openstack.org/#!/project/927>`_, | |||
click ``Add story``. | |||
* Input the bug title and description, be aware the Markdown formatting is | |||
supported, it's useful if you want to paste code or log. After completion, | |||
click ``Save Changes``. | |||
* In the created story page, add a tag named 'bug' in the ``Tags`` section. | |||
* Now, you can see the new bug in | |||
`Qinling project dashboard <https://storyboard.openstack.org/#!/board/79>`_. | |||
How to propose a feature | |||
~~~~~~~~~~~~~~~~~~~~~~~~ | |||
* Go to | |||
`Qinling project storyboard <https://storyboard.openstack.org/#!/project/927>`_, | |||
click ``Add story``. | |||
* Input the feature title and description, be aware the Markdown formatting is | |||
supported, it's useful if you want to paste code or log. After completion, | |||
click ``Save Changes``. | |||
* In the created story page, add a tag named 'feature' in the ``Tags`` section. | |||
* You can optionally break the story into different tasks so that the whole | |||
story can be tracked properly in different patches. | |||
* Now, you can see the new feature in | |||
`Qinling project dashboard <https://storyboard.openstack.org/#!/board/79>`_. |
@ -1,4 +0,0 @@ | |||
qinling Style Commandments | |||
=============================================== | |||
Read the OpenStack Style Commandments https://docs.openstack.org/hacking/latest/ |
@ -1,176 +0,0 @@ | |||
Apache License | |||
Version 2.0, January 2004 | |||
http://www.apache.org/licenses/ | |||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | |||
1. Definitions. | |||
"License" shall mean the terms and conditions for use, reproduction, | |||
and distribution as defined by Sections 1 through 9 of this document. | |||
"Licensor" shall mean the copyright owner or entity authorized by | |||
the copyright owner that is granting the License. | |||
"Legal Entity" shall mean the union of the acting entity and all | |||
other entities that control, are controlled by, or are under common | |||
control with that entity. For the purposes of this definition, | |||
"control" means (i) the power, direct or indirect, to cause the | |||
direction or management of such entity, whether by contract or | |||
otherwise, or (ii) ownership of fifty percent (50%) or more of the | |||
outstanding shares, or (iii) beneficial ownership of such entity. | |||
"You" (or "Your") shall mean an individual or Legal Entity | |||
exercising permissions granted by this License. | |||
"Source" form shall mean the preferred form for making modifications, | |||
including but not limited to software source code, documentation | |||
source, and configuration files. | |||
"Object" form shall mean any form resulting from mechanical | |||
transformation or translation of a Source form, including but | |||
not limited to compiled object code, generated documentation, | |||
and conversions to other media types. | |||
"Work" shall mean the work of authorship, whether in Source or | |||
Object form, made available under the License, as indicated by a | |||
copyright notice that is included in or attached to the work | |||
(an example is provided in the Appendix below). | |||
"Derivative Works" shall mean any work, whether in Source or Object | |||
form, that is based on (or derived from) the Work and for which the | |||
editorial revisions, annotations, elaborations, or other modifications | |||
represent, as a whole, an original work of authorship. For the purposes | |||
of this License, Derivative Works shall not include works that remain | |||
separable from, or merely link (or bind by name) to the interfaces of, | |||
the Work and Derivative Works thereof. | |||
"Contribution" shall mean any work of authorship, including | |||
the original version of the Work and any modifications or additions | |||
to that Work or Derivative Works thereof, that is intentionally | |||
submitted to Licensor for inclusion in the Work by the copyright owner | |||
or by an individual or Legal Entity authorized to submit on behalf of | |||
the copyright owner. For the purposes of this definition, "submitted" | |||
means any form of electronic, verbal, or written communication sent | |||
to the Licensor or its representatives, including but not limited to | |||
communication on electronic mailing lists, source code control systems, | |||
and issue tracking systems that are managed by, or on behalf of, the | |||
Licensor for the purpose of discussing and improving the Work, but | |||
excluding communication that is conspicuously marked or otherwise | |||
designated in writing by the copyright owner as "Not a Contribution." | |||
"Contributor" shall mean Licensor and any individual or Legal Entity | |||
on behalf of whom a Contribution has been received by Licensor and | |||
subsequently incorporated within the Work. | |||
2. Grant of Copyright License. Subject to the terms and conditions of | |||
this License, each Contributor hereby grants to You a perpetual, | |||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |||
copyright license to reproduce, prepare Derivative Works of, | |||
publicly display, publicly perform, sublicense, and distribute the | |||
Work and such Derivative Works in Source or Object form. | |||
3. Grant of Patent License. Subject to the terms and conditions of | |||
this License, each Contributor hereby grants to You a perpetual, | |||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |||
(except as stated in this section) patent license to make, have made, | |||
use, offer to sell, sell, import, and otherwise transfer the Work, | |||
where such license applies only to those patent claims licensable | |||
by such Contributor that are necessarily infringed by their | |||
Contribution(s) alone or by combination of their Contribution(s) | |||
with the Work to which such Contribution(s) was submitted. If You | |||
institute patent litigation against any entity (including a | |||
cross-claim or counterclaim in a lawsuit) alleging that the Work | |||
or a Contribution incorporated within the Work constitutes direct | |||
or contributory patent infringement, then any patent licenses | |||
granted to You under this License for that Work shall terminate | |||
as of the date such litigation is filed. | |||
4. Redistribution. You may reproduce and distribute copies of the | |||
Work or Derivative Works thereof in any medium, with or without | |||
modifications, and in Source or Object form, provided that You | |||
meet the following conditions: | |||
(a) You must give any other recipients of the Work or | |||
Derivative Works a copy of this License; and | |||
(b) You must cause any modified files to carry prominent notices | |||
stating that You changed the files; and | |||
(c) You must retain, in the Source form of any Derivative Works | |||
that You distribute, all copyright, patent, trademark, and | |||
attribution notices from the Source form of the Work, | |||
excluding those notices that do not pertain to any part of | |||
the Derivative Works; and | |||
(d) If the Work includes a "NOTICE" text file as part of its | |||
distribution, then any Derivative Works that You distribute must | |||
include a readable copy of the attribution notices contained | |||
within such NOTICE file, excluding those notices that do not | |||
pertain to any part of the Derivative Works, in at least one | |||
of the following places: within a NOTICE text file distributed | |||
as part of the Derivative Works; within the Source form or | |||
documentation, if provided along with the Derivative Works; or, | |||
within a display generated by the Derivative Works, if and | |||
wherever such third-party notices normally appear. The contents | |||
of the NOTICE file are for informational purposes only and | |||
do not modify the License. You may add Your own attribution | |||
notices within Derivative Works that You distribute, alongside | |||
or as an addendum to the NOTICE text from the Work, provided | |||
that such additional attribution notices cannot be construed | |||
as modifying the License. | |||
You may add Your own copyright statement to Your modifications and | |||
may provide additional or different license terms and conditions | |||
for use, reproduction, or distribution of Your modifications, or | |||
for any such Derivative Works as a whole, provided Your use, | |||
reproduction, and distribution of the Work otherwise complies with | |||
the conditions stated in this License. | |||
5. Submission of Contributions. Unless You explicitly state otherwise, | |||
any Contribution intentionally submitted for inclusion in the Work | |||
by You to the Licensor shall be under the terms and conditions of | |||
this License, without any additional terms or conditions. | |||
Notwithstanding the above, nothing herein shall supersede or modify | |||
the terms of any separate license agreement you may have executed | |||
with Licensor regarding such Contributions. | |||
6. Trademarks. This License does not grant permission to use the trade | |||
names, trademarks, service marks, or product names of the Licensor, | |||
except as required for reasonable and customary use in describing the | |||
origin of the Work and reproducing the content of the NOTICE file. | |||
7. Disclaimer of Warranty. Unless required by applicable law or | |||
agreed to in writing, Licensor provides the Work (and each | |||
Contributor provides its Contributions) on an "AS IS" BASIS, | |||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | |||
implied, including, without limitation, any warranties or conditions | |||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | |||
PARTICULAR PURPOSE. You are solely responsible for determining the | |||
appropriateness of using or redistributing the Work and assume any | |||
risks associated with Your exercise of permissions under this License. | |||
8. Limitation of Liability. In no event and under no legal theory, | |||
whether in tort (including negligence), contract, or otherwise, | |||
unless required by applicable law (such as deliberate and grossly | |||
negligent acts) or agreed to in writing, shall any Contributor be | |||
liable to You for damages, including any direct, indirect, special, | |||
incidental, or consequential damages of any character arising as a | |||
result of this License or out of the use or inability to use the | |||
Work (including but not limited to damages for loss of goodwill, | |||
work stoppage, computer failure or malfunction, or any and all | |||
other commercial damages or losses), even if such Contributor | |||
has been advised of the possibility of such damages. | |||
9. Accepting Warranty or Additional Liability. While redistributing | |||
the Work or Derivative Works thereof, You may choose to offer, | |||
and charge a fee for, acceptance of support, warranty, indemnity, | |||
or other liability obligations and/or rights consistent with this | |||
License. However, in accepting such obligations, You may act only | |||
on Your own behalf and on Your sole responsibility, not on behalf | |||
of any other Contributor, and only if You agree to indemnify, | |||
defend, and hold each Contributor harmless for any liability | |||
incurred by, or claims asserted against, such Contributor by reason | |||
of your accepting any such warranty or additional liability. | |||
@ -1,24 +1,10 @@ | |||
======= | |||
Qinling | |||
======= | |||
This project is no longer maintained. | |||
.. note:: | |||
The contents of this repository are still available in the Git | |||
source code management system. To see the contents of this | |||
repository before it reached its end of life, please check out the | |||
previous commit with "git checkout HEAD^1". | |||
Qinling (is pronounced "tchinling") refers to Qinling Mountains in southern | |||
Shaanxi Province in China. The mountains provide a natural boundary between | |||
North and South China and support a huge variety of plant and wildlife, some | |||
of which is found nowhere else on Earth. | |||
Qinling is Function as a Service for OpenStack. This project aims to provide a | |||
platform to support serverless functions (like AWS Lambda). Qinling supports | |||
different container orchestration platforms (Kubernetes/Swarm, etc.) and | |||
different function package storage backends (local/Swift/S3) by nature using | |||
plugin mechanism. | |||
* Free software: under the `Apache license <https://www.apache.org/licenses/LICENSE-2.0>`_ | |||
* Documentation: https://docs.openstack.org/qinling/latest/ | |||
* Source: https://opendev.org/openstack/qinling | |||
* Features: https://storyboard.openstack.org/#!/project/927 | |||
* Bug Track: https://storyboard.openstack.org/#!/project/927 | |||
* Release notes: https://docs.openstack.org/releasenotes/qinling/ | |||
* IRC channel on Freenode: #openstack-qinling | |||
For any further questions, please email | |||
openstack-discuss@lists.openstack.org or join #openstack-dev on | |||
Freenode. |
@ -1,265 +0,0 @@ | |||
.. -*- rst -*- | |||
======== | |||
Aliases | |||
======== | |||
Lists, creates, updates, shows details and deletes aliases. | |||
Function aliases are like pointers to the specific function versions. | |||
By using aliases, you can access the specific version of a function an | |||
alias is pointing to without having to know the specific version the alias | |||
is pointing to. | |||
Create an alias | |||
=============== | |||
.. rest_method:: POST /v1/aliases | |||
Create ana alias. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 201 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- function_id: function_id | |||
- version: alias_version | |||
- description: alias_description | |||
Request Example | |||
--------------- | |||
.. literalinclude:: samples/aliases/create-alias-request.json | |||
:language: javascript | |||
Response Parameters | |||
------------------- | |||
.. rest_parameters:: parameters.yaml | |||
- id: id | |||
- name: alias_name | |||
- description: alias_description | |||
- function_id: function_id | |||
- version_number: alias_version | |||
- project_id: project_id | |||
- status: status | |||
- created_at: created_at | |||
- updated_at: updated_at | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/aliases/create-alias-response.json | |||
:language: javascript | |||
List aliases | |||
============ | |||
.. rest_method:: GET /v1/aliases | |||
List aliases. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 200 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
Response Parameters | |||
------------------- | |||
.. rest_parameters:: parameters.yaml | |||
- id: id | |||
- name: alias_name | |||
- description: alias_description | |||
- function_id: function_id | |||
- version_number: alias_version | |||
- project_id: project_id | |||
- status: status | |||
- created_at: created_at | |||
- updated_at: updated_at | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/aliases/list-aliases-response.json | |||
:language: javascript | |||
Show an alias | |||
============= | |||
.. rest_method:: GET /v1/aliases/{name} | |||
Show an alias. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 200 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- name: path_alias_name | |||
Response Parameters | |||
------------------- | |||
.. rest_parameters:: parameters.yaml | |||
- id: id | |||
- name: alias_name | |||
- description: alias_description | |||
- function_id: function_id | |||
- version_number: alias_version | |||
- project_id: project_id | |||
- status: status | |||
- created_at: created_at | |||
- updated_at: updated_at | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/aliases/show-alias-response.json | |||
:language: javascript | |||
Update an alias | |||
=============== | |||
.. rest_method:: PUT /v1/aliases/{name} | |||
Update an alias. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 202 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- name: path_alias_name | |||
Response Parameters | |||
------------------- | |||
.. rest_parameters:: parameters.yaml | |||
- id: id | |||
- name: alias_name | |||
- description: alias_description | |||
- function_id: function_id | |||
- version_number: alias_version | |||
- project_id: project_id | |||
- status: status | |||
- created_at: created_at | |||
- updated_at: updated_at | |||
Request Example | |||
--------------- | |||
.. literalinclude:: samples/aliases/update-alias-request.json | |||
:language: javascript | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/aliases/update-alias-response.json | |||
:language: text | |||
Delete an alias | |||
=============== | |||
.. rest_method:: DELETE /v1/aliases/{name} | |||
Delete an alias. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 204 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- name: path_alias_name | |||
Response Parameters | |||
------------------- | |||
None | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/aliases/delete-alias-response.text | |||
:language: text |
@ -1,31 +0,0 @@ | |||
============ | |||
API Versions | |||
============ | |||
Show all enabled API versions | |||
List all API versions | |||
===================== | |||
.. rest_method:: GET / | |||
.. rest_status_code:: success status.yaml | |||
- 200 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
No parameters needed | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/api-versions/get-versions-response.json | |||
:language: javascript |
@ -1,206 +0,0 @@ | |||
# -*- coding: utf-8 -*- | |||
# | |||
# Licensed under the Apache License, Version 2.0 (the "License"); you may | |||
# not use this file except in compliance with the License. You may obtain | |||
# a copy of the License at | |||
# | |||
# http://www.apache.org/licenses/LICENSE-2.0 | |||
# | |||
# Unless required by applicable law or agreed to in writing, software | |||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |||
# License for the specific language governing permissions and limitations | |||
# under the License. | |||
# | |||
# Qinling documentation build configuration file | |||
# | |||
# This file is execfile()d with the current directory set to | |||
# its containing dir. | |||
# | |||
# Note that not all possible configuration values are present in this | |||
# autogenerated file. | |||
# | |||
# All configuration values have a default; values that are commented out | |||
# serve to show the default. | |||
import os | |||
import sys | |||
extensions = [ | |||
'os_api_ref', | |||
'openstackdocstheme', | |||
] | |||
html_theme = 'openstackdocs' | |||
html_theme_options = { | |||
"sidebar_mode": "toc", | |||
} | |||
# If extensions (or modules to document with autodoc) are in another directory, | |||
# add these directories to sys.path here. If the directory is relative to the | |||
# documentation root, use os.path.abspath to make it absolute, like shown here. | |||
sys.path.insert(0, os.path.abspath('../../')) | |||
sys.path.insert(0, os.path.abspath('../')) | |||
sys.path.insert(0, os.path.abspath('./')) | |||
# -- General configuration ---------------------------------------------------- | |||
# Add any Sphinx extension module names here, as strings. They can be | |||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. | |||
# The suffix of source filenames. | |||
source_suffix = '.rst' | |||
# The encoding of source files. | |||
# | |||
# source_encoding = 'utf-8' | |||
# The master toctree document. | |||
master_doc = 'index' | |||
# General information about the project. | |||
copyright = u'2010-present, OpenStack Foundation' | |||
# The language for content autogenerated by Sphinx. Refer to documentation | |||
# for a list of supported languages. | |||
# | |||
# language = None | |||
# There are two options for replacing |today|: either, you set today to some | |||
# non-false value, then it is used: | |||
# today = '' | |||
# Else, today_fmt is used as the format for a strftime call. | |||
# today_fmt = '%B %d, %Y' | |||
# The reST default role (used for this markup: `text`) to use | |||
# for all documents. | |||
# default_role = None | |||
# If true, '()' will be appended to :func: etc. cross-reference text. | |||
# add_function_parentheses = True | |||
# If true, the current module name will be prepended to all description | |||
# unit titles (such as .. function::). | |||
add_module_names = False | |||
# If true, sectionauthor and moduleauthor directives will be shown in the | |||
# output. They are ignored by default. | |||
show_authors = False | |||
# The name of the Pygments (syntax highlighting) style to use. | |||
pygments_style = 'native' | |||
# openstackdocstheme options | |||
openstackdocs_repo_name = 'openstack/qinling' | |||
openstackdocs_use_storyboard = True | |||
# -- Options for man page output ---------------------------------------------- | |||
# Grouping the document tree for man pages. | |||
# List of tuples 'sourcefile', 'target', u'title', u'Authors name', 'manual' | |||
# -- Options for HTML output -------------------------------------------------- | |||
# The theme to use for HTML and HTML Help pages. Major themes that come with | |||
# Sphinx are currently 'default' and 'sphinxdoc'. | |||
# html_theme_path = ["."] | |||
# html_theme = '_theme' | |||
# Theme options are theme-specific and customize the look and feel of a theme | |||
# further. For a list of options available for each theme, see the | |||
# documentation. | |||
# html_theme_options = {} | |||
# Add any paths that contain custom themes here, relative to this directory. | |||
# html_theme_path = [] | |||
# The name for this set of Sphinx documents. If None, it defaults to | |||
# "<project> v<release> documentation". | |||
# html_title = None | |||
# A shorter title for the navigation bar. Default is the same as html_title. | |||
# html_short_title = None | |||
# The name of an image file (relative to this directory) to place at the top | |||
# of the sidebar. | |||
# html_logo = None | |||
# The name of an image file (within the static path) to use as favicon of the | |||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 | |||
# pixels large. | |||
# html_favicon = None | |||
# Add any paths that contain custom static files (such as style sheets) here, | |||
# relative to this directory. They are copied after the builtin static files, | |||
# so a file named "default.css" will overwrite the builtin "default.css". | |||
# html_static_path = ['_static'] | |||
# If true, SmartyPants will be used to convert quotes and dashes to | |||
# typographically correct entities. | |||
# html_use_smartypants = True | |||
# Custom sidebar templates, maps document names to template names. | |||
# html_sidebars = {} | |||
# Additional templates that should be rendered to pages, maps page names to | |||
# template names. | |||
# html_additional_pages = {} | |||
# If false, no module index is generated. | |||
# html_use_modindex = True | |||
# If false, no index is generated. | |||
# html_use_index = True | |||
# If true, the index is split into individual pages for each letter. | |||
# html_split_index = False | |||
# If true, links to the reST sources are added to the pages. | |||
# html_show_sourcelink = True | |||
# If true, an OpenSearch description file will be output, and all pages will | |||
# contain a <link> tag referring to it. The value of this option must be the | |||
# base URL from which the finished HTML is served. | |||
# html_use_opensearch = '' | |||
# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). | |||
# html_file_suffix = '' | |||
# Output file base name for HTML help builder. | |||
htmlhelp_basename = 'qinlingdoc' | |||
# -- Options for LaTeX output ------------------------------------------------- | |||
# The paper size ('letter' or 'a4'). | |||
# latex_paper_size = 'letter' | |||
# The font size ('10pt', '11pt' or '12pt'). | |||
# latex_font_size = '10pt' | |||
# Grouping the document tree into LaTeX files. List of tuples | |||
# (source start file, target name, title, author, documentclass | |||
# [howto/manual]). | |||
latex_documents = [ | |||
('index', 'Qinling.tex', | |||
u'OpenStack Function Engine API Documentation', | |||
u'OpenStack Foundation', 'manual'), | |||
] | |||
# The name of an image file (relative to this directory) to place at the top of | |||
# the title page. | |||
# latex_logo = None | |||
# For "manual" documents, if this is true, then toplevel headings are parts, | |||
# not chapters. | |||
# latex_use_parts = False | |||
# Additional stuff for the LaTeX preamble. | |||
# latex_preamble = '' | |||
# Documents to append as an appendix to all manuals. | |||
# latex_appendices = [] | |||
# If false, no module index is generated. | |||
# latex_use_modindex = True |
@ -1,308 +0,0 @@ | |||
.. -*- rst -*- | |||
=========== | |||
Executions | |||
=========== | |||
Lists, creates, shows details for, and deletes function executions. | |||
An execution runs the function and stores the return of the function. | |||
The execution gets the returns and the prints. | |||
Create an execution | |||
==================== | |||
.. rest_method:: POST /v1/executions | |||
Create an execution. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 201 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- function_id: execution_function_id | |||
- function_alias: execution_function_alias | |||
- input: execution_input | |||
- description: execution_description | |||
- function_version: execution_function_version | |||
- sync: execution_sync | |||
Request Example | |||
--------------- | |||
.. literalinclude:: samples/executions/create-execution-request.json | |||
:language: javascript | |||
.. literalinclude:: samples/executions/create-execution-alias-request.json | |||
:language: javascript | |||
Response Parameters | |||
------------------- | |||
.. rest_parameters:: parameters.yaml | |||
- id: id | |||
- function_id: execution_function_id | |||
- input: execution_input | |||
- description: execution_description | |||
- function_version: execution_function_version | |||
- sync: execution_sync | |||
- project_id: project_id | |||
- status: status | |||
- created_at: created_at | |||
- updated_at: updated_at | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/executions/create-execution-response.json | |||
:language: javascript | |||
List executions | |||
=============== | |||
.. rest_method:: GET /v1/executions | |||
List executions. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 200 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
Response Parameters | |||
------------------- | |||
.. rest_parameters:: parameters.yaml | |||
- id: id | |||
- function_id: execution_function_id | |||
- input: execution_input | |||
- description: execution_description | |||
- function_version: execution_function_version | |||
- sync: execution_sync | |||
- project_id: project_id | |||
- status: status | |||
- created_at: created_at | |||
- updated_at: updated_at | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/executions/list-executions-response.json | |||
:language: javascript | |||
List executions by filters | |||
========================== | |||
.. rest_method:: GET /v1/executions?{filter}={function_id} | |||
List executions by filters.. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 200 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- filter: path_execution_filter | |||
- function_id: path_function_id | |||
Response Parameters | |||
------------------- | |||
.. rest_parameters:: parameters.yaml | |||
- id: id | |||
- function_id: execution_function_id | |||
- input: execution_input | |||
- description: execution_description | |||
- function_version: execution_function_version | |||
- sync: execution_sync | |||
- project_id: project_id | |||
- status: status | |||
- created_at: created_at | |||
- updated_at: updated_at | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/executions/list-executions-filters-response.json | |||
:language: javascript | |||
Show an execution | |||
================= | |||
.. rest_method:: GET /v1/executions/{execution_id} | |||
Show an execution. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 200 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- execution_id: path_execution_id | |||
Response Parameters | |||
------------------- | |||
.. rest_parameters:: parameters.yaml | |||
- id: id | |||
- function_id: execution_function_id | |||
- input: execution_input | |||
- description: execution_description | |||
- function_version: execution_function_version | |||
- sync: execution_sync | |||
- project_id: project_id | |||
- status: status | |||
- created_at: created_at | |||
- updated_at: updated_at | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/executions/show-execution-response.json | |||
:language: javascript | |||
Show an execution log | |||
===================== | |||
.. rest_method:: GET /v1/executions/{execution_id}/log | |||
Show an execution log. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 200 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- execution_id: path_execution_id | |||
Response Parameters | |||
------------------- | |||
None | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/executions/show-execution-log-response.json | |||
:language: javascript | |||
Delete an execution | |||
=================== | |||
.. rest_method:: DELETE /v1/executions/{execution_id} | |||
Delete an execution. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 204 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- execution_id: path_execution_id | |||
Response Parameters | |||
------------------- | |||
None | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/executions/delete-execution-response.text | |||
:language: text |
@ -1,524 +0,0 @@ | |||
.. -*- rst -*- | |||
========== | |||
Functions | |||
========== | |||
Lists, creates, shows details for, downloads, detaches, updates, | |||
scales and deletes functions. | |||
Function contains the source code that will be executed into the runtime. | |||
The source code langage within the function should match the runtime. | |||
Create a function | |||
================= | |||
.. rest_method:: POST /v1/functions | |||
Create a function. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 201 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- name: function_name | |||
- description: function_description | |||
- runtime_id: function_runtime_id | |||
- code: function_code | |||
- entry: function_entry | |||
- cpu: function_cpu | |||
- memory: function_memory | |||
- timeout: function_timeout | |||
- package: function_package | |||
Request Example | |||
--------------- | |||
Package | |||
####### | |||
.. literalinclude:: samples/functions/create-function-package-request.json | |||
:language: javascript | |||
.. literalinclude:: samples/functions/create-function-package-curl-request.text | |||
:language: text | |||
Swift | |||
##### | |||
.. literalinclude:: samples/functions/create-function-swift-request.json | |||
:language: javascript | |||
Image | |||
##### | |||
.. literalinclude:: samples/functions/create-function-image-request.json | |||
:language: javascript | |||
Response Parameters | |||
------------------- | |||
.. rest_parameters:: parameters.yaml | |||
- id: id | |||
- name: function_name | |||
- description: function_description | |||
- runtime_id: function_runtime_id | |||
- code: function_code | |||
- entry: function_entry | |||
- cpu: function_cpu | |||
- memory: function_memory | |||
- timeout: function_timeout | |||
- package: function_package | |||
- latest_version: function_latest_version | |||
- count: function_count | |||
- project_id: project_id | |||
- created_at: created_at | |||
- updated_at: updated_at | |||
Response Example | |||
---------------- | |||
Package | |||
####### | |||
.. literalinclude:: samples/functions/create-function-package-response.json | |||
:language: javascript | |||
Swift | |||
##### | |||
.. literalinclude:: samples/functions/create-function-swift-response.json | |||
:language: javascript | |||
Image | |||
##### | |||
.. literalinclude:: samples/functions/create-function-image-response.json | |||
:language: javascript | |||
List functions | |||
============== | |||
.. rest_method:: GET /v1/functions | |||
List functions. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 200 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
Response Parameters | |||
------------------- | |||
.. rest_parameters:: parameters.yaml | |||
- id: id | |||
- name: function_name | |||
- description: function_description | |||
- runtime_id: function_runtime_id | |||
- code: function_code | |||
- count: function_count | |||
- cpu: function_cpu | |||
- memory: function_memory | |||
- entry: function_entry | |||
- timeout: function_timeout | |||
- project_id: project_id | |||
- created_at: created_at | |||
- updated_at: updated_at | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/functions/list-functions-response.json | |||
:language: javascript | |||
Show a function | |||
=============== | |||
.. rest_method:: GET /v1/functions/{function_id} | |||
Show a function. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 200 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- function_id: path_function_id | |||
Response Parameters | |||
------------------- | |||
.. rest_parameters:: parameters.yaml | |||
- id: id | |||
- name: function_name | |||
- description: function_description | |||
- runtime_id: function_runtime_id | |||
- code: function_code | |||
- count: function_count | |||
- cpu: function_cpu | |||
- memory: function_memory | |||
- entry: function_entry | |||
- timeout: function_timeout | |||
- project_id: project_id | |||
- created_at: created_at | |||
- updated_at: updated_at | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/functions/show-function-response.json | |||
:language: javascript | |||
Update a function | |||
================= | |||
.. rest_method:: PUT /v1/functions/{function_id} | |||
Update a function. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 200 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- function_id: path_function_id | |||
- name: function_name_update | |||
- description: function_description | |||
- runtime_id: function_runtime_id_update | |||
- code: function_code_update | |||
- entry: function_entry_update | |||
- cpu: function_cpu | |||
- memory: function_memory | |||
- timeout: function_timeout | |||
- package: function_package | |||
- count: function_count | |||
Request Example | |||
--------------- | |||
Package | |||
####### | |||
.. literalinclude:: samples/functions/update-function-package-request.json | |||
:language: javascript | |||
.. literalinclude:: samples/functions/update-function-package-curl-request.text | |||
:language: text | |||
Swift | |||
##### | |||
.. literalinclude:: samples/functions/update-function-swift-request.json | |||
:language: javascript | |||
Image | |||
##### | |||
It is not possible to update an ``image`` function. | |||
Response Parameters | |||
------------------- | |||
.. rest_parameters:: parameters.yaml | |||
- id: id | |||
- name: function_name | |||
- description: function_description | |||
- runtime_id: function_runtime_id | |||
- code: function_code | |||
- count: function_count | |||
- cpu: function_cpu | |||
- memory: function_memory | |||
- entry: function_entry | |||
- timeout: function_timeout | |||
- project_id: project_id | |||
- created_at: created_at | |||
- updated_at: updated_at | |||
Response Example | |||
---------------- | |||
Package | |||
####### | |||
.. literalinclude:: samples/functions/update-function-package-response.json | |||
:language: javascript | |||
Swift | |||
##### | |||
.. literalinclude:: samples/functions/update-function-swift-response.json | |||
:language: javascript | |||
Image | |||
##### | |||
None | |||
Download a function | |||
=================== | |||
.. rest_method:: GET /v1/functions/{function_id}?download=true | |||
Download a function. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 200 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- function_id: path_function_id | |||
Response Parameters | |||
------------------- | |||
None | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/functions/download-function-response.text | |||
:language: text | |||
Detach a function from a worker | |||
=============================== | |||
.. rest_method:: POST /v1/functions/{function_id}/detach | |||
Detach a function from a worker. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 202 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- function_id: path_function_id | |||
Response Parameters | |||
------------------- | |||
None | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/functions/detach-function-response.text | |||
:language: text | |||
Scale up a function | |||
=================== | |||
.. rest_method:: POST /v1/functions/{function_id}/scale_up | |||
Scale up a function. | |||
Response Codes | |||
-------------- | |||
.. rest_status_code:: success status.yaml | |||
- 202 | |||
.. rest_status_code:: error status.yaml | |||
- 400 | |||
- 401 | |||
- 403 | |||
Request | |||
------- | |||
.. rest_parameters:: parameters.yaml | |||
- x-auth-token: x-auth-token | |||
- function_id: path_function_id | |||
- count: function_scale_count_up | |||
Response Parameters | |||
------------------- | |||
None | |||
Response Example | |||
---------------- | |||
.. literalinclude:: samples/functions/scaleup-function-response.text | |||
:language: text | |||
Scale down a function | |||
===================== | |||
.. rest_method:: POST /v1/functions |