Modeling API
3 TOSCA Parsers
There are three TOSCA parsers submited into modeling project, their API are listed below:
1. NFV Tosca Parser API: (Python Lib + CLI + REST 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
1) CLI
Installation nfv-toscaparser
Firstly, uninstall the previous verson of toscaparser
pip uninstall -y tosca-parser
Then install nfv-toscaparser :
pip install --pre -U nfv-toscaparser
Use cli, which is used to validate tosca simple based service template. It can be used as:
tosca-parser --template-file=<path to the YAML template> [--nrpv] [--debug]
tosca-parser --template-file=<path to the CSAR zip file> [--nrpv] [--debug]
tosca-parser --template-file=<URL to the template or CSAR> [--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
The parse output will display in STDOUT, including nodes name, inputs and outputs
2) Library(Python)
Installation nfv-toscaparser, same as CLI;
Use api, which is used to parse and get the result of service template. it can be used as
tosca=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 )
Access members(including method or data) in tosca.
3) REST API
Installation nfv-toscaparser microservice, and run it;
Use Restfual API
List template versions
PATH: /v1/template_versions
METHOD: GET
Decription: Lists all supported tosca template versions.
Response Codes
Success
Error
Request Parameters
Response Parameters
Validates a service template
PATH: /v1/validate
METHOD: POST
Decription: Validate a service template and return the result
Response Codes
Success
Error
Request Parameters
Request Example
{ "template_url": "/PATH_TO_TOSCA_TEMPLATES/HelloWord_Instance.csar" }
Response Parameters
Parse a service template
PATH: /v1/parse
METHOD: POST
Decription: Parse a service template and return the parsed info
Response Code: same as "Validates a service template"
Request Parameters: same as "Validates a service template"
Response Parameters