Merge "Add API documentation"
This commit is contained in:
commit
bca6ba1798
@ -12,6 +12,7 @@
|
|||||||
- ^doc/.*
|
- ^doc/.*
|
||||||
- ^qinling/tests/unit/.*$
|
- ^qinling/tests/unit/.*$
|
||||||
- ^releasenotes/.*$
|
- ^releasenotes/.*$
|
||||||
|
- ^api-ref/.*$
|
||||||
pre-run: playbooks/pre.yaml
|
pre-run: playbooks/pre.yaml
|
||||||
post-run: playbooks/post.yaml
|
post-run: playbooks/post.yaml
|
||||||
vars:
|
vars:
|
||||||
|
265
api-ref/source/aliases.inc
Normal file
265
api-ref/source/aliases.inc
Normal file
@ -0,0 +1,265 @@
|
|||||||
|
.. -*- 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
|
31
api-ref/source/api-versions.inc
Normal file
31
api-ref/source/api-versions.inc
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
============
|
||||||
|
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
|
223
api-ref/source/conf.py
Normal file
223
api-ref/source/conf.py
Normal file
@ -0,0 +1,223 @@
|
|||||||
|
# -*- 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.
|
||||||
|
project = u'Function Engine API Reference'
|
||||||
|
copyright = u'2010-present, OpenStack Foundation'
|
||||||
|
|
||||||
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
|
# |version| and |release|, also used in various other places throughout the
|
||||||
|
# built documents.
|
||||||
|
#
|
||||||
|
from qinling.version import version_info
|
||||||
|
# The full version, including alpha/beta/rc tags.
|
||||||
|
release = version_info.release_string()
|
||||||
|
# The short X.Y version.
|
||||||
|
version = version_info.version_string()
|
||||||
|
|
||||||
|
# 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 = 'sphinx'
|
||||||
|
|
||||||
|
# openstackdocstheme options
|
||||||
|
repository_name = 'openstack/qinling'
|
||||||
|
bug_project = 'qinling'
|
||||||
|
bug_tag = 'api-ref'
|
||||||
|
|
||||||
|
# -- 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 not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||||
|
# using the given strftime format.
|
||||||
|
# html_last_updated_fmt = '%b %d, %Y'
|
||||||
|
html_last_updated_fmt = '%Y-%m-%d %H:%M'
|
||||||
|
|
||||||
|
# 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
|
304
api-ref/source/executions.inc
Normal file
304
api-ref/source/executions.inc
Normal file
@ -0,0 +1,304 @@
|
|||||||
|
.. -*- 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: function_id
|
||||||
|
- input: execution_input
|
||||||
|
- description: execution_description
|
||||||
|
- function_version: execution_version
|
||||||
|
- sync: execution_sync
|
||||||
|
|
||||||
|
Request Example
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/executions/create-execution-request.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- id: id
|
||||||
|
- function_id: function_id
|
||||||
|
- input: execution_input
|
||||||
|
- description: execution_description
|
||||||
|
- function_version: execution_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: function_id
|
||||||
|
- input: execution_input
|
||||||
|
- description: execution_description
|
||||||
|
- function_version: execution_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: function_id
|
||||||
|
- input: execution_input
|
||||||
|
- description: execution_description
|
||||||
|
- function_version: execution_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: function_id
|
||||||
|
- input: execution_input
|
||||||
|
- description: execution_description
|
||||||
|
- function_version: execution_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
|
524
api-ref/source/functions.inc
Normal file
524
api-ref/source/functions.inc
Normal file
@ -0,0 +1,524 @@
|
|||||||
|
.. -*- 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/{function_id}/scale_down
|
||||||
|
|
||||||
|
Scale down 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_down
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/functions/scaledown-function-response.text
|
||||||
|
:language: text
|
||||||
|
|
||||||
|
|
||||||
|
Delete a function
|
||||||
|
=================
|
||||||
|
|
||||||
|
.. rest_method:: DELETE /v1/functions/{function_id}
|
||||||
|
|
||||||
|
Delete a function.
|
||||||
|
|
||||||
|
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
|
||||||
|
- function_id: path_function_id
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/functions/delete-function-response.text
|
||||||
|
:language: text
|
17
api-ref/source/index.rst
Normal file
17
api-ref/source/index.rst
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
:tocdepth: 2
|
||||||
|
|
||||||
|
====================
|
||||||
|
Function Engine API
|
||||||
|
====================
|
||||||
|
|
||||||
|
.. rest_expand_all::
|
||||||
|
|
||||||
|
.. include:: urls.inc
|
||||||
|
.. include:: api-versions.inc
|
||||||
|
.. include:: runtimes.inc
|
||||||
|
.. include:: functions.inc
|
||||||
|
.. include:: executions.inc
|
||||||
|
.. include:: versions.inc
|
||||||
|
.. include:: aliases.inc
|
||||||
|
.. include:: webhooks.inc
|
||||||
|
.. include:: jobs.inc
|
275
api-ref/source/jobs.inc
Normal file
275
api-ref/source/jobs.inc
Normal file
@ -0,0 +1,275 @@
|
|||||||
|
.. -*- rst -*-
|
||||||
|
|
||||||
|
=====
|
||||||
|
Jobs
|
||||||
|
=====
|
||||||
|
|
||||||
|
Lists, creates, updates, shows details and deletes jobs.
|
||||||
|
|
||||||
|
Jobs allows to run periodically functions based on time period.
|
||||||
|
Time period is based on cron syntax.
|
||||||
|
|
||||||
|
|
||||||
|
Create a job
|
||||||
|
============
|
||||||
|
|
||||||
|
.. rest_method:: POST /v1/jobs
|
||||||
|
|
||||||
|
Create a job.
|
||||||
|
|
||||||
|
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: job_name
|
||||||
|
- function_id: function_id
|
||||||
|
- function_version: job_version
|
||||||
|
- function_input: job_input
|
||||||
|
- pattern: job_pattern
|
||||||
|
- count: job_count
|
||||||
|
|
||||||
|
Request Example
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/jobs/create-job-request.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- id: id
|
||||||
|
- name: job_name
|
||||||
|
- function_id: function_id
|
||||||
|
- function_version: job_version
|
||||||
|
- function_input: job_input
|
||||||
|
- pattern: job_pattern
|
||||||
|
- count: job_count
|
||||||
|
- first_execution_time: job_first_execution
|
||||||
|
- next_execution_time: job_next_execution
|
||||||
|
- status: status
|
||||||
|
- project_id: project_id
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/jobs/create-job-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
List jobs
|
||||||
|
=========
|
||||||
|
|
||||||
|
.. rest_method:: GET /v1/jobs
|
||||||
|
|
||||||
|
List jobs.
|
||||||
|
|
||||||
|
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: job_name
|
||||||
|
- function_id: function_id
|
||||||
|
- function_version: job_version
|
||||||
|
- function_input: job_input
|
||||||
|
- pattern: job_pattern
|
||||||
|
- count: job_count
|
||||||
|
- first_execution_time: job_first_execution
|
||||||
|
- next_execution_time: job_next_execution
|
||||||
|
- status: status
|
||||||
|
- project_id: project_id
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/jobs/list-jobs-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Show a job
|
||||||
|
==========
|
||||||
|
|
||||||
|
.. rest_method:: GET /v1/jobs/{job_id}
|
||||||
|
|
||||||
|
Show a job.
|
||||||
|
|
||||||
|
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
|
||||||
|
- job_id: path_job_id
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- id: id
|
||||||
|
- name: job_name
|
||||||
|
- function_id: function_id
|
||||||
|
- function_version: job_version
|
||||||
|
- function_input: job_input
|
||||||
|
- pattern: job_pattern
|
||||||
|
- count: job_count
|
||||||
|
- first_execution_time: job_first_execution
|
||||||
|
- next_execution_time: job_next_execution
|
||||||
|
- status: status
|
||||||
|
- project_id: project_id
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/jobs/show-job-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Update a job
|
||||||
|
============
|
||||||
|
|
||||||
|
.. rest_method:: PUT /v1/jobs/{job_id}
|
||||||
|
|
||||||
|
Update a job.
|
||||||
|
|
||||||
|
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
|
||||||
|
- job_id: path_job_id
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- id: id
|
||||||
|
- name: job_name
|
||||||
|
- function_input: job_input
|
||||||
|
- pattern: job_pattern_update
|
||||||
|
- next_execution_time: job_next_execution_update
|
||||||
|
- status: job_status_update
|
||||||
|
|
||||||
|
Request Example
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/jobs/update-job-request.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/jobs/update-job-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Delete a job
|
||||||
|
============
|
||||||
|
|
||||||
|
.. rest_method:: DELETE /v1/jobs/{job_id}
|
||||||
|
|
||||||
|
Delete a job.
|
||||||
|
|
||||||
|
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
|
||||||
|
- job_id: path_job_id
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/jobs/delete-job-response.text
|
||||||
|
:language: text
|
472
api-ref/source/parameters.yaml
Normal file
472
api-ref/source/parameters.yaml
Normal file
@ -0,0 +1,472 @@
|
|||||||
|
####################
|
||||||
|
# Header Variables #
|
||||||
|
####################
|
||||||
|
|
||||||
|
x-auth-token:
|
||||||
|
description: |
|
||||||
|
Token used to identify the user from Keystone
|
||||||
|
in: header
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
####################
|
||||||
|
# Path Variables #
|
||||||
|
####################
|
||||||
|
|
||||||
|
path_alias_name:
|
||||||
|
description: |
|
||||||
|
Name of the alias
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
path_execution_filter:
|
||||||
|
description: |
|
||||||
|
Execution filter, e.g. "``function_id``, ``function_version``, etc..."
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
path_execution_id:
|
||||||
|
description: |
|
||||||
|
ID for the execution
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
type: uuid
|
||||||
|
|
||||||
|
path_function_id:
|
||||||
|
description: |
|
||||||
|
ID for the function
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
type: uuid
|
||||||
|
|
||||||
|
path_job_id:
|
||||||
|
description: |
|
||||||
|
ID for the job
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
type: uuid
|
||||||
|
|
||||||
|
path_runtime_id:
|
||||||
|
description: |
|
||||||
|
ID for the runtime
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
type: uuid
|
||||||
|
|
||||||
|
path_version_number:
|
||||||
|
description: |
|
||||||
|
Version number
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
path_webhook_id:
|
||||||
|
description: |
|
||||||
|
ID for the webhook
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
type: uuid
|
||||||
|
|
||||||
|
####################
|
||||||
|
# Body Variables #
|
||||||
|
####################
|
||||||
|
|
||||||
|
alias_description:
|
||||||
|
description: |
|
||||||
|
Description for the alias
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
alias_name:
|
||||||
|
description: |
|
||||||
|
Name of the alias
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
alias_version:
|
||||||
|
description: |
|
||||||
|
Version of the function to point the alias
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
created_at:
|
||||||
|
description: |
|
||||||
|
Date / Time when resource was created
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: datestamp
|
||||||
|
|
||||||
|
execution_description:
|
||||||
|
description: |
|
||||||
|
Description for the execution
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
execution_input:
|
||||||
|
description: |
|
||||||
|
Input data to pass to the function, e.g. ``{"name": "foo"}``
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: JSON
|
||||||
|
|
||||||
|
execution_sync:
|
||||||
|
description: |
|
||||||
|
Execution is sync or async, default is ``true``
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: bool
|
||||||
|
|
||||||
|
execution_version:
|
||||||
|
description: |
|
||||||
|
Version of the function to execute, default is ``0``
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
function_code:
|
||||||
|
description: |
|
||||||
|
Source code type, e.g. "``package``", "``swift``", "``image``"
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: JSON
|
||||||
|
|
||||||
|
function_code_update:
|
||||||
|
description: |
|
||||||
|
Source code type, e.g. "``package``", "``swift``", "``image``"
|
||||||
|
|
||||||
|
Package function can't have this value updated.
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: JSON
|
||||||
|
|
||||||
|
function_count:
|
||||||
|
description: |
|
||||||
|
Total of time the function has been executed
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
function_cpu:
|
||||||
|
description: |
|
||||||
|
Max CPU usage during the execution
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
function_description:
|
||||||
|
description: |
|
||||||
|
Description for the function
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
function_entry:
|
||||||
|
description: |
|
||||||
|
Function entry point, e.g. "``hello_world.main``"
|
||||||
|
|
||||||
|
Not required if the source is "``image``"
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
function_entry_update:
|
||||||
|
description: |
|
||||||
|
Function entry point, e.g. "``hello_world.main``"
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
function_id:
|
||||||
|
description: |
|
||||||
|
ID for the function
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: uuid
|
||||||
|
|
||||||
|
function_latest_version:
|
||||||
|
description: |
|
||||||
|
Latest version created based on this function
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
function_memory:
|
||||||
|
description: |
|
||||||
|
Max memory usage during the execution
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
function_name:
|
||||||
|
description: |
|
||||||
|
Function name
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
function_name_update:
|
||||||
|
description: |
|
||||||
|
Function name
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
function_package:
|
||||||
|
description: |
|
||||||
|
Package to upload, e.g. "``package=@./hello_world.zip``"
|
||||||
|
|
||||||
|
Required only if '``"code": {"source": "package"}``'
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
function_runtime_id:
|
||||||
|
description: |
|
||||||
|
Runtime ID used by the function
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: uuid
|
||||||
|
|
||||||
|
function_runtime_id_update:
|
||||||
|
description: |
|
||||||
|
Runtime ID used by the function
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: uuid
|
||||||
|
|
||||||
|
function_scale_count_down:
|
||||||
|
description: |
|
||||||
|
Number of workers to scale down a function, default is ``1``
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
function_scale_count_up:
|
||||||
|
description: |
|
||||||
|
Number of workers to scale up a function, default is ``1``
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
function_timeout:
|
||||||
|
description: |
|
||||||
|
Timeout in second before the execution fails
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
id:
|
||||||
|
description: |
|
||||||
|
ID for the resource
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: uuid
|
||||||
|
|
||||||
|
job_count:
|
||||||
|
description: |
|
||||||
|
Number of time the function should be executed, default is ``unlimited``
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
job_first_execution:
|
||||||
|
description: |
|
||||||
|
First time the function will be executed
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
job_input:
|
||||||
|
description: |
|
||||||
|
Input data to pass to the function, e.g. ``{"name": "foo"}``
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: JSON
|
||||||
|
|
||||||
|
job_name:
|
||||||
|
description: |
|
||||||
|
Name of the job
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
job_next_execution:
|
||||||
|
description: |
|
||||||
|
Next time the function will be executed
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
job_next_execution_update:
|
||||||
|
description: |
|
||||||
|
Next time the function will be executed, e.g. "``2019-06-07 22:41:00``"
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
job_pattern:
|
||||||
|
description: |
|
||||||
|
Cron pattern, e.g. "``* * * * *``" is equal to every minutes
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
job_pattern_update:
|
||||||
|
description: |
|
||||||
|
Cron pattern, e.g. "``* * * * *``" is equal to every minutes
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
job_status_update:
|
||||||
|
description: |
|
||||||
|
Status of the job, e.g. "``paused``, ``running``, ``canceled``, ``done``"
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
job_version:
|
||||||
|
description: |
|
||||||
|
Version of the function to execute, default is ``0``
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
project_id:
|
||||||
|
description: |
|
||||||
|
ID for the project that owns the resource
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: uuid
|
||||||
|
|
||||||
|
runtime_capacity:
|
||||||
|
description: |
|
||||||
|
Number of workers available and currently used
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
runtime_description:
|
||||||
|
description: |
|
||||||
|
Description for the runtime
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
runtime_id:
|
||||||
|
description: |
|
||||||
|
ID for the runtime
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: uuid
|
||||||
|
|
||||||
|
runtime_image:
|
||||||
|
description: |
|
||||||
|
Docker image used to build the runtime, e.g. "openstackqinling/python3-runtime"
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
runtime_image_update:
|
||||||
|
description: |
|
||||||
|
Docker image used to build the runtime, e.g. "openstackqinling/python3-runtime"
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
runtime_is_public:
|
||||||
|
description: |
|
||||||
|
Make the runtime public or not, if public then the runtime will be
|
||||||
|
available for all the tenant.
|
||||||
|
The runtime is public by default.
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: bool
|
||||||
|
|
||||||
|
runtime_name:
|
||||||
|
description: |
|
||||||
|
Runtime name
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
runtime_name_update:
|
||||||
|
description: |
|
||||||
|
Runtime name
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
runtime_trusted:
|
||||||
|
description: |
|
||||||
|
Define the runtime as trusted or not, depending the value Kubernetes
|
||||||
|
will apply some annotations like ``io.kubernetes.cri-o.TrustedSandbox``
|
||||||
|
in the pod specification to choose the underlying container runtime.
|
||||||
|
The runtime is trusted by default.
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: bool
|
||||||
|
|
||||||
|
status:
|
||||||
|
description: |
|
||||||
|
Status of the resource
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: enum
|
||||||
|
|
||||||
|
updated_at:
|
||||||
|
description: |
|
||||||
|
Date / Time when resource last updated
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: datestamp
|
||||||
|
|
||||||
|
version_count:
|
||||||
|
description: |
|
||||||
|
Total of time the version has been executed
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
version_description:
|
||||||
|
description: |
|
||||||
|
Description for the version
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
version_number:
|
||||||
|
description: |
|
||||||
|
Version of the function
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
|
||||||
|
webhook_description:
|
||||||
|
description: |
|
||||||
|
Description for the webhook
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
webhook_url:
|
||||||
|
description: |
|
||||||
|
Webhook URL
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
webhook_version:
|
||||||
|
description: |
|
||||||
|
Version of the function
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: integer
|
317
api-ref/source/runtimes.inc
Normal file
317
api-ref/source/runtimes.inc
Normal file
@ -0,0 +1,317 @@
|
|||||||
|
.. -*- rst -*-
|
||||||
|
|
||||||
|
=========
|
||||||
|
Runtimes
|
||||||
|
=========
|
||||||
|
|
||||||
|
Lists, creates, updates, shows details and deletes runtimes.
|
||||||
|
|
||||||
|
The runtime is programming language support. Each runtime is encapsulated
|
||||||
|
in a container image which is used for creating the runtime container.
|
||||||
|
Qinling communicates with the container by sending HTTP requests and runs
|
||||||
|
user function inside.
|
||||||
|
|
||||||
|
|
||||||
|
Create a runtime
|
||||||
|
================
|
||||||
|
|
||||||
|
.. rest_method:: POST /v1/runtimes
|
||||||
|
|
||||||
|
Create a runtime.
|
||||||
|
|
||||||
|
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: runtime_name
|
||||||
|
- image: runtime_image
|
||||||
|
- description: runtime_description
|
||||||
|
- is_public: runtime_is_public
|
||||||
|
- trusted: runtime_trusted
|
||||||
|
|
||||||
|
Request Example
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/runtimes/create-runtime-request.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- id: id
|
||||||
|
- name: runtime_name
|
||||||
|
- image: runtime_image
|
||||||
|
- description: runtime_description
|
||||||
|
- is_public: runtime_is_public
|
||||||
|
- trusted: runtime_trusted
|
||||||
|
- project_id: project_id
|
||||||
|
- status: status
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/runtimes/create-runtime-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
List runtimes
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. rest_method:: GET /v1/runtimes
|
||||||
|
|
||||||
|
List runtimes.
|
||||||
|
|
||||||
|
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: runtime_name
|
||||||
|
- image: runtime_image
|
||||||
|
- description: runtime_description
|
||||||
|
- is_public: runtime_is_public
|
||||||
|
- trusted: runtime_trusted
|
||||||
|
- project_id: project_id
|
||||||
|
- status: status
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/runtimes/list-runtimes-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Show a runtime
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. rest_method:: GET /v1/runtimes/{runtime_id}
|
||||||
|
|
||||||
|
Show a runtime.
|
||||||
|
|
||||||
|
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
|
||||||
|
- runtime_id: path_runtime_id
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- id: id
|
||||||
|
- name: runtime_name
|
||||||
|
- image: runtime_image
|
||||||
|
- description: runtime_description
|
||||||
|
- is_public: runtime_is_public
|
||||||
|
- trusted: runtime_trusted
|
||||||
|
- project_id: project_id
|
||||||
|
- status: status
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/runtimes/show-runtime-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Show a runtime pool
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. rest_method:: GET /v1/runtimes/{runtime_id}/pool
|
||||||
|
|
||||||
|
Show a runtime pool.
|
||||||
|
|
||||||
|
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
|
||||||
|
- runtime_id: runtime_id
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- name: id
|
||||||
|
- capacity: runtime_capacity
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/runtimes/show-runtime-pool-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Update a runtime
|
||||||
|
================
|
||||||
|
|
||||||
|
.. rest_method:: PUT /v1/runtimes/{runtime_id}
|
||||||
|
|
||||||
|
Update a runtime.
|
||||||
|
|
||||||
|
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
|
||||||
|
- runtime_id: path_runtime_id
|
||||||
|
- name: runtime_name_update
|
||||||
|
- image: runtime_image_update
|
||||||
|
- description: runtime_description
|
||||||
|
|
||||||
|
Request Example
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/runtimes/update-runtime-request.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- id: id
|
||||||
|
- name: runtime_name
|
||||||
|
- image: runtime_image
|
||||||
|
- description: runtime_description
|
||||||
|
- is_public: runtime_is_public
|
||||||
|
- trusted: runtime_trusted
|
||||||
|
- project_id: project_id
|
||||||
|
- status: status
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/runtimes/update-runtime-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Delete a runtime
|
||||||
|
================
|
||||||
|
|
||||||
|
.. rest_method:: DELETE /v1/runtimes/{runtime_id}
|
||||||
|
|
||||||
|
Delete a runtime.
|
||||||
|
|
||||||
|
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
|
||||||
|
- runtime_id: path_runtime_id
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/runtimes/delete-runtime-response.text
|
||||||
|
:language: text
|
6
api-ref/source/samples/aliases/create-alias-request.json
Normal file
6
api-ref/source/samples/aliases/create-alias-request.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"name": "hw-v2",
|
||||||
|
"function_version": 2,
|
||||||
|
"description": "Hello World, version 2"
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"name": "hw-v2",
|
||||||
|
"created_at": "2019-06-07 02:07:06.572982",
|
||||||
|
"updated_at": null,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"function_version": 2,
|
||||||
|
"description": "Hello World, version 2"
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
Request to delete function_alias hw-v2 has been accepted.
|
20
api-ref/source/samples/aliases/list-aliases-response.json
Normal file
20
api-ref/source/samples/aliases/list-aliases-response.json
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"name": "hw-v2",
|
||||||
|
"created_at": "2019-06-07 02:07:06",
|
||||||
|
"updated_at": null,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"function_version": 2,
|
||||||
|
"description": "Hello World, version 2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"function_id": "ab003f7a-402a-4a2e-8f00-2f848bde800d",
|
||||||
|
"name": "hq-v1",
|
||||||
|
"created_at": "2019-06-07 02:15:16",
|
||||||
|
"updated_at": null,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"function_version": 37,
|
||||||
|
"description": "Hello Qinling, version 37"
|
||||||
|
}
|
||||||
|
]
|
9
api-ref/source/samples/aliases/show-alias-response.json
Normal file
9
api-ref/source/samples/aliases/show-alias-response.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"name": "hw-v2",
|
||||||
|
"created_at": "2019-06-07 02:07:06",
|
||||||
|
"updated_at": null,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"function_version": 2,
|
||||||
|
"description": "Hello World, version 2"
|
||||||
|
}
|
6
api-ref/source/samples/aliases/update-alias-request.json
Normal file
6
api-ref/source/samples/aliases/update-alias-request.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"function_id": "ab003f7a-402a-4a2e-8f00-2f848bde800d",
|
||||||
|
"name": "hq-v1",
|
||||||
|
"function_version": 38,
|
||||||
|
"description": "Hello Qinling, version 38"
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"function_id": "ab003f7a-402a-4a2e-8f00-2f848bde800d",
|
||||||
|
"name": "hq-v1",
|
||||||
|
"created_at": "2019-06-07 02:15:16",
|
||||||
|
"updated_at": "2019-06-07 02:32:14.097418",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"function_version": 38,
|
||||||
|
"description": "Hello Qinling, version 38"
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"versions": [
|
||||||
|
{
|
||||||
|
"status": "CURRENT",
|
||||||
|
"id": "v1.0",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"href": "http://api-uat.ormuco.com:7070/v1",
|
||||||
|
"target": "v1",
|
||||||
|
"rel": "self"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"description": "The world should know Foo!",
|
||||||
|
"sync": true,
|
||||||
|
"function_version": 0,
|
||||||
|
"input": "{\"name\": \"foo\"}",
|
||||||
|
"function_id": "3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46"
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"status": "success",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"description": "The world should know Foo!",
|
||||||
|
"updated_at": "2019-06-06 23:13:37",
|
||||||
|
"created_at": "2019-06-06 23:13:37",
|
||||||
|
"sync": true,
|
||||||
|
"function_version": 0,
|
||||||
|
"result": "{\"duration\": 0.044, \"output\": \"Hello, bar\"}",
|
||||||
|
"input": "{\"name\": \"foo\"}",
|
||||||
|
"function_id": "3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46",
|
||||||
|
"id": "62033613-6f02-4a6d-b569-7ba7fd18f8f7"
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
Request to delete execution 9b6d0e80-7c4b-49d1-bf11-f16999433337 has been accepted.
|
@ -0,0 +1,28 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"status": "success",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"description": null,
|
||||||
|
"created_at": "2019-06-06 21:05:39",
|
||||||
|
"sync": true,
|
||||||
|
"function_version": 0,
|
||||||
|
"result": "{\"duration\": 0.074, \"output\": \"Hello, World\"}",
|
||||||
|
"input": null,
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"updated_at": "2019-06-06 21:05:41",
|
||||||
|
"id": "7dbb2ebc-9096-4e8e-9ded-0af8cd6cef60"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status": "success",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"description": null,
|
||||||
|
"created_at": "2019-06-06 23:50:41",
|
||||||
|
"sync": true,
|
||||||
|
"function_version": 0,
|
||||||
|
"result": "{\"duration\": 0.183, \"output\": \"Hello, bar\"}",
|
||||||
|
"input": "{\"name\": \"bar\"}",
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"updated_at": "2019-06-06 23:50:42",
|
||||||
|
"id": "9b6d0e80-7c4b-49d1-bf11-f16999433337"
|
||||||
|
}
|
||||||
|
]
|
@ -0,0 +1,28 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"status": "success",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"description": null,
|
||||||
|
"created_at": "2019-06-06 21:05:39",
|
||||||
|
"sync": true,
|
||||||
|
"function_version": 0,
|
||||||
|
"result": "{\"duration\": 0.074, \"output\": \"Hello, World\"}",
|
||||||
|
"input": null,
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"updated_at": "2019-06-06 21:05:41",
|
||||||
|
"id": "7dbb2ebc-9096-4e8e-9ded-0af8cd6cef60"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status": "success",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"description": "The world should know Foo!",
|
||||||
|
"created_at": "2019-06-06 23:15:30",
|
||||||
|
"sync": true,
|
||||||
|
"function_version": 0,
|
||||||
|
"result": "{\"duration\": 0.032, \"output\": \"Hello, bar\"}",
|
||||||
|
"input": "{\"name\": \"bar\"}",
|
||||||
|
"function_id": "3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46",
|
||||||
|
"updated_at": "2019-06-06 23:15:30",
|
||||||
|
"id": "347bb366-95c9-49ab-8179-424c7b707124"
|
||||||
|
}
|
||||||
|
]
|
@ -0,0 +1,3 @@
|
|||||||
|
Start execution: 347bb366-95c9-49ab-8179-424c7b707124
|
||||||
|
Hello, World!
|
||||||
|
Finished execution: 347bb366-95c9-49ab-8179-424c7b707124
|
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"status": "success",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"description": "The world should know Foo!",
|
||||||
|
"created_at": "2019-06-06 23:15:30",
|
||||||
|
"sync": true,
|
||||||
|
"function_version": 0,
|
||||||
|
"result": "{\"duration\": 0.032, \"output\": \"Hello, bar\"}",
|
||||||
|
"input": "{\"name\": \"bar\"}",
|
||||||
|
"function_id": "3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46",
|
||||||
|
"updated_at": "2019-06-06 23:15:30",
|
||||||
|
"id": "347bb366-95c9-49ab-8179-424c7b707124"
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"code": {
|
||||||
|
"source": "image",
|
||||||
|
"image": "docker-registry/hello-world"
|
||||||
|
},
|
||||||
|
"description": "Hello World from Docker image",
|
||||||
|
"memory_size": 33554432,
|
||||||
|
"timeout": 15,
|
||||||
|
"cpu": 200,
|
||||||
|
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"name": "hello_world"
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"count": 0,
|
||||||
|
"code": {
|
||||||
|
"source": "image",
|
||||||
|
"image": "docker-registry/hello-world"
|
||||||
|
},
|
||||||
|
"description": "Hello World from Docker image",
|
||||||
|
"created_at": "2019-06-10 01:51:29.515424",
|
||||||
|
"updated_at": null,
|
||||||
|
"latest_version": 0,
|
||||||
|
"id": "28de9573-2397-4fa1-b627-60124395d1ff",
|
||||||
|
"memory_size": 33554432,
|
||||||
|
"timeout": 15,
|
||||||
|
"entry": null,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"cpu": 200,
|
||||||
|
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"name": "hello_world"
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
curl -X POST http://127.0.0.1:7070/v1/functions \
|
||||||
|
-H "X-Auth-Token: gAAAAAB..." \
|
||||||
|
-F name=hello_world \
|
||||||
|
-F runtime_id=cbd9e85f-a1b2-4120-a2c7-57c90809ce7d \
|
||||||
|
-F code='{"source": "package"}' \
|
||||||
|
-F entry=hello_world.main \
|
||||||
|
-F cpu=200 \
|
||||||
|
-F memory=33000000 \
|
||||||
|
-F description="Hello World function based on a package" \
|
||||||
|
-F timeout=15 \
|
||||||
|
-F package=@/home/dev/hello_world.zip
|
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"code": {
|
||||||
|
"source": "package"
|
||||||
|
},
|
||||||
|
"description": "Hello World function from local package archive",
|
||||||
|
"memory_size": 33554432,
|
||||||
|
"timeout": 15,
|
||||||
|
"entry": "hello_world.main",
|
||||||
|
"cpu": 200,
|
||||||
|
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"name": "hello_world"
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"count": 0,
|
||||||
|
"code": {
|
||||||
|
"source": "package",
|
||||||
|
"md5sum": "e439d00bab001d7ad7d1e0e451567699"
|
||||||
|
},
|
||||||
|
"description": "Hello World function from local package archive",
|
||||||
|
"created_at": "2019-06-10 01:15:02.108208",
|
||||||
|
"updated_at": null,
|
||||||
|
"latest_version": 0,
|
||||||
|
"id": "00f3b8ef-e794-4897-8a34-fa6a489d4ede",
|
||||||
|
"memory_size": 33554432,
|
||||||
|
"timeout": 15,
|
||||||
|
"entry": "hello_world.main",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"cpu": 200,
|
||||||
|
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"name": "hello_world"
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"code": {
|
||||||
|
"source": "swift",
|
||||||
|
"swift": {
|
||||||
|
"object": "hello_world.py",
|
||||||
|
"container": "functions"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"description": "Hello World function from Swift",
|
||||||
|
"memory_size": 33554432,
|
||||||
|
"timeout": 15,
|
||||||
|
"entry": "hello_world.main",
|
||||||
|
"cpu": 200,
|
||||||
|
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"name": "hello_world"
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"count": 0,
|
||||||
|
"code": {
|
||||||
|
"source": "swift",
|
||||||
|
"swift": {
|
||||||
|
"object": "hello_world.py",
|
||||||
|
"container": "functions"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"description": "Hello World function from Swift",
|
||||||
|
"created_at": "2019-06-10 01:43:53.909146",
|
||||||
|
"updated_at": null,
|
||||||
|
"latest_version": 0,
|
||||||
|
"id": "1127cb1a-938e-4262-b22f-d88f182624f6",
|
||||||
|
"memory_size": 33554432,
|
||||||
|
"timeout": 15,
|
||||||
|
"entry": "hello_world.main",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"cpu": 200,
|
||||||
|
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"name": "hello_world"
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
Request to delete function ff64180b-d41b-420e-9846-ee706c1548b0 has been accepted.
|
@ -0,0 +1 @@
|
|||||||
|
Request to detach function f8e7357f-af4a-4448-87d8-6fed4c7db5b5 has been accepted.
|
@ -0,0 +1 @@
|
|||||||
|
Code package downloaded to /root/f8e7357f-af4a-4448-87d8-6fed4c7db5b5.zip
|
@ -0,0 +1,32 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"count": 7,
|
||||||
|
"code": "{\"source\": \"package\", \"md5sum\": \"648926b8a9705d3bd77cefdeca46a254\"}",
|
||||||
|
"description": "Function Hello World :)",
|
||||||
|
"created_at": "2019-06-06 18:59:02",
|
||||||
|
"timeout": 10,
|
||||||
|
"updated_at": null,
|
||||||
|
"cpu": 250,
|
||||||
|
"memory_size": 134217728,
|
||||||
|
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"entry": "hello_world.main",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "22f62e09-e361-4481-b2da-22e3a4ed9a43",
|
||||||
|
"name": "hello_world"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"count": 0,
|
||||||
|
"code": "{\"source\": \"package\", \"md5sum\": \"e0309c12d355352cc92b5433bf293210\"}",
|
||||||
|
"description": "Function Goodbye World :(",
|
||||||
|
"created_at": "2019-06-06 19:04:30",
|
||||||
|
"timeout": 5,
|
||||||
|
"updated_at": "2019-06-06 19:04:30",
|
||||||
|
"cpu": 100,
|
||||||
|
"memory_size": 33554432,
|
||||||
|
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"entry": "goodbye_world.main",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "2324a256-a249-4cec-968b-6ca7f99d805b",
|
||||||
|
"name": "goodbye_world"
|
||||||
|
}
|
||||||
|
]
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"count": 6
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
Request to scale down function 3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46 has been accepted.
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"count": 6
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
Request to scale up function 3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46 has been accepted.
|
15
api-ref/source/samples/functions/show-function-response.json
Normal file
15
api-ref/source/samples/functions/show-function-response.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"count": 7,
|
||||||
|
"code": "{\"source\": \"package\", \"md5sum\": \"648926b8a9705d3bd77cefdeca46a254\"}",
|
||||||
|
"description": "Function Hello World :)",
|
||||||
|
"created_at": "2019-06-06 18:59:02",
|
||||||
|
"timeout": 10,
|
||||||
|
"updated_at": null,
|
||||||
|
"cpu": 250,
|
||||||
|
"memory_size": 134217728,
|
||||||
|
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"entry": "hello_world.main",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "22f62e09-e361-4481-b2da-22e3a4ed9a43",
|
||||||
|
"name": "hello_world"
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
curl -X PUT http://127.0.0.1:7070/v1/functions/{function_id} \
|
||||||
|
-H "X-Auth-Token: gAAAAAB..." \
|
||||||
|
-F name=hello_world \
|
||||||
|
-F runtime_id=cbd9e85f-a1b2-4120-a2c7-57c90809ce7d \
|
||||||
|
-F entry=hello_world.main \
|
||||||
|
-F cpu=200 \
|
||||||
|
-F memory=33000000 \
|
||||||
|
-F description="Hello World function based on a package" \
|
||||||
|
-F timeout=15 \
|
||||||
|
-F package=@/home/dev/hello_world.zip
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"description": "Hello World function from local package archive",
|
||||||
|
"memory_size": 33554432,
|
||||||
|
"timeout": 15,
|
||||||
|
"entry": "hello_world.main",
|
||||||
|
"cpu": 200,
|
||||||
|
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"name": "hello_world"
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"count": 0,
|
||||||
|
"code": {
|
||||||
|
"source": "package",
|
||||||
|
"md5sum": "e439d00bab001d7ad7d1e0e451567699"
|
||||||
|
},
|
||||||
|
"description": "Hello World function from local package archive",
|
||||||
|
"created_at": "2019-06-10 01:15:02.108208",
|
||||||
|
"updated_at": "2019-06-10 01:15:02.115438",
|
||||||
|
"latest_version": 0,
|
||||||
|
"id": "00f3b8ef-e794-4897-8a34-fa6a489d4ede",
|
||||||
|
"memory_size": 33554432,
|
||||||
|
"timeout": 15,
|
||||||
|
"entry": "hello_world.main",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"cpu": 200,
|
||||||
|
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"name": "hello_world"
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"code": {
|
||||||
|
"source": "swift",
|
||||||
|
"swift": {
|
||||||
|
"object": "hello_world.py",
|
||||||
|
"container": "functions"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"description": "Hello World function from Swift",
|
||||||
|
"memory_size": 33554432,
|
||||||
|
"timeout": 15,
|
||||||
|
"entry": "hello_world.main",
|
||||||
|
"cpu": 200,
|
||||||
|
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"name": "hello_world"
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"count": 0,
|
||||||
|
"code": {
|
||||||
|
"source": "swift",
|
||||||
|
"swift": {
|
||||||
|
"object": "hello_world.py",
|
||||||
|
"container": "functions"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"description": "Hello World function from Swift",
|
||||||
|
"created_at": "2019-06-10 01:28:38",
|
||||||
|
"updated_at": "2019-06-10 02:22:27.663257",
|
||||||
|
"latest_version": 0,
|
||||||
|
"id": "ecdf3b0c-ac37-4ba8-a02c-5d60cf86cc8b",
|
||||||
|
"memory_size": 33554432,
|
||||||
|
"timeout": 15,
|
||||||
|
"entry": "hello_world.main",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"cpu": 200,
|
||||||
|
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"name": "hello_world"
|
||||||
|
}
|
8
api-ref/source/samples/jobs/create-job-request.json
Normal file
8
api-ref/source/samples/jobs/create-job-request.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"count": 5,
|
||||||
|
"name": "every-minute",
|
||||||
|
"pattern": "* * * * *",
|
||||||
|
"function_version": 2,
|
||||||
|
"function_input": "{\"name\": \"Foo\"}",
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5"
|
||||||
|
}
|
15
api-ref/source/samples/jobs/create-job-response.json
Normal file
15
api-ref/source/samples/jobs/create-job-response.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"count": 5,
|
||||||
|
"status": "running",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"name": "every-minute",
|
||||||
|
"pattern": "* * * * *",
|
||||||
|
"created_at": "2019-06-07 19:11:08.375646",
|
||||||
|
"updated_at": null,
|
||||||
|
"function_version": 2,
|
||||||
|
"first_execution_time": "2019-06-07 19:12:00",
|
||||||
|
"function_input": "{\"name\": \"Foo\"}",
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"id": "dc7ef571-1f8d-4dc8-a659-fc86f80dd44c",
|
||||||
|
"next_execution_time": "2019-06-07 19:12:00"
|
||||||
|
}
|
1
api-ref/source/samples/jobs/delete-job-response.text
Normal file
1
api-ref/source/samples/jobs/delete-job-response.text
Normal file
@ -0,0 +1 @@
|
|||||||
|
Request to delete job 697546a1-090c-48de-8ecd-ef4cdb9da7a9 has been accepted.
|
32
api-ref/source/samples/jobs/list-jobs-response.json
Normal file
32
api-ref/source/samples/jobs/list-jobs-response.json
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"count": null,
|
||||||
|
"status": "running",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"name": "every-minute",
|
||||||
|
"pattern": "0 0 * * SUN",
|
||||||
|
"created_at": "2019-06-07 19:18:50",
|
||||||
|
"updated_at": "2019-06-07 19:29:59",
|
||||||
|
"id": "697546a1-090c-48de-8ecd-ef4cdb9da7a9",
|
||||||
|
"first_execution_time": "2019-06-07 19:19:00",
|
||||||
|
"function_input": null,
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"function_version": 2,
|
||||||
|
"next_execution_time": "2019-06-07 19:31:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"count": 0,
|
||||||
|
"status": "done",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"name": "every-minute",
|
||||||
|
"pattern": "* * * * *",
|
||||||
|
"created_at": "2019-06-07 19:21:33",
|
||||||
|
"updated_at": "2019-06-07 19:25:59",
|
||||||
|
"id": "4e435c84-ab06-4ff5-8f05-b7ffe25c1224",
|
||||||
|
"first_execution_time": "2019-06-07 19:22:00",
|
||||||
|
"function_input": "{\"name\": \"Foo\"}",
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"function_version": 0,
|
||||||
|
"next_execution_time": "2019-06-07 19:26:00"
|
||||||
|
}
|
||||||
|
]
|
15
api-ref/source/samples/jobs/show-job-response.json
Normal file
15
api-ref/source/samples/jobs/show-job-response.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"count": 0,
|
||||||
|
"status": "done",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"name": "every-minute",
|
||||||
|
"pattern": "* * * * *",
|
||||||
|
"created_at": "2019-06-07 19:21:33",
|
||||||
|
"updated_at": "2019-06-07 19:25:59",
|
||||||
|
"id": "4e435c84-ab06-4ff5-8f05-b7ffe25c1224",
|
||||||
|
"first_execution_time": "2019-06-07 19:22:00",
|
||||||
|
"function_input": "{\"name\": \"Foo\"}",
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"function_version": 0,
|
||||||
|
"next_execution_time": "2019-06-07 19:26:00"
|
||||||
|
}
|
7
api-ref/source/samples/jobs/update-job-request.json
Normal file
7
api-ref/source/samples/jobs/update-job-request.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"status": "paused",
|
||||||
|
"name": "every-minute",
|
||||||
|
"pattern": "* * * * *",
|
||||||
|
"function_input": "{\"name\": \"Foo\"}",
|
||||||
|
"next_execution_time": "2019-06-07 22:41:00"
|
||||||
|
}
|
15
api-ref/source/samples/jobs/update-job-response.json
Normal file
15
api-ref/source/samples/jobs/update-job-response.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"count": null,
|
||||||
|
"status": "paused",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"name": "every-minute",
|
||||||
|
"pattern": "* * * * *",
|
||||||
|
"created_at": "2019-06-07 19:18:50",
|
||||||
|
"updated_at": "2019-06-07 19:41:20.108254",
|
||||||
|
"function_version": 2,
|
||||||
|
"first_execution_time": "2019-06-07 19:19:00",
|
||||||
|
"function_input": "{\"name\": \"Foo\"}",
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"id": "697546a1-090c-48de-8ecd-ef4cdb9da7a9",
|
||||||
|
"next_execution_time": "2019-06-07 22:41:00"
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "python3",
|
||||||
|
"description": "Runtime Python3.7 ready for production.",
|
||||||
|
"image": "openstackqinling/python3-runtime",
|
||||||
|
"is_public:": true,
|
||||||
|
"trusted": true
|
||||||
|
}
|
12
api-ref/source/samples/runtimes/create-runtime-response.json
Normal file
12
api-ref/source/samples/runtimes/create-runtime-response.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"status": "creating",
|
||||||
|
"created_at": "2019-06-06 15:33:23.178645",
|
||||||
|
"description": "Runtime Python3.7 ready for production.",
|
||||||
|
"image": "openstackqinling/python3-runtime",
|
||||||
|
"updated_at": null,
|
||||||
|
"is_public": true,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "b351d3b6-8ccb-4f5b-b70f-58c72298a2ac",
|
||||||
|
"trusted": true,
|
||||||
|
"name": "python3"
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
Request to delete runtime 63f8f51d-7270-4545-abdd-f767ef8b1882 has been accepted.
|
38
api-ref/source/samples/runtimes/list-runtimes-response.json
Normal file
38
api-ref/source/samples/runtimes/list-runtimes-response.json
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"status": "available",
|
||||||
|
"description": "Runtime Python3.7 ready for production.",
|
||||||
|
"image": "openstackqinling/python3-runtime",
|
||||||
|
"updated_at": "2019-05-30 14:40:50",
|
||||||
|
"created_at": "2019-05-30 14:40:41",
|
||||||
|
"is_public": true,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"trusted": true,
|
||||||
|
"name": "python3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status": "available",
|
||||||
|
"description": "Runtime Python2.7 ready for production.",
|
||||||
|
"image": "openstackqinling/python2-runtime",
|
||||||
|
"updated_at": "2019-06-03 19:01:37",
|
||||||
|
"created_at": "2019-06-03 19:00:33",
|
||||||
|
"is_public": true,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "c4682a12-1a82-424d-b299-9b238fb6b694",
|
||||||
|
"trusted": true,
|
||||||
|
"name": "python2.7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"status": "available",
|
||||||
|
"description": "Runtime Node.js 8.10 ready for production.",
|
||||||
|
"image": "openstackqinling/nodejs-runtime",
|
||||||
|
"updated_at": "2019-06-03 19:30:31",
|
||||||
|
"created_at": "2019-06-03 19:30:06",
|
||||||
|
"is_public": true,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "d3780197-d3a8-4961-8228-354ac7592e48",
|
||||||
|
"trusted": true,
|
||||||
|
"name": "nodejs8.10"
|
||||||
|
}
|
||||||
|
]
|
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"capacity": {
|
||||||
|
"available": 3,
|
||||||
|
"total": 3
|
||||||
|
},
|
||||||
|
"name": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d"
|
||||||
|
}
|
12
api-ref/source/samples/runtimes/show-runtime-response.json
Normal file
12
api-ref/source/samples/runtimes/show-runtime-response.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"status": "available",
|
||||||
|
"description": "Runtime Python3.7 ready for production.",
|
||||||
|
"image": "openstackqinling/python3-runtime",
|
||||||
|
"updated_at": "2019-05-30 14:40:50",
|
||||||
|
"created_at": "2019-05-30 14:40:41",
|
||||||
|
"is_public": true,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"trusted": true,
|
||||||
|
"name": "python3"
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "python3",
|
||||||
|
"description": "Runtime Python3.7 ready for production.",
|
||||||
|
"image": "openstackqinling/python3-runtime"
|
||||||
|
}
|
12
api-ref/source/samples/runtimes/update-runtime-response.json
Normal file
12
api-ref/source/samples/runtimes/update-runtime-response.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"status": "available",
|
||||||
|
"description": "Runtime Python3.7 ready for production.",
|
||||||
|
"image": "openstackqinling/python3-runtime",
|
||||||
|
"updated_at": "2019-05-30 14:40:50",
|
||||||
|
"created_at": "2019-06-06 16:40:31",
|
||||||
|
"is_public": true,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
|
||||||
|
"trusted": true,
|
||||||
|
"name": "python3"
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"description": "This version is ready for production"
|
||||||
|
}
|
10
api-ref/source/samples/versions/create-version-response.json
Normal file
10
api-ref/source/samples/versions/create-version-response.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"count": 0,
|
||||||
|
"version_number": 1,
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"description": "This version is ready for production",
|
||||||
|
"created_at": "2019-06-07 01:23:16.278205",
|
||||||
|
"updated_at": null,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "45ebdcbf-6e2f-46c9-bd58-7f6ae01ecfcc"
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
Request to detach function f8e7357f-af4a-4448-87d8-6fed4c7db5b5(version 1) has been accepted.
|
22
api-ref/source/samples/versions/list-versions-response.json
Normal file
22
api-ref/source/samples/versions/list-versions-response.json
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"count": 0,
|
||||||
|
"version_number": 1,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"description": "This version is ready for production",
|
||||||
|
"created_at": "2019-06-07 01:23:16",
|
||||||
|
"updated_at": null,
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"id": "45ebdcbf-6e2f-46c9-bd58-7f6ae01ecfcc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"count": 0,
|
||||||
|
"version_number": 2,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"description": "This version has not been tested yet",
|
||||||
|
"created_at": "2019-06-07 01:34:10",
|
||||||
|
"updated_at": null,
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"id": "9490f863-020b-4746-8f30-9324cff31678"
|
||||||
|
}
|
||||||
|
]
|
10
api-ref/source/samples/versions/show-version-response.json
Normal file
10
api-ref/source/samples/versions/show-version-response.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"count": 0,
|
||||||
|
"version_number": 1,
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"description": "This version is ready for production",
|
||||||
|
"created_at": "2019-06-07 01:23:16",
|
||||||
|
"updated_at": null,
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "45ebdcbf-6e2f-46c9-bd58-7f6ae01ecfcc"
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"description": "Webhook triggered by Jenkins",
|
||||||
|
"function_version": 2
|
||||||
|
}
|
10
api-ref/source/samples/webhooks/create-webhook-response.json
Normal file
10
api-ref/source/samples/webhooks/create-webhook-response.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"description": "Webhook triggered by Jenkins",
|
||||||
|
"created_at": "2019-06-07 14:53:22.989283",
|
||||||
|
"updated_at": null,
|
||||||
|
"function_version": 2,
|
||||||
|
"webhook_url": "http://127.0.0.1:7070/v1/webhooks/2aac6d93-c4d3-4fc6-9d3b-8852be0c8c89/invoke",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "2aac6d93-c4d3-4fc6-9d3b-8852be0c8c89"
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
Request to delete webhook 2aac6d93-c4d3-4fc6-9d3b-8852be0c8c89 has been accepted.
|
22
api-ref/source/samples/webhooks/list-webhooks-response.json
Normal file
22
api-ref/source/samples/webhooks/list-webhooks-response.json
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"function_id": "e47ca07c-b0cc-4501-901f-1c2e3df46724",
|
||||||
|
"description": "Webhook Hello World",
|
||||||
|
"created_at": "2019-06-07 02:48:16",
|
||||||
|
"updated_at": null,
|
||||||
|
"function_version": 0,
|
||||||
|
"webhook_url": "http://127.0.0.1:7070/v1/webhooks/726779f2-227f-43af-a891-4de85e8dadd5/invoke",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "726779f2-227f-43af-a891-4de85e8dadd5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"description": "Webhook triggered by Jenkins",
|
||||||
|
"created_at": "2019-06-07 14:52:19",
|
||||||
|
"updated_at": null,
|
||||||
|
"function_version": 2,
|
||||||
|
"webhook_url": "http://127.0.0.1:7070/v1/webhooks/e3f34707-8fea-4d36-b558-e39b00b99105/invoke",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "e3f34707-8fea-4d36-b558-e39b00b99105"
|
||||||
|
}
|
||||||
|
]
|
10
api-ref/source/samples/webhooks/show-webhook-response.json
Normal file
10
api-ref/source/samples/webhooks/show-webhook-response.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"description": "Webhook triggered by Jenkins",
|
||||||
|
"created_at": "2019-06-07 14:52:19",
|
||||||
|
"updated_at": null,
|
||||||
|
"function_version": 2,
|
||||||
|
"webhook_url": "http://127.0.0.1:7070/v1/webhooks/e3f34707-8fea-4d36-b558-e39b00b99105/invoke",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "e3f34707-8fea-4d36-b558-e39b00b99105"
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"description": "Webhook triggered by Gitlab",
|
||||||
|
"function_version": 2
|
||||||
|
}
|
10
api-ref/source/samples/webhooks/update-webhook-response.json
Normal file
10
api-ref/source/samples/webhooks/update-webhook-response.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
|
||||||
|
"description": "Webhook triggered by Gitlab",
|
||||||
|
"created_at": "2019-06-07 14:53:22",
|
||||||
|
"updated_at": "2019-06-07 18:06:42",
|
||||||
|
"function_version": 2,
|
||||||
|
"webhook_url": "http://127.0.0.1:7070/v1/webhooks/2aac6d93-c4d3-4fc6-9d3b-8852be0c8c89/invoke",
|
||||||
|
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
|
||||||
|
"id": "2aac6d93-c4d3-4fc6-9d3b-8852be0c8c89"
|
||||||
|
}
|
61
api-ref/source/status.yaml
Normal file
61
api-ref/source/status.yaml
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
#################
|
||||||
|
# Success Codes #
|
||||||
|
#################
|
||||||
|
200:
|
||||||
|
default: |
|
||||||
|
Request was successful.
|
||||||
|
201:
|
||||||
|
default: |
|
||||||
|
Resource was created and is ready to use.
|
||||||
|
202:
|
||||||
|
default: |
|
||||||
|
Request was accepted for processing, but the processing has not been
|
||||||
|
completed. A 'location' header is included in the response which contains
|
||||||
|
a link to check the progress of the request.
|
||||||
|
204:
|
||||||
|
default: |
|
||||||
|
The server has fulfilled the request by deleting the resource.
|
||||||
|
300:
|
||||||
|
default: |
|
||||||
|
There are multiple choices for resources. The request has to be more
|
||||||
|
specific to successfully retrieve one of these resources.
|
||||||
|
302:
|
||||||
|
default: |
|
||||||
|
The response is about a redirection hint. The header of the response
|
||||||
|
usually contains a 'location' value where requesters can check to track
|
||||||
|
the real location of the resource.
|
||||||
|
#################
|
||||||
|
# Error Codes #
|
||||||
|
#################
|
||||||
|
|
||||||
|
400:
|
||||||
|
default: |
|
||||||
|
Some content in the request was invalid.
|
||||||
|
resource_signal: |
|
||||||
|
The target resource doesn't support receiving a signal.
|
||||||
|
401:
|
||||||
|
default: |
|
||||||
|
User must authenticate before making a request.
|
||||||
|
403:
|
||||||
|
default: |
|
||||||
|
Policy does not allow current user to do this operation.
|
||||||
|
404:
|
||||||
|
default: |
|
||||||
|
The requested resource could not be found.
|
||||||
|
405:
|
||||||
|
default: |
|
||||||
|
Method is not valid for this endpoint.
|
||||||
|
409:
|
||||||
|
default: |
|
||||||
|
This operation conflicted with another operation on this resource.
|
||||||
|
duplicate_zone: |
|
||||||
|
There is already a zone with this name.
|
||||||
|
500:
|
||||||
|
default: |
|
||||||
|
Something went wrong inside the service. This should not happen usually.
|
||||||
|
If it does happen, it means the server has experienced some serious
|
||||||
|
problems.
|
||||||
|
503:
|
||||||
|
default: |
|
||||||
|
Service is not available. This is mostly caused by service configuration
|
||||||
|
errors which prevents the service from successful start up.
|
31
api-ref/source/urls.inc
Normal file
31
api-ref/source/urls.inc
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
.. -*- rst -*-
|
||||||
|
|
||||||
|
==================
|
||||||
|
Qinling Base URLs
|
||||||
|
==================
|
||||||
|
|
||||||
|
All API calls through the rest of this document require authentication
|
||||||
|
with the OpenStack Identity service. They also required a ``url`` that
|
||||||
|
is extracted from the Identity token of type
|
||||||
|
``function-engine``. This will be the root url that every call below will be
|
||||||
|
added to build a full path.
|
||||||
|
|
||||||
|
Note that if using OpenStack Identity service API v2, ``url`` can be
|
||||||
|
represented via ``adminURL``, ``internalURL`` or ``publicURL`` in endpoint
|
||||||
|
catalog. In Identity service API v3, ``url`` is represented with field
|
||||||
|
``interface`` including ``admin``, ``internal`` and ``public``.
|
||||||
|
|
||||||
|
For instance, if the ``url`` is
|
||||||
|
``http://my-qinling-url.org/qinling/v1`` then the full API call for
|
||||||
|
``/functions`` is ``http://my-qinling-url.org/qinling/v1/functions``.
|
||||||
|
|
||||||
|
Depending on the deployment the function engine url might be http or https,
|
||||||
|
a custom port, a custom path, and include your project id. The only way to
|
||||||
|
know the urls for your deployment is by using the service catalog.
|
||||||
|
The containers service URL should never be hard coded in applications, even
|
||||||
|
if they are only expected to work at a single site. It should always be
|
||||||
|
discovered from the Identity token.
|
||||||
|
|
||||||
|
As such, for the rest of this document we will be using short hand
|
||||||
|
where ``GET /functions`` really means
|
||||||
|
``GET {your_qinling_url}/functions``.
|
255
api-ref/source/versions.inc
Normal file
255
api-ref/source/versions.inc
Normal file
@ -0,0 +1,255 @@
|
|||||||
|
.. -*- rst -*-
|
||||||
|
|
||||||
|
=========
|
||||||
|
Versions
|
||||||
|
=========
|
||||||
|
|
||||||
|
Lists, creates, detaches, shows details and deletes versions.
|
||||||
|
|
||||||
|
Function versions are like git commits, they’re snapshots of your
|
||||||
|
project history. Each version has a number that serves as its ID,
|
||||||
|
starting with 1 and incrementing up, and never reused. The code for
|
||||||
|
a published version of a function is immutable (i.e. cannot be changed).
|
||||||
|
So, a version number corresponds to a specific set of function code with
|
||||||
|
certainty.
|
||||||
|
|
||||||
|
|
||||||
|
Create a version
|
||||||
|
================
|
||||||
|
|
||||||
|
.. rest_method:: POST /v1/functions/{function_id}/versions
|
||||||
|
|
||||||
|
Create a version.
|
||||||
|
|
||||||
|
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: path_function_id
|
||||||
|
- description: version_description
|
||||||
|
|
||||||
|
Request Example
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/versions/create-version-request.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- id: id
|
||||||
|
- description: version_description
|
||||||
|
- function_id: function_id
|
||||||
|
- count: version_count
|
||||||
|
- version_number: version_number
|
||||||
|
- project_id: project_id
|
||||||
|
- status: status
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/versions/create-version-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
List versions
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. rest_method:: GET /v1/functions/{function_id}/versions
|
||||||
|
|
||||||
|
List versions.
|
||||||
|
|
||||||
|
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
|
||||||
|
- description: version_description
|
||||||
|
- function_id: function_id
|
||||||
|
- count: version_count
|
||||||
|
- version_number: version_number
|
||||||
|
- project_id: project_id
|
||||||
|
- status: status
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/versions/list-versions-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Show a version
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. rest_method:: GET /v1/functions/{function_id}/versions/{version_number}
|
||||||
|
|
||||||
|
Show a version.
|
||||||
|
|
||||||
|
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
|
||||||
|
- version_number: path_version_number
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- id: id
|
||||||
|
- description: version_description
|
||||||
|
- function_id: function_id
|
||||||
|
- count: version_count
|
||||||
|
- version_number: version_number
|
||||||
|
- project_id: project_id
|
||||||
|
- status: status
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/versions/show-version-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Detach a version
|
||||||
|
================
|
||||||
|
|
||||||
|
.. rest_method:: POST /v1/functions/{function_id}/versions/{version_number}/detach
|
||||||
|
|
||||||
|
Detach a version.
|
||||||
|
|
||||||
|
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
|
||||||
|
- version_number: path_version_number
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
|
||||||
|
.. literalinclude:: samples/versions/detach-version-response.text
|
||||||
|
:language: text
|
||||||
|
|
||||||
|
|
||||||
|
Delete a version
|
||||||
|
================
|
||||||
|
|
||||||
|
.. rest_method:: DELETE /v1/functions/{function_id}/versions/{version_number}
|
||||||
|
|
||||||
|
Delete a version.
|
||||||
|
|
||||||
|
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
|
||||||
|
- function_id: path_function_id
|
||||||
|
- version_number: path_version_number
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
None
|
261
api-ref/source/webhooks.inc
Normal file
261
api-ref/source/webhooks.inc
Normal file
@ -0,0 +1,261 @@
|
|||||||
|
.. -*- rst -*-
|
||||||
|
|
||||||
|
=========
|
||||||
|
Webhooks
|
||||||
|
=========
|
||||||
|
|
||||||
|
Lists, creates, updates, shows details and deletes webhooks.
|
||||||
|
|
||||||
|
Webhooks are a low-effort way to invoke the functions. They do not
|
||||||
|
require a bot user or authentication to use.
|
||||||
|
|
||||||
|
|
||||||
|
Create a webhook
|
||||||
|
================
|
||||||
|
|
||||||
|
.. rest_method:: POST /v1/webhooks
|
||||||
|
|
||||||
|
Create a webhook.
|
||||||
|
|
||||||
|
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
|
||||||
|
- function_version: webhook_version
|
||||||
|
- description: webhook_description
|
||||||
|
|
||||||
|
Request Example
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/webhooks/create-webhook-request.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- id: id
|
||||||
|
- description: webhook_description
|
||||||
|
- function_id: function_id
|
||||||
|
- version_number: webhook_version
|
||||||
|
- webhook_url: webhook_url
|
||||||
|
- project_id: project_id
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/webhooks/create-webhook-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
List webhooks
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. rest_method:: GET /v1/webhooks
|
||||||
|
|
||||||
|
List webhooks.
|
||||||
|
|
||||||
|
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
|
||||||
|
- description: webhook_description
|
||||||
|
- function_id: function_id
|
||||||
|
- version_number: webhook_version
|
||||||
|
- webhook_url: webhook_url
|
||||||
|
- project_id: project_id
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/webhooks/list-webhooks-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Show a webhook
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. rest_method:: GET /v1/webhooks/{webhook_id}
|
||||||
|
|
||||||
|
Show a webhook.
|
||||||
|
|
||||||
|
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
|
||||||
|
- webhook_id: path_webhook_id
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- id: id
|
||||||
|
- description: webhook_description
|
||||||
|
- function_id: function_id
|
||||||
|
- version_number: webhook_version
|
||||||
|
- webhook_url: webhook_url
|
||||||
|
- project_id: project_id
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/webhooks/show-webhook-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Update a webhook
|
||||||
|
================
|
||||||
|
|
||||||
|
.. rest_method:: PUT /v1/webhooks/{webhook_id}
|
||||||
|
|
||||||
|
Update a webhook.
|
||||||
|
|
||||||
|
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
|
||||||
|
- webhook_id: path_webhook_id
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- id: id
|
||||||
|
- description: webhook_description
|
||||||
|
- function_id: function_id
|
||||||
|
- version_number: webhook_version
|
||||||
|
- webhook_url: webhook_url
|
||||||
|
- project_id: project_id
|
||||||
|
- created_at: created_at
|
||||||
|
- updated_at: updated_at
|
||||||
|
|
||||||
|
Request Example
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/webhooks/update-webhook-request.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/webhooks/update-webhook-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
|
||||||
|
Delete a webhook
|
||||||
|
================
|
||||||
|
|
||||||
|
.. rest_method:: DELETE /v1/webhooks/{webhook_id}
|
||||||
|
|
||||||
|
Delete a webhook.
|
||||||
|
|
||||||
|
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
|
||||||
|
- webhook_id: path_webhook_id
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/webhooks/delete-webhook-response.text
|
||||||
|
:language: text
|
@ -52,6 +52,7 @@ msgpack==0.5.6
|
|||||||
netaddr==0.7.19
|
netaddr==0.7.19
|
||||||
netifaces==0.10.6
|
netifaces==0.10.6
|
||||||
oauthlib==2.0.6
|
oauthlib==2.0.6
|
||||||
|
os-api-ref==1.4.0
|
||||||
os-client-config==1.29.0
|
os-client-config==1.29.0
|
||||||
oslo.cache==1.29.0
|
oslo.cache==1.29.0
|
||||||
oslo.concurrency==3.26.0
|
oslo.concurrency==3.26.0
|
||||||
@ -67,7 +68,6 @@ oslo.serialization==2.18.0
|
|||||||
oslo.service==1.24.0
|
oslo.service==1.24.0
|
||||||
oslo.upgradecheck==0.1.0
|
oslo.upgradecheck==0.1.0
|
||||||
oslo.utils==3.33.0
|
oslo.utils==3.33.0
|
||||||
oslosphinx==4.7.0
|
|
||||||
oslotest==3.2.0
|
oslotest==3.2.0
|
||||||
paramiko==2.4.1
|
paramiko==2.4.1
|
||||||
Paste==2.0.3
|
Paste==2.0.3
|
||||||
@ -108,8 +108,6 @@ setuptools==21.0.0
|
|||||||
simplegeneric==0.8.1
|
simplegeneric==0.8.1
|
||||||
six==1.10.0
|
six==1.10.0
|
||||||
Sphinx==1.6.2
|
Sphinx==1.6.2
|
||||||
sphinxcontrib-httpdomain==1.3.0
|
|
||||||
sphinxcontrib-pecanwsme==0.10.0
|
|
||||||
sphinxcontrib-websupport==1.0.1
|
sphinxcontrib-websupport==1.0.1
|
||||||
SQLAlchemy==1.0.10
|
SQLAlchemy==1.0.10
|
||||||
sqlalchemy-migrate==0.11.0
|
sqlalchemy-migrate==0.11.0
|
||||||
|
7
tox.ini
7
tox.ini
@ -77,3 +77,10 @@ deps =
|
|||||||
-c{toxinidir}/lower-constraints.txt
|
-c{toxinidir}/lower-constraints.txt
|
||||||
-r{toxinidir}/test-requirements.txt
|
-r{toxinidir}/test-requirements.txt
|
||||||
-r{toxinidir}/requirements.txt
|
-r{toxinidir}/requirements.txt
|
||||||
|
|
||||||
|
[testenv:api-ref]
|
||||||
|
basepython = python3
|
||||||
|
deps = -r{toxinidir}/doc/requirements.txt
|
||||||
|
commands =
|
||||||
|
rm -rf api-ref/build
|
||||||
|
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
||||||
|
Loading…
x
Reference in New Issue
Block a user