Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
collapsetrue
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"        
      attributeList:
        type: "array"
        items:
          $ref: "#/components/schemas/attribute"   
      vfList:
        type: "array"
        items:
          $ref: "#/definitions/VF"        
      dataQuality:
          $ref: "#/components/schemas/dataQuality" 
    xml:
      name: "Service"
  VF:
    type: "object"
    properties:
      uuid:
        type: "string"
      invariantUUID:
        type: "string"
      name:
        type: "string"
      nfNamingCode:
        type: "string"
      type:
        type: "string"
      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"        
      nfNamingCode:
        type: "string"
      minInstances:
        type: "integer"
        format: "int32"
      maxInstances:
        type: "integer"
        format: "int32"
      attributeList:
        type: "array"
        items:
          $ref: "#/components/schemas/attribute"   
      dataQualityvmList:
          $reftype: "#/components/schemas/dataQualityarray"
    xml:     items:
 name: "VFModule"   VNFC:     type$ref: "object#/definitions/VM"
    properties:       uuidnetworkList:
        type: "stringarray"
      invariantUUID  items:
        type  $ref: "string#/definitions/Network"
      namedataQuality:
          type$ref: "string"#/components/schemas/dataQuality"
    xml:
  nfNamingCode    name: "VFModule"
  VNFC:
    type: "object"
    properties:
      uuid:
        type: "string"
      vmListinvariantUUID:
        type: "arraystring"
      name:
 items:       type: "string"
      nfNamingCode:
    $ref    type: "#/definitions/VMstring"
      attributeList:
        type: "array"
        items:
          $ref: "#/components/schemas/attribute"     
      dataQuality:
          $ref: "#/components/schemas/dataQuality"
    xml:
      name: "VNFC"
  VM:
    type: "object"
    properties:
      uuid:
        type: "string"
      invariantUUID:
        type: "string"
      name:
        type: "string"
      nfNamingCode:
        type: "string"
      attributeList:
        type: "array"
        items:
          $ref: "#/components/schemas/attribute"     
      dataQuality:
          $ref: "#/components/schemas/dataQuality"
    xml:
      name: "VM"
components:   schemasNetwork:
   dataQuality:     type: "object"
    properties:
      statusuuid:
        type: "string"
      invariantUUID:
       enum type: [ok, error]"string"
       errorTextname:
        type: "string"
    required:  nfNamingCode:
    - status   type: "string"
xml:       nameattributeList:
"dataQuality"
   attribute:     type: "objectarray"
    properties:    items:
  name:         $ref: "#/components/schemas/fieldNameattribute"     
 value:     dataQuality:
   type: "string"
      dataQuality:
             $ref: "#/components/schemas/dataQuality"
    requiredxml:
      - name: "Network"      -
dataQualitycomponents:
  schemas:
 xml:  dataQuality:
    nametype: "dataQualityobject"
    properties:
 fieldName:     typestatus:
string     enum:   type: "string"
   - adminState    enum: [ok, error]
  - ipAddress   errorText:
     - hostName  type: "string"
     - lockedBooleanrequired:
        - macAddressstatus
    xml:
   - networkType  name: "dataQuality"
   attribute:
 - physicalNetworkName  type: "object"
    properties:
- sharedNetworkBoolean         - routerExternalBooleanname:
   ApiResponse:     type$ref: "object#/components/schemas/fieldName"
    properties:       codevalue:
        type: "integerstring"
        formatdataQuality:
"int32"       type:     $ref: "#/components/schemas/dataQuality"
   type: "string" required:
      - name
      - dataQuality
    xml:
      messagename: "dataQuality"  
   fieldName:
    type: "string"
 externalDocs:   descriptionenum:
"Find out more about Swagger"   url: "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.

Image Removed

Example JSON Response

Note the top level objects is a service

Code Block
[
  {
    "uuid": "string",
    "invariantUUID": "string",
    "name": "string",
    "attributeList": [- adminState
        - ipAddress
        - hostName
        - 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

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.

Image Added

Example JSON Response

Note the top level objects is a service

Code Block
[
  {
    "uuid": "string",
    "invariantUUID": "string",
    "name": "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",
        "nfNamingCode": "string",
        "type": "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",
            "nfNamingCode": "string",
            "minInstances": 0,
            "maxInstances": 0,
      {      "attributeList": [
 "name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - physicalNetworkName - sharedNetworkBoolean - routerExternalBoolean",             {
                "valuename": "string",
        "dataQuality": {
     adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean",
    "status": "ok",           "errorTextvalue": "string",
        }       } "dataQuality":  {
 ],     "vfList": [       {         "uuidstatus": "stringok",
        "invariantUUID": "string",         "nameerrorText": "string",
           "nfNamingCode": "string",    }
    "type": "string",          }
"attributeList": [           {],
            "namevmList": [
 "adminState  - ipAddress - hostName - lockedBoolean - macAddress - networkType - physicalNetworkName{
- sharedNetworkBoolean - routerExternalBoolean",             "valueuuid": "string",
                "dataQualityinvariantUUID": "string",
{                "statusname": "okstring",
                "errorTextnfNamingCode": "string"",
                "attributeList": }[
          }        {
],         "vfModuleList": [           {
            "uuid": "string",
     "name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean",
      "invariantUUID": "string",             "namevalue": "string",
            "nfNamingCode": "string",        "dataQuality": {
        "minInstances": 0,             "maxInstancesstatus": 0"ok",
            "attributeList": [         "errorText": "string"
    {                }
"name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - physicalNetworkName - sharedNetworkBoolean - routerExternalBoolean", }
               "value": "string" ],
                "dataQuality": {
                  "status": "ok",
                  "errorText": "string"
                }
              }
            ],
            "dataQualitynetworkList": {[
              "status": "ok",{
                "errorTextuuid": "string",
            }           }"invariantUUID": "string",
        ],         "vnfcListname": [
      "string",
   {             "uuidnfNamingCode": "string",
                "invariantUUIDattributeList": "string",[
                  {
 "name": "string",             "nfNamingCode": "string",    "name": "adminState - ipAddress - hostName - lockedBoolean - "vmList": [
          macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean",
   {                 "uuidvalue": "string",
                    "invariantUUIDdataQuality": "string", {
                      "namestatus": "stringok",
                      "nfNamingCodeerrorText": "string",
                "attributeList": [    }
              {    }
                "name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - physicalNetworkName - sharedNetworkBoolean - routerExternalBoolean",
],
                "dataQuality": {
                   "valuestatus": "stringok",
                    "dataQualityerrorText": {"string"
                }
     "status": "ok",        }
              "errorText": "string"],
            "dataQuality": {
       }       "status": "ok",
          }    "errorText": "string"
           ], }
          }
    "dataQuality": {   ],
        "vnfcList": [
     "status": "ok",    {
              "errorTextuuid": "string",
            "invariantUUID": "string",
  }            "name": "string",
  }             ]"nfNamingCode": "string",
            "attributeList": [
              {
                "name": "adminState - ipAddress - hostName - lockedBoolean - macAddress - networkType - networkTechnology - physicalNetworkName - sharedNetworkBoolean - networkRole - routerExternalBoolean",
                "value": "string",
                "dataQuality": {
                  "status": "ok",
                  "errorText": "string"
                }
              }
            ],
            "dataQuality": {
              "status": "ok",
              "errorText": "string"
            }
          }
        ],
        "dataQuality": {
          "status": "ok",
          "errorText": "string"
        }
      }
    ],
    "dataQuality": {
      "status": "ok",
      "errorText": "string"
    }
  }
]

...