# This work is licensed under a Creative Commons Attribution 4.0 International License. # http://creativecommons.org/licenses/by/4.0 # Copyright 2018 Orange swagger: "2.0" info: description: "serviceInventory API designed for ONAP Beijing Release.\nThis API\ \ is build from TMF open API18.0 (applying TMF Guideline 3.0)\nonly operation\ \ GET (by id & byList) for resource serviceSpecification is available" version: "1.0.0" title: "API ServiceInventory" host: "serverRoot" basePath: "/nbi/api/v1" schemes: - "https" consumes: - "application/json;charset=utf-8" produces: - "application/json;charset=utf-8" tags: - name: "Service" description: "" paths: /service: get: tags: - "Service" operationId: "serviceFind" summary: "List services" description: "This operation list service entities. \nAttribute selection is\ \ restricted. \nfields attribute may be used to filter retrieved attribute(s)\ \ for each service\n\nSpecific business errors for current operation will\ \ be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n" deprecated: false parameters: - name: "relatedParty.id" required: false in: "query" description: "" type: "string" - name: "serviceSpecification.id" required: false in: "query" description: "" type: "string" - name: "serviceSpecification.name" required: false in: "query" description: "" type: "string" - name: "id" required: false in: "query" description: "" type: "string" - name: "fields" required: false in: "query" description: "" type: "string" responses: 200: description: "Success" schema: type: "array" items: $ref: "#/definitions/ListService" 400: description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\ \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\ \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\ \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\ \ parameter value" schema: $ref: "#/definitions/ErrorRepresentation" 401: description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\ \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials" schema: $ref: "#/definitions/ErrorRepresentation" 403: description: "Forbidden\n\nList of supported error codes:\n- 50: Access\ \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\ \ requests" schema: $ref: "#/definitions/ErrorRepresentation" 404: description: "Not Found\n\nList of supported error codes:\n- 60: Resource\ \ not found" schema: $ref: "#/definitions/ErrorRepresentation" 422: description: "Unprocessable entity\n\nFunctional error" schema: $ref: "#/definitions/ErrorRepresentation" 500: description: "Internal Server Error\n\nList of supported error codes:\n\ - 1: Internal error" schema: $ref: "#/definitions/ErrorRepresentation" 503: description: "Service Unavailable\n\nList of supported error codes:\n- 5:\ \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\ \ retry later !" schema: $ref: "#/definitions/ErrorRepresentation" /service/{id}: get: tags: - "Service" operationId: "serviceGet" summary: "Retrieve a service" description: "This operation retrieves a service entity. \nAttribute selection\ \ is enabled for all first level attributes.\n\nSpecific business errors for\ \ current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable\ \ entity\n" deprecated: false parameters: - name: "id" in: "path" required: true type: "string" description: "" - name: "relatedParty.id" required: false in: "query" description: "" type: "string" - name: "serviceSpecification.id" required: false in: "query" description: "" type: "string" - name: "serviceSpecification.name" required: false in: "query" description: "" type: "string" responses: 200: description: "Success" schema: $ref: "#/definitions/Service" 400: description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\ \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\ \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\ \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\ \ parameter value" schema: $ref: "#/definitions/ErrorRepresentation" 401: description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\ \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials" schema: $ref: "#/definitions/ErrorRepresentation" 403: description: "Forbidden\n\nList of supported error codes:\n- 50: Access\ \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\ \ requests" schema: $ref: "#/definitions/ErrorRepresentation" 404: description: "Not Found\n\nList of supported error codes:\n- 60: Resource\ \ not found" schema: $ref: "#/definitions/ErrorRepresentation" 422: description: "Unprocessable entity\n\nFunctional error" schema: $ref: "#/definitions/ErrorRepresentation" 500: description: "Internal Server Error\n\nList of supported error codes:\n\ - 1: Internal error" schema: $ref: "#/definitions/ErrorRepresentation" 503: description: "Service Unavailable\n\nList of supported error codes:\n- 5:\ \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\ \ retry later !" schema: $ref: "#/definitions/ErrorRepresentation" definitions: stateValues: description: "" type: "string" enum: - "feasibilityChecked" - "designed" - "reserved" - "inactive" - "active" - "terminated" ErrorRepresentation: description: "This class is used to describe error.\nfor nbi Beijing release we\ \ do not manage additional error for serviceCatalog" required: - "code" - "reason" type: "object" properties: code: description: "Application related code (as defined in the API or from a common\ \ list)" type: "integer" format: "int32" reason: description: "Text that explains the reason for error. This can be shown to\ \ a client user." type: "string" message: description: "Text that provide more details and corrective actions related\ \ to the error. This can be shown to a client user." type: "string" status: description: "http error code extension like 400-2" type: "string" referenceError: description: "url pointing to documentation describing the error" type: "string" '@type': description: "The class type of a REST resource." type: "string" '@schemaLocation': description: "it provides a link to the schema describing a REST resource." type: "string" Service: description: "Instantiated service (service_instance) in AAI" type: "object" properties: id: description: "Unique identifier of the service - Valued with service-instance-id" type: "string" href: description: "Reference of the service\nNot managed in Beijing release" type: "string" name: description: "Name of the service - Valued with service-instance-name" type: "string" type: description: "Service type - valued with 'service-instance'" type: "string" state: $ref: "#/definitions/stateValues" hasStarted: description: "This is a Boolean attribute that, if TRUE, signifies that this\ \ Service has already been started. If the value of this attribute is FALSE,\ \ then this signifies that this Service has NOT been Started\nNot managed\ \ in Beijing release" type: "boolean" '@type': description: "This attribute allows to dynamically extends TMF class. Not\ \ used in Beijing release." type: "string" '@baseType': description: "Not managed in Beijing release" type: "string" '@schemaLocation': description: "Not managed in Beijing release" type: "string" serviceSpecification: $ref: "#/definitions/ServiceSpecificationRef" characteristic: type: "array" items: $ref: "#/definitions/ServiceCharacteristic" supportingResource: type: "array" items: $ref: "#/definitions/SupportingResource" relatedParty: type: "array" items: $ref: "#/definitions/RelatedPartyRef" ServiceSpecificationRef: description: "Service specification reference: ServiceSpecification of this service\ \ (catalog information)" type: "object" properties: id: description: "Unique identifier of the service specification. valued to model-version-id" type: "string" href: description: "Reference of the service specification.\nnot managed in Beijing\ \ release." type: "string" name: description: "Name of the required service specification" type: "string" version: description: "Service specification version.\nNot managed in Beijing release" type: "string" '@referredType': description: "This attribute allows to dynamically extends TMF class. Valued\ \ with 'ONAPservice'. We used this features to add following attribute:\ \ invariantUUID" type: "string" '@schemaLocation': description: "Not managed in Beijing release" type: "string" invariantUUID: description: "Additional attribute (not in the TMF API) - extended through\ \ @referredType - model-invariant-id" type: "string" ServiceCharacteristic: description: "A list of name value pairs that define the service characteristics\n\ Not managed in Beijing release." required: - "name" type: "object" properties: name: description: "Name of the characteristic\nNot managed in Beijing release." type: "string" valueType: description: "Type of value for this characteristic.\nNot managed in Beijing\ \ release." type: "string" value: $ref: "#/definitions/Value" SupportingResource: description: "Supporting resource - A supportingResource will be retrieved for\ \ each relationship of the relationship-list where related-link describe a vnf" type: "object" properties: id: description: "Unique identifier of the supporting resource - Valued to vnf-id" type: "string" href: description: "Reference of the supporting resource" type: "string" role: description: "Not managed in Beijing release." type: "string" name: description: "Name of the supporting resource - Valued with vnf_-name" type: "string" '@referredType': description: "This attribute allows to dynamically extends TMF class. Valued\ \ with 'ONAP resource'. We used this features to add following attributes:\n\ \ status\t\n modelInvariantId\n modelVersionId\n modelCustomisationId" type: "string" '@schemaLocation': description: "Not managed in Beijing release." type: "string" status: description: "Additional attribute (not in the TMF API) - extended through\ \ @referredType - valued with prov-status" type: "string" modelInvariantId: description: "Additional attribute (not in the TMF API) - extended through\ \ @referredType - valued with model-invariant-id" type: "string" modelVersionId: description: "Additional attribute (not in the TMF API) - extended through\ \ @referredType - valued with model-verson-id" type: "string" modelCustomisationId: description: "Additional attribute (not in the TMF API) - extended through\ \ @referredType - valued with model-customisation-id" type: "string" RelatedPartyRef: description: "RelatedParty reference. A related party defines party or party role\ \ linked to a specific entity.\nOnly ONAP Customer is managed in Beijing release." type: "object" properties: id: description: "Unique identifier of a related party" type: "string" href: description: "Reference of a related party.\nNot filled in Beijing release." type: "string" role: description: "Role played by the related party.\nFilled with 'ONAPcustomer'" type: "string" '@referredType': description: "Not managed in the Beijing release." type: "string" Value: description: "Structure used to describe characteristic value.\nNot managed in\ \ Beijing release." type: "object" properties: '@type': description: "Not managed in Beijing release." type: "string" '@schemaLocation': description: "Not managed in Beijing release." type: "string" serviceCharacteristicValue: description: "Not managed in Beijing release." type: "string" ListRelatedPartyRef: description: "This class is used to structure list of service(s) retrieved" type: "object" properties: id: description: "Unique identifier of a related party" type: "string" role: description: "Role played by the related party - only role “ONAPcustomer”\ \ is managed in Beijing release." type: "string" ListServiceSpecificationRef: description: "This class is used to structure list of service(s) retrieved" type: "object" properties: id: description: "Unique identifier of the service specification" type: "string" name: description: "Name of the required service specification" type: "string" ListService: description: "This class is used to structure list of service(s) retrieved" type: "object" properties: id: description: "Unique identifier of the service" type: "string" name: description: "Name of the service" type: "string" serviceSpecification: $ref: "#/definitions/ListServiceSpecificationRef" relatedParty: $ref: "#/definitions/ListRelatedPartyRef"