Versions Compared

Key

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


Swagger API documentation

All of the Pomba Context Builders conform to the same API definition.

Copy and paste the following swagger.json into https://editor.swagger.io/ to browse the API documentation offline:

Code Block
titleswagger.json
collapsetrue
{
  "swagger" : "2.0",
  "info" : {
    "version" : "1.4.0-SNAPSHOT",
    "title" : "SDNC Context Builder API",
    "termsOfService" : "http://onap.org"
  },
  "basePath" : "/sdnccontextbuilder",
  "paths" : {
    "/service/context" : {
      "get" : {
        "summary" : "Respond SDNC Context Model Data",
        "description" : "Returns a JSON object which represents the SDNC Context model data",
        "operationId" : "getContext",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "serviceInstanceId",
          "in" : "query",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "schema" : {
              "$ref" : "#/definitions/ModelContext"
            }
          },
          "400" : {
            "description" : "Bad Request"
          },
          "404" : {
            "description" : "Service not available"
          },
          "500" : {
            "description" : "Unexpected Runtime error"
          }
        }
      }
    }
  },
  "securityDefinitions" : {
    "basicAuth" : {
      "type" : "basic"
    }
  },
  "definitions" : {
    "Attribute" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "Name of the attribute",
          "enum" : [ "adminStatus", "ipAddress", "hostName", "lockedBoolean", "macAddress", "networkType", "networkTechnology", "physicalNetworkName", "sharedNetworkBoolean", "networkRole", "routerExternalBoolean", "imageId", "nfNamingCode", "nfType", "nfRole", "nfFunction", "nfcNamingCode", "nfcNamingTypen", "name2", "equipType", "equipVendor", "equipModel", "swVersion", "serialNumber", "provStatus", "fqdn", "interfaceRole", "interfaceType", "speedValue", "speedUnits", "portDescription", "circuitId", "linkType", "routingProtocol", "networkName", "isPortMirrored", "networkFunction", "resourceVersion", "name2Source", "managementOptions", "frameId", "ptniiName", "topology", "purpose", "description", "equipmentID", "ipVersion", "linkRole" ]
        },
        "value" : {
          "type" : "string",
          "description" : "Value of the attribute"
        },
        "dataQuality" : {
          "description" : "Data Quality indicator of the attribute",
          "$ref" : "#/definitions/DataQuality"
        }
      }
    },
    "DataQuality" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "type" : "string",
          "enum" : [ "ok", "error" ]
        },
        "errorText" : {
          "type" : "string"
        }
      }
    },
    "LInterface" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "port" : {
          "$ref" : "#/definitions/Port"
        },
        "logicalLinkList" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/LogicalLink"
          }
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        }
      }
    },
    "LogicalLink" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "modelVersionID" : {
          "type" : "string"
        },
        "modelInvariantUUID" : {
          "type" : "string"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        }
      }
    },
    "ModelContext" : {
      "type" : "object",
      "properties" : {
        "service" : {
          "description" : "Service object of the model",
          "$ref" : "#/definitions/Service"
        },
        "dataQuality" : {
          "description" : "Data Quality indicator",
          "$ref" : "#/definitions/DataQuality"
        },
        "networkList" : {
          "type" : "array",
          "description" : "List of networks associated with the service instance",
          "items" : {
            "$ref" : "#/definitions/Network"
          }
        },
        "logicalLinkList" : {
          "type" : "array",
          "description" : "List of Logical-link associated with the service instance",
          "items" : {
            "$ref" : "#/definitions/LogicalLink"
          }
        },
        "attributes" : {
          "type" : "array",
          "description" : "List of attributes",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        },
        "vnfs" : {
          "type" : "array",
          "description" : "List of VNF associated with the service instance",
          "items" : {
            "$ref" : "#/definitions/VNF"
          }
        },
        "pnfs" : {
          "type" : "array",
          "description" : "List of PNF associated with the service instance",
          "items" : {
            "$ref" : "#/definitions/PNF"
          }
        }
      }
    },
    "Network" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "modelVersionID" : {
          "type" : "string"
        },
        "modelInvariantUUID" : {
          "type" : "string"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "networkPolicies" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/NetworkPolicy"
          }
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        }
      }
    },
    "NetworkPolicy" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        }
      }
    },
    "PInterface" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "physicalLinkList" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/PhysicalLink"
          }
        },
        "logicalLinkList" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/LogicalLink"
          }
        },
        "port" : {
          "$ref" : "#/definitions/Port"
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        },
        "linterfaceList" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/LInterface"
          }
        }
      }
    },
    "PNF" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "modelVersionID" : {
          "type" : "string"
        },
        "modelInvariantUUID" : {
          "type" : "string"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        },
        "pinterfaceList" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/PInterface"
          }
        }
      }
    },
    "PhysicalLink" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        }
      }
    },
    "Port" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        }
      }
    },
    "Pserver" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        },
        "pinterfaceList" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/PInterface"
          }
        }
      }
    },
    "Service" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "modelVersionID" : {
          "type" : "string"
        },
        "modelInvariantUUID" : {
          "type" : "string"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        }
      }
    },
    "VFModule" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "modelVersionID" : {
          "type" : "string"
        },
        "modelInvariantUUID" : {
          "type" : "string"
        },
        "modelCustomizationUUID" : {
          "type" : "string"
        },
        "maxInstances" : {
          "type" : "integer",
          "format" : "int32"
        },
        "minInstances" : {
          "type" : "integer",
          "format" : "int32"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "vms" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/VM"
          }
        },
        "networks" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Network"
          }
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        }
      }
    },
    "VM" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        },
        "linterfaceList" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/LInterface"
          }
        },
        "pserver" : {
          "$ref" : "#/definitions/Pserver"
        }
      }
    },
    "VNF" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "type" : {
          "type" : "string"
        },
        "modelVersionID" : {
          "type" : "string"
        },
        "modelInvariantUUID" : {
          "type" : "string"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "vfModules" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/VFModule"
          }
        },
        "vnfcs" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/VNFC"
          }
        },
        "networks" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Network"
          }
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        },
        "linterfaceList" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/LInterface"
          }
        }
      }
    },
    "VNFC" : {
      "type" : "object",
      "properties" : {
        "uuid" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "modelVersionID" : {
          "type" : "string"
        },
        "modelInvariantUUID" : {
          "type" : "string"
        },
        "dataQuality" : {
          "$ref" : "#/definitions/DataQuality"
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        }
      }
    }
  }
}