The following is a work in progress. TO DO
- Update http error codes
- Add in optional model parameters on inputAdd additional resources from the POMBA Context Builders and Data Sources 'yellow' model
Swagger YAML
Created using https://swagger.io/swagger-editor/
Code Block | ||
---|---|---|
| ||
swagger: "2.0" info: description: "This is the POMBA Context Builder API. It must be supported by all Context Builders" version: "0.0.1" title: "POMBA Context Builder" termsOfService: "http://onap.org" contact: email: "sharon.chisholm@amdocs.com" host: "onap.org" basePath: "/v1" tags: - name: "service" description: "Service Instances" externalDocs: description: "Find out more" url: "http://onap.org" schemes: - "http" paths: /service/context: get: tags: - "pet" summary: "Get service instance" description: "Retrieve information about a particular service instance using information avaialble to this specific context builder." operationId: "findServiceByInstance" produces: - "application/json" parameters: - name: "ServiceInstanceId" in: "query" description: "Service Instance Id of service you are interested in" type: "string" - name: "modelVersionId" in: "query" description: "Model UUID as published in service model metadata" type: "string" - name: "modelInvariantId" in: "query" description: "SDC generated invariant id as published in service model metadata" type: "string" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/Service" 400: description: "Missing manadatory field in the request or HTTP header." 404: description: "Error: Requested '%1' resource was not found." 405: description: "Method Not Allowed : Invalid HTTP method type used ( PUT,DELETE,POST will be rejected)" 500: description: "The GET request failed either due to internal Context Builder problem." security: - petstore_auth: - "write:pets" - "read:pets" securityDefinitions: petstore_auth: type: "oauth2" authorizationUrl: "http://petstore.swagger.io/oauth/dialog" flow: "implicit" scopes: write:pets: "modify pets in your account" read:pets: "read your pets" api_key: type: "apiKey" name: "api_key" in: "header" definitions: Service: type: "object" properties: uuid: type: "string" description: "Univseral indentifier" invariantUUID: type: "string" name: type: "string" description: "Service Name" dataQuality: $ref: "#/components/schemas/dataQuality" attributeList: type: "array" items: $ref: "#/components/schemas/attribute" vfList: type: "array" items: $ref: "#/definitions/VFVNF" dataQualityxml: name: "Service" $refVNF: "#/components/schemas/dataQuality" xmltype: "object" name: "Service" VF: type: "object" properties: uuid: type: "string" invariantUUID: type: "string" name: type: "string" nfNamingCodetype: type: "string" typedataQuality: type$ref: "string#/components/schemas/dataQuality" attributeList: type: "array" items: $ref: "#/components/schemas/attribute" vfModuleList: type: "array" items: $ref: "#/definitions/VFModule" vnfcList: type: "array" items: $ref: "#/definitions/VNFC" dataQuality: $ref: "#/components/schemas/dataQuality" xml: name: "VF" VFModule: type: "object" properties: uuid: type: "string" invariantUUID: type: "string" name: type: "string" nfNamingCodeminInstances: type: "stringinteger" minInstances format: "int32" typemaxInstances: "integer" formattype: "int32integer" maxInstancesformat: "int32" dataQuality: type: "integer" format$ref: "int32#/components/schemas/dataQuality" attributeList: type: "array" items: $ref: "#/components/schemas/attribute" vmList: type: "array" items: $ref: "#/definitions/VM" networkList: type: "array" items: $ref: "#/definitions/Network" dataQuality: $ref: "#/components/schemas/dataQuality" xml: name: "VFModule" VNFC: type: "object" properties: uuid: type: "string" invariantUUID: type: "string" name: type: "string" nfNamingCodedataQuality: type$ref: "string#/components/schemas/dataQuality" attributeList: type: "array" items: $ref: "#/components/schemas/attribute" dataQualityxml: $ref: "#/components/schemas/dataQuality" xml: name: "name: "VNFC" VM: type: "object" properties: uuid: type: "string" invariantUUID: type: "string" name: type: "string" nfNamingCode: type: "string" attributeListdataQuality: type$ref: "array#/components/schemas/dataQuality" itemsattributeList: $reftype: "#/components/schemas/attributearray" dataQualityitems: $ref: "#/components/schemas/dataQualityattribute" xml: namePServerList: "VM" Network: type: "objectarray" properties: items: uuid: type$ref: "string#/definitions/PServer" invariantUUIDIInterfaceList: type: "stringarray" nameitems: type $ref: "string"#/definitions/IInterface" xml: nfNamingCodename: "VM" Network: type: "stringobject" properties: attributeList uuid: type: "arraystring" invariantUUID: items type: "string" name: $ref: "#/components/schemas/attribute" type: "string" dataQuality: $ref: "#/components/schemas/dataQuality" xml attributeList: name type: "Networkarray" componentsitems: schemas: dataQuality: type$ref: "object"#/components/schemas/attribute" propertiesxml: statusname: "Network" type IInterface: "string" type: "object" enum properties: [ok, error] errorTextuuid: type: "string" required: invariantUUID: - status type: "string" xml: name: "dataQuality" attribute: type: "objectstring" properties dataQuality: name: $ref: "#/components/schemas/fieldNamedataQuality" valueattributeList: type: "stringarray" dataQuality items: $ref: "#/components/schemas/dataQualityattribute" required: -PortList: name - dataQuality type: "array" xml: nameitems: "dataQuality" fieldName: type$ref: string"#/definitions/Port" enumxml: name: -"IInterface" adminState PServer: - ipAddresstype: "object" properties: - hostName uuid: - lockedBoolean type: "string" - macAddress invariantUUID: - networkTypetype: "string" name: - networkTechnology type: "string" - physicalNetworkName dataQuality: - sharedNetworkBoolean $ref: "#/components/schemas/dataQuality" - networkRole attributeList: - routerExternalBoolean ApiResponse: type: "objectarray" properties: items: code: type$ref: "integer#/components/schemas/attribute" format xml: "int32" name: "PServer" type: type: "string" Port: type: "object" properties: messageuuid: type: "string" externalDocs: invariantUUID: description type: "Find out more about Swagger"string" name: urltype: "http://swagger.io" |
Inputs
Note that each instantiation of this API within a particular context builder may define each of these parameters as either mandatory, optional or not supported.
Example JSON Response
Note the top level objects is a service
Code Block |
---|
[ { "uuid": "string", "invariantUUID": "string", "name": "string", "attributeList": [ {string" dataQuality: $ref: "#/components/schemas/dataQuality" attributeList: type: "array" items: $ref: "#/components/schemas/attribute" xml: name: "Port" components: schemas: dataQuality: type: "object" properties: status: type: "string" enum: [ok, error] errorText: type: "string" required: - status xml: name: "dataQuality" attribute: type: "object" properties: name: $ref: "#/components/schemas/fieldName" value: type: "string" dataQuality: $ref: "#/components/schemas/dataQuality" required: - name - dataQuality xml: name: "dataQuality" fieldName: type: string enum: - adminState - ipAddress - hostName - imageId  - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean ApiResponse: type: "object" properties: code: type: "integer" format: "int32" type: type: "string" message: type: "string" externalDocs: description: "Find out more about Swagger" url: "http://swagger.io" |
Inputs
Header
Query Parameters
Note that each instantiation of this API within a particular context builder may define each of these parameters as either mandatory, optional or not supported.
Example JSON Response
Note the top level objects is a service
Code Block |
---|
[ { "uuid": "string", "invariantUUID": "string", "name": "string", "dataQuality": { "status": "ok", "errorText": "string" }, "attributeList": [ { "name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean", "value": "string", "dataQuality": { "status": "ok", "errorText": "string" } } ], "vfList": [ { "uuid": "string", "invariantUUID": "string", "name": "string", "type": "string", "dataQuality": { "status": "ok", "errorText": "string" }, "attributeList": [ { "name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean", "value": "string", "dataQuality": { "status": "ok", "errorText": "string" } } ], "vfModuleList": [ { "uuid": "string", "invariantUUID": "string", "name": "string", "minInstances": 0, "maxInstances": 0, "dataQuality": { "status": "ok", "errorText": "string" }, "attributeList": [ { "name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean", "value": "string", "dataQuality": { "status": "ok", "errorText": "string" } } ], "vmList": [ { "uuid": "string", "invariantUUID": "string", "name": "string", "nfNamingCode": "string", "dataQuality": { "status": "ok", "errorText": "string" }, "attributeList": [ { "name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean", "value": "string", "dataQuality": { "status": "ok", "errorText": "string" } } ], "PServerList": [ { "uuid": "string", "invariantUUID": "string", "name": "string", "dataQuality": { "status": "ok", "errorText": "string" }, "attributeList": [ { "name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean", "value": "string", "dataQuality": { "status": "ok", "errorTextstatus": "stringok", } } ], "vfListerrorText": [ "string" { "uuid": "string", } "invariantUUID": "string", "name": "string", } "nfNamingCode": "string", "type": "string", ] "attributeList": [ { } "name": "adminState - ipAddress - hostName -], lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean", "IInterfaceList": [ "value": "string", { "dataQuality": { "statusuuid": "okstring", "errorTextinvariantUUID": "string", } "name": "string", } ], "vfModuleListdataQuality": [ { { "uuidstatus": "stringok", "invariantUUID": "string", "nameerrorText": "string", "nfNamingCode": "string", }, "minInstances": 0, "maxInstancesattributeList": 0,[ "attributeList": [ { { "name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean", "value": "string", "dataQuality": { "status": "ok", "errorText": "string" } } ], "PortList": [ ], "vmList": [ { { "uuid": "string", "invariantUUID": "string", "name": "string", "nfNamingCodedataQuality": "string",{ "attributeList": [ "status": "ok", { "nameerrorText": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean",string" }, "valueattributeList": "string", [ "dataQuality": { "status": "ok", "name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean "errorText": "string" - networkRole - routerExternalBoolean", } "value": "string", } ], "dataQuality": { "dataQuality": { "status": "ok", "errorText": "string" "errorText": "string" } } } ], "networkList": [ } { "uuid": "string", ] "invariantUUID": "string", } "name": "string", ] "nfNamingCode": "string", } "attributeList": [ ] { } ], "name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean","networkList": [ { "valueuuid": "string", "dataQualityinvariantUUID": {"string", "status"name": "okstring", "errorText"dataQuality": "string"{ "status": "ok", } }"errorText": "string" ]}, "dataQualityattributeList": {[ "status": "ok",{ "errorTextname": "string"adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean }- networkRole - routerExternalBoolean", } ]"value": "string", "dataQuality": { "dataQuality": { "status": "ok", "errorTextstatus": "stringok", } } "errorText": "string" ], "vnfcList": [ } { "uuid": "string",} "invariantUUID": "string", ] "name": "string", } "nfNamingCode": "string", ] "attributeList":} [ ], { "vnfcList": [ { "name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean", "uuid": "string", "invariantUUID": "string", "valuename": "string", "dataQuality": { "status": "ok", "errorText": "string" }, }"attributeList": [ { } "name": "adminState - ipAddress - ],hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole "dataQuality": {- routerExternalBoolean", "statusvalue": "okstring", "errorTextdataQuality": "string"{ } "status": "ok", } ], "dataQualityerrorText": {"string" "status": "ok", } "errorText": "string" } } ], "dataQuality": { } "status": "ok", ] "errorText": "string" } ] } ] |