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 

  •  

    • 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

        • 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