From 81b39e4d122c1a7566d02348e4d62c882ef4a9aa Mon Sep 17 00:00:00 2001 From: shangxdy Date: Thu, 15 Mar 2018 20:28:05 +0800 Subject: [PATCH] Add documents for Relase F nfv-toscaprser api document JIRA: PARSER-173 Change-Id: I94603ce8f6698f424f5249ab1008c15199c35845 Signed-off-by: shangxdy --- docs/developer/design/tosca2heat.rst | 137 +++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) diff --git a/docs/developer/design/tosca2heat.rst b/docs/developer/design/tosca2heat.rst index e49718e..6b71238 100644 --- a/docs/developer/design/tosca2heat.rst +++ b/docs/developer/design/tosca2heat.rst @@ -17,3 +17,140 @@ More details please refer to openstack related sites. Tosca2heat intends to enhanced NFV features in tosca template parse and translator, such as huge page, dpdk and sriov. + + +nfv-toscaparser api +-------------------- + + Implementation of nfv-toscaparser derived from openstack tosca parser is based on the following OASIS specification: + TOSCA Simple Profile YAML 1.2 Referecne http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/TOSCA-Simple-Profile-YAML-v1.2.html + TOSCA Simple Profile YAML NFV 1.0 Referecne http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/tosca-nfv-v1.0.html + + There are three ways to call nfv-toscaparser service, Python Lib ,CLI and REST API. + +CLI +**** +Using cli, which is used to validate tosca simple based service template. It can be used as: + tosca-parser --template-file= [--nrpv] [--debug] + + tosca-parser --template-file= [--nrpv] [--debug] + + tosca-parser --template-file= [--nrpv] [--debug] + + options: + + --nrpv Ignore input parameter validation when parse template. + + --debug debug mode for print more details other than raise exceptions when errors happen + + + +Library(Python) +************** + Using api, which is used to parse and get the result of service template. it can be used as + ToscaTemplate(path=None, parsed_params=None, a_file=True, yaml_dict_tpl=None, + + sub_mapped_node_template=None, + + no_required_paras_valid=False, debug=False ) + + + +REST API +*********** + Using RESTfual API, which are listed as following: + + +List template versions +######################## + +PATH: /v1/template_versions +METHOD: GET +Decription: Lists all supported tosca template versions. + +Response Codes + +Success +200 - OK Request was successful. + +Error + +400 - Bad Request Some content in the request was invalid. +404 - Not Found The requested resource could not be found. +500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems. +Request Parameters + +No + +Response Parameters + +template_versions array A list of tosca template version object each describes the type name and version information for a template version. + + +Validates a service template +############################ + +PATH: /v1/validate +METHOD: POST +Decription: Validate a service template. + +Response Codes +Success +200 - OK Request was successful. + +Error + +400 - Bad Request Some content in the request was invalid. +500 - Internal Server Error Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems. +Request Parameters +environment (Optional) object A JSON environment for the template service. +environment_files (Optional) object An ordered list of names for environment files found in the files dict. +files (Optional) object +Supplies the contents of files referenced in the template or the environment. + +The value is a JSON object, where each key is a relative or absolute URI which serves as the name of a file, and the associated value provides the contents of the file. The following code shows the general structure of this parameter. + +{ ... + "files": { + "fileA.yaml": "Contents of the file", + "file:///usr/fileB.template": "Contents of the file", + "http://example.com/fileC.template": "Contents of the file" + } +... +} +ignore_errors (Optional) string List of comma separated error codes to ignore. +show_nested (Optional) boolean Set to true to include nested template service in the list. +template (Optional) object +The service template on which to perform the operation. + +This parameter is always provided as a string in the JSON request body. The content of the string is a JSON- or YAML-formatted service template. For example: + +"template": { + "tosca_definitions_version": "tosca_simple_yaml_1_0", + ... +} +This parameter is required only when you omit the template_url parameter. If you specify both parameters, this value overrides thetemplate_url parameter value. + +template_url (Optional) string A URI to the location containing the service template on which to perform the operation. See the description of the template parameter for information about the expected template content located at the URI. This parameter is only required when you omit the template parameter. If you specify both parameters, this parameter is ignored. +Request Example +{ + "template_url": "/PATH_TO_TOSCA_TEMPLATES/HelloWord_Instance.csar" +} + +Response Parameters +Description string The description specified in the template. +Error Information (Optional) string Error information + +Parse a service template +######################### +PATH: /v1/validate +METHOD: POST +Decription: Validate a service template. +Response Code: same as "Validates a service template" +Request Parameters: same as "Validates a service template" +Response Parameters +Description string The description specified in the template. +Input parameters object Input parameter list. +Service Template object Service template body +Output parameters object Input parameter list. +Error Information (Optional) string Error information -- 2.16.6