Modeling API

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 

        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

  • 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 )

 

 

  • 3) REST API

    •    Installation nfv-toscaparser microservice, and run it;

    •    Use Restfual API

      •  List template versions

        • PATH: /v1/template_versions

        • METHOD:  GET

        • DecriptionLists 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

2. Apache ARIA-TOSCA(Python + CLI + REST API):