Page tree
Skip to end of metadata
Go to start of metadata

Package Management API 

Upload CSAR 

Interface DefinitionDescription
URI/openoapi/catalog/v1/csars
Operation TypePOST
Content-Typemultipart/form-data

Request Parameters:

AttributeQualifierCardinalityContentDescription
fileM1InputStreamThe CSAR file stream
fileM1FormDataContentDispositionThe detail of CSAR file

FormDataContentDisposition

AttributeContentDescription
typeStringthe disposition type. will be "form-data"
nameStringthe control name
fileNameStringthe file name
creationDateDatethe creation date
modificationDateDatethe modification date
readDateDatethe read date
sizeStringthe size
parametersMap<String,String>the parameters

Response:

AttributeQualifierCardinalityContentDescription
csarIdM1StringThe CSAR identifier

Query CSAR infomation by csarId 

Interface DefinitionDescription
URI/openoapi/catalog/v1/csars/{csarId}
Operation TypeGET

Request Parameters:

AttributeQualifierCardinalityContentDescription
csarIdM1StringThe id of CSAR package

Response:
CSARPackage

Sample:

   {
       "csarId":"78ede6f3-66cc-46ab-b748-38a6c010d272",
       "name":"NanocellGateway",
       "provider":"ZTE",
       "version":"V1.0",
       "deletionPending":"false",
       "createTime":"2016-06-29 03:33:15",
       "modifyTime":"2016-06-29 09:33:15",
       "size":"0.93M",
       "operationalState":"Disabled",
       "usageState":"InUse",
       "onBoardState":"non-onBoarded",
       "processState":"normal",
       "format":"yml",
       "downloadUri":"http://msb_ip:msb_port/files/catalog-http/NSAR/ZTE/NanocellGW/v1.0/NanocellGateway.csar",
       "type":"NSAR"
   }

Query CSAR infomation by filter conditions 

Interface DefinitionDescription
URI/openoapi/catalog/v1/csars?name=xxx&provider=xxx&version=xxx&deletionPending=xxx&type=xxx
Operation TypeGET

Request Parameters:

AttributeQualifierCardinalityContentDescription
nameO0..1StringThe name of CSAR
providerO0..1StringThe provider of CSAR
versionO0..1StringThe version of CSAR
deletionPendingO0..1BooleanIndicates if deletion of this instance of the VNF Package has been requested but the VNF Package is still being used by instantiated VNFs.

This instance of the VNF Package will be deleted once all VNFs instantiated from this package are terminated.

typeO0..1Enum{GSAR, SSAR, NSAR, NFAR}The type of CSAR

Response:
List<CSARPackage>

Sample:

   [
       {
           "csarId":"78ede6f3-66cc-46ab-b748-38a6c010d272",
           "name":"NanocellGateway",
           "provider":"ZTE",
           "version":"V1.0",
           "deletionPending":false,
           "createTime":"2016-06-29 03:33:15",
           "modifyTime":"2016-06-29 09:33:15",
           "size":"0.93M",
           "operationalState":"Disabled",
           "usageState":"InUse",
           "processState":"normal",
           "format":"yml",
           "downloadUri":"http://msb_ip:msb_port/files/catalog-http/NSAR/ZTE/NanocellGW/v1.0/NanocellGateway.csar",
           "type":"NSAR"
       }
   ]

Get CSAR package files download URI 

Interface DefinitionDescription
URI/openoapi/catalog/v1/csars/{csarId}/files?relativePath=xxx
Operation TypeGET

Request Parameters:

AttributeQualifierCardinalityContentDescription
csarIdM1StringThe id of CSAR
relativePathM1StringThe file relative path in CSAR package

Sample:
/openoapi/catalog/v1/csars/78ede6f3-66cc-46ab-b748-38a6c010d272/files?relativePath="/images/segw.img"

Response:

AttributeQualifierCardinalityContentDescription
downloadUriM1StringThe download URI of file

Sample:

   {
       "downloadUri": "http://msb_ip:msb_port/files/catalog-http/NSAR/ZTE/NanocellGW/v1.0/NanocellGW/images/segw.img",
       "localPath": "D:\NSAR\ZTE\NanocellGW\v1.0\NanocellGW\images\segw.img"
   }

Update CSAR package state 

Interface DefinitionDescription
URI/openoapi/catalog/v1/csars/{csarId}?operationState=xxx&usageState=xxx&onBoardState=xxx&processState=xxx&deletionPending=xxx
Operation TypePUT

Request Parameters:

AttributeQualifierCardinalityContentDescription
csarIdM1StringThe id of CSAR
operationStateO0..1Enum{Enabled, Disabled}Operational state of the CSAR package
usageStateO0..1Enum{InUse, NotInUse}Usage state of the CSAR package
onBoardStateO0..1Enum{onBoarded, non-onBoarded}on-board state of the CSAR package
processStateO0..1Enum{normal, onBoarding, onBoardFailed, deleting, deleteFailed}process state of the CSAR package
deletionPendingO0..1BooleandeletionPending state of the CSAR package

Response:
N/A

Delete CSAR package by csarId 

Interface DefinitionDescription
URI/openoapi/catalog/v1/csars/{csarId}
Operation TypeDELETE

Request Parameters:

AttributeQualifierCardinalityContentDescription
csarIdM1StringThe id of CSAR

Response:
N/A

Model Management API 

Query service template by service template id 

Interface DefinitionDescription
URI/openoapi/catalog/v1/servicetemplates/{serviceTemplateId}
Operation TypeGET

Request Parameters:

AttributeQualifierCardinalityContentDescription
serviceTemplateIdM1StringThe service template id

Response Parameters:
ServiceTemplate

Sample:

   {
       "serviceTemplateId":"38a6c01-66cc-46ab-b748-38a6c010d272",
       "id":"NanocellGateway",
       "templateName":"NanocellGateway",
       "vendor":"ZTE",
       "version":"0.0.1",
       "csarId":"78ede6f3-66cc-46ab-b748-38a6c010d272",
       "type":"NS",
       "downloadUri":"http://msb_ip:msb_port/files/catalog-http/NSAR/ZTE/NanocellGW/v1.0/Definitions/segw.yml",
       "inputs":[
           {
               "name":"param1",
               "type":"String",
               "description":"param1 description",
               "defaultValue":"test",
               "required":false
           }
       ]
   }

Query service template by filter conditions 

Interface DefinitionDescription
URI/openoapi/catalog/v1/servicetemplates?status=xxx&deletionPending=xxx
Operation TypeGET

Request Parameters:

AttributeQualifierCardinalityContentDescription
statusO0..1Enum{Enabled, Disabled}Operational state of the CSAR package
deleteionPendingO0..1BooleanIndicates if deletion of this instance of the VNF Package has been requested but the VNF Package is still being used by instantiated VNFs.

This instance of the VNF Package will be deleted once all VNFs instantiated from this package are terminated.

Response Parameters:
List<ServiceTemplate>

Sample:

   [
       {
           "serviceTemplateId":"38a6c01-66cc-46ab-b748-38a6c010d272",
           "id":"NanocellGateway",
           "templateName":"NanocellGateway",
           "vendor":"ZTE",
           "version":"0.0.1",
           "csarId":"78ede6f3-66cc-46ab-b748-38a6c010d272",
           "type":"NS",
           "downloadUri":"http://msb_ip:msb_port/files/catalog-http/NSAR/ZTE/NanocellGW/v1.0/Definitions/segw.yml",
           "inputs":[
               {
                   "name":"param1",
                   "type":"String",
                   "description":"param1 description",
                   "defaultValue":"test",
                   "required":false
               }
           ]
       }
   ]

Query nesting service template by nodeTypeId 

Interface DefinitionDescription
URI/openoapi/catalog/v1/servicetemplates/nesting?nodeTypeIds=xxx
Operation TypeGET

Request Parameters:

AttributeQualifierCardinalityContentDescription
nodeTypeIdsM1..nString[]The node type id

Response Parameters:
List<ServiceTemplate>

Sample:

   [
       {
           "serviceTemplateId":"38a6c01-66cc-46ab-b748-38a6c010d272",
           "id":"NanocellGateway",
           "templateName":"NanocellGateway",
           "vendor":"ZTE",
           "version":"0.0.1",
           "csarId":"78ede6f3-66cc-46ab-b748-38a6c010d272",
           "type":"NS",
           "downloadUri":"http://msb_ip:msb_port/files/catalog-http/NSAR/ZTE/NanocellGW/v1.0/Definitions/segw.yml",
           "inputs":[
               {
                   "name":"param1",
                   "type":"String",
                   "description":"param1 description",
                   "defaultValue":"test",
                   "required":false
               }
           ]
       }
   ]

Query raw data of a service template by csar id 

Interface DefinitionDescription
URI/openoapi/catalog/v1/servicetemplates/queryingrawdata
Operation TypePOST

Request Parameters:

AttributeQualifierCardinalityContentDescription
csarIdM1StringThe id of CSAR
inputParametersO0..nKeyValuePair[]Input parameters. key: input parameter name, value: input parameter value

Sample:

   {
       "csarId" : "78ede6f3-66cc-46ab-b748-38a6c010d272",
       "inputParameters" : [
           {
               "key" : "param1",
               "value" : "value1"
           }
       ]
   }

Response Parameters:

AttributeQualifierCardinalityContentDescription
rawDataM1StringRaw data of the service template

Sample:

   {
       "rawData": "{\"instance\":{\"metadata\":{\"designer\":\"sdno\",\"name\":\"underlayervpn\",\"csarVersion\":\"1.0\",\"csarType\":\"SSAR\",\"csarProvider\":\"huawei\",\"version\":\"1.0\",\"type\":\"SSAR\",\"id\":\"ns_underlayervpn_1_0\"},\"nodes\":[{\"id\":\"ac2_fdhrbk3dvan8hl5wifm9lp1e9\",\"type_name\":\"tosca.nodes.sdn.l3ac\",\"template_name\":\"ac2\",\"properties\":{\"ip\":{\"type_name\":\"string\"},\"route\":{\"type_name\":\"string\"},\"port\":{\"type_name\":\"string\"},\"svlan\":{\"type_name\":\"string\"}},\"interfaces\":[{\"name\":\"Standard\",\"type_name\":\"tosca.interfaces.node.lifecycle.Standard\"}],\"capabilities\":[{\"name\":\"feature\",\"type_name\":\"tosca.capabilities.Node\"},{\"name\":\"ac\",\"type_name\":\"tosca.capabilities.sdn.ac\"}],\"relationships\":[{\"target_node_id\":\"pe2_go3vo1ctxr1vlbl0ij8stbtj6\",\"target_capability_name\":\"feature\"},{\"target_node_id\":\"ac2_fdhrbk3dvan8hl5wifm9lp1e9\",\"target_capability_name\":\"feature\"}]},{\"id\":\"ac1_jqows1ai0j0cmwk9jdvuknt97\",\"type_name\":\"tosca.nodes.sdn.l3ac\",\"template_name\":\"ac1\",\"properties\":{\"ip\":{\"type_name\":\"string\"},\"route\":{\"type_name\":\"string\"},\"port\":{\"type_name\":\"string\"},\"svlan\":{\"type_name\":\"string\"}},\"interfaces\":[{\"name\":\"Standard\",\"type_name\":\"tosca.interfaces.node.lifecycle.Standard\"}],\"capabilities\":[{\"name\":\"feature\",\"type_name\":\"tosca.capabilities.Node\"},{\"name\":\"ac\",\"type_name\":\"tosca.capabilities.sdn.ac\"}],\"relationships\":[{\"target_node_id\":\"pe1_e58ekps6m45g6w9egs9lue2j7\",\"target_capability_name\":\"feature\"},{\"target_node_id\":\"ac2_fdhrbk3dvan8hl5wifm9lp1e9\",\"target_capability_name\":\"feature\"}]},{\"id\":\"vpn_ie0xim076f7cje67fvrrq9tg1\",\"type_name\":\"tosca.nodes.sdn.underlayVPN\",\"template_name\":\"vpn\",\"properties\":{\"serviceType\":{\"type_name\":\"string\"},\"description\":{\"type_name\":\"string\"},\"name\":{\"type_name\":\"string\"},\"topology\":{\"type_name\":\"string\"}},\"interfaces\":[{\"name\":\"Standard\",\"type_name\":\"tosca.interfaces.node.lifecycle.Standard\"}],\"capabilities\":[{\"name\":\"feature\",\"type_name\":\"tosca.capabilities.Node\"}],\"relationships\":[{\"target_node_id\":\"ac1_jqows1ai0j0cmwk9jdvuknt97\",\"target_capability_name\":\"feature\"},{\"target_node_id\":\"ac2_fdhrbk3dvan8hl5wifm9lp1e9\",\"target_capability_name\":\"feature\"}]},{\"id\":\"pe1_e58ekps6m45g6w9egs9lue2j7\",\"type_name\":\"tosca.nodes.sdn.l3pe\",\"template_name\":\"pe1\",\"properties\":{\"id\":{\"type_name\":\"string\"}},\"interfaces\":[{\"name\":\"Standard\",\"type_name\":\"tosca.interfaces.node.lifecycle.Standard\"}],\"capabilities\":[{\"name\":\"feature\",\"type_name\":\"tosca.capabilities.Node\"},{\"name\":\"pe\",\"type_name\":\"tosca.capabilities.sdn.pe\"}]},{\"id\":\"pe2_go3vo1ctxr1vlbl0ij8stbtj6\",\"type_name\":\"tosca.nodes.sdn.l3pe\",\"template_name\":\"pe2\",\"properties\":{\"id\":{\"type_name\":\"string\"}},\"interfaces\":[{\"name\":\"Standard\",\"type_name\":\"tosca.interfaces.node.lifecycle.Standard\"}],\"capabilities\":[{\"name\":\"feature\",\"type_name\":\"tosca.capabilities.Node\"},{\"name\":\"pe\",\"type_name\":\"tosca.capabilities.sdn.pe\"}]}],\"substitution\":{\"node_type_name\":\"tosca.nodes.sdn.ext.NS.ns_underlayervpn\"},\"inputs\":{\"ac2_ip\":{\"type_name\":\"string\",\"description\":\"ac2_ip of underlayvpn\"},\"ac2_route\":{\"type_name\":\"string\",\"description\":\"ac2_route of underlayvpn\"},\"serviceType\":{\"type_name\":\"string\",\"description\":\"serviceType of underlayvpn\"},\"description\":{\"type_name\":\"string\",\"description\":\"description of underlayvpn\"},\"pe2_id\":{\"type_name\":\"string\",\"description\":\"pe2_id of underlayvpn\"},\"ac1_route\":{\"type_name\":\"string\",\"description\":\"ac1_route of underlayvpn\"},\"ac1_svlan\":{\"type_name\":\"integer\",\"description\":\"ac1_svlan of underlayvpn\"},\"name\":{\"type_name\":\"string\",\"description\":\"Name of underlayervpn\"},\"ac1_ip\":{\"type_name\":\"string\",\"description\":\"ac1_ip of underlayvpn\"},\"ac2_port\":{\"type_name\":\"string\",\"description\":\"ac2_port of underlayvpn\"},\"pe1_id\":{\"type_name\":\"string\",\"description\":\"pe1_id of underlayvpn\"},\"technology\":{\"type_name\":\"string\",\"description\":\"technology of underlayvpn\"},\"ac1_port\":{\"type_name\":\"string\",\"description\":\"ac1_port of underlayvpn\"},\"ac2_svlan\":{\"type_name\":\"integer\",\"description\":\"ac2_svlan of underlayvpn\"},\"topology\":{\"type_name\":\"string\",\"description\":\"topology of underlayvpn\"}}}}"
   }

Query operation list of service template 

Interface DefinitionDescription
URI/openoapi/catalog/v1/servicetemplates/{serviceTemplateId}/operations
Operation TypeGET

Request Parameters:

AttributeQualifierCardinalityContentDescription
serviceTemplateIdM1StringThe service template id

Response Parameters:

ServiceTemplateOperation

Sample:

   [
       {
           "name":"init",
           "description":"654346",
           "processId":"{http://ode/bpel/unit-test}init-18",
           "packageName":"init",
           "inputs":[
               {
                   "name":"param1",
                   "type":"String",
                   "descritption":"param1 description",
                   "defaultValue":"test",
                   "required":false
               }
           ]
       },
       {
           "name":"delete",
           "description":"343434",
           "processId":"{http://ode/bpel/unit-test}delete-10",
           "packageName":"delete",
           "inputs":[
               {
                   "name":"param1",
                   "type":"String",
                   "descritption":"param1 description",
                   "defaultValue":"test",
                   "required":false
               }
           ]
       }
   ]

Query input parameters of a specified operation 

Interface DefinitionDescription
URI/openoapi/catalog/v1/servicetemplates/{serviceTemplateId}/operations/{name}/parameters
Operation TypeGET

Request Parameters:

AttributeQualifierCardinalityContentDescription
serviceTemplateIdM1StringThe service template id
nameM1StringThe operation name

Response Parameters:
List<InputParameter>

Sample:

   [
       {
           "name":"param1",
           "type":"String",
           "descritption":"param1 description",
           "defaultValue":"test",
           "required":false
       }
   ]

Query parameters of service template 

Interface DefinitionDescription
URI/openoapi/catalog/v1/servicetemplates/{servicetemplateid}/parameters
Operation TypeGET

Request Parameters:

AttributeQualifierCardinalityContentDescription
serviceTemplateIdM1StringThe service template id

Response Parameters:

AttributeQualifierCardinalityContentDescription
inputsO0..nInputParameterList of input parameters of a Service template
outputsM0..nOutputParameterList of output parameters of a Service template

Sample:

   {
       "inputs" :[
          {
              "name":"param1",
              "type":"String",
              "descritption":"param1 description",
              "defaultValue":"test",
              "required":false
          }
       ],
       "outputs" :[
          {
              "name":"out1",
              "descritption":"out1 description",
              "value":{
                  "get_attribute":["nodetemplate1", "attribute1"]
               }
          }
       ]
   }

Query node template list of a specified service template 

Interface DefinitionDescription
URI/openoapi/catalog/v1/servicetemplates/{serviceTemplateId}/nodetemplates?types=xxx
Operation TypeGET

Request Parameters:

AttributeQualifierCardinalityContentDescription
serviceTemplateIdM1StringThe service template id
typesO0..nString[]The type of node template,such as tosca.nodes.nfv.VNF, tosca.nodes.nfv.VL, etc. Empty for query all node templates.

Response Parameters:
List<NodeTemplate>

Sample:

   [
       {
           "id":"tosca_nodes_nfv_VL_1",
           "name":"VLAN",
           "type":"tosca.nodes.nfv.VL",
           "properties":{
               "cidr":"",
               "gateWay":"",
               "dhcp":""
           },
           "relationShips":[
               {
                   "sourceNodeName":"endpoint.vlan2",
                   "targetNodeName":"VLAN",
                   "sourceNodeId":"tosca_nodes_nfv_CP_4",
                   "targetNodeId":"tosca_nodes_nfv_VL_1",
                   "type":"tosca.relationships.nfv.VirtualLinksTo"
               }
           ]
       }
   ]

Query node template by node template id 

Interface DefinitionDescription
URI/openoapi/catalog/v1/servicetemplates/{serviceTemplateId}/nodetemplates/{nodeTemplateId}
Operation TypeGET

Request Parameters:

AttributeQualifierCardinalityContentDescription
serviceTemplateIdM1StringThe service template id
nodeTemplateIdM1StringThe node template id

Response Parameters:
NodeTemplate

Sample:

   {
       "id":"tosca_nodes_nfv_VL_1",
       "name":"VLAN",
       "type":"tosca.nodes.nfv.VL",
       "properties":{
           "cidr":"",
           "gateWay":"",
           "dhcp":""
       },
       "relationShips":[
           {
               "sourceNodeName":"endpoint.vlan2",
               "targetNodeName":"VLAN",
               "sourceNodeId":"tosca_nodes_nfv_CP_4",
               "targetNodeId":"tosca_nodes_nfv_VL_1",
               "type":"tosca.relationships.nfv.VirtualLinksTo"
           }
       ]
   }

Information elements 

Package Management 

CSARPackage 

AttributeContentDescription
csarIdStringCSAR id(uuid)
nameStringCSAR name
providerStringCSAR provider
versionStringCSAR version
deletionPendingBooleanIndicates if deletion of this instance of the VNF Package has been requested but the VNF Package is still being used by instantiated VNFs.

This instance of the VNF Package will be deleted once all VNFs instantiated from this package are terminated.

createTimeStringCSAR create time
modifyTimeStringCSAR modify time
sizeStringCSAR size(MB)
operationalStateEnum{Enabled, Disabled}Operational state of the CSAR package, default value is Disabled
usageStateEnum{InUse, NotInUse}Usage state of the CSAR package, default value is NotInUse
onBoardStateEnum{onBoarded, non-onBoarded}On-board state of the CSAR package, default value is non-onBoarded
processStateEnum{Normal, onBoarding, onBoardFailed, deleting, deleteFailed}Process state of the CSAR package, default value is Normal
formatStringThe format of CSAR(yml)
downloadUriStringThe download uri of CSAR
typeEnum{GSAR, SSAR, NSAR, NFAR}The type of CSAR

Model Management 

ServiceTemplate 

AttributeQualifierCardinalityContentDescription
serviceTemplateIdM1StringService template id(uuid)
idM1StringService template id
templateNameM1StringService template name
vendorM1StringService template vendor
versionM1StringService template version
csaridM1StringService template related CSAR's id
typeM1Enum{NS, VNF}The typpe of service template
downloadUriM1StringThe download uri of service template definition file
inputsO0..nInputParameterList of input parameter of service template
outputsO0..nOutputParameterList of output parameters of service template

ServiceTemplateOperation 

AttributeQualifierCardinalityContentDescription
nameM1StringOperation name
descriptionO0..1StringOperation description
processIdM1StringThe process id of a plan
packageNameM1StringThe package name of a plan
inputsO0..nInputParameterList of input parameters of a plan

NodeTemplate 

AttributeQualifierCardinalityContentDescription
idM1StringId of node template
nameM1StringName of node template
typeM1StringType of node template
propertiesO0..nObjectDict of properties
relationShipsO0..nRelationShipThe list of relationships between the nodes

RelationShip 

AttributeQualifierCardinalityContentDescription
sourceNodeNameM1StringName of source node
targetNodeNameM1StringName of target node
sourceNodeIdM1StringId of source node
targetNodeIdM1StringId of target node
typeO0..1StringType of relationship

InputParameter 

AttributeQualifierCardinalityContentDescription
nameM1StringName of parameter
typeM1Enum(String/Integer/Float/Boolean)Type of parameter
descriptionO0..1StringDescription of parameter
defaultValueO0..1StringDefault value of parameter
requiredO0..1BooleanWhether this parameter can't be null.

OutputParameter 

AttributeQualifierCardinalityContentDescription
nameM1StringName of parameter
descriptionO0..1StringDescription of parameter
valueO0..1Objectvalue of parameter