diff options
Diffstat (limited to 'docs/offeredapis')
42 files changed, 6351 insertions, 16829 deletions
diff --git a/docs/offeredapis/api_hub/api.plantuml b/docs/offeredapis/api_hub/api.plantuml new file mode 100644 index 0000000..0b0016c --- /dev/null +++ b/docs/offeredapis/api_hub/api.plantuml @@ -0,0 +1,30 @@ +@startuml + + +class ErrorDetail { + code:int + message:string + description:string + infoURL:string +} + +class Error { + code:int + message:string + description:string + infoURL:string +} + Error --> "0-*" ErrorDetail : details + +class HubIn { + query:string + callback:string +} + +class Hub { + id:string + query:string + callback:string +} + +@enduml
\ No newline at end of file diff --git a/docs/offeredapis/api_hub/model.xsd b/docs/offeredapis/api_hub/model.xsd new file mode 100644 index 0000000..09f4500 --- /dev/null +++ b/docs/offeredapis/api_hub/model.xsd @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xmime="http://www.w3.org/2005/05/xmlmime" + xmlns="http://orange.com/ONAPNBI/api/hub/v4/model" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + attributeFormDefault="unqualified" + elementFormDefault="qualified" + targetNamespace="http://orange.com/ONAPNBI/api/hub/v4/model"> + <xs:annotation id="signature"> + <xs:appinfo>API Designer</xs:appinfo> + <xs:documentation>Model: hub + Version: 4.0.0_inProgress + Owner: ONAPNBI + Generated on: 2019-03-12T16:45:33.51Z + Generated by: Orange API Designer v2, model-v1</xs:documentation> + </xs:annotation> + <xs:element name="ErrorDetail" type="ErrorDetail"/> + <xs:complexType name="ErrorDetail"> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="code" type="xs:int" minOccurs="1"/> + <xs:element name="message" type="xs:string" minOccurs="1"/> + <xs:element name="description" type="xs:string" minOccurs="0"/> + <xs:element name="infoURL" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:element name="Error" type="Error"/> + <xs:complexType name="Error"> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="code" type="xs:int" minOccurs="1"/> + <xs:element name="message" type="xs:string" minOccurs="1"/> + <xs:element name="description" type="xs:string" minOccurs="0"/> + <xs:element name="infoURL" type="xs:string" minOccurs="0"/> + <xs:element name="details" + type="ErrorDetail" + minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <xs:element name="HubIn" type="HubIn"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:complexType name="HubIn"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="query" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">The query must have an eventType= information.\nOptionally a ? could be added to reduce hub.\nquery”:”eventType = ServiceOrderStateChangeNotification”&serviceOrder.state=COMPLETED</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="callback" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">URL where notification must be send</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="Hub" type="Hub"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:complexType name="Hub"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="1"/> + <xs:element name="query" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">The query must have an eventType= information.\nOptionally a ? could be added to reduce hub.\nquery”:”eventType = ServiceOrderStateChangeNotification”&serviceOrder.state=COMPLETED</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="callback" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">URL where notification must be send</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> +</xs:schema> diff --git a/docs/offeredapis/api_hub/swagger.json b/docs/offeredapis/api_hub/swagger.json new file mode 100644 index 0000000..2497dcf --- /dev/null +++ b/docs/offeredapis/api_hub/swagger.json @@ -0,0 +1,279 @@ + + { + "swagger": "2.0", + "info": { + "description": "Provides the ability to subscribe to and unsubscribe from External API notifications.\n\n**Main operation**\n\n```\nPOST /hub\n```\n\nrequest sample 1\n\n```\n{\n \"callback\": \"http://mydomain/notification\",\n \"query\": \"eventType = ServiceOrderCreationNotification\"\n}\n```\n\nrequest sample 2\n\n```\n{\n \"callback\": \"http://mydomain/notification\",\n \"query\": \"eventType=ServiceOrderCreationNotification,ServiceOrderStateChangeNotification\"\n}\n```\n\n**EventType for serviceOrdering**\n\n- ServiceOrderCreationNotification\n- ServiceOrderStateChangeNotification\n- ServiceOrderItemStateChangeNotification\n\n**EventType for serviceInventory**\n\n- ServiceCreationNotification\n- ServiceAttributeValueChangeNotification\n- ServiceRemoveNotification\n\n", + "version": "4.0.0_inProgress", + "title": "API Hub", + "x-logo": { + "url": "/redoc/logo.png", + "backgroundColor": "#FFFFFF" + } + }, + + "host": "api.orange.com", + "basePath": "/", + "schemes": [ + "http" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + + { + "name": "Hub", + "description": "provided by NBI" + } + ], + "paths": { + "/hub": { + "post": { + "tags": [ + "Hub" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "operationId": "hubCreate", + "summary": "create hub", + "description": "", + "deprecated": false, + + "parameters": [ + + { + "name": "Hub", + "required": true, + "in": "body", + "description": "", + "schema": { + "$ref": "#/definitions/HubIn" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Hub" + } + + } + } + }, + "get": { + "tags": [ + "Hub" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "operationId": "hubFind", + "summary": "find hub", + "description": "", + "deprecated": false, + + "responses": { + "200": { + "description": "Ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Hub" + } + } + + } + } + } + }, + "/hub/{hubId}": { + "get": { + "tags": [ + "Hub" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "operationId": "hubGet", + "summary": "get hub", + "description": "", + "deprecated": false, + + "parameters": [ + + { + "name": "hubId", + "required": true, + "in": "path", + "type" : "string" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/Hub" + } + + } + } + }, + "delete": { + "tags": [ + "Hub" + ], + "operationId": "hubDelete", + "summary": "delete hub", + "description": "", + "deprecated": false, + + "parameters": [ + + { + "name": "hubId", + "required": true, + "in": "path", + "type" : "string" + } + ], + "responses": { + "204": { + "description": "No Content" + + } + } + } + } + }, + "definitions": { + + + "ErrorDetail": { + "description": "", + + + "required": [ + + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "", + "type": "integer", + "format": "int32" + }, + "message": { + "description": "", + "type": "string" + }, + "description": { + "description": "", + "type": "string" + }, + "infoURL": { + "description": "", + "type": "string" + } + } + + }, + + "Error": { + "description": "", + + + "required": [ + + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "", + "type": "integer", + "format": "int32" + }, + "message": { + "description": "", + "type": "string" + }, + "description": { + "description": "", + "type": "string" + }, + "infoURL": { + "description": "", + "type": "string" + }, + "details": { + + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + } + } + + }, + + "HubIn": { + "description": "", + + + "required": [ + + "query", + "callback" + ], + "type": "object", + "properties": { + "query": { + "description": "The query must have an eventType= information.\\nOptionally a ? could be added to reduce hub.\\nquery”:”eventType = ServiceOrderStateChangeNotification”&serviceOrder.state=COMPLETED", + "type": "string" + }, + "callback": { + "description": "URL where notification must be send", + "type": "string" + } + } + + }, + + "Hub": { + "description": "", + + + "required": [ + + "id", + "query", + "callback" + ], + "type": "object", + "properties": { + "id": { + "description": "", + "type": "string" + }, + "query": { + "description": "The query must have an eventType= information.\\nOptionally a ? could be added to reduce hub.\\nquery”:”eventType = ServiceOrderStateChangeNotification”&serviceOrder.state=COMPLETED", + "type": "string" + }, + "callback": { + "description": "URL where notification must be send", + "type": "string" + } + } + + } + } + } +
\ No newline at end of file diff --git a/docs/offeredapis/api_hub/swagger.yaml b/docs/offeredapis/api_hub/swagger.yaml new file mode 100644 index 0000000..7c1a6d0 --- /dev/null +++ b/docs/offeredapis/api_hub/swagger.yaml @@ -0,0 +1,180 @@ +swagger: "2.0" +info: + description: "Provides the ability to subscribe to and unsubscribe from External\ + \ API notifications.\n\n**Main operation**\n\n```\nPOST /hub\n```\n\nrequest sample\ + \ 1\n\n```\n{\n \"callback\": \"http://mydomain/notification\",\n \"query\"\ + : \"eventType = ServiceOrderCreationNotification\"\n}\n```\n\nrequest sample 2\n\ + \n```\n{\n \"callback\": \"http://mydomain/notification\",\n \"query\": \"eventType=ServiceOrderCreationNotification,ServiceOrderStateChangeNotification\"\ + \n}\n```\n\n**EventType for serviceOrdering**\n\n- ServiceOrderCreationNotification\n\ + - ServiceOrderStateChangeNotification\n- ServiceOrderItemStateChangeNotification\n\ + \n**EventType for serviceInventory**\n\n- ServiceCreationNotification\n- ServiceAttributeValueChangeNotification\n\ + - ServiceRemoveNotification\n\n" + version: "4.0.0_inProgress" + title: "API Hub" + x-logo: + url: "/redoc/logo.png" + backgroundColor: "#FFFFFF" +host: "api.orange.com" +basePath: "/" +schemes: +- "http" +produces: +- "application/json;charset=utf-8" +tags: +- name: "Hub" + description: "provided by NBI" +paths: + /hub: + post: + tags: + - "Hub" + consumes: + - "application/json;charset=utf-8" + produces: + - "application/json;charset=utf-8" + operationId: "hubCreate" + summary: "create hub" + description: "" + deprecated: false + parameters: + - name: "Hub" + required: true + in: "body" + description: "" + schema: + $ref: "#/definitions/HubIn" + responses: + 201: + description: "Created" + schema: + $ref: "#/definitions/Hub" + get: + tags: + - "Hub" + produces: + - "application/json;charset=utf-8" + operationId: "hubFind" + summary: "find hub" + description: "" + deprecated: false + responses: + 200: + description: "Ok" + schema: + type: "array" + items: + $ref: "#/definitions/Hub" + /hub/{hubId}: + get: + tags: + - "Hub" + produces: + - "application/json;charset=utf-8" + operationId: "hubGet" + summary: "get hub" + description: "" + deprecated: false + parameters: + - name: "hubId" + required: true + in: "path" + type: "string" + responses: + 200: + description: "Ok" + schema: + $ref: "#/definitions/Hub" + delete: + tags: + - "Hub" + operationId: "hubDelete" + summary: "delete hub" + description: "" + deprecated: false + parameters: + - name: "hubId" + required: true + in: "path" + type: "string" + responses: + 204: + description: "No Content" +definitions: + ErrorDetail: + description: "" + required: + - "code" + - "message" + type: "object" + properties: + code: + description: "" + type: "integer" + format: "int32" + message: + description: "" + type: "string" + description: + description: "" + type: "string" + infoURL: + description: "" + type: "string" + Error: + description: "" + required: + - "code" + - "message" + type: "object" + properties: + code: + description: "" + type: "integer" + format: "int32" + message: + description: "" + type: "string" + description: + description: "" + type: "string" + infoURL: + description: "" + type: "string" + details: + type: "array" + items: + $ref: "#/definitions/ErrorDetail" + HubIn: + description: "" + required: + - "query" + - "callback" + type: "object" + properties: + query: + description: "The query must have an eventType= information.\\nOptionally\ + \ a ? could be added to reduce hub.\\nquery”:”eventType = ServiceOrderStateChangeNotification”\ + &serviceOrder.state=COMPLETED" + type: "string" + callback: + description: "URL where notification must be send" + type: "string" + Hub: + description: "" + required: + - "id" + - "query" + - "callback" + type: "object" + properties: + id: + description: "" + type: "string" + query: + description: "The query must have an eventType= information.\\nOptionally\ + \ a ? could be added to reduce hub.\\nquery”:”eventType = ServiceOrderStateChangeNotification”\ + &serviceOrder.state=COMPLETED" + type: "string" + callback: + description: "URL where notification must be send" + type: "string" diff --git a/docs/offeredapis/serviceCatalog/apiServiceCatalog.plantuml b/docs/offeredapis/api_serviceCatalog/api.plantuml index 8483238..8483238 100644 --- a/docs/offeredapis/serviceCatalog/apiServiceCatalog.plantuml +++ b/docs/offeredapis/api_serviceCatalog/api.plantuml diff --git a/docs/offeredapis/api_serviceCatalog/model.xsd b/docs/offeredapis/api_serviceCatalog/model.xsd new file mode 100644 index 0000000..26625c2 --- /dev/null +++ b/docs/offeredapis/api_serviceCatalog/model.xsd @@ -0,0 +1,517 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xmime="http://www.w3.org/2005/05/xmlmime" + xmlns="http://orange.com/ONAPNBI/api/serviceCatalog/v3/model" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + attributeFormDefault="unqualified" + elementFormDefault="qualified" + targetNamespace="http://orange.com/ONAPNBI/api/serviceCatalog/v3/model"> + <xs:annotation id="signature"> + <xs:appinfo>API Designer</xs:appinfo> + <xs:documentation>Model: serviceCatalog + Version: 3.0.0_tag + Owner: ONAPNBI + Generated on: 2019-03-12T17:02:42.013Z + Generated by: Orange API Designer v2, model-v1</xs:documentation> + </xs:annotation> + <xs:simpleType name="LifecycleStatusValues"> + <xs:restriction base="xs:string"> + <xs:enumeration value="NOT_CERTIFIED_CHECKOUT"/> + <xs:enumeration value="NOT_CERTIFIED_CHECKIN"/> + <xs:enumeration value="READY_FOR_CERTIFICATION"/> + <xs:enumeration value="CERTIFICATION_IN_PROGRESS"/> + <xs:enumeration value="CERTIFIED"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="DistributionStatus"> + <xs:restriction base="xs:string"> + <xs:enumeration value="DISTRIBUTION_NOT_APPROVED"/> + <xs:enumeration value="DISTRIBUTION_APPROVED"/> + <xs:enumeration value="DISTRIBUTED"/> + <xs:enumeration value="DISTRIBUTION_REJECTED"/> + </xs:restriction> + </xs:simpleType> + <xs:element name="ErrorRepresentation" type="ErrorRepresentation"> + <xs:annotation> + <xs:documentation source="public">This class is used to describe error. +for nbi Beijing release we do not manage additional error for serviceCatalog</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ErrorRepresentation"> + <xs:annotation> + <xs:documentation source="public">This class is used to describe error. +for nbi Beijing release we do not manage additional error for serviceCatalog</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="code" type="xs:int" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Application related code (as defined in the API or from a common list)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="reason" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Text that explains the reason for error. This can be shown to a client user.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="message" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Text that provide more details and corrective actions related to the error. This can be shown to a client user</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="status" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">http error code extension like 400-2</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="referenceErrror" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">url pointing to documentation describing the error</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">The class type of a REST resource.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">it provides a link to the schema describing a REST resource.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="TimePeriod" type="TimePeriod"> + <xs:annotation> + <xs:documentation source="public">A time period</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="TimePeriod"> + <xs:annotation> + <xs:documentation source="public">A time period</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="startDateTime" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Start date and time of the period</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="endDateTime" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">End date and time of the period</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="RelatedPartyRef" type="RelatedPartyRef"> + <xs:annotation> + <xs:documentation source="public">Party linked to the service catalog. +in nbi we retrieve information about last updater of the service in SDC</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="RelatedPartyRef"> + <xs:annotation> + <xs:documentation source="public">Party linked to the service catalog. +in nbi we retrieve information about last updater of the service in SDC</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of the related party. Filled with lastUpdaterUserId</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="role" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Role payed by the related party +Only role 'lastUpdater' is retrieved in Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Name of the related party - Filled with lastUpdatedFullName</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceSpecification" type="ServiceSpecification"> + <xs:annotation> + <xs:documentation source="public">ServiceSpecification is a class that offers characteristics to describe a type of service. Functionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics. +the service information are retrieved in SDC</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceSpecification"> + <xs:annotation> + <xs:documentation source="public">ServiceSpecification is a class that offers characteristics to describe a type of service. Functionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics. +the service information are retrieved in SDC</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of the service specification. Filled with SDC Service uuid</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Reference of the service specification- not mapped in Beijing</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Name of the service specification- Filled with SDC Service name</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="description" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A narrative that explains in detail what the service specification is - Filled with SDC Service description</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">This attribute allows to dynamically extends TMF class. Valued with 'ONAPservice'. We used this features to add following attributes: +invariantUUID +toscaModelURL +toscaResourceName +category (1) +subcategory (1) +distributionStatus</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not used for Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@baseType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not used for Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="invariantUUID" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - invariantUUID</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="toscaModelURL" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - toscaModelURL</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="toscaResourceName" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - toscaResourceName</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="category" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute - extended through @type - category +Please note that this attribute is managed in TMF - in future release we'll introduce category resource</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="subcategory" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute - extended through @type - category +Please note that this attribute is managed in TMF - in future release we'll introduce category resourc</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="distributionStatus" type="DistributionStatus" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute - extended through @type - distributionStatus</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="version" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Service specification version - Filled with SDC Service version</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="lifecycleStatus" type="LifecycleStatusValues" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Service Current status in the catalog - Filled with SDC Service life cycle state</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="targetServiceSchema" + type="TargetServiceSchemaRef" + minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not used in Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="attachment" + type="Attachment" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of attachments concerning the service specification - Used to retrieve service artifacts</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="relatedParty" + type="RelatedPartyRef" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of parties linked to the service specification - Used to retrieve lastUpdater informative</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="resourceSpecification" + type="ResourceSpecificationRef" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of resource specification usable to deliver this service - used to retrieve resource</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="serviceSpecCharacteristic" + type="ServiceSpecCharacteristic" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of characteristic features of the service specification</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceSpecCharacteristic" type="ServiceSpecCharacteristic"> + <xs:annotation> + <xs:documentation source="public">A characteristic quality or distinctive feature of a ServiceSpecification. +ServiceSpecCharacteristic are retrieved in the serviceTosca file in the topology_template section in the inputs section.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceSpecCharacteristic"> + <xs:annotation> + <xs:documentation source="public">A characteristic quality or distinctive feature of a ServiceSpecification. +ServiceSpecCharacteristic are retrieved in the serviceTosca file in the topology_template section in the inputs section.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Name of the characteristic - Filled with parameter_name</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="description" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A narrative that explains in detail what the characteristic is - Filled with parameter_description</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="valueType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A kind of value that the characteristic can take on, such as numeric, text and so forth - Filled with parameter_type</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">This attribute allows to dynamically extends TMF class. Valued with: 'ONAPserviceCharacteristic'. We do not used this features in nbi Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">An url pointing to type description - we do not use it in nbi Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="required" type="xs:boolean" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A parameter to define if the characteristic is mandatory - Filled from parameter_required – if not fielded by default ‘true’</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="status" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Status of the characteristic - filled with status_value</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="serviceSpecCharacteristicValue" + type="ServiceSpecCharacteristicValue" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">Value that can be assigned to a characteristic</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="Attachment" type="Attachment"> + <xs:annotation> + <xs:documentation source="public">An attachment is a file uses to describe the service. +In nbi we use attachment to retrieve ONAP artifacts.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="Attachment"> + <xs:annotation> + <xs:documentation source="public">An attachment is a file uses to describe the service. +In nbi we use attachment to retrieve ONAP artifacts.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of the attachment - filled with artifactUUID.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Name of the attachment - filled with artifactName</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="description" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Description of the attachment - filled with artifactDescription</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">This attribute allows to dynamically extends TMF class. Valued with 'ONAPartifact'. We used this features to add following attributes: +artifactLabel +artifactGroupType +artifactTimeout +artifactChecksum +artifactVersion +generatedFromUUID</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="artifactLabel" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - artifactLabel</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="artifactGroupType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - artifactGroupType</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="artifactTimeout" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - artifactTimeout</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="artifactChecksum" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - artifactChecksum</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="artifactVersion" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - artifactVersion</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="generatedFromUUID" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - generatedFromUUID</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="url" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Uniform Resource Locator, is a web page address - filled with artifactURL</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="mimeType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Filled with artifactType</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceSpecCharacteristicValue" + type="ServiceSpecCharacteristicValue"> + <xs:annotation> + <xs:documentation source="public">A number or text that can be assigned to a service specification characteristic. +ServiceSpecCharacteristicValue are retrieved in the service Tosca file</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceSpecCharacteristicValue"> + <xs:annotation> + <xs:documentation source="public">A number or text that can be assigned to a service specification characteristic. +ServiceSpecCharacteristicValue are retrieved in the service Tosca file</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="valueType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A kind of value that the characteristic can take on, such as numeric, text, and so forth +Retrieved in the Tosca in the topology_template section in the inputs section - parameter_type. +We do not manage parameter_type= list or map for Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="isDefault" type="xs:boolean" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Information calculated from parameter default in the Tosca file</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="value" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A discrete value that the characteristic can take on</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ResourceSpecificationRef" type="ResourceSpecificationRef"> + <xs:annotation> + <xs:documentation source="public">A list of resourceSpec identified to deliver the service. +for nbi we retrieve resource information available in service description (through SDC api) bu as well information retrieved in the TOSCA file.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ResourceSpecificationRef"> + <xs:annotation> + <xs:documentation source="public">A list of resourceSpec identified to deliver the service. +for nbi we retrieve resource information available in service description (through SDC api) bu as well information retrieved in the TOSCA file.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of the resource specification - filled with resourceUUID</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="version" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Version for this resource specification - filled with resourceVersion</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Name of the resource specification - filled with resourceName</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">This attribute allows to dynamically extends TMF class. Valued with: 'ONAPresource'. We used this features to add following attributes: +resourceInstanceName +resourceInvariantUUID +resourceType +modelCustomizationName +modelCustomizationId</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="resourceInstanceName" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - resourceInstanceName</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="resourceInvariantUUID" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - resourceInvariantUUID</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="resourceType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - resoucreType</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="modelCustomizationName" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute name in topology_template/node_template for the resource</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="modelCustomizationId" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute customizationUUID in topology_template/node_template for the resource</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="TargetServiceSchemaRef" type="TargetServiceSchemaRef"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:complexType name="TargetServiceSchemaRef"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="@type" type="xs:string" minOccurs="1"/> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="1"/> + </xs:sequence> + </xs:complexType> +</xs:schema> diff --git a/docs/offeredapis/api_serviceCatalog/swagger.json b/docs/offeredapis/api_serviceCatalog/swagger.json new file mode 100644 index 0000000..fcb84d2 --- /dev/null +++ b/docs/offeredapis/api_serviceCatalog/swagger.json @@ -0,0 +1,659 @@ + + { + "swagger": "2.0", + "info": { + "description": "serviceCatalog API designed for ONAP Beijing Release.\nThis API is build from TMF open API17.5. \nOnly operation GET (by id & byList) for resource serviceSpecification is available\n\n", + "version": "3.0.0_tag", + "title": "API ServiceCatalog", + "x-logo": { + "url": "/redoc/logo.png", + "backgroundColor": "#FFFFFF" + } + }, + + "host": "serverRoot", + "basePath": "/nbi/api/v1", + "schemes": [ + "https" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + + { + "name": "ServiceSpecification", + "description": "" + } + ], + "paths": { + "/serviceSpecification": { + "get": { + "tags": [ + "ServiceSpecification" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "operationId": "serviceSpecificationFind", + "summary": "List service specifications", + "description": "This operation returns service specifications from a catalog.\nOnly a predefined set of attribute is proposed : Based on SDC limitations, only attributes category and distributionStatus are available for serviceSpecification filtering\nFields attribute could be used to filter attributes retrieved", + "deprecated": false, + + "parameters": [ + + { + "name": "fields", + "required": false, + "in": "query", + "description": "Field selection - used to filtering the attributes to be retreived", + + "type": "string" + }, + { + "name": "category", + "required": false, + "in": "query", + "description": "Service Category (filter)", + + "type": "string" + }, + { + "name": "distributionStatus", + "required": false, + "in": "query", + "description": "Service distribution status (filter)", + + "type": "string" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceSpecification" + } + } + + }, + "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" + } + } + } + } + }, + "/serviceSpecification/{id}": { + "get": { + "tags": [ + "ServiceSpecification" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "operationId": "serviceSpecificationGet", + "summary": "Retrieve a service specification", + "description": "This operation returns a service specification by its id from a catalog. Attribute selection is enabled using the fields attribute.", + "deprecated": false, + + "parameters": [ + + { + "name": "id", + "required": true, + "in": "path", + "type" : "string" + }, + { + "name": "fields", + "required": false, + "in": "query", + "description": "Attribute selection", + + "type": "string" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/ServiceSpecification" + } + + }, + "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": { + + "LifecycleStatusValues": { + "description": "Service lifecycle value from ONAP SDC", + + "type": "string", + "enum": [ + "NOT_CERTIFIED_CHECKOUT", + "NOT_CERTIFIED_CHECKIN", + "READY_FOR_CERTIFICATION", + "CERTIFICATION_IN_PROGRESS", + "CERTIFIED"] + + }, + "DistributionStatus": { + "description": "Service distribution status from ONAP.", + + "type": "string", + "enum": [ + "DISTRIBUTION_NOT_APPROVED", + "DISTRIBUTION_APPROVED", + "DISTRIBUTED", + "DISTRIBUTION_REJECTED"] + + }, + + "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" + }, + "referenceErrror": { + "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" + } + } + + }, + + "TimePeriod": { + "description": "A time period", + + + "type": "object", + "properties": { + "startDateTime": { + "description": "Start date and time of the period", + "type": "string", + "format": "date-time" + }, + "endDateTime": { + "description": "End date and time of the period", + "type": "string", + "format": "date-time" + } + } + + }, + + "RelatedPartyRef": { + "description": "Party linked to the service catalog.\nin nbi we retrieve information about last updater of the service in SDC", + + + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the related party. Filled with lastUpdaterUserId", + "type": "string" + }, + "role": { + "description": "Role payed by the related party\nOnly role 'lastUpdater' is retrieved in Beijing release", + "type": "string" + }, + "name": { + "description": "Name of the related party - Filled with lastUpdatedFullName", + "type": "string" + } + } + + }, + + "ServiceSpecification": { + "description": "ServiceSpecification is a class that offers characteristics to describe a type of service. Functionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics.\nthe service information are retrieved in SDC", + + + "required": [ + + "invariantUUID" + ], + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the service specification. Filled with SDC Service uuid", + "type": "string" + }, + "href": { + "description": "Reference of the service specification- not mapped in Beijing", + "type": "string" + }, + "name": { + "description": "Name of the service specification- Filled with SDC Service name", + "type": "string" + }, + "description": { + "description": "A narrative that explains in detail what the service specification is - Filled with SDC Service description", + "type": "string" + }, + "@type": { + "description": "This attribute allows to dynamically extends TMF class. Valued with 'ONAPservice'. We used this features to add following attributes:\ninvariantUUID\ntoscaModelURL\ntoscaResourceName\ncategory (1)\nsubcategory (1)\ndistributionStatus", + "type": "string", + + "default": "ONAPservice" + }, + "@schemaLocation": { + "description": "Not used for Beijing release", + "type": "string" + }, + "@baseType": { + "description": "Not used for Beijing release", + "type": "string" + }, + "invariantUUID": { + "description": "Additional attribute (not in the TMF API) - extended through @type - invariantUUID", + "type": "string" + }, + "toscaModelURL": { + "description": "Additional attribute (not in the TMF API) - extended through @type - toscaModelURL", + "type": "string" + }, + "toscaResourceName": { + "description": "Additional attribute (not in the TMF API) - extended through @type - toscaResourceName", + "type": "string" + }, + "category": { + "description": "Additional attribute - extended through @type - category\nPlease note that this attribute is managed in TMF - in future release we'll introduce category resource", + "type": "string" + }, + "subcategory": { + "description": "Additional attribute - extended through @type - category\nPlease note that this attribute is managed in TMF - in future release we'll introduce category resourc", + "type": "string" + }, + "distributionStatus": { + + "$ref": "#/definitions/DistributionStatus" + }, + "version": { + "description": "Service specification version - Filled with SDC Service version", + "type": "string" + }, + "lifecycleStatus": { + + "$ref": "#/definitions/LifecycleStatusValues" + }, + "targetServiceSchema": { + + "$ref": "#/definitions/TargetServiceSchemaRef" + }, + "attachment": { + + "type": "array", + "items": { + "$ref": "#/definitions/Attachment" + } + }, + "relatedParty": { + + "type": "array", + "items": { + "$ref": "#/definitions/RelatedPartyRef" + } + }, + "resourceSpecification": { + + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationRef" + } + }, + "serviceSpecCharacteristic": { + + "type": "array", + "items": { + "$ref": "#/definitions/ServiceSpecCharacteristic" + } + } + } + + }, + + "ServiceSpecCharacteristic": { + "description": "A characteristic quality or distinctive feature of a ServiceSpecification. \nServiceSpecCharacteristic are retrieved in the serviceTosca file in the topology_template section in the inputs section.", + + + "type": "object", + "properties": { + "name": { + "description": "Name of the characteristic - Filled with parameter_name", + "type": "string" + }, + "description": { + "description": "A narrative that explains in detail what the characteristic is - Filled with parameter_description", + "type": "string" + }, + "valueType": { + "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth - Filled with parameter_type", + "type": "string" + }, + "@type": { + "description": "This attribute allows to dynamically extends TMF class. Valued with: 'ONAPserviceCharacteristic'. We do not used this features in nbi Beijing release.", + "type": "string" + }, + "@schemaLocation": { + "description": "An url pointing to type description - we do not use it in nbi Beijing release", + "type": "string" + }, + "required": { + "description": "A parameter to define if the characteristic is mandatory - Filled from parameter_required – if not fielded by default ‘true’", + "type": "boolean", + + "default": true + }, + "status": { + "description": "Status of the characteristic - filled with status_value", + "type": "string" + }, + "serviceSpecCharacteristicValue": { + + "type": "array", + "items": { + "$ref": "#/definitions/ServiceSpecCharacteristicValue" + } + } + } + + }, + + "Attachment": { + "description": "An attachment is a file uses to describe the service.\nIn nbi we use attachment to retrieve ONAP artifacts.", + + + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the attachment - filled with artifactUUID.", + "type": "string" + }, + "name": { + "description": "Name of the attachment - filled with artifactName", + "type": "string" + }, + "description": { + "description": "Description of the attachment - filled with artifactDescription", + "type": "string" + }, + "@type": { + "description": "This attribute allows to dynamically extends TMF class. Valued with 'ONAPartifact'. We used this features to add following attributes: \nartifactLabel\nartifactGroupType\nartifactTimeout\nartifactChecksum\nartifactVersion\ngeneratedFromUUID", + "type": "string", + + "default": "ONAPartifact" + }, + "artifactLabel": { + "description": "Additional attribute (not in the TMF API) - extended through @type - artifactLabel", + "type": "string" + }, + "artifactGroupType": { + "description": "Additional attribute (not in the TMF API) - extended through @type - artifactGroupType", + "type": "string" + }, + "artifactTimeout": { + "description": "Additional attribute (not in the TMF API) - extended through @type - artifactTimeout", + "type": "string" + }, + "artifactChecksum": { + "description": "Additional attribute (not in the TMF API) - extended through @type - artifactChecksum", + "type": "string" + }, + "artifactVersion": { + "description": "Additional attribute (not in the TMF API) - extended through @type - artifactVersion", + "type": "string" + }, + "generatedFromUUID": { + "description": "Additional attribute (not in the TMF API) - extended through @type - generatedFromUUID", + "type": "string" + }, + "url": { + "description": "Uniform Resource Locator, is a web page address - filled with artifactURL", + "type": "string" + }, + "mimeType": { + "description": "Filled with artifactType", + "type": "string" + } + } + + }, + + "ServiceSpecCharacteristicValue": { + "description": "A number or text that can be assigned to a service specification characteristic.\nServiceSpecCharacteristicValue are retrieved in the service Tosca file", + + + "type": "object", + "properties": { + "valueType": { + "description": "A kind of value that the characteristic can take on, such as numeric, text, and so forth\nRetrieved in the Tosca in the topology_template section in the inputs section - parameter_type. \nWe do not manage parameter_type= list or map for Beijing release", + "type": "string" + }, + "isDefault": { + "description": "Information calculated from parameter default in the Tosca file", + "type": "boolean" + }, + "value": { + "description": "A discrete value that the characteristic can take on", + "type": "string" + } + } + + }, + + "ResourceSpecificationRef": { + "description": "A list of resourceSpec identified to deliver the service.\nfor nbi we retrieve resource information available in service description (through SDC api) bu as well information retrieved in the TOSCA file.", + + + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the resource specification - filled with resourceUUID", + "type": "string" + }, + "version": { + "description": "Version for this resource specification - filled with resourceVersion", + "type": "string" + }, + "name": { + "description": "Name of the resource specification - filled with resourceName", + "type": "string" + }, + "@type": { + "description": "This attribute allows to dynamically extends TMF class. Valued with: 'ONAPresource'. We used this features to add following attributes:\nresourceInstanceName\nresourceInvariantUUID\nresourceType\nmodelCustomizationName\nmodelCustomizationId", + "type": "string", + + "default": "ONAPresource" + }, + "resourceInstanceName": { + "description": "Additional attribute (not in the TMF API) - extended through @type - resourceInstanceName", + "type": "string" + }, + "resourceInvariantUUID": { + "description": "Additional attribute (not in the TMF API) - extended through @type - resourceInvariantUUID", + "type": "string" + }, + "resourceType": { + "description": "Additional attribute (not in the TMF API) - extended through @type - resoucreType", + "type": "string" + }, + "modelCustomizationName": { + "description": "Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute name in topology_template/node_template for the resource", + "type": "string" + }, + "modelCustomizationId": { + "description": "Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute customizationUUID in topology_template/node_template for the resource", + "type": "string" + } + } + + }, + + "TargetServiceSchemaRef": { + "description": "", + + + "required": [ + + "@type", + "@schemaLocation" + ], + "type": "object", + "properties": { + "@type": { + "description": "", + "type": "string" + }, + "@schemaLocation": { + "description": "", + "type": "string" + } + } + + } + } + } +
\ No newline at end of file diff --git a/docs/offeredapis/swaggers/serviceCatalog_3_0_0.yaml b/docs/offeredapis/api_serviceCatalog/swagger.yaml index 50ae7cf..a951625 100644 --- a/docs/offeredapis/swaggers/serviceCatalog_3_0_0.yaml +++ b/docs/offeredapis/api_serviceCatalog/swagger.yaml @@ -1,15 +1,15 @@ swagger: "2.0" info: - description: "serviceCatalog API designed for ONAP Casablanca Release.\nThis API is\ + description: "serviceCatalog API designed for ONAP Beijing Release.\nThis API is\ \ build from TMF open API17.5. \nOnly operation GET (by id & byList) for resource\ - \ serviceSpecification is available" - version: "3.0.0" + \ serviceSpecification is available\n\n" + version: "3.0.0_tag" title: "API ServiceCatalog" x-logo: url: "/redoc/logo.png" backgroundColor: "#FFFFFF" host: "serverRoot" -basePath: "/nbi/api/v3" +basePath: "/nbi/api/v1" schemes: - "https" produces: @@ -29,9 +29,7 @@ paths: description: "This operation returns service specifications from a catalog.\n\ Only a predefined set of attribute is proposed : Based on SDC limitations,\ \ only attributes category and distributionStatus are available for serviceSpecification\ - \ filtering\nFields attribute could be used to filter attributes retrieved\n\ - \nSpecific business errors for current operation will be encapsulated in\n\ - \nHTTP Response 422 Unprocessable entity\n" + \ filtering\nFields attribute could be used to filter attributes retrieved" deprecated: false parameters: - name: "fields" @@ -51,7 +49,7 @@ paths: type: "string" responses: 200: - description: "Success" + description: "Ok" schema: type: "array" items: @@ -104,16 +102,13 @@ paths: operationId: "serviceSpecificationGet" summary: "Retrieve a service specification" description: "This operation returns a service specification by its id from\ - \ a catalog. Attribute selection is enabled using the fields attribute.\n\n\ - Specific business errors for current operation will be encapsulated in\n\n\ - HTTP Response 422 Unprocessable entity\n" + \ a catalog. Attribute selection is enabled using the fields attribute." deprecated: false parameters: - name: "id" - in: "path" required: true + in: "path" type: "string" - description: "" - name: "fields" required: false in: "query" @@ -121,7 +116,7 @@ paths: type: "string" responses: 200: - description: "Success" + description: "Ok" schema: $ref: "#/definitions/ServiceSpecification" 400: diff --git a/docs/offeredapis/serviceInventory/apiServiceInventory.plantuml b/docs/offeredapis/api_serviceInventory/api.plantuml index 2c08be7..3805ae9 100644 --- a/docs/offeredapis/serviceInventory/apiServiceInventory.plantuml +++ b/docs/offeredapis/api_serviceInventory/api.plantuml @@ -1,5 +1,10 @@ @startuml +enum eventType { + ServiceCreationNotification + ServiceAttributeValueChangeNotification + ServiceRemoveNotification +} class ErrorRepresentation { code:int @@ -17,7 +22,6 @@ class Service { name:string type:string state:string - hasStarted:boolean @type:string @baseType:string @schemaLocation:string @@ -86,4 +90,20 @@ class ListService { ListService --> "0-1" ListServiceSpecificationRef : serviceSpecification ListService --> "0-1" ListRelatedPartyRef : relatedParty +class ServiceInventoryEvent { + id:string + href:string + name:string + type:string + state:string +} + ServiceInventoryEvent --> "1-1" RelatedPartyRef : relatedParty + +class Notification { + eventId:string + eventDate:dateTime +} + Notification --> "1-1" eventType : eventType + Notification --> "1-1" ServiceInventoryEvent : event + @enduml
\ No newline at end of file diff --git a/docs/offeredapis/api_serviceInventory/model.xsd b/docs/offeredapis/api_serviceInventory/model.xsd new file mode 100644 index 0000000..2c46857 --- /dev/null +++ b/docs/offeredapis/api_serviceInventory/model.xsd @@ -0,0 +1,497 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xmime="http://www.w3.org/2005/05/xmlmime" + xmlns="http://orange.com/ONAPNBI/api/serviceInventory/v4/model" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + attributeFormDefault="unqualified" + elementFormDefault="qualified" + targetNamespace="http://orange.com/ONAPNBI/api/serviceInventory/v4/model"> + <xs:annotation id="signature"> + <xs:appinfo>API Designer</xs:appinfo> + <xs:documentation>Model: serviceInventory + Version: 4.0.0_inProgress + Owner: ONAPNBI + Generated on: 2019-03-12T16:45:37.288Z + Generated by: Orange API Designer v2, model-v1</xs:documentation> + </xs:annotation> + <xs:simpleType name="eventType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ServiceCreationNotification"/> + <xs:enumeration value="ServiceAttributeValueChangeNotification"/> + <xs:enumeration value="ServiceRemoveNotification"/> + </xs:restriction> + </xs:simpleType> + <xs:element name="ErrorRepresentation" type="ErrorRepresentation"> + <xs:annotation> + <xs:documentation source="public">This class is used to describe error.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ErrorRepresentation"> + <xs:annotation> + <xs:documentation source="public">This class is used to describe error.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="code" type="xs:int" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Application related code (as defined in the API or from a common list)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="reason" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Text that explains the reason for error. This can be shown to a client user.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="message" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Text that provide more details and corrective actions related to the error. This can be shown to a client user.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="status" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">http error code extension like 400-2</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="referenceError" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">url pointing to documentation describing the error</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">The class type of a REST resource.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">it provides a link to the schema describing a REST resource.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="Service" type="Service"> + <xs:annotation> + <xs:documentation source="public">Instantiated service (service_instance) in AAI</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="Service"> + <xs:annotation> + <xs:documentation source="public">Instantiated service (service_instance) in AAI</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of the service - Valued with service-instance-id</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Reference of the service +Not managed in Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Name of the service - Valued with service-instance-name</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Service type - valued with 'service-instance'</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="state" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">State of the service.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">This attribute allows to dynamically extends TMF class. Not used in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@baseType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not managed in Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not managed in Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="serviceSpecification" + type="ServiceSpecificationRef" + minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A service specification reference required to realize a ProductSpecification</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="characteristic" + type="ServiceCharacteristic" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of service characteristics i.e. name/value pairs that define the service characteristics</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="supportingResource" + type="SupportingResource" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of supporting resources +A supportingResource will be retrieved for each relationship of the relationship-list where related-link describe a vnf</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="relatedParty" + type="RelatedPartyRef" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of related party references . A related party defines party or party role linked to a specific entity.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceSpecificationRef" type="ServiceSpecificationRef"> + <xs:annotation> + <xs:documentation source="public">Service specification reference: ServiceSpecification of this service (catalog information)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceSpecificationRef"> + <xs:annotation> + <xs:documentation source="public">Service specification reference: ServiceSpecification of this service (catalog information)</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of the service specification. valued to model-version-id</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Reference of the service specification. +not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Name of the required service specification</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="version" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Service specification version. +Not managed in Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@referredType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">This attribute allows to dynamically extends TMF class. Valued with 'ONAPservice'. We used this features to add following attribute: invariantUUID</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not managed in Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="invariantUUID" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @referredType - model-invariant-id</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceCharacteristic" type="ServiceCharacteristic"> + <xs:annotation> + <xs:documentation source="public">A list of name value pairs that define the service characteristics +Not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceCharacteristic"> + <xs:annotation> + <xs:documentation source="public">A list of name value pairs that define the service characteristics +Not managed in Beijing release.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="name" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Name of the characteristic +Not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="valueType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Type of value for this characteristic. +Not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="value" type="Value" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Value of the characteristic +Not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="SupportingResource" type="SupportingResource"> + <xs:annotation> + <xs:documentation source="public">Supporting resource - A supportingResource will be retrieved for each relationship of the relationship-list where related-link describe a vnf</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="SupportingResource"> + <xs:annotation> + <xs:documentation source="public">Supporting resource - A supportingResource will be retrieved for each relationship of the relationship-list where related-link describe a vnf</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of the supporting resource - Valued to vnf-id</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Reference of the supporting resource</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="role" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Name of the supporting resource - Valued with vnf_-name</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@referredType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">This attribute allows to dynamically extends TMF class. Valued with 'ONAP resource'. We used this features to add following attributes: + status + modelInvariantId + modelVersionId + modelCustomisationId</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="status" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @referredType - valued with prov-status</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="modelInvariantId" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @referredType - valued with model-invariant-id</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="modelVersionId" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @referredType - valued with model-verson-id</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="modelCustomisationId" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @referredType - valued with model-customisation-id</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="RelatedPartyRef" type="RelatedPartyRef"> + <xs:annotation> + <xs:documentation source="public">RelatedParty reference. A related party defines party or party role linked to a specific entity.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="RelatedPartyRef"> + <xs:annotation> + <xs:documentation source="public">RelatedParty reference. A related party defines party or party role linked to a specific entity.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of a related party</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Reference of a related party. +Not filled in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="role" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Role played by the related party. +Filled with 'ONAPcustomer'</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@referredType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not managed in the Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="Value" type="Value"> + <xs:annotation> + <xs:documentation source="public">Structure used to describe characteristic value. +Not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="Value"> + <xs:annotation> + <xs:documentation source="public">Structure used to describe characteristic value. +Not managed in Beijing release.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="@type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="serviceCharacteristicValue" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ListRelatedPartyRef" type="ListRelatedPartyRef"> + <xs:annotation> + <xs:documentation source="public">This class is used to structure list of service(s) retrieved</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ListRelatedPartyRef"> + <xs:annotation> + <xs:documentation source="public">This class is used to structure list of service(s) retrieved</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of a related party</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="role" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Role played by the related party - only role “ONAPcustomer” is managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ListServiceSpecificationRef" type="ListServiceSpecificationRef"> + <xs:annotation> + <xs:documentation source="public">This class is used to structure list of service(s) retrieved</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ListServiceSpecificationRef"> + <xs:annotation> + <xs:documentation source="public">This class is used to structure list of service(s) retrieved</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of the service specification</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Name of the required service specification</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ListService" type="ListService"> + <xs:annotation> + <xs:documentation source="public">This class is used to structure list of service(s) retrieved</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ListService"> + <xs:annotation> + <xs:documentation source="public">This class is used to structure list of service(s) retrieved</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of the service</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Name of the service</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="serviceSpecification" + type="ListServiceSpecificationRef" + minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A service specification reference required to realize a ProductSpecification</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="relatedParty" type="ListRelatedPartyRef" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Related Party to the service (only ONAP customer is managed)</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceInventoryEvent" type="ServiceInventoryEvent"> + <xs:annotation> + <xs:documentation source="public">Structure for a service inventory event notification</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceInventoryEvent"> + <xs:annotation> + <xs:documentation source="public">Structure for a service inventory event notification</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">The Service Instance Id</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">A reference to the service inventory</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="name" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">The name of the Service Instance</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="type" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">The type of event, service-instance</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="state" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">The state of the service instance</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="relatedParty" type="RelatedPartyRef" minOccurs="1"/> + </xs:sequence> + </xs:complexType> + <xs:element name="Notification" type="Notification"> + <xs:annotation> + <xs:documentation source="public">Notification structure for a service notification</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="Notification"> + <xs:annotation> + <xs:documentation source="public">Notification structure for a service notification</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="eventId" type="xs:string" minOccurs="1"/> + <xs:element name="eventDate" type="xs:dateTime" minOccurs="1"/> + <xs:element name="eventType" type="eventType" minOccurs="1"/> + <xs:element name="event" type="ServiceInventoryEvent" minOccurs="1"/> + </xs:sequence> + </xs:complexType> +</xs:schema> diff --git a/docs/offeredapis/api_serviceInventory/swagger.json b/docs/offeredapis/api_serviceInventory/swagger.json new file mode 100644 index 0000000..81b882d --- /dev/null +++ b/docs/offeredapis/api_serviceInventory/swagger.json @@ -0,0 +1,603 @@ + + { + "swagger": "2.0", + "info": { + "description": "Query information about instantiated services\n\nList of available subscription for serviceInventory notifications, see /hub resources for more information:\n\n- ServiceCreationNotification\n- ServiceAttributeValueChangeNotification\n- ServiceRemoveNotification\n\n", + "version": "4.0.0_inProgress", + "title": "API ServiceInventory", + "x-logo": { + "url": "/redoc/logo.png", + "backgroundColor": "#FFFFFF" + } + }, + + "host": "localhost:8080", + "basePath": "/nbi/api/v4", + "schemes": [ + "http" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + + { + "name": "Service", + "description": "Provided by NBI" + }, + { + "name": "Notification", + "description": "provided by subscriber, which MUST has been registered by creating a Hub ressource on NBI" + } + ], + "paths": { + "/service": { + "get": { + "tags": [ + "Service" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "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", + "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": "Ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ListService" + } + } + + } + } + } + }, + "/service/{id}": { + "get": { + "tags": [ + "Service" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "operationId": "serviceGet", + "summary": "Retrieve a service", + "description": "This operation retrieves a service entity. \nAttribute selection is enabled for all first level attributes.", + "deprecated": false, + + "parameters": [ + + { + "name": "id", + "required": true, + "in": "path", + "type" : "string" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/Service" + } + + } + } + } + }, + "/notification": { + "post": { + "tags": [ + "Notification" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "operationId": "notificationCreate", + "summary": "NBI will send notification to this operation provided by subscribers", + "description": "", + "deprecated": false, + + "parameters": [ + + { + "name": "Notification", + "required": true, + "in": "body", + "description": "", + "schema": { + "$ref": "#/definitions/Notification" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Notification" + } + + } + } + } + } + }, + "definitions": { + + "eventType": { + "description": "", + + "type": "string", + "enum": [ + "ServiceCreationNotification", + "ServiceAttributeValueChangeNotification", + "ServiceRemoveNotification"] + + }, + + "ErrorRepresentation": { + "description": "This class is used to describe error.", + + + "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": { + "description": "State of the service.", + "type": "string" + }, + "@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\nNot 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.", + + + "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" + } + } + + }, + + "ServiceInventoryEvent": { + "description": "Structure for a service inventory event notification", + + + "required": [ + + "id", + "href", + "name", + "type", + "state", + "relatedParty" + ], + "type": "object", + "properties": { + "id": { + "description": "The Service Instance Id", + "type": "string" + }, + "href": { + "description": "A reference to the service inventory", + "type": "string" + }, + "name": { + "description": "The name of the Service Instance", + "type": "string" + }, + "type": { + "description": "The type of event, service-instance", + "type": "string" + }, + "state": { + "description": "The state of the service instance", + "type": "string" + }, + "relatedParty": { + + "$ref": "#/definitions/RelatedPartyRef" + } + } + + }, + + "Notification": { + "description": "Notification structure for a service notification", + + + "required": [ + + "eventId", + "eventDate", + "eventType", + "event" + ], + "type": "object", + "properties": { + "eventId": { + "description": "", + "type": "string" + }, + "eventDate": { + "description": "", + "type": "string", + "format": "date-time" + }, + "eventType": { + + "$ref": "#/definitions/eventType" + }, + "event": { + + "$ref": "#/definitions/ServiceInventoryEvent" + } + } + + } + } + } +
\ No newline at end of file diff --git a/docs/offeredapis/swaggers/serviceInventory_3_0_0.yaml b/docs/offeredapis/api_serviceInventory/swagger.yaml index dd1097f..6550d5d 100644 --- a/docs/offeredapis/swaggers/serviceInventory_3_0_0.yaml +++ b/docs/offeredapis/api_serviceInventory/swagger.yaml @@ -1,22 +1,26 @@ swagger: "2.0" info: - description: "serviceInventory API designed for ONAP Casablanca 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: "3.0.0" + description: "Query information about instantiated services\n\nList of available\ + \ subscription for serviceInventory notifications, see /hub resources for more\ + \ information:\n\n- ServiceCreationNotification\n- ServiceAttributeValueChangeNotification\n\ + - ServiceRemoveNotification\n\n" + version: "4.0.0_inProgress" title: "API ServiceInventory" x-logo: url: "/redoc/logo.png" backgroundColor: "#FFFFFF" -host: "serverRoot" -basePath: "/nbi/api/v3" +host: "localhost:8080" +basePath: "/nbi/api/v4" schemes: -- "https" +- "http" produces: - "application/json;charset=utf-8" tags: - name: "Service" - description: "" + description: "Provided by NBI" +- name: "Notification" + description: "provided by subscriber, which MUST has been registered by creating\ + \ a Hub ressource on NBI" paths: /service: get: @@ -28,8 +32,7 @@ paths: 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" + \ for each service" deprecated: false parameters: - name: "relatedParty.id" @@ -59,50 +62,11 @@ paths: type: "string" responses: 200: - description: "Success" + description: "Ok" 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: @@ -112,79 +76,52 @@ paths: 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" + \ is enabled for all first level attributes." 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: "" + in: "path" type: "string" responses: 200: - description: "Success" + description: "Ok" 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 !" + /notification: + post: + tags: + - "Notification" + consumes: + - "application/json;charset=utf-8" + produces: + - "application/json;charset=utf-8" + operationId: "notificationCreate" + summary: "NBI will send notification to this operation provided by subscribers" + description: "" + deprecated: false + parameters: + - name: "Notification" + required: true + in: "body" + description: "" + schema: + $ref: "#/definitions/Notification" + responses: + 201: + description: "Created" schema: - $ref: "#/definitions/ErrorRepresentation" + $ref: "#/definitions/Notification" definitions: + eventType: + description: "" + type: "string" + enum: + - "ServiceCreationNotification" + - "ServiceAttributeValueChangeNotification" + - "ServiceRemoveNotification" ErrorRepresentation: - description: "This class is used to describe error.\nfor nbi Beijing release we\ - \ do not manage additional error for serviceCatalog" + description: "This class is used to describe error." required: - "code" - "reason" @@ -232,14 +169,8 @@ definitions: description: "Service type - valued with 'service-instance'" type: "string" state: - description: "State of the service. Not managed in Beijing release" - type: "string" - 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" + description: "State of the service." + type: "string" '@type': description: "This attribute allows to dynamically extends TMF class. Not\ \ used in Beijing release." @@ -353,7 +284,7 @@ definitions: 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." + \ linked to a specific entity." type: "object" properties: id: @@ -417,3 +348,51 @@ definitions: $ref: "#/definitions/ListServiceSpecificationRef" relatedParty: $ref: "#/definitions/ListRelatedPartyRef" + ServiceInventoryEvent: + description: "Structure for a service inventory event notification" + required: + - "id" + - "href" + - "name" + - "type" + - "state" + - "relatedParty" + type: "object" + properties: + id: + description: "The Service Instance Id" + type: "string" + href: + description: "A reference to the service inventory" + type: "string" + name: + description: "The name of the Service Instance" + type: "string" + type: + description: "The type of event, service-instance" + type: "string" + state: + description: "The state of the service instance" + type: "string" + relatedParty: + $ref: "#/definitions/RelatedPartyRef" + Notification: + description: "Notification structure for a service notification" + required: + - "eventId" + - "eventDate" + - "eventType" + - "event" + type: "object" + properties: + eventId: + description: "" + type: "string" + eventDate: + description: "" + type: "string" + format: "date-time" + eventType: + $ref: "#/definitions/eventType" + event: + $ref: "#/definitions/ServiceInventoryEvent" diff --git a/docs/offeredapis/serviceOrder/apiServiceOrder.plantuml b/docs/offeredapis/api_serviceOrder/api.plantuml index 775fdeb..c13c0c5 100644 --- a/docs/offeredapis/serviceOrder/apiServiceOrder.plantuml +++ b/docs/offeredapis/api_serviceOrder/api.plantuml @@ -30,14 +30,12 @@ enum SeverityMessage { error } -class ErrorRepresentation { +class Error { code:int reason:string message:string status:string referenceError:string - @type:string - @schemaLocation:string } class ServiceRelationship @@ -141,16 +139,11 @@ class TargetServiceSchema { } class Value { - @type:string - @schemaLocation:string serviceCharacteristicValue:string } class CreateServiceOrderItem { id:string - @type:string - @schemaLocation:string - @baseType:string } CreateServiceOrderItem --> "0-1" ActionType : action CreateServiceOrderItem --> "0-*" OrderItemRelationship : orderItemRelationship @@ -163,25 +156,11 @@ class CreateServiceOrder { category:string requestedStartDate:dateTime requestedCompletionDate:dateTime - @baseType:string - @type:string - @schemaLocation:string } CreateServiceOrder --> "0-*" RelatedParty : relatedParty CreateServiceOrder --> "0-*" OrderRelationship : orderRelationship CreateServiceOrder --> "0-*" CreateServiceOrderItem : orderItem -class Hub { - id:string - query:string - callback:string -} - -class CreateHub { - query:string - callback:string -} - class ServiceOrderSummary { id:string href:string @@ -191,21 +170,12 @@ class ServiceOrderSummary { } ServiceOrderSummary --> "0-1" StateType : state -class ServiceOrderCreationNotification { - eventId:string - eventDate:dateTime - eventType:string -} - ServiceOrderCreationNotification --> "1-1" ServiceOrderSummary : event - -class Notification - -class ServiceOrderStateChangeNotification { +class Notification { eventId:string eventDate:dateTime - eventType:string } - ServiceOrderStateChangeNotification --> "1-1" ServiceOrderSummary : event + Notification --> "1-1" EventType : eventType + Notification --> "1-1" ServiceOrderSummaryWithItem : event class ServiceOrderItemSummary { id:string @@ -224,13 +194,6 @@ class ServiceOrderSummaryWithItem { ServiceOrderSummaryWithItem --> "0-1" StateType : state ServiceOrderSummaryWithItem --> "0-*" ServiceOrderItemSummary : orderItem -class ServiceOrderItemStateChangeNotification { - eventId:string - eventDate:dateTime - eventType:string -} - ServiceOrderItemStateChangeNotification --> "1-1" ServiceOrderSummaryWithItem : event - class OrderMessage { code:string field:string diff --git a/docs/offeredapis/api_serviceOrder/model.xsd b/docs/offeredapis/api_serviceOrder/model.xsd new file mode 100644 index 0000000..6f8f207 --- /dev/null +++ b/docs/offeredapis/api_serviceOrder/model.xsd @@ -0,0 +1,932 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xmime="http://www.w3.org/2005/05/xmlmime" + xmlns="http://orange.com/ONAPNBI/api/serviceOrder/v4/model" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + attributeFormDefault="unqualified" + elementFormDefault="qualified" + targetNamespace="http://orange.com/ONAPNBI/api/serviceOrder/v4/model"> + <xs:annotation id="signature"> + <xs:appinfo>API Designer</xs:appinfo> + <xs:documentation>Model: serviceOrder + Version: 4.0.0_inProgress + Owner: ONAPNBI + Generated on: 2019-03-12T16:45:40.663Z + Generated by: Orange API Designer v2, model-v1</xs:documentation> + </xs:annotation> + <xs:simpleType name="ActionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="add"/> + <xs:enumeration value="modify"/> + <xs:enumeration value="delete"/> + <xs:enumeration value="noChange"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="StateType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="acknowledged"/> + <xs:enumeration value="rejected"/> + <xs:enumeration value="pending"/> + <xs:enumeration value="held"/> + <xs:enumeration value="inProgress"/> + <xs:enumeration value="cancelled"/> + <xs:enumeration value="completed"/> + <xs:enumeration value="failed"/> + <xs:enumeration value="partial"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="RelationshipType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="reliesOn"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="EventType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ServiceOrderCreationNotification"/> + <xs:enumeration value="ServiceOrderStateChangeNotification"/> + <xs:enumeration value="ServiceOrderItemStateChangeNotification"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="SeverityMessage"> + <xs:restriction base="xs:string"> + <xs:enumeration value="information"/> + <xs:enumeration value="error"/> + </xs:restriction> + </xs:simpleType> + <xs:element name="Error" type="Error"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:complexType name="Error"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="code" type="xs:int" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Application related code (as defined in the API or from a common list)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="reason" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Text that explains the reason for error. This can be shown to a client user.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="message" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Text that provide more details and corrective actions related to the error. This can be shown to a client user</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="status" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">http error code extension like 400-2</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="referenceError" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">url pointing to documentation describing the error</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceRelationship" type="ServiceRelationship"> + <xs:annotation> + <xs:documentation source="public">Linked Services to the one instantiate +nbi component used this relationship to sort request to ONAP.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceRelationship"> + <xs:annotation> + <xs:documentation source="public">Linked Services to the one instantiate +nbi component used this relationship to sort request to ONAP.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="type" type="RelationshipType" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Relationship type. It can be : “reliesOn” if the Service needs another already owned Service to rely on (e.g. an option on an already owned mobile access Service) or “targets” or “isTargeted” (depending on the way of expressing the link) for any other kind of links that may be useful. +Only reliesOn is managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="service" type="Service" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Service reference - id of the service targeted. +not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceRef" type="ServiceRef"> + <xs:annotation> + <xs:documentation source="public">Service references</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceRef"> + <xs:annotation> + <xs:documentation source="public">Service references</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of the service</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Reference of the service</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceCharacteristic" type="ServiceCharacteristic"> + <xs:annotation> + <xs:documentation source="public">ServiceCharacteristic</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceCharacteristic"> + <xs:annotation> + <xs:documentation source="public">ServiceCharacteristic</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="name" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Name of characteristic</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="valueType" type="xs:string" minOccurs="0"/> + <xs:element name="value" type="Value" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="RelatedParty" type="RelatedParty"> + <xs:annotation> + <xs:documentation source="public">A related party defines party which are involved in this order and the role they are playing. +for Beijing release: +With the current version of APIs used from SO and AAI we need to manage a ‘customer’. This customer concept is confusing with Customer BSS concept. We took the following rules to manage the ‘customer’ information: +o It could be provided through a serviceOrder in the service Order a relatedParty with role ‘ONAPcustomer’ should be provided in the serviceOrder header (we will not consider in this release the party at item level); External API component will check if this customer exists and create it in AAI if not. +o If no relatedParty are provided the service will be affected to ‘generic’ customer (dummy customer) – we assume this ‘generic’ customer always exists.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="RelatedParty"> + <xs:annotation> + <xs:documentation source="public">A related party defines party which are involved in this order and the role they are playing. +for Beijing release: +With the current version of APIs used from SO and AAI we need to manage a ‘customer’. This customer concept is confusing with Customer BSS concept. We took the following rules to manage the ‘customer’ information: +o It could be provided through a serviceOrder in the service Order a relatedParty with role ‘ONAPcustomer’ should be provided in the serviceOrder header (we will not consider in this release the party at item level); External API component will check if this customer exists and create it in AAI if not. +o If no relatedParty are provided the service will be affected to ‘generic’ customer (dummy customer) – we assume this ‘generic’ customer always exists.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of a related party</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">An hyperlink to the party - not used in Beijnig release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="role" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">The role of the related party (e.g. Owner, requester, fullfiller etc). +ONLY 'ONAPcustomer' is considered</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Name of the related party</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@referredType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceSpecificationRef" type="ServiceSpecificationRef"> + <xs:annotation> + <xs:documentation source="public">The service specification (these attributes are fetched from the catalogue).</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceSpecificationRef"> + <xs:annotation> + <xs:documentation source="public">The service specification (these attributes are fetched from the catalogue).</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of the service specification +This information will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin the request.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Reference of the service specification +Not used in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Name of the service specification +Not used in Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="version" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Version of the service Specification +Not used in Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="targetServiceSchema" type="TargetServiceSchema" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">This structure could be used to describe the service</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not used in Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not used in Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@baseType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Not used in Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="Service" type="Service"> + <xs:annotation> + <xs:documentation source="public">Service (to be added, modified, deleted) description</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="Service"> + <xs:annotation> + <xs:documentation source="public">Service (to be added, modified, deleted) description</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Identifier of a service instance. +It must be valued if orderItem action is 'delete' and corresponds to a AAI service.id</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Reference to the Service (useful for delete or modify command). +Not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Name of the service - When orderItem action is 'add' this name will be used in ONAP/SO request as InstaceName.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="serviceState" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">The lifecycle state of the service requested; +Not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">To define the service type +Not managed in Beijing Release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">The URL to get the resource schema. +Not managed in Beijing Release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="serviceCharacteristic" + type="ServiceCharacteristic" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of service characteristics .A name/value pair list used to store instance specific values of attributes. The behavior is equivalent to a MAP data structure where only one entry for any given value of "name" can exist</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="serviceRelationship" + type="ServiceRelationship" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list or service relationships (ServiceRelationship[*]). Linked Services to the one instantiate, it can be : “reliesOn” if the Service needs another already owned Service to rely on (e.g. an option on an already owned mobile access Service) or “targets” or “isTargeted” (depending on the way of expressing the link) for any other kind of links that may be useful. +Only reliesOn are considered in Beijnig release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="relatedParty" + type="RelatedParty" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of related party parties linked at the Service level (it may be a User for example). +Not managed in Beijing release</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="serviceSpecification" + type="ServiceSpecificationRef" + minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A link to the service specification (catalog information) +This is required if orderItem action is add.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="OrderItemRelationship" type="OrderItemRelationship"> + <xs:annotation> + <xs:documentation source="public">Linked order item to the one containing this attribute. +nbi component used this relationship to sort request to ONAP.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="OrderItemRelationship"> + <xs:annotation> + <xs:documentation source="public">Linked order item to the one containing this attribute. +nbi component used this relationship to sort request to ONAP.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="type" type="RelationshipType" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">The type of related order item, can be : dependancy if the order item needs to be “not started” until another order item is complete</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="id" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Unique identifier of an order item</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceOrderItem" type="ServiceOrderItem"> + <xs:annotation> + <xs:documentation source="public">An identified part of the order. A service order is decomposed into one or more order items.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceOrderItem"> + <xs:annotation> + <xs:documentation source="public">An identified part of the order. A service order is decomposed into one or more order items.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Identifier of the line item (generally it is a sequence number 01, 02, 03, …)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="action" type="ActionType" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">The action to be carried out on the Service. Can be add, modify, delete, noChange</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="state" type="StateType" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">State of the order item (described in the state machine diagram) +Only Acknowledged, Rejected, InProgress, Completed, Failed will be managed for service order item state</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="percentProgress" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Progress of the delivery in percentage.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Used to extend the order item. +not used in Beijing relase</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">not used in Beijing relase</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@baseType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">not used in Beijing relase</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="orderItemRelationship" + type="OrderItemRelationship" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">Linked order item to the one containing this attribute</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="service" type="Service" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">The Service to be acted on by the order item</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="orderItemMessage" + type="OrderMessage" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceOrder" type="ServiceOrder"> + <xs:annotation> + <xs:documentation source="public">A Service Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceOrder"> + <xs:annotation> + <xs:documentation source="public">A Service Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">ID created on repository side</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Hyperlink to access the order</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="externalId" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">ID given by the consumer and only understandable by him (to facilitate his searches)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="priority" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="description" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A free-text description of the service order</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="category" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, ...)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="state" type="StateType" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">State of the order : described in the state-machine diagram +Only Acknowledged, Rejected, InProgress, Completed, Failed, Partial will be managed for service order state (Held, Pending and Cancelled are not managed)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="orderDate" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:element name="completionDateTime" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Date when the order was completed</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="requestedStartDate" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Order start date wished by the requestor</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="requestedCompletionDate" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Requested delivery date from the requestor perspective</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="expectedCompletionDate" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:element name="startDate" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Date when the order was started for processing</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@baseType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:element name="@type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:element name="relatedParty" + type="RelatedParty" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of related parties which are involved in this order and the role they are playing.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="orderRelationship" + type="OrderRelationship" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of related order references .Linked order to the one containing this attribute</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="orderItem" + type="ServiceOrderItem" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of order items that have to be processed.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="orderMessage" + type="OrderMessage" + minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <xs:element name="OrderRelationship" type="OrderRelationship"> + <xs:annotation> + <xs:documentation source="public">Linked order to the one containing this attribute. +This relationship is not used to sort ONAP request.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="OrderRelationship"> + <xs:annotation> + <xs:documentation source="public">Linked order to the one containing this attribute. +This relationship is not used to sort ONAP request.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">The type of related order, can be : “dependency” if the order needs to be “not started” until another order item is complete (a service order in this case) or “cross-ref” to keep track of the source order (a productOrder)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="id" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">The id of the related order</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A hyperlink to the related order</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@referredType" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Type of the referred order.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="TargetServiceSchema" type="TargetServiceSchema"> + <xs:annotation> + <xs:documentation source="public">Target to the schema describing the service spec resource</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="TargetServiceSchema"> + <xs:annotation> + <xs:documentation source="public">Target to the schema describing the service spec resource</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="@type" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Indicates the (class) type of resource.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="@schemaLocation" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">This field provided a link to the schema describing this REST resource.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="Value" type="Value"> + <xs:annotation> + <xs:documentation source="public">Value is a descriptive structure for service characteristic</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="Value"> + <xs:annotation> + <xs:documentation source="public">Value is a descriptive structure for service characteristic</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="serviceCharacteristicValue" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Value of the characteristic.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="CreateServiceOrderItem" type="CreateServiceOrderItem"> + <xs:annotation> + <xs:documentation source="public">This structure is used in the operation POST for a serviceOrder request to describe an item. +Attribute description is not accurate and should be find in the serviceOrderItem class.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="CreateServiceOrderItem"> + <xs:annotation> + <xs:documentation source="public">This structure is used in the operation POST for a serviceOrder request to describe an item. +Attribute description is not accurate and should be find in the serviceOrderItem class.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Identifier of the line item (generally it is a sequence number 01, 02, 03, …)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="action" type="ActionType" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">The action to be carried out on the Service. Can be add, modify, delete, noChange</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="orderItemRelationship" + type="OrderItemRelationship" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">Linked order item to the one containing this attribute</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="service" type="Service" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">The Service to be acted on by the order item</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="CreateServiceOrder" type="CreateServiceOrder"> + <xs:annotation> + <xs:documentation source="public">This structure is used in the operation POST for a serviceOrder request. +Attribute description is not accurate and should be find in the serviceOrder class.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="CreateServiceOrder"> + <xs:annotation> + <xs:documentation source="public">This structure is used in the operation POST for a serviceOrder request. +Attribute description is not accurate and should be find in the serviceOrder class.</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="externalId" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">ID given by the consumer and only understandable by him (to facilitate his searches)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="priority" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="description" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A free-text description of the service order</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="category" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, ...)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="requestedStartDate" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Order start date wished by the requestor</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="requestedCompletionDate" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Requested delivery date from the requestor perspective</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="relatedParty" + type="RelatedParty" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of related parties which are involved in this order and the role they are playing.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="orderRelationship" + type="OrderRelationship" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of related order references .Linked order to the one containing this attribute</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="orderItem" + type="CreateServiceOrderItem" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of order items that have to be processed.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceOrderSummary" type="ServiceOrderSummary"> + <xs:annotation> + <xs:documentation source="public">This structure is used to provide a subset of serviceOrder attributes to be provided in particular for notification messages</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceOrderSummary"> + <xs:annotation> + <xs:documentation source="public">This structure is used to provide a subset of serviceOrder attributes to be provided in particular for notification messages</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">ID created on repository side</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Hyperlink to access the order</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="externalId" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">ID given by the consumer and only understandable by him (to facilitate his searches)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="state" type="StateType" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">State of the order : described in the state-machine diagram +Only Acknowledged, Rejected, InProgress, Completed, Failed, Partial will be managed for service order state (Held, Pending and Cancelled are not managed)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="orderDate" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:element name="completionDateTime" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Date when the order was completed</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="Notification" type="Notification"> + <xs:annotation> + <xs:documentation source="public">Notification structure for a serviceOrdering notification</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="Notification"> + <xs:annotation> + <xs:documentation source="public">Notification structure for a serviceOrdering notification</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="eventId" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:element name="eventDate" type="xs:dateTime" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:element name="eventType" type="EventType" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:element name="event" type="ServiceOrderSummaryWithItem" minOccurs="1"/> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceOrderItemSummary" type="ServiceOrderItemSummary"> + <xs:annotation> + <xs:documentation source="public">Service Order item summary to be used for notification</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceOrderItemSummary"> + <xs:annotation> + <xs:documentation source="public">Service Order item summary to be used for notification</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Identifier of the line item (generally it is a sequence number 01, 02, 03, …)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="action" type="ActionType" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">The action to be carried out on the Service. Can be add, modify, delete, noChange +modify is not managed in Beijing release.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="state" type="StateType" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">State of the order item (described in the state machine diagram) +Only Acknowledged, Rejected, InProgress, Completed, Failed will be managed for service order item state</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="service" type="Service" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">The Service to be acted on by the order item</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="ServiceOrderSummaryWithItem" type="ServiceOrderSummaryWithItem"> + <xs:annotation> + <xs:documentation source="public">Service order item summary with item description</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="ServiceOrderSummaryWithItem"> + <xs:annotation> + <xs:documentation source="public">Service order item summary with item description</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="id" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">ID created on repository side</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="href" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Hyperlink to access the order</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="externalId" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">ID given by the consumer and only understandable by him (to facilitate his searches)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="state" type="StateType" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">State of the order : described in the state-machine diagram +Only Acknowledged, Rejected, InProgress, Completed, Failed, Partial will be managed for service order state (Held, Pending and Cancelled are not managed)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="orderDate" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:element name="completionDateTime" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Date when the order was completed</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="orderItem" + type="ServiceOrderItemSummary" + minOccurs="0" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public">A list of order items that have to be processed.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="OrderMessage" type="OrderMessage"> + <xs:annotation> + <xs:documentation source="public">An optional array of messages associated with the Order</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="OrderMessage"> + <xs:annotation> + <xs:documentation source="public">An optional array of messages associated with the Order</xs:documentation> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="code" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">A code associated to this message</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="field" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Service Order attribute related to this error message</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="messageInformation" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation source="public">Message related to this order</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="severity" type="SeverityMessage" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Gravity of this message</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="correctionRequired" type="xs:boolean" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">Indicator that an action is required to allow service order fullfilment to follow up</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> +</xs:schema> diff --git a/docs/offeredapis/api_serviceOrder/swagger.json b/docs/offeredapis/api_serviceOrder/swagger.json new file mode 100644 index 0000000..8d424c7 --- /dev/null +++ b/docs/offeredapis/api_serviceOrder/swagger.json @@ -0,0 +1,1110 @@ + + { + "swagger": "2.0", + "info": { + "description": "Request the instantiation of a service\n\nA Service Order is a type of order which can be used to describe a group of operations on service – one service order item per service. An action at the level of the service order item describe the operation to be done on a service (add, terminate for example). The service order is triggered from the BSS system in charge of the product order management to ONAP that will manage the service fulfillment.\n\nList of available subscription for serviceOrdering notifications, see /hub resources for more information:\n\n- ServiceOrderCreationNotification\n- ServiceOrderStateChangeNotification\n- ServiceOrderItemStateChangeNotification\n\n", + "version": "4.0.0_inProgress", + "title": "API ServiceOrder", + "x-logo": { + "url": "/redoc/logo.png", + "backgroundColor": "#FFFFFF" + } + }, + + "host": "localhost:8080", + "basePath": "/nbi/api/v4", + "schemes": [ + "http" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + + { + "name": "ServiceOrder", + "description": "provided by NBI" + }, + { + "name": "Notification", + "description": "provided by subscribers, which MUST registered by creating a hub resource" + } + ], + "paths": { + "/serviceOrder": { + "post": { + "tags": [ + "ServiceOrder" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "operationId": "serviceOrderCreate", + "summary": "Create a service order", + "description": "This operation creates a service order entity.\nThe TMF Open API specification document provides the list of mandatory and non mandatory attributes when creating a ServiceOrder, including any possible rule conditions and applicable default values.\nPOST should be used without specifying the id and the href, the Service Order Management system is in charge of generating the id + href for the ServiceOrder.\n\nIn Beijing Release, NBI will use only POST {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API. This mean that only the 'service-instance' level will be created in AAI. Additional resource like VNF and/OR VF are not created.\n\nIn Casablanca release, NBI has been improved to also be able to use POST {{url}}/e2eServiceInstances/v3 SO API. This API is able to instantiate in ONAP E2E service; This is useful for CCVPN and VoLTE UC.\nDepending on the service category defined in SDC, NBI will use one or the other SO API. If category starts with e2e, NBI will use {url}}/e2eServiceInstances/v3 SO API - else it will use {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API.", + "deprecated": false, + + "parameters": [ + + { + "name": "serviceOrder", + "required": true, + "in": "body", + "description": "", + "schema": { + "$ref": "#/definitions/CreateServiceOrder" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ServiceOrder" + } + + } + } + }, + "get": { + "tags": [ + "ServiceOrder" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "operationId": "serviceOrderFind", + "summary": "List service orders", + "description": "Retrieve and list service order entities according to given criteria.\nOnly a predefined set of attribute is proposed.\nAttribute selection could be described in the fields attribute.", + "deprecated": false, + + "parameters": [ + + { + "name": "externalId", + "required": false, + "in": "query", + "description": "", + + "type": "string" + }, + { + "name": "state", + "required": false, + "in": "query", + "description": "state of the order(s) to be retrieved", + + "type": "string" + }, + { + "name": "description", + "required": false, + "in": "query", + "description": "", + + "type": "string" + }, + { + "name": "orderDate.gt", + "required": false, + "in": "query", + "description": "order date greather than", + + "type": "string" + }, + { + "name": "orderDate.lt", + "required": false, + "in": "query", + "description": "order date lower than", + + "type": "string" + }, + { + "name": "fields", + "required": false, + "in": "query", + "description": "this attribute could be used to filter retrieved attribute(s) and/or sort SO.", + + "type": "string" + }, + { + "name": "offset", + "required": false, + "in": "query", + "description": "The index of the first element to retrieve. Zero is the first element of the collection.", + + "type": "integer", + "format": "int32" + }, + { + "name": "limit", + "required": false, + "in": "query", + "description": "The maximum number of elements to retrieve (it can be greater than the actual available number of items).", + + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceOrder" + } + }, + "headers": { + "X-Total-Count": { + "description": "", + "type": "integer", + "format": "int32" + }, + "X-Result-Count": { + "description": "", + "type": "integer", + "format": "int32" + } + } + + } + } + } + }, + "/serviceOrder/{id}": { + "get": { + "tags": [ + "ServiceOrder" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "operationId": "serviceOrderGet", + "summary": "Retrieve a service order", + "description": "This operation retrieves a service order entity. \nAttribute selection is enabled for all first level attributes.", + "deprecated": false, + + "parameters": [ + + { + "name": "id", + "required": true, + "in": "path", + "type" : "string" + }, + { + "name": "fields", + "required": false, + "in": "query", + "description": "Attribute selection", + + "type": "string" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/ServiceOrder" + } + + } + } + } + }, + "/notification": { + "post": { + "tags": [ + "Notification" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "operationId": "notificationCreate", + "summary": "NBI will send notification to this operation provided by subscribers", + "description": "Notification structure depends of the eventType:\n\n- ServiceOrderCreationNotification\n- ServiceOrderStateChangeNotification\n\n```\n{\n \"eventId\": \"string\",\n \"eventDate\": \"2019-03-12T16:21:27.530Z\",\n \"eventType\": \"string\",\n \"event\": {\n \"id\": \"string\",\n \"href\": \"string\",\n \"externalId\": \"string\",\n \"state\": \"acknowledged\",\n \"orderDate\": \"2019-03-12T16:21:27.530Z\",\n \"completionDateTime\": \"2019-03-12T16:21:27.530Z\"\n }\n}\n```\n\n- ServiceOrderItemStateChangeNotification\n\n```\n{\n \"eventId\": \"string\",\n \"eventDate\": \"2019-03-12T16:21:44.066Z\",\n \"eventType\": \"string\",\n \"event\": {\n \"id\": \"string\",\n \"href\": \"string\",\n \"externalId\": \"string\",\n \"state\": \"acknowledged\",\n \"orderDate\": \"2019-03-12T16:21:44.066Z\",\n \"completionDateTime\": \"2019-03-12T16:21:44.066Z\",\n \"orderItem\": [\n {\n \"id\": \"string\",\n \"action\": \"add\",\n \"state\": \"acknowledged\",\n \"service\": {\n \"id\": \"string\",\n \"href\": \"string\",\n \"name\": \"string\",\n \"serviceState\": \"string\",\n \"serviceCharacteristic\": [\n {\n \"name\": \"string\",\n \"valueType\": \"string\",\n \"value\": {\n \"serviceCharacteristicValue\": \"string\"\n }\n }\n ],\n \"serviceRelationship\": [\n {\n \"type\": \"reliesOn\"\n }\n ],\n \"relatedParty\": [\n {\n \"id\": \"string\",\n \"href\": \"string\",\n \"role\": \"string\",\n \"name\": \"string\",\n \"@referredType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"string\",\n \"href\": \"string\",\n \"name\": \"string\",\n \"version\": \"string\",\n }\n }\n }\n ]\n }\n}\n```", + "deprecated": false, + + "parameters": [ + + { + "name": "Notification", + "required": true, + "in": "body", + "description": "", + "schema": { + "$ref": "#/definitions/Notification" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Notification" + } + + } + } + } + } + }, + "definitions": { + + "ActionType": { + "description": "Action type to be describer on the order item.\nmodify is not managed in Beijing release", + + "type": "string", + "enum": [ + "add", + "modify", + "delete", + "noChange"] + + }, + "StateType": { + "description": "List of possible state for the order and the orderItem.", + + "type": "string", + "enum": [ + "acknowledged", + "rejected", + "pending", + "held", + "inProgress", + "cancelled", + "completed", + "failed", + "partial"] + + }, + "RelationshipType": { + "description": "Relationship type;\nOnly reliesOn is managed in Beijing release.", + + "type": "string", + "enum": [ + "reliesOn"] + + }, + "EventType": { + "description": "", + + "type": "string", + "enum": [ + "ServiceOrderCreationNotification", + "ServiceOrderStateChangeNotification", + "ServiceOrderItemStateChangeNotification"] + + }, + "SeverityMessage": { + "description": "", + + "type": "string", + "enum": [ + "information", + "error"] + + }, + + "Error": { + "description": "", + + + "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" + } + } + + }, + + "ServiceRelationship": { + "description": "Linked Services to the one instantiate\nnbi component used this relationship to sort request to ONAP.", + + + "required": [ + + "type", + "service" + ], + "type": "object", + "properties": { + "type": { + + "$ref": "#/definitions/RelationshipType" + }, + "service": { + + "$ref": "#/definitions/Service" + } + } + + }, + + "ServiceRef": { + "description": "Service references", + + + "required": [ + + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the service", + "type": "string" + }, + "href": { + "description": "Reference of the service", + "type": "string" + } + } + + }, + + "ServiceCharacteristic": { + "description": "ServiceCharacteristic", + + + "required": [ + + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of characteristic", + "type": "string" + }, + "valueType": { + "description": "", + "type": "string" + }, + "value": { + + "$ref": "#/definitions/Value" + } + } + + }, + + "RelatedParty": { + "description": "A related party defines party which are involved in this order and the role they are playing.\nfor Beijing release:\nWith the current version of APIs used from SO and AAI we need to manage a ‘customer’. This customer concept is confusing with Customer BSS concept. We took the following rules to manage the ‘customer’ information:\no\tIt could be provided through a serviceOrder in the service Order a relatedParty with role ‘ONAPcustomer’ should be provided in the serviceOrder header (we will not consider in this release the party at item level); External API component will check if this customer exists and create it in AAI if not.\no\tIf no relatedParty are provided the service will be affected to ‘generic’ customer (dummy customer) – we assume this ‘generic’ customer always exists.", + + + "required": [ + + "id", + "role" + ], + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of a related party", + "type": "string" + }, + "href": { + "description": "An hyperlink to the party - not used in Beijnig release", + "type": "string" + }, + "role": { + "description": "The role of the related party (e.g. Owner, requester, fullfiller etc).\nONLY 'ONAPcustomer' is considered", + "type": "string" + }, + "name": { + "description": "Name of the related party", + "type": "string" + }, + "@referredType": { + "description": "", + "type": "string" + } + } + + }, + + "ServiceSpecificationRef": { + "description": "The service specification (these attributes are fetched from the catalogue).", + + + "required": [ + + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the service specification\nThis information will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin the request.", + "type": "string" + }, + "href": { + "description": "Reference of the service specification\nNot used in Beijing release.", + "type": "string" + }, + "name": { + "description": "Name of the service specification\nNot used in Beijing release", + "type": "string" + }, + "version": { + "description": "Version of the service Specification\nNot used in Beijing release", + "type": "string" + }, + "targetServiceSchema": { + + "$ref": "#/definitions/TargetServiceSchema" + }, + "@type": { + "description": "Not used in Beijing release", + "type": "string" + }, + "@schemaLocation": { + "description": "Not used in Beijing release", + "type": "string" + }, + "@baseType": { + "description": "Not used in Beijing release", + "type": "string" + } + } + + }, + + "Service": { + "description": "Service (to be added, modified, deleted) description", + + + "required": [ + + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "Identifier of a service instance.\nIt must be valued if orderItem action is 'delete' and corresponds to a AAI service.id", + "type": "string" + }, + "href": { + "description": "Reference to the Service (useful for delete or modify command).\nNot managed in Beijing release.", + "type": "string" + }, + "name": { + "description": "Name of the service - When orderItem action is 'add' this name will be used in ONAP/SO request as InstaceName.", + "type": "string" + }, + "serviceState": { + "description": "The lifecycle state of the service requested;\nNot managed in Beijing release.", + "type": "string" + }, + "@type": { + "description": "To define the service type\nNot managed in Beijing Release", + "type": "string" + }, + "@schemaLocation": { + "description": "The URL to get the resource schema.\nNot managed in Beijing Release", + "type": "string" + }, + "serviceCharacteristic": { + + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCharacteristic" + } + }, + "serviceRelationship": { + + "type": "array", + "items": { + "$ref": "#/definitions/ServiceRelationship" + } + }, + "relatedParty": { + + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "serviceSpecification": { + + "$ref": "#/definitions/ServiceSpecificationRef" + } + } + + }, + + "OrderItemRelationship": { + "description": "Linked order item to the one containing this attribute.\nnbi component used this relationship to sort request to ONAP.", + + + "required": [ + + "type", + "id" + ], + "type": "object", + "properties": { + "type": { + + "$ref": "#/definitions/RelationshipType" + }, + "id": { + "description": "Unique identifier of an order item", + "type": "string" + } + } + + }, + + "ServiceOrderItem": { + "description": "An identified part of the order. A service order is decomposed into one or more order items.", + + + "required": [ + + "id", + "service" + ], + "type": "object", + "properties": { + "id": { + "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, …)", + "type": "string" + }, + "action": { + + "$ref": "#/definitions/ActionType" + }, + "state": { + + "$ref": "#/definitions/StateType" + }, + "percentProgress": { + "description": "Progress of the delivery in percentage.", + "type": "string" + }, + "@type": { + "description": "Used to extend the order item.\nnot used in Beijing relase", + "type": "string" + }, + "@schemaLocation": { + "description": "not used in Beijing relase", + "type": "string" + }, + "@baseType": { + "description": "not used in Beijing relase", + "type": "string" + }, + "orderItemRelationship": { + + "type": "array", + "items": { + "$ref": "#/definitions/OrderItemRelationship" + } + }, + "service": { + + "$ref": "#/definitions/Service" + }, + "orderItemMessage": { + + "type": "array", + "items": { + "$ref": "#/definitions/OrderMessage" + } + } + } + + }, + + "ServiceOrder": { + "description": "A Service Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa", + + + "required": [ + + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "ID created on repository side", + "type": "string" + }, + "href": { + "description": "Hyperlink to access the order", + "type": "string" + }, + "externalId": { + "description": "ID given by the consumer and only understandable by him (to facilitate his searches)", + "type": "string" + }, + "priority": { + "description": "A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)", + "type": "string" + }, + "description": { + "description": "A free-text description of the service order", + "type": "string" + }, + "category": { + "description": "Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, ...)", + "type": "string" + }, + "state": { + + "$ref": "#/definitions/StateType" + }, + "orderDate": { + "description": "", + "type": "string", + "format": "date-time" + }, + "completionDateTime": { + "description": "Date when the order was completed", + "type": "string", + "format": "date-time" + }, + "requestedStartDate": { + "description": "Order start date wished by the requestor", + "type": "string", + "format": "date-time" + }, + "requestedCompletionDate": { + "description": "Requested delivery date from the requestor perspective", + "type": "string", + "format": "date-time" + }, + "expectedCompletionDate": { + "description": "", + "type": "string", + "format": "date-time" + }, + "startDate": { + "description": "Date when the order was started for processing", + "type": "string", + "format": "date-time" + }, + "@baseType": { + "description": "", + "type": "string" + }, + "@type": { + "description": "", + "type": "string" + }, + "@schemaLocation": { + "description": "", + "type": "string" + }, + "relatedParty": { + + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "orderRelationship": { + + "type": "array", + "items": { + "$ref": "#/definitions/OrderRelationship" + } + }, + "orderItem": { + + "type": "array", + "items": { + "$ref": "#/definitions/ServiceOrderItem" + } + }, + "orderMessage": { + + "type": "array", + "items": { + "$ref": "#/definitions/OrderMessage" + } + } + } + + }, + + "OrderRelationship": { + "description": "Linked order to the one containing this attribute.\nThis relationship is not used to sort ONAP request.", + + + "required": [ + + "id" + ], + "type": "object", + "properties": { + "type": { + "description": "The type of related order, can be : “dependency” if the order needs to be “not started” until another order item is complete (a service order in this case) or “cross-ref” to keep track of the source order (a productOrder)", + "type": "string" + }, + "id": { + "description": "The id of the related order", + "type": "string" + }, + "href": { + "description": "A hyperlink to the related order", + "type": "string" + }, + "@referredType": { + "description": "Type of the referred order.", + "type": "string" + } + } + + }, + + "TargetServiceSchema": { + "description": "Target to the schema describing the service spec resource", + + + "required": [ + + "@type", + "@schemaLocation" + ], + "type": "object", + "properties": { + "@type": { + "description": "Indicates the (class) type of resource.", + "type": "string" + }, + "@schemaLocation": { + "description": "This field provided a link to the schema describing this REST resource.", + "type": "string" + } + } + + }, + + "Value": { + "description": "Value is a descriptive structure for service characteristic", + + + "type": "object", + "properties": { + "serviceCharacteristicValue": { + "description": "Value of the characteristic.", + "type": "string" + } + } + + }, + + "CreateServiceOrderItem": { + "description": "This structure is used in the operation POST for a serviceOrder request to describe an item.\nAttribute description is not accurate and should be find in the serviceOrderItem class.", + + + "required": [ + + "id", + "service" + ], + "type": "object", + "properties": { + "id": { + "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, …)", + "type": "string" + }, + "action": { + + "$ref": "#/definitions/ActionType" + }, + "orderItemRelationship": { + + "type": "array", + "items": { + "$ref": "#/definitions/OrderItemRelationship" + } + }, + "service": { + + "$ref": "#/definitions/Service" + } + } + + }, + + "CreateServiceOrder": { + "description": "This structure is used in the operation POST for a serviceOrder request.\nAttribute description is not accurate and should be find in the serviceOrder class.", + + + "type": "object", + "properties": { + "externalId": { + "description": "ID given by the consumer and only understandable by him (to facilitate his searches)", + "type": "string" + }, + "priority": { + "description": "A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)", + "type": "string" + }, + "description": { + "description": "A free-text description of the service order", + "type": "string" + }, + "category": { + "description": "Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, ...)", + "type": "string" + }, + "requestedStartDate": { + "description": "Order start date wished by the requestor", + "type": "string", + "format": "date-time" + }, + "requestedCompletionDate": { + "description": "Requested delivery date from the requestor perspective", + "type": "string", + "format": "date-time" + }, + "relatedParty": { + + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "orderRelationship": { + + "type": "array", + "items": { + "$ref": "#/definitions/OrderRelationship" + } + }, + "orderItem": { + + "type": "array", + "items": { + "$ref": "#/definitions/CreateServiceOrderItem" + } + } + } + + }, + + "ServiceOrderSummary": { + "description": "This structure is used to provide a subset of serviceOrder attributes to be provided in particular for notification messages", + + + "required": [ + + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "ID created on repository side", + "type": "string" + }, + "href": { + "description": "Hyperlink to access the order", + "type": "string" + }, + "externalId": { + "description": "ID given by the consumer and only understandable by him (to facilitate his searches)", + "type": "string" + }, + "state": { + + "$ref": "#/definitions/StateType" + }, + "orderDate": { + "description": "", + "type": "string", + "format": "date-time" + }, + "completionDateTime": { + "description": "Date when the order was completed", + "type": "string", + "format": "date-time" + } + } + + }, + + "Notification": { + "description": "Notification structure for a serviceOrdering notification", + + + "required": [ + + "eventId", + "eventDate", + "eventType", + "event" + ], + "type": "object", + "properties": { + "eventId": { + "description": "", + "type": "string" + }, + "eventDate": { + "description": "", + "type": "string", + "format": "date-time" + }, + "eventType": { + + "$ref": "#/definitions/EventType" + }, + "event": { + + "$ref": "#/definitions/ServiceOrderSummaryWithItem" + } + } + + }, + + "ServiceOrderItemSummary": { + "description": "Service Order item summary to be used for notification", + + + "required": [ + + "id", + "service" + ], + "type": "object", + "properties": { + "id": { + "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, …)", + "type": "string" + }, + "action": { + + "$ref": "#/definitions/ActionType" + }, + "state": { + + "$ref": "#/definitions/StateType" + }, + "service": { + + "$ref": "#/definitions/Service" + } + } + + }, + + "ServiceOrderSummaryWithItem": { + "description": "Service order item summary with item description", + + + "required": [ + + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "ID created on repository side", + "type": "string" + }, + "href": { + "description": "Hyperlink to access the order", + "type": "string" + }, + "externalId": { + "description": "ID given by the consumer and only understandable by him (to facilitate his searches)", + "type": "string" + }, + "state": { + + "$ref": "#/definitions/StateType" + }, + "orderDate": { + "description": "", + "type": "string", + "format": "date-time" + }, + "completionDateTime": { + "description": "Date when the order was completed", + "type": "string", + "format": "date-time" + }, + "orderItem": { + + "type": "array", + "items": { + "$ref": "#/definitions/ServiceOrderItemSummary" + } + } + } + + }, + + "OrderMessage": { + "description": "An optional array of messages associated with the Order", + + + "required": [ + + "severity", + "correctionRequired" + ], + "type": "object", + "properties": { + "code": { + "description": "A code associated to this message", + "type": "string" + }, + "field": { + "description": "Service Order attribute related to this error message", + "type": "string" + }, + "messageInformation": { + "description": "Message related to this order", + "type": "string" + }, + "severity": { + + "$ref": "#/definitions/SeverityMessage" + }, + "correctionRequired": { + "description": "Indicator that an action is required to allow service order fullfilment to follow up", + "type": "boolean" + } + } + + } + } + } +
\ No newline at end of file diff --git a/docs/offeredapis/api_serviceOrder/swagger.yaml b/docs/offeredapis/api_serviceOrder/swagger.yaml new file mode 100644 index 0000000..36d8e87 --- /dev/null +++ b/docs/offeredapis/api_serviceOrder/swagger.yaml @@ -0,0 +1,784 @@ +swagger: "2.0" +info: + description: "Request the instantiation of a service\n\nA Service Order is a type\ + \ of order which can be used to describe a group of operations on service – one\ + \ service order item per service. An action at the level of the service order\ + \ item describe the operation to be done on a service (add, terminate for example).\ + \ The service order is triggered from the BSS system in charge of the product\ + \ order management to ONAP that will manage the service fulfillment.\n\nList of\ + \ available subscription for serviceOrdering notifications, see /hub resources\ + \ for more information:\n\n- ServiceOrderCreationNotification\n- ServiceOrderStateChangeNotification\n\ + - ServiceOrderItemStateChangeNotification\n\n" + version: "4.0.0_inProgress" + title: "API ServiceOrder" + x-logo: + url: "/redoc/logo.png" + backgroundColor: "#FFFFFF" +host: "localhost:8080" +basePath: "/nbi/api/v4" +schemes: +- "http" +produces: +- "application/json;charset=utf-8" +tags: +- name: "ServiceOrder" + description: "provided by NBI" +- name: "Notification" + description: "provided by subscribers, which MUST registered by creating a hub resource" +paths: + /serviceOrder: + post: + tags: + - "ServiceOrder" + consumes: + - "application/json;charset=utf-8" + produces: + - "application/json;charset=utf-8" + operationId: "serviceOrderCreate" + summary: "Create a service order" + description: "This operation creates a service order entity.\nThe TMF Open API\ + \ specification document provides the list of mandatory and non mandatory\ + \ attributes when creating a ServiceOrder, including any possible rule conditions\ + \ and applicable default values.\nPOST should be used without specifying the\ + \ id and the href, the Service Order Management system is in charge of generating\ + \ the id + href for the ServiceOrder.\n\nIn Beijing Release, NBI will use\ + \ only POST {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API. This mean\ + \ that only the 'service-instance' level will be created in AAI. Additional\ + \ resource like VNF and/OR VF are not created.\n\nIn Casablanca release, NBI\ + \ has been improved to also be able to use POST {{url}}/e2eServiceInstances/v3\ + \ SO API. This API is able to instantiate in ONAP E2E service; This is useful\ + \ for CCVPN and VoLTE UC.\nDepending on the service category defined in SDC,\ + \ NBI will use one or the other SO API. If category starts with e2e, NBI will\ + \ use {url}}/e2eServiceInstances/v3 SO API - else it will use {{url}}/ecomp/mso/infra/serviceInstances/v4\ + \ SO API." + deprecated: false + parameters: + - name: "serviceOrder" + required: true + in: "body" + description: "" + schema: + $ref: "#/definitions/CreateServiceOrder" + responses: + 201: + description: "Created" + schema: + $ref: "#/definitions/ServiceOrder" + get: + tags: + - "ServiceOrder" + produces: + - "application/json;charset=utf-8" + operationId: "serviceOrderFind" + summary: "List service orders" + description: "Retrieve and list service order entities according to given criteria.\n\ + Only a predefined set of attribute is proposed.\nAttribute selection could\ + \ be described in the fields attribute." + deprecated: false + parameters: + - name: "externalId" + required: false + in: "query" + description: "" + type: "string" + - name: "state" + required: false + in: "query" + description: "state of the order(s) to be retrieved" + type: "string" + - name: "description" + required: false + in: "query" + description: "" + type: "string" + - name: "orderDate.gt" + required: false + in: "query" + description: "order date greather than" + type: "string" + - name: "orderDate.lt" + required: false + in: "query" + description: "order date lower than" + type: "string" + - name: "fields" + required: false + in: "query" + description: "this attribute could be used to filter retrieved attribute(s)\ + \ and/or sort SO." + type: "string" + - name: "offset" + required: false + in: "query" + description: "The index of the first element to retrieve. Zero is the first\ + \ element of the collection." + type: "integer" + format: "int32" + - name: "limit" + required: false + in: "query" + description: "The maximum number of elements to retrieve (it can be greater\ + \ than the actual available number of items)." + type: "integer" + format: "int32" + responses: + 200: + description: "Ok" + schema: + type: "array" + items: + $ref: "#/definitions/ServiceOrder" + headers: + X-Total-Count: + description: "" + type: "integer" + format: "int32" + X-Result-Count: + description: "" + type: "integer" + format: "int32" + /serviceOrder/{id}: + get: + tags: + - "ServiceOrder" + produces: + - "application/json;charset=utf-8" + operationId: "serviceOrderGet" + summary: "Retrieve a service order" + description: "This operation retrieves a service order entity. \nAttribute selection\ + \ is enabled for all first level attributes." + deprecated: false + parameters: + - name: "id" + required: true + in: "path" + type: "string" + - name: "fields" + required: false + in: "query" + description: "Attribute selection" + type: "string" + responses: + 200: + description: "Ok" + schema: + $ref: "#/definitions/ServiceOrder" + /notification: + post: + tags: + - "Notification" + consumes: + - "application/json;charset=utf-8" + produces: + - "application/json;charset=utf-8" + operationId: "notificationCreate" + summary: "NBI will send notification to this operation provided by subscribers" + description: "Notification structure depends of the eventType:\n\n- ServiceOrderCreationNotification\n\ + - ServiceOrderStateChangeNotification\n\n```\n{\n \"eventId\": \"string\"\ + ,\n \"eventDate\": \"2019-03-12T16:21:27.530Z\",\n \"eventType\": \"string\"\ + ,\n \"event\": {\n \"id\": \"string\",\n \"href\": \"string\",\n \ + \ \"externalId\": \"string\",\n \"state\": \"acknowledged\",\n \"orderDate\"\ + : \"2019-03-12T16:21:27.530Z\",\n \"completionDateTime\": \"2019-03-12T16:21:27.530Z\"\ + \n }\n}\n```\n\n- ServiceOrderItemStateChangeNotification\n\n```\n{\n \"\ + eventId\": \"string\",\n \"eventDate\": \"2019-03-12T16:21:44.066Z\",\n \ + \ \"eventType\": \"string\",\n \"event\": {\n \"id\": \"string\",\n \ + \ \"href\": \"string\",\n \"externalId\": \"string\",\n \"state\":\ + \ \"acknowledged\",\n \"orderDate\": \"2019-03-12T16:21:44.066Z\",\n \ + \ \"completionDateTime\": \"2019-03-12T16:21:44.066Z\",\n \"orderItem\"\ + : [\n {\n \"id\": \"string\",\n \"action\": \"add\",\n\ + \ \"state\": \"acknowledged\",\n \"service\": {\n \"\ + id\": \"string\",\n \"href\": \"string\",\n \"name\": \"\ + string\",\n \"serviceState\": \"string\",\n \"serviceCharacteristic\"\ + : [\n {\n \"name\": \"string\",\n \"\ + valueType\": \"string\",\n \"value\": {\n \"serviceCharacteristicValue\"\ + : \"string\"\n }\n }\n ],\n \"serviceRelationship\"\ + : [\n {\n \"type\": \"reliesOn\"\n }\n\ + \ ],\n \"relatedParty\": [\n {\n \ + \ \"id\": \"string\",\n \"href\": \"string\",\n \ + \ \"role\": \"string\",\n \"name\": \"string\",\n \ + \ \"@referredType\": \"string\"\n }\n ],\n \ + \ \"serviceSpecification\": {\n \"id\": \"string\",\n \ + \ \"href\": \"string\",\n \"name\": \"string\",\n \ + \ \"version\": \"string\",\n }\n }\n }\n ]\n }\n\ + }\n```" + deprecated: false + parameters: + - name: "Notification" + required: true + in: "body" + description: "" + schema: + $ref: "#/definitions/Notification" + responses: + 201: + description: "Created" + schema: + $ref: "#/definitions/Notification" +definitions: + ActionType: + description: "Action type to be describer on the order item.\nmodify is not managed\ + \ in Beijing release" + type: "string" + enum: + - "add" + - "modify" + - "delete" + - "noChange" + StateType: + description: "List of possible state for the order and the orderItem." + type: "string" + enum: + - "acknowledged" + - "rejected" + - "pending" + - "held" + - "inProgress" + - "cancelled" + - "completed" + - "failed" + - "partial" + RelationshipType: + description: "Relationship type;\nOnly reliesOn is managed in Beijing release." + type: "string" + enum: + - "reliesOn" + EventType: + description: "" + type: "string" + enum: + - "ServiceOrderCreationNotification" + - "ServiceOrderStateChangeNotification" + - "ServiceOrderItemStateChangeNotification" + SeverityMessage: + description: "" + type: "string" + enum: + - "information" + - "error" + Error: + description: "" + 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" + ServiceRelationship: + description: "Linked Services to the one instantiate\nnbi component used this\ + \ relationship to sort request to ONAP." + required: + - "type" + - "service" + type: "object" + properties: + type: + $ref: "#/definitions/RelationshipType" + service: + $ref: "#/definitions/Service" + ServiceRef: + description: "Service references" + required: + - "id" + type: "object" + properties: + id: + description: "Unique identifier of the service" + type: "string" + href: + description: "Reference of the service" + type: "string" + ServiceCharacteristic: + description: "ServiceCharacteristic" + required: + - "name" + type: "object" + properties: + name: + description: "Name of characteristic" + type: "string" + valueType: + description: "" + type: "string" + value: + $ref: "#/definitions/Value" + RelatedParty: + description: "A related party defines party which are involved in this order and\ + \ the role they are playing.\nfor Beijing release:\nWith the current version\ + \ of APIs used from SO and AAI we need to manage a ‘customer’. This customer\ + \ concept is confusing with Customer BSS concept. We took the following rules\ + \ to manage the ‘customer’ information:\no\tIt could be provided through a serviceOrder\ + \ in the service Order a relatedParty with role ‘ONAPcustomer’ should be provided\ + \ in the serviceOrder header (we will not consider in this release the party\ + \ at item level); External API component will check if this customer exists\ + \ and create it in AAI if not.\no\tIf no relatedParty are provided the service\ + \ will be affected to ‘generic’ customer (dummy customer) – we assume this ‘\ + generic’ customer always exists." + required: + - "id" + - "role" + type: "object" + properties: + id: + description: "Unique identifier of a related party" + type: "string" + href: + description: "An hyperlink to the party - not used in Beijnig release" + type: "string" + role: + description: "The role of the related party (e.g. Owner, requester, fullfiller\ + \ etc).\nONLY 'ONAPcustomer' is considered" + type: "string" + name: + description: "Name of the related party" + type: "string" + '@referredType': + description: "" + type: "string" + ServiceSpecificationRef: + description: "The service specification (these attributes are fetched from the\ + \ catalogue)." + required: + - "id" + type: "object" + properties: + id: + description: "Unique identifier of the service specification\nThis information\ + \ will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin\ + \ the request." + type: "string" + href: + description: "Reference of the service specification\nNot used in Beijing\ + \ release." + type: "string" + name: + description: "Name of the service specification\nNot used in Beijing release" + type: "string" + version: + description: "Version of the service Specification\nNot used in Beijing release" + type: "string" + targetServiceSchema: + $ref: "#/definitions/TargetServiceSchema" + '@type': + description: "Not used in Beijing release" + type: "string" + '@schemaLocation': + description: "Not used in Beijing release" + type: "string" + '@baseType': + description: "Not used in Beijing release" + type: "string" + Service: + description: "Service (to be added, modified, deleted) description" + required: + - "id" + type: "object" + properties: + id: + description: "Identifier of a service instance.\nIt must be valued if orderItem\ + \ action is 'delete' and corresponds to a AAI service.id" + type: "string" + href: + description: "Reference to the Service (useful for delete or modify command).\n\ + Not managed in Beijing release." + type: "string" + name: + description: "Name of the service - When orderItem action is 'add' this name\ + \ will be used in ONAP/SO request as InstaceName." + type: "string" + serviceState: + description: "The lifecycle state of the service requested;\nNot managed in\ + \ Beijing release." + type: "string" + '@type': + description: "To define the service type\nNot managed in Beijing Release" + type: "string" + '@schemaLocation': + description: "The URL to get the resource schema.\nNot managed in Beijing\ + \ Release" + type: "string" + serviceCharacteristic: + type: "array" + items: + $ref: "#/definitions/ServiceCharacteristic" + serviceRelationship: + type: "array" + items: + $ref: "#/definitions/ServiceRelationship" + relatedParty: + type: "array" + items: + $ref: "#/definitions/RelatedParty" + serviceSpecification: + $ref: "#/definitions/ServiceSpecificationRef" + OrderItemRelationship: + description: "Linked order item to the one containing this attribute.\nnbi component\ + \ used this relationship to sort request to ONAP." + required: + - "type" + - "id" + type: "object" + properties: + type: + $ref: "#/definitions/RelationshipType" + id: + description: "Unique identifier of an order item" + type: "string" + ServiceOrderItem: + description: "An identified part of the order. A service order is decomposed into\ + \ one or more order items." + required: + - "id" + - "service" + type: "object" + properties: + id: + description: "Identifier of the line item (generally it is a sequence number\ + \ 01, 02, 03, …)" + type: "string" + action: + $ref: "#/definitions/ActionType" + state: + $ref: "#/definitions/StateType" + percentProgress: + description: "Progress of the delivery in percentage." + type: "string" + '@type': + description: "Used to extend the order item.\nnot used in Beijing relase" + type: "string" + '@schemaLocation': + description: "not used in Beijing relase" + type: "string" + '@baseType': + description: "not used in Beijing relase" + type: "string" + orderItemRelationship: + type: "array" + items: + $ref: "#/definitions/OrderItemRelationship" + service: + $ref: "#/definitions/Service" + orderItemMessage: + type: "array" + items: + $ref: "#/definitions/OrderMessage" + ServiceOrder: + description: "A Service Order is a type of order which can be used to place an\ + \ order between a customer and a service provider or between a service provider\ + \ and a partner and vice versa" + required: + - "id" + type: "object" + properties: + id: + description: "ID created on repository side" + type: "string" + href: + description: "Hyperlink to access the order" + type: "string" + externalId: + description: "ID given by the consumer and only understandable by him (to\ + \ facilitate his searches)" + type: "string" + priority: + description: "A way that can be used by consumers to prioritize orders in\ + \ Service Order Management system (from 0 to 4 : 0 is the highest priority,\ + \ and 4 the lowest)" + type: "string" + description: + description: "A free-text description of the service order" + type: "string" + category: + description: "Used to categorize the order that can be useful for the OM system\ + \ (e.g. “broadband”, “TVOption”, ...)" + type: "string" + state: + $ref: "#/definitions/StateType" + orderDate: + description: "" + type: "string" + format: "date-time" + completionDateTime: + description: "Date when the order was completed" + type: "string" + format: "date-time" + requestedStartDate: + description: "Order start date wished by the requestor" + type: "string" + format: "date-time" + requestedCompletionDate: + description: "Requested delivery date from the requestor perspective" + type: "string" + format: "date-time" + expectedCompletionDate: + description: "" + type: "string" + format: "date-time" + startDate: + description: "Date when the order was started for processing" + type: "string" + format: "date-time" + '@baseType': + description: "" + type: "string" + '@type': + description: "" + type: "string" + '@schemaLocation': + description: "" + type: "string" + relatedParty: + type: "array" + items: + $ref: "#/definitions/RelatedParty" + orderRelationship: + type: "array" + items: + $ref: "#/definitions/OrderRelationship" + orderItem: + type: "array" + items: + $ref: "#/definitions/ServiceOrderItem" + orderMessage: + type: "array" + items: + $ref: "#/definitions/OrderMessage" + OrderRelationship: + description: "Linked order to the one containing this attribute.\nThis relationship\ + \ is not used to sort ONAP request." + required: + - "id" + type: "object" + properties: + type: + description: "The type of related order, can be : “dependency” if the order\ + \ needs to be “not started” until another order item is complete (a service\ + \ order in this case) or “cross-ref” to keep track of the source order (a\ + \ productOrder)" + type: "string" + id: + description: "The id of the related order" + type: "string" + href: + description: "A hyperlink to the related order" + type: "string" + '@referredType': + description: "Type of the referred order." + type: "string" + TargetServiceSchema: + description: "Target to the schema describing the service spec resource" + required: + - "@type" + - "@schemaLocation" + type: "object" + properties: + '@type': + description: "Indicates the (class) type of resource." + type: "string" + '@schemaLocation': + description: "This field provided a link to the schema describing this REST\ + \ resource." + type: "string" + Value: + description: "Value is a descriptive structure for service characteristic" + type: "object" + properties: + serviceCharacteristicValue: + description: "Value of the characteristic." + type: "string" + CreateServiceOrderItem: + description: "This structure is used in the operation POST for a serviceOrder\ + \ request to describe an item.\nAttribute description is not accurate and should\ + \ be find in the serviceOrderItem class." + required: + - "id" + - "service" + type: "object" + properties: + id: + description: "Identifier of the line item (generally it is a sequence number\ + \ 01, 02, 03, …)" + type: "string" + action: + $ref: "#/definitions/ActionType" + orderItemRelationship: + type: "array" + items: + $ref: "#/definitions/OrderItemRelationship" + service: + $ref: "#/definitions/Service" + CreateServiceOrder: + description: "This structure is used in the operation POST for a serviceOrder\ + \ request.\nAttribute description is not accurate and should be find in the\ + \ serviceOrder class." + type: "object" + properties: + externalId: + description: "ID given by the consumer and only understandable by him (to\ + \ facilitate his searches)" + type: "string" + priority: + description: "A way that can be used by consumers to prioritize orders in\ + \ Service Order Management system (from 0 to 4 : 0 is the highest priority,\ + \ and 4 the lowest)" + type: "string" + description: + description: "A free-text description of the service order" + type: "string" + category: + description: "Used to categorize the order that can be useful for the OM system\ + \ (e.g. “broadband”, “TVOption”, ...)" + type: "string" + requestedStartDate: + description: "Order start date wished by the requestor" + type: "string" + format: "date-time" + requestedCompletionDate: + description: "Requested delivery date from the requestor perspective" + type: "string" + format: "date-time" + relatedParty: + type: "array" + items: + $ref: "#/definitions/RelatedParty" + orderRelationship: + type: "array" + items: + $ref: "#/definitions/OrderRelationship" + orderItem: + type: "array" + items: + $ref: "#/definitions/CreateServiceOrderItem" + ServiceOrderSummary: + description: "This structure is used to provide a subset of serviceOrder attributes\ + \ to be provided in particular for notification messages" + required: + - "id" + type: "object" + properties: + id: + description: "ID created on repository side" + type: "string" + href: + description: "Hyperlink to access the order" + type: "string" + externalId: + description: "ID given by the consumer and only understandable by him (to\ + \ facilitate his searches)" + type: "string" + state: + $ref: "#/definitions/StateType" + orderDate: + description: "" + type: "string" + format: "date-time" + completionDateTime: + description: "Date when the order was completed" + type: "string" + format: "date-time" + Notification: + description: "Notification structure for a serviceOrdering notification" + required: + - "eventId" + - "eventDate" + - "eventType" + - "event" + type: "object" + properties: + eventId: + description: "" + type: "string" + eventDate: + description: "" + type: "string" + format: "date-time" + eventType: + $ref: "#/definitions/EventType" + event: + $ref: "#/definitions/ServiceOrderSummaryWithItem" + ServiceOrderItemSummary: + description: "Service Order item summary to be used for notification" + required: + - "id" + - "service" + type: "object" + properties: + id: + description: "Identifier of the line item (generally it is a sequence number\ + \ 01, 02, 03, …)" + type: "string" + action: + $ref: "#/definitions/ActionType" + state: + $ref: "#/definitions/StateType" + service: + $ref: "#/definitions/Service" + ServiceOrderSummaryWithItem: + description: "Service order item summary with item description" + required: + - "id" + type: "object" + properties: + id: + description: "ID created on repository side" + type: "string" + href: + description: "Hyperlink to access the order" + type: "string" + externalId: + description: "ID given by the consumer and only understandable by him (to\ + \ facilitate his searches)" + type: "string" + state: + $ref: "#/definitions/StateType" + orderDate: + description: "" + type: "string" + format: "date-time" + completionDateTime: + description: "Date when the order was completed" + type: "string" + format: "date-time" + orderItem: + type: "array" + items: + $ref: "#/definitions/ServiceOrderItemSummary" + OrderMessage: + description: "An optional array of messages associated with the Order" + required: + - "severity" + - "correctionRequired" + type: "object" + properties: + code: + description: "A code associated to this message" + type: "string" + field: + description: "Service Order attribute related to this error message" + type: "string" + messageInformation: + description: "Message related to this order" + type: "string" + severity: + $ref: "#/definitions/SeverityMessage" + correctionRequired: + description: "Indicator that an action is required to allow service order\ + \ fullfilment to follow up" + type: "boolean" diff --git a/docs/offeredapis/api_status/api.plantuml b/docs/offeredapis/api_status/api.plantuml new file mode 100644 index 0000000..6c5ed42 --- /dev/null +++ b/docs/offeredapis/api_status/api.plantuml @@ -0,0 +1,43 @@ +@startuml + +enum StatusValue { + ok + ko +} +enum ComponentsName { + sdc connectivity + so connectivity + aai connectivity + dmaap connectivity +} +enum ApplicationName { + nbi +} + +class ErrorDetail { + code:int + message:string + description:string + infoURL:string +} + +class Error { + code:int + message:string + description:string + infoURL:string +} + Error --> "0-*" ErrorDetail : details + +class Component + Component --> "1-1" ComponentsName : name + Component --> "1-1" StatusValue : status + +class Status { + version:string +} + Status --> "1-1" ApplicationName : name + Status --> "1-1" StatusValue : status + Status --> "0-*" Component : components + +@enduml
\ No newline at end of file diff --git a/docs/offeredapis/api_status/model.xsd b/docs/offeredapis/api_status/model.xsd new file mode 100644 index 0000000..9b1d7ee --- /dev/null +++ b/docs/offeredapis/api_status/model.xsd @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xmime="http://www.w3.org/2005/05/xmlmime" + xmlns="http://orange.com/ONAPNBI/api/status/v4/model" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + attributeFormDefault="unqualified" + elementFormDefault="qualified" + targetNamespace="http://orange.com/ONAPNBI/api/status/v4/model"> + <xs:annotation id="signature"> + <xs:appinfo>API Designer</xs:appinfo> + <xs:documentation>Model: status + Version: 4.0.0_inProgress + Owner: ONAPNBI + Generated on: 2019-03-12T16:45:47.241Z + Generated by: Orange API Designer v2, model-v1</xs:documentation> + </xs:annotation> + <xs:simpleType name="StatusValue"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ok"/> + <xs:enumeration value="ko"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ComponentsName"> + <xs:restriction base="xs:string"> + <xs:enumeration value="sdc connectivity"/> + <xs:enumeration value="so connectivity"/> + <xs:enumeration value="aai connectivity"/> + <xs:enumeration value="dmaap connectivity"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ApplicationName"> + <xs:restriction base="xs:string"> + <xs:enumeration value="nbi"/> + </xs:restriction> + </xs:simpleType> + <xs:element name="ErrorDetail" type="ErrorDetail"/> + <xs:complexType name="ErrorDetail"> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="code" type="xs:int" minOccurs="1"/> + <xs:element name="message" type="xs:string" minOccurs="1"/> + <xs:element name="description" type="xs:string" minOccurs="0"/> + <xs:element name="infoURL" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:element name="Error" type="Error"/> + <xs:complexType name="Error"> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="code" type="xs:int" minOccurs="1"/> + <xs:element name="message" type="xs:string" minOccurs="1"/> + <xs:element name="description" type="xs:string" minOccurs="0"/> + <xs:element name="infoURL" type="xs:string" minOccurs="0"/> + <xs:element name="details" + type="ErrorDetail" + minOccurs="0" + maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <xs:element name="Component" type="Component"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:complexType name="Component"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="name" type="ComponentsName" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:element name="status" type="StatusValue" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="Status" type="Status"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:complexType name="Status"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + <xs:sequence minOccurs="1" maxOccurs="1"> + <xs:element name="name" type="ApplicationName" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public">application name</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="status" type="StatusValue" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:element name="version" type="xs:string" minOccurs="1"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + <xs:element name="components" + type="Component" + minOccurs="1" + maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="public"/> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> +</xs:schema> diff --git a/docs/offeredapis/api_status/swagger.json b/docs/offeredapis/api_status/swagger.json new file mode 100644 index 0000000..9bb198f --- /dev/null +++ b/docs/offeredapis/api_status/swagger.json @@ -0,0 +1,230 @@ + + { + "swagger": "2.0", + "info": { + "description": "Provides a healthcheck to verify that the NBI component is running fine as a standalone application or can also communicate with other onap modules.\n\n", + "version": "4.0.0_inProgress", + "title": "API Status", + "x-logo": { + "url": "/redoc/logo.png", + "backgroundColor": "#FFFFFF" + } + }, + + "host": "localhost:8080", + "basePath": "/nbi/api/v4", + "schemes": [ + "http" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + + { + "name": "Status", + "description": "" + } + ], + "paths": { + "/status": { + "get": { + "tags": [ + "Status" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "operationId": "statusFind", + "summary": "retrieve application status", + "description": "* Default\n\n```\n{\n \"name\": \"nbi\",\n \"status\": \"ok\",\n \"version\": \"v3\"\n}\n```\n\n* Optional\n\n```\n?fullStatus=true\n```\n\n```\n{\n \"name\": \"nbi\",\n \"status\": \"ok\",\n \"version\": \"v3\",\n \"components\": [\n {\n \"name\": \"sdc connectivity\",\n \"status\": \"ko\"\n },\n {\n \"name\": \"so connectivity\",\n \"status\": \"ok\"\n },\n {\n \"name\": \"aai connectivity\",\n \"status\": \"ok\"\n },\n {\n \"name\": \"dmaap connectivity\",\n \"status\": \"ok\"\n }\n ]\n}\n```", + "deprecated": false, + + "parameters": [ + + { + "name": "fullStatus", + "required": false, + "in": "query", + "description": "", + + "type": "boolean", + + "default": false + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/Status" + } + + } + } + } + } + }, + "definitions": { + + "StatusValue": { + "description": "", + + "type": "string", + "enum": [ + "ok", + "ko"] + + }, + "ComponentsName": { + "description": "", + + "type": "string", + "enum": [ + "sdc connectivity", + "so connectivity", + "aai connectivity", + "dmaap connectivity"] + + }, + "ApplicationName": { + "description": "", + + "type": "string", + "enum": [ + "nbi"] + + }, + + "ErrorDetail": { + "description": "", + + + "required": [ + + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "", + "type": "integer", + "format": "int32" + }, + "message": { + "description": "", + "type": "string" + }, + "description": { + "description": "", + "type": "string" + }, + "infoURL": { + "description": "", + "type": "string" + } + } + + }, + + "Error": { + "description": "", + + + "required": [ + + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "", + "type": "integer", + "format": "int32" + }, + "message": { + "description": "", + "type": "string" + }, + "description": { + "description": "", + "type": "string" + }, + "infoURL": { + "description": "", + "type": "string" + }, + "details": { + + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + } + } + + }, + + "Component": { + "description": "", + + + "required": [ + + "name", + "status" + ], + "type": "object", + "properties": { + "name": { + + "$ref": "#/definitions/ComponentsName" + }, + "status": { + + "$ref": "#/definitions/StatusValue" + } + } + + }, + + "Status": { + "description": "", + + + "required": [ + + "name", + "status", + "version", + "components" + ], + "type": "object", + "properties": { + "name": { + + "$ref": "#/definitions/ApplicationName" + }, + "status": { + + "$ref": "#/definitions/StatusValue" + }, + "version": { + "description": "", + "type": "string" + }, + "components": { + + "type": "array", + "items": { + "$ref": "#/definitions/Component" + } + } + } + + } + } + } +
\ No newline at end of file diff --git a/docs/offeredapis/api_status/swagger.yaml b/docs/offeredapis/api_status/swagger.yaml new file mode 100644 index 0000000..88177de --- /dev/null +++ b/docs/offeredapis/api_status/swagger.yaml @@ -0,0 +1,145 @@ +swagger: "2.0" +info: + description: "Provides a healthcheck to verify that the NBI component is running\ + \ fine as a standalone application or can also communicate with other onap modules.\n\ + \n" + version: "4.0.0_inProgress" + title: "API Status" + x-logo: + url: "/redoc/logo.png" + backgroundColor: "#FFFFFF" +host: "localhost:8080" +basePath: "/nbi/api/v4" +schemes: +- "http" +produces: +- "application/json;charset=utf-8" +tags: +- name: "Status" + description: "" +paths: + /status: + get: + tags: + - "Status" + produces: + - "application/json;charset=utf-8" + operationId: "statusFind" + summary: "retrieve application status" + description: "* Default\n\n```\n{\n \"name\": \"nbi\",\n \"status\": \"\ + ok\",\n \"version\": \"v3\"\n}\n```\n\n* Optional\n\n```\n?fullStatus=true\n\ + ```\n\n```\n{\n \"name\": \"nbi\",\n \"status\": \"ok\",\n \"version\"\ + : \"v3\",\n \"components\": [\n {\n \"name\": \"sdc connectivity\"\ + ,\n \"status\": \"ko\"\n },\n {\n \"name\"\ + : \"so connectivity\",\n \"status\": \"ok\"\n },\n \ + \ {\n \"name\": \"aai connectivity\",\n \"status\"\ + : \"ok\"\n },\n {\n \"name\": \"dmaap connectivity\"\ + ,\n \"status\": \"ok\"\n }\n ]\n}\n```" + deprecated: false + parameters: + - name: "fullStatus" + required: false + in: "query" + description: "" + type: "boolean" + default: false + responses: + 200: + description: "Ok" + schema: + $ref: "#/definitions/Status" +definitions: + StatusValue: + description: "" + type: "string" + enum: + - "ok" + - "ko" + ComponentsName: + description: "" + type: "string" + enum: + - "sdc connectivity" + - "so connectivity" + - "aai connectivity" + - "dmaap connectivity" + ApplicationName: + description: "" + type: "string" + enum: + - "nbi" + ErrorDetail: + description: "" + required: + - "code" + - "message" + type: "object" + properties: + code: + description: "" + type: "integer" + format: "int32" + message: + description: "" + type: "string" + description: + description: "" + type: "string" + infoURL: + description: "" + type: "string" + Error: + description: "" + required: + - "code" + - "message" + type: "object" + properties: + code: + description: "" + type: "integer" + format: "int32" + message: + description: "" + type: "string" + description: + description: "" + type: "string" + infoURL: + description: "" + type: "string" + details: + type: "array" + items: + $ref: "#/definitions/ErrorDetail" + Component: + description: "" + required: + - "name" + - "status" + type: "object" + properties: + name: + $ref: "#/definitions/ComponentsName" + status: + $ref: "#/definitions/StatusValue" + Status: + description: "" + required: + - "name" + - "status" + - "version" + - "components" + type: "object" + properties: + name: + $ref: "#/definitions/ApplicationName" + status: + $ref: "#/definitions/StatusValue" + version: + description: "" + type: "string" + components: + type: "array" + items: + $ref: "#/definitions/Component" diff --git a/docs/offeredapis/images/text_xml.png b/docs/offeredapis/images/text_xml.png Binary files differnew file mode 100644 index 0000000..f8c4b96 --- /dev/null +++ b/docs/offeredapis/images/text_xml.png diff --git a/docs/offeredapis/listener/apiListener.plantuml b/docs/offeredapis/listener/apiListener.plantuml deleted file mode 100644 index fe5ebc8..0000000 --- a/docs/offeredapis/listener/apiListener.plantuml +++ /dev/null @@ -1,26 +0,0 @@ -@startuml - -enum EventType { - ServiceOrderCreationNotification - ServiceOrderStateChangeNotification - ServiceOrderItemStateChangeNotification -} - -class ErrorRepresentation { - code:int - reason:string - message:string - status:int - referenceError:string - @type:string - @schemaLocation:string -} - -class Listener { - eventId:string - eventDate:dateTime - event:object -} - Listener --> "1-1" EventType : eventType - -@enduml
\ No newline at end of file diff --git a/docs/offeredapis/listener/asciiDoc.adoc b/docs/offeredapis/listener/asciiDoc.adoc deleted file mode 100644 index dcbb054..0000000 --- a/docs/offeredapis/listener/asciiDoc.adoc +++ /dev/null @@ -1,175 +0,0 @@ -= API Listener - - -[[_overview]] -== Overview - -=== Api URL - -https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/aoG0EJ01Pv/swagger.json[Swagger UI] - - -https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/aoG0EJ01Pv/plantuml&noCache=7322.0[plant UML UI] - -Listener API has to be implemented on the client side in order to receive notification. -Notification are received if HUB has been posted on server side. - - -=== Version information -[%hardbreaks] -__Version__ : 0.1.0_inProgress - - -=== URI scheme -[%hardbreaks] -__Host__ : serverRoot -__BasePath__ : /externalapi/listener/v1 -__Schemes__ : HTTPS - - -=== Tags - -* Listener - - -=== Produces - -* `application/json;charset=utf-8` - - -[[_paths]] -== Resources - -[[_listener_resource]] -=== Listener - -[[_listenercreate]] -==== createEvent -.... -POST /listener -.... - - -===== Description -The create event is used by the seller to trigger (POST) a notification to the buyer. The buyer has previously subscribed to receive notification - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^4"] -|=== -|Type|Name|Schema -|**Body**|**event** + -__required__|<<_listener,Listener>> -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**201**|Success|<<_listener,Listener>> -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Consumes - -* `application/json;charset=utf-8` - - -===== Produces - -* `application/json;charset=utf-8` - - -[[_definitions]] -== Definitions - -[[_errorrepresentation]] -=== ErrorRepresentation - -[options="header", cols=".^3,.^4"] -|=== -|Name|Schema -|**@schemaLocation** + -__optional__|string -|**@type** + -__optional__|string -|**code** + -__required__|integer (int32) -|**message** + -__optional__|string -|**reason** + -__optional__|string -|**referenceError** + -__optional__|string -|**status** + -__optional__|integer (int32) -|=== - - -[[_eventtype]] -=== EventType -__Type__ : enum (ServiceOrderCreationNotification, ServiceOrderStateChangeNotification, ServiceOrderItemStateChangeNotification) - - -[[_listener]] -=== Listener -An event will be triggered for each time a notification is send to a listener. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**event** + -__required__|An event representation is the payload of information send with the notification; it will feature event attributes + summary view of the resource.|object -|**eventDate** + -__required__||string (date-time) -|**eventId** + -__required__|id of the event|string -|**eventType** + -__required__||<<_eventtype,EventType>> -|=== - diff --git a/docs/offeredapis/listener/documentation.html b/docs/offeredapis/listener/documentation.html deleted file mode 100644 index 58cb7e2..0000000 --- a/docs/offeredapis/listener/documentation.html +++ /dev/null @@ -1,779 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> -<meta charset="UTF-8"> -<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> -<meta name="generator" content="Asciidoctor 1.5.6.1"> -<title>API Listener</title> -<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"> -<style> -/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */ -/* Remove comment around @import statement below when using as a custom stylesheet */ -/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/ -article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block} -audio,canvas,video{display:inline-block} -audio:not([controls]){display:none;height:0} -[hidden],template{display:none} -script{display:none!important} -html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} -a{background:transparent} -a:focus{outline:thin dotted} -a:active,a:hover{outline:0} -h1{font-size:2em;margin:.67em 0} -abbr[title]{border-bottom:1px dotted} -b,strong{font-weight:bold} -dfn{font-style:italic} -hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0} -mark{background:#ff0;color:#000} -code,kbd,pre,samp{font-family:monospace;font-size:1em} -pre{white-space:pre-wrap} -q{quotes:"\201C" "\201D" "\2018" "\2019"} -small{font-size:80%} -sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} -sup{top:-.5em} -sub{bottom:-.25em} -img{border:0} -svg:not(:root){overflow:hidden} -figure{margin:0} -fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em} -legend{border:0;padding:0} -button,input,select,textarea{font-family:inherit;font-size:100%;margin:0} -button,input{line-height:normal} -button,select{text-transform:none} -button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer} -button[disabled],html input[disabled]{cursor:default} -input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0} -input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box} -input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none} -button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} -textarea{overflow:auto;vertical-align:top} -table{border-collapse:collapse;border-spacing:0} -*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box} -html,body{font-size:100%} -body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased} -a:hover{cursor:pointer} -img,object,embed{max-width:100%;height:auto} -object,embed{height:100%} -img{-ms-interpolation-mode:bicubic} -.left{float:left!important} -.right{float:right!important} -.text-left{text-align:left!important} -.text-right{text-align:right!important} -.text-center{text-align:center!important} -.text-justify{text-align:justify!important} -.hide{display:none} -img,object,svg{display:inline-block;vertical-align:middle} -textarea{height:auto;min-height:50px} -select{width:100%} -.center{margin-left:auto;margin-right:auto} -.spread{width:100%} -p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6} -.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em} -div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr} -a{color:#2156a5;text-decoration:underline;line-height:inherit} -a:hover,a:focus{color:#1d4b8f} -a img{border:none} -p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility} -p aside{font-size:.875em;line-height:1.35;font-style:italic} -h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em} -h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0} -h1{font-size:2.125em} -h2{font-size:1.6875em} -h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em} -h4,h5{font-size:1.125em} -h6{font-size:1em} -hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0} -em,i{font-style:italic;line-height:inherit} -strong,b{font-weight:bold;line-height:inherit} -small{font-size:60%;line-height:inherit} -code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)} -ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit} -ul,ol{margin-left:1.5em} -ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em} -ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit} -ul.square{list-style-type:square} -ul.circle{list-style-type:circle} -ul.disc{list-style-type:disc} -ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0} -dl dt{margin-bottom:.3125em;font-weight:bold} -dl dd{margin-bottom:1.25em} -abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help} -abbr{text-transform:none} -blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd} -blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)} -blockquote cite:before{content:"\2014 \0020"} -blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)} -blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)} -@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2} -h1{font-size:2.75em} -h2{font-size:2.3125em} -h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em} -h4{font-size:1.4375em}} -table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede} -table thead,table tfoot{background:#f7f8f7;font-weight:bold} -table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left} -table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)} -table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7} -table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6} -h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em} -h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400} -.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table} -.clearfix:after,.float-group:after{clear:both} -*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word} -*:not(pre)>code.nobreak{word-wrap:normal} -*:not(pre)>code.nowrap{white-space:nowrap} -pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed} -em em{font-style:normal} -strong strong{font-weight:400} -.keyseq{color:rgba(51,51,51,.8)} -kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap} -.keyseq kbd:first-child{margin-left:0} -.keyseq kbd:last-child{margin-right:0} -.menuseq,.menuref{color:#000} -.menuseq b:not(.caret),.menuref{font-weight:inherit} -.menuseq{word-spacing:-.02em} -.menuseq b.caret{font-size:1.25em;line-height:.8} -.menuseq i.caret{font-weight:bold;text-align:center;width:.45em} -b.button:before,b.button:after{position:relative;top:-1px;font-weight:400} -b.button:before{content:"[";padding:0 3px 0 2px} -b.button:after{content:"]";padding:0 2px 0 3px} -p a>code:hover{color:rgba(0,0,0,.9)} -#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em} -#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table} -#header:after,#content:after,#footnotes:after,#footer:after{clear:both} -#content{margin-top:1.25em} -#content:before{content:none} -#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} -#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8} -#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px} -#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap} -#header .details span:first-child{margin-left:-.125em} -#header .details span.email a{color:rgba(0,0,0,.85)} -#header .details br{display:none} -#header .details br+span:before{content:"\00a0\2013\00a0"} -#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)} -#header .details br+span#revremark:before{content:"\00a0|\00a0"} -#header #revnumber{text-transform:capitalize} -#header #revnumber:after{content:"\00a0"} -#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem} -#toc{border-bottom:1px solid #efefed;padding-bottom:.5em} -#toc>ul{margin-left:.125em} -#toc ul.sectlevel0>li>a{font-style:italic} -#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} -#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} -#toc li{line-height:1.3334;margin-top:.3334em} -#toc a{text-decoration:none} -#toc a:active{text-decoration:underline} -#toctitle{color:#7a2518;font-size:1.2em} -@media only screen and (min-width:768px){#toctitle{font-size:1.375em} -body.toc2{padding-left:15em;padding-right:0} -#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto} -#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em} -#toc.toc2>ul{font-size:.9em;margin-bottom:0} -#toc.toc2 ul ul{margin-left:0;padding-left:1em} -#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em} -body.toc2.toc-right{padding-left:0;padding-right:15em} -body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}} -@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0} -#toc.toc2{width:20em} -#toc.toc2 #toctitle{font-size:1.375em} -#toc.toc2>ul{font-size:.95em} -#toc.toc2 ul ul{padding-left:1.25em} -body.toc2.toc-right{padding-left:0;padding-right:20em}} -#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} -#content #toc>:first-child{margin-top:0} -#content #toc>:last-child{margin-bottom:0} -#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em} -#footer-text{color:rgba(255,255,255,.8);line-height:1.44} -.sect1{padding-bottom:.625em} -@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}} -.sect1+.sect1{border-top:1px solid #efefed} -#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400} -#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em} -#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible} -#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} -#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} -.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} -.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} -table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0} -.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)} -table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit} -.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%} -.admonitionblock>table td.icon{text-align:center;width:80px} -.admonitionblock>table td.icon img{max-width:initial} -.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase} -.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)} -.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0} -.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px} -.exampleblock>.content>:first-child{margin-top:0} -.exampleblock>.content>:last-child{margin-bottom:0} -.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} -.sidebarblock>:first-child{margin-top:0} -.sidebarblock>:last-child{margin-bottom:0} -.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} -.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} -.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8} -.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1} -.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em} -.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal} -@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}} -@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}} -.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)} -.listingblock pre.highlightjs{padding:0} -.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px} -.listingblock pre.prettyprint{border-width:0} -.listingblock>.content{position:relative} -.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999} -.listingblock:hover code[data-lang]:before{display:block} -.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999} -.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"} -table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none} -table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45} -table.pyhltable td.code{padding-left:.75em;padding-right:0} -pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8} -pre.pygments .lineno{display:inline-block;margin-right:.25em} -table.pyhltable .linenodiv{background:none!important;padding-right:0!important} -.quoteblock{margin:0 1em 1.25em 1.5em;display:table} -.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em} -.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify} -.quoteblock blockquote{margin:0;padding:0;border:0} -.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)} -.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0} -.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right} -.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)} -.quoteblock .quoteblock blockquote{padding:0 0 0 .75em} -.quoteblock .quoteblock blockquote:before{display:none} -.verseblock{margin:0 1em 1.25em 1em} -.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility} -.verseblock pre strong{font-weight:400} -.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex} -.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic} -.quoteblock .attribution br,.verseblock .attribution br{display:none} -.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)} -.quoteblock.abstract{margin:0 0 1.25em 0;display:block} -.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0} -.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none} -table.tableblock{max-width:100%;border-collapse:separate} -table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0} -table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede} -table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0} -table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0} -table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0} -table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px 0} -table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0 0} -table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0} -table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0} -table.frame-all{border-width:1px} -table.frame-sides{border-width:0 1px} -table.frame-topbot{border-width:1px 0} -th.halign-left,td.halign-left{text-align:left} -th.halign-right,td.halign-right{text-align:right} -th.halign-center,td.halign-center{text-align:center} -th.valign-top,td.valign-top{vertical-align:top} -th.valign-bottom,td.valign-bottom{vertical-align:bottom} -th.valign-middle,td.valign-middle{vertical-align:middle} -table thead th,table tfoot th{font-weight:bold} -tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7} -tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold} -p.tableblock>code:only-child{background:none;padding:0} -p.tableblock{font-size:1em} -td>div.verse{white-space:pre} -ol{margin-left:1.75em} -ul li ol{margin-left:1.5em} -dl dd{margin-left:1.125em} -dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0} -ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em} -ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none} -ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em} -ul.unstyled,ol.unstyled{margin-left:0} -ul.checklist{margin-left:.625em} -ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em} -ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em} -ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden} -ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block} -ul.inline>li>*{display:block} -.unstyled dl dt{font-weight:400;font-style:normal} -ol.arabic{list-style-type:decimal} -ol.decimal{list-style-type:decimal-leading-zero} -ol.loweralpha{list-style-type:lower-alpha} -ol.upperalpha{list-style-type:upper-alpha} -ol.lowerroman{list-style-type:lower-roman} -ol.upperroman{list-style-type:upper-roman} -ol.lowergreek{list-style-type:lower-greek} -.hdlist>table,.colist>table{border:0;background:none} -.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none} -td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em} -td.hdlist1{font-weight:bold;padding-bottom:1.25em} -.literalblock+.colist,.listingblock+.colist{margin-top:-.5em} -.colist>table tr>td:first-of-type{padding:.4em .75em 0 .75em;line-height:1;vertical-align:top} -.colist>table tr>td:first-of-type img{max-width:initial} -.colist>table tr>td:last-of-type{padding:.25em 0} -.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd} -.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0} -.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em} -.imageblock>.title{margin-bottom:0} -.imageblock.thumb,.imageblock.th{border-width:6px} -.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em} -.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0} -.image.left{margin-right:.625em} -.image.right{margin-left:.625em} -a.image{text-decoration:none;display:inline-block} -a.image object{pointer-events:none} -sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super} -sup.footnote a,sup.footnoteref a{text-decoration:none} -sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline} -#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em} -#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0} -#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em} -#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none} -#footnotes .footnote:last-of-type{margin-bottom:0} -#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0} -.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0} -.gist .file-data>table td.line-data{width:99%} -div.unbreakable{page-break-inside:avoid} -.big{font-size:larger} -.small{font-size:smaller} -.underline{text-decoration:underline} -.overline{text-decoration:overline} -.line-through{text-decoration:line-through} -.aqua{color:#00bfbf} -.aqua-background{background-color:#00fafa} -.black{color:#000} -.black-background{background-color:#000} -.blue{color:#0000bf} -.blue-background{background-color:#0000fa} -.fuchsia{color:#bf00bf} -.fuchsia-background{background-color:#fa00fa} -.gray{color:#606060} -.gray-background{background-color:#7d7d7d} -.green{color:#006000} -.green-background{background-color:#007d00} -.lime{color:#00bf00} -.lime-background{background-color:#00fa00} -.maroon{color:#600000} -.maroon-background{background-color:#7d0000} -.navy{color:#000060} -.navy-background{background-color:#00007d} -.olive{color:#606000} -.olive-background{background-color:#7d7d00} -.purple{color:#600060} -.purple-background{background-color:#7d007d} -.red{color:#bf0000} -.red-background{background-color:#fa0000} -.silver{color:#909090} -.silver-background{background-color:#bcbcbc} -.teal{color:#006060} -.teal-background{background-color:#007d7d} -.white{color:#bfbfbf} -.white-background{background-color:#fafafa} -.yellow{color:#bfbf00} -.yellow-background{background-color:#fafa00} -span.icon>.fa{cursor:default} -a span.icon>.fa{cursor:inherit} -.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} -.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c} -.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111} -.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900} -.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400} -.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000} -.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold} -.conum[data-value] *{color:#fff!important} -.conum[data-value]+b{display:none} -.conum[data-value]:after{content:attr(data-value)} -pre .conum[data-value]{position:relative;top:-.125em} -b.conum *{color:inherit!important} -.conum:not([data-value]):empty{display:none} -dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility} -h1,h2,p,td.content,span.alt{letter-spacing:-.01em} -p strong,td.content strong,div.footnote strong{letter-spacing:-.005em} -p,blockquote,dt,td.content,span.alt{font-size:1.0625rem} -p{margin-bottom:1.25rem} -.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em} -.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc} -.print-only{display:none!important} -@media print{@page{margin:1.25cm .75cm} -*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important} -a{color:inherit!important;text-decoration:underline!important} -a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important} -a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em} -abbr[title]:after{content:" (" attr(title) ")"} -pre,blockquote,tr,img,object,svg{page-break-inside:avoid} -thead{display:table-header-group} -svg{max-width:100%} -p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3} -h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid} -#toc,.sidebarblock,.exampleblock>.content{background:none!important} -#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important} -.sect1{padding-bottom:0!important} -.sect1+.sect1{border:0!important} -#header>h1:first-child{margin-top:1.25rem} -body.book #header{text-align:center} -body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0} -body.book #header .details{border:0!important;display:block;padding:0!important} -body.book #header .details span:first-child{margin-left:0!important} -body.book #header .details br{display:block} -body.book #header .details br+span:before{content:none!important} -body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important} -body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always} -.listingblock code[data-lang]:before{display:block} -#footer{background:none!important;padding:0 .9375em} -#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em} -.hide-on-print{display:none!important} -.print-only{display:block!important} -.hide-for-print{display:none!important} -.show-for-print{display:inherit!important}} -</style> -</head> -<body class="article toc2 toc-left"> -<div id="header"> -<h1>API Listener</h1> -<div id="toc" class="toc2"> -<div id="toctitle">Table of Contents</div> -<ul class="sectlevel1"> -<li><a href="#_overview">Overview</a> -<ul class="sectlevel2"> -<li><a href="#_api_url">Api URL</a></li> -<li><a href="#_version_information">Version information</a></li> -<li><a href="#_uri_scheme">URI scheme</a></li> -<li><a href="#_tags">Tags</a></li> -<li><a href="#_produces">Produces</a></li> -</ul> -</li> -<li><a href="#_paths">Resources</a> -<ul class="sectlevel2"> -<li><a href="#_listener_resource">Listener</a></li> -</ul> -</li> -<li><a href="#_definitions">Definitions</a> -<ul class="sectlevel2"> -<li><a href="#_errorrepresentation">ErrorRepresentation</a></li> -<li><a href="#_eventtype">EventType</a></li> -<li><a href="#_listener">Listener</a></li> -</ul> -</li> -</ul> -</div> -</div> -<div id="content"> -<div class="sect1"> -<h2 id="_overview">Overview</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_api_url">Api URL</h3> -<div class="paragraph"> -<p><a href="https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/aoG0EJ01Pv/swagger.json">Swagger UI</a></p> -</div> -<div class="paragraph"> -<p><a href="https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/aoG0EJ01Pv/plantuml&noCache=7322.0">plant UML UI</a></p> -</div> -<div class="paragraph"> -<p>Listener API has to be implemented on the client side in order to receive notification. -Notification are received if HUB has been posted on server side.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_version_information">Version information</h3> -<div class="paragraph"> -<p><em>Version</em> : 0.1.0_inProgress</p> -</div> -</div> -<div class="sect2"> -<h3 id="_uri_scheme">URI scheme</h3> -<div class="paragraph"> -<p><em>Host</em> : serverRoot<br> -<em>BasePath</em> : /externalapi/listener/v1<br> -<em>Schemes</em> : HTTPS</p> -</div> -</div> -<div class="sect2"> -<h3 id="_tags">Tags</h3> -<div class="ulist"> -<ul> -<li> -<p>Listener</p> -</li> -</ul> -</div> -</div> -<div class="sect2"> -<h3 id="_produces">Produces</h3> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_paths">Resources</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_listener_resource">Listener</h3> -<div class="sect3"> -<h4 id="_listenercreate">createEvent</h4> -<div class="literalblock"> -<div class="content"> -<pre>POST /listener</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description">Description</h5> -<div class="paragraph"> -<p>The create event is used by the seller to trigger (POST) a notification to the buyer. The buyer has previously subscribed to receive notification</p> -</div> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 22.2222%;"> -<col style="width: 33.3333%;"> -<col style="width: 44.4445%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Body</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>event</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_listener">Listener</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>201</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_listener">Listener</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_consumes">Consumes</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -<div class="sect4"> -<h5 id="_produces_2">Produces</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_definitions">Definitions</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_errorrepresentation">ErrorRepresentation</h3> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 42.8571%;"> -<col style="width: 57.1429%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>code</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int32)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>message</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>reason</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>referenceError</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>status</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int32)</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_eventtype">EventType</h3> -<div class="paragraph"> -<p><em>Type</em> : enum (ServiceOrderCreationNotification, ServiceOrderStateChangeNotification, ServiceOrderItemStateChangeNotification)</p> -</div> -</div> -<div class="sect2"> -<h3 id="_listener">Listener</h3> -<div class="paragraph"> -<p>An event will be triggered for each time a notification is send to a listener.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>event</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">An event representation is the payload of information send with the notification; it will feature event attributes + summary view of the resource.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">object</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>eventDate</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>eventId</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">id of the event</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>eventType</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_eventtype">EventType</a></p></td> -</tr> -</tbody> -</table> -</div> -</div> -</div> -</div> -<div id="footer"> -<div id="footer-text"> -Last updated 2018-09-12 13:46:31 +00:00 -</div> -</div> -</body> -</html>
\ No newline at end of file diff --git a/docs/offeredapis/listener/markDown.md b/docs/offeredapis/listener/markDown.md deleted file mode 100644 index 332c6cf..0000000 --- a/docs/offeredapis/listener/markDown.md +++ /dev/null @@ -1,122 +0,0 @@ -# API Listener - - -<a name="overview"></a> -## Overview - -### Api URL - -[Swagger UI](https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/aoG0EJ01Pv/swagger.json) - - -[plant UML UI](https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/aoG0EJ01Pv/plantuml&noCache=7322.0) - -Listener API has to be implemented on the client side in order to receive notification. -Notification are received if HUB has been posted on server side. - - -### Version information -*Version* : 0.1.0_inProgress - - -### URI scheme -*Host* : serverRoot -*BasePath* : /externalapi/listener/v1 -*Schemes* : HTTPS - - -### Tags - -* Listener - - -### Produces - -* `application/json;charset=utf-8` - - -<a name="paths"></a> -## Resources - -<a name="listener_resource"></a> -### Listener - -<a name="listenercreate"></a> -#### createEvent -``` -POST /listener -``` - - -##### Description -The create event is used by the seller to trigger (POST) a notification to the buyer. The buyer has previously subscribed to receive notification - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Schema| -|---|---|---| -|**Body**|**event** <br>*required*|[Listener](#listener)| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**201**|Success|[Listener](#listener)| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Consumes - -* `application/json;charset=utf-8` - - -##### Produces - -* `application/json;charset=utf-8` - - -<a name="definitions"></a> -## Definitions - -<a name="errorrepresentation"></a> -### ErrorRepresentation - -|Name|Schema| -|---|---| -|**@schemaLocation** <br>*optional*|string| -|**@type** <br>*optional*|string| -|**code** <br>*required*|integer (int32)| -|**message** <br>*optional*|string| -|**reason** <br>*optional*|string| -|**referenceError** <br>*optional*|string| -|**status** <br>*optional*|integer (int32)| - - -<a name="eventtype"></a> -### EventType -*Type* : enum (ServiceOrderCreationNotification, ServiceOrderStateChangeNotification, ServiceOrderItemStateChangeNotification) - - -<a name="listener"></a> -### Listener -An event will be triggered for each time a notification is send to a listener. - - -|Name|Description|Schema| -|---|---|---| -|**event** <br>*required*|An event representation is the payload of information send with the notification; it will feature event attributes + summary view of the resource.|object| -|**eventDate** <br>*required*||string (date-time)| -|**eventId** <br>*required*|id of the event|string| -|**eventType** <br>*required*||[EventType](#eventtype)| - diff --git a/docs/offeredapis/offeredapis.rst b/docs/offeredapis/offeredapis.rst index ef51d1c..9845165 100644 --- a/docs/offeredapis/offeredapis.rst +++ b/docs/offeredapis/offeredapis.rst @@ -79,16 +79,19 @@ API Table .. |postman-icon| image:: images/postman.png :width: 40px +.. |xml-icon| image:: images/text_xml.png + :width: 40px + .. csv-table:: - :header: "API", "|swagger-icon|", "|html-icon|", "|plantuml-icon|", "|swagger-icon|", "|postman-icon|", "|pdf-icon|" - :widths: 10,5,5,5,5,5,5 - - " ", "json file", "html doc", "plantUML doc", "Swagger Editor", "Postman Collection", "pdf doc" - "serviceCatalog", ":download:`link <swaggers/serviceCatalog_3_0_0.json>`", ":download:`link <serviceCatalog/documentation.html>`", ":download:`link <serviceCatalog/apiServiceCatalog.plantuml>`", "coming", "coming", "coming" - "serviceInventory", ":download:`link <swaggers/serviceInventory_3_0_0.json>`", ":download:`link <serviceInventory/documentation.html>`", ":download:`link <serviceInventory/apiServiceInventory.plantuml>`", "coming", "coming", "coming" - "serviceOrder", ":download:`link <swaggers/serviceOrder_3_0_0.json>`", ":download:`link <serviceOrder/documentation.html>`", ":download:`link <serviceOrder/apiServiceOrder.plantuml>`", "coming", ":download:`link <postman/ONAPBeijingServiceOrderDoc.postman_collection.json>`", "coming" - "listener", ":download:`link <swaggers/listener-1_0_0.json>`", ":download:`link <listener/documentation.html>`", ":download:`link <listener/apiListener.plantuml>`", "coming", "coming", "coming" - "healthCheck", ":download:`link <swaggers/healthCheck_3_0_0.json>`", "coming", "coming", "coming", "coming", "coming" + :header: "API", "|swagger-icon|", "|swagger-icon|", "|plantuml-icon|", "|xml-icon|" + :widths: 10,5,5,5,5 + + " ", "json file", "yaml file", "plant UML file", "xml schemas" + "hub", ":download:`link <api_hub/swagger.json>`", ":download:`link <api_hub/swagger.yaml>`", ":download:`link <api_hub/api.plantuml>`", ":download:`link <api_hub/model.xsd>`" + "serviceCatalog", ":download:`link <api_serviceCatalog/swagger.json>`", ":download:`link <api_serviceCatalog/swagger.yaml>`", ":download:`link <api_serviceCatalog/api.plantuml>`", ":download:`link <api_serviceCatalog/model.xsd>`" + "serviceInventory", ":download:`link <api_serviceInventory/swagger.json>`", ":download:`link <api_serviceInventory/swagger.yaml>`", ":download:`link <api_serviceInventory/api.plantuml>`", ":download:`link <api_serviceInventory/model.xsd>`" + "serviceOrder", ":download:`link <api_serviceOrder/swagger.json>`", ":download:`link <api_serviceOrder/swagger.yaml>`", ":download:`link <api_serviceOrder/api.plantuml>`", ":download:`link <api_serviceOrder/model.xsd>`" + "status", ":download:`link <api_status/swagger.json>`", ":download:`link <api_status/swagger.yaml>`", ":download:`link <api_status/api.plantuml>`", ":download:`link <api_status/model.xsd>`" *************** API Description diff --git a/docs/offeredapis/serviceCatalog/asciiDoc.adoc b/docs/offeredapis/serviceCatalog/asciiDoc.adoc deleted file mode 100644 index 9ce1396..0000000 --- a/docs/offeredapis/serviceCatalog/asciiDoc.adoc +++ /dev/null @@ -1,492 +0,0 @@ -= API ServiceCatalog - - -[[_overview]] -== Overview - -=== Api URL - -https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/XOmvoxNn9d/swagger.json[Swagger UI] - - -https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/XOmvoxNn9d/plantuml&noCache=995303.0[plant UML UI] - -serviceCatalog API designed for ONAP Beijing Release. -This API is build from TMF open API17.5. -Only operation GET (by id & byList) for resource serviceSpecification is available - - -=== Version information -[%hardbreaks] -__Version__ : 3.0.0_inProgress - - -=== URI scheme -[%hardbreaks] -__Host__ : serverRoot -__BasePath__ : /nbi/api/v3 -__Schemes__ : HTTPS - - -=== Tags - -* ServiceSpecification - - -=== Produces - -* `application/json;charset=utf-8` - - -[[_paths]] -== Resources - -[[_servicespecification_resource]] -=== ServiceSpecification - -[[_servicespecificationfind]] -==== List service specifications -.... -GET /serviceSpecification -.... - - -===== Description -This operation returns service specifications from a catalog. -Only a predefined set of attribute is proposed : Based on SDC limitations, only attributes category and distributionStatus are available for serviceSpecification filtering -Fields attribute could be used to filter attributes retrieved - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^9,.^4"] -|=== -|Type|Name|Description|Schema -|**Query**|**category** + -__optional__|Service Category (filter)|string -|**Query**|**distributionStatus** + -__optional__|Service distribution status (filter)|string -|**Query**|**fields** + -__optional__|Field selection - used to filtering the attributes to be retreived|string -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**200**|Success|< <<_servicespecification,ServiceSpecification>> > array -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Produces - -* `application/json;charset=utf-8` - - -[[_servicespecificationget]] -==== Retrieve a service specification -.... -GET /serviceSpecification/{id} -.... - - -===== Description -This operation returns a service specification by its id from a catalog. Attribute selection is enabled using the fields attribute. - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^9,.^4"] -|=== -|Type|Name|Description|Schema -|**Path**|**id** + -__required__||string -|**Query**|**fields** + -__optional__|Attribute selection|string -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**200**|Success|<<_servicespecification,ServiceSpecification>> -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Produces - -* `application/json;charset=utf-8` - - -[[_definitions]] -== Definitions - -[[_attachment]] -=== Attachment -An attachment is a file uses to describe the service. -In nbi we use attachment to retrieve ONAP artifacts. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@type** + -__optional__|This attribute allows to dynamically extends TMF class. Valued with 'ONAPartifact'. We used this features to add following attributes: -artifactLabel -artifactGroupType -artifactTimeout -artifactChecksum -artifactVersion -generatedFromUUID + -**Default** : `"ONAPartifact"`|string -|**artifactChecksum** + -__optional__|Additional attribute (not in the TMF API) - extended through @type - artifactChecksum|string -|**artifactGroupType** + -__optional__|Additional attribute (not in the TMF API) - extended through @type - artifactGroupType|string -|**artifactLabel** + -__optional__|Additional attribute (not in the TMF API) - extended through @type - artifactLabel|string -|**artifactTimeout** + -__optional__|Additional attribute (not in the TMF API) - extended through @type - artifactTimeout|string -|**artifactVersion** + -__optional__|Additional attribute (not in the TMF API) - extended through @type - artifactVersion|string -|**description** + -__optional__|Description of the attachment - filled with artifactDescription|string -|**generatedFromUUID** + -__optional__|Additional attribute (not in the TMF API) - extended through @type - generatedFromUUID|string -|**id** + -__optional__|Unique identifier of the attachment - filled with artifactUUID.|string -|**mimeType** + -__optional__|Filled with artifactType|string -|**name** + -__optional__|Name of the attachment - filled with artifactName|string -|**url** + -__optional__|Uniform Resource Locator, is a web page address - filled with artifactURL|string -|=== - - -[[_distributionstatus]] -=== DistributionStatus -Service distribution status from ONAP. - -__Type__ : enum (DISTRIBUTION_NOT_APPROVED, DISTRIBUTION_APPROVED, DISTRIBUTED, DISTRIBUTION_REJECTED) - - -[[_errorrepresentation]] -=== ErrorRepresentation -This class is used to describe error. -for nbi Beijing release we do not manage additional error for serviceCatalog - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@schemaLocation** + -__optional__|it provides a link to the schema describing a REST resource.|string -|**@type** + -__optional__|The class type of a REST resource.|string -|**code** + -__required__|Application related code (as defined in the API or from a common list)|integer (int32) -|**message** + -__optional__|Text that provide more details and corrective actions related to the error. This can be shown to a client user|string -|**reason** + -__required__|Text that explains the reason for error. This can be shown to a client user.|string -|**referenceErrror** + -__optional__|url pointing to documentation describing the error|string -|**status** + -__optional__|http error code extension like 400-2|string -|=== - - -[[_lifecyclestatusvalues]] -=== LifecycleStatusValues -Service lifecycle value from ONAP SDC - -__Type__ : enum (NOT_CERTIFIED_CHECKOUT, NOT_CERTIFIED_CHECKIN, READY_FOR_CERTIFICATION, CERTIFICATION_IN_PROGRESS, CERTIFIED) - - -[[_relatedpartyref]] -=== RelatedPartyRef -Party linked to the service catalog. -in nbi we retrieve information about last updater of the service in SDC - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**id** + -__optional__|Unique identifier of the related party. Filled with lastUpdaterUserId|string -|**name** + -__optional__|Name of the related party - Filled with lastUpdatedFullName|string -|**role** + -__optional__|Role payed by the related party -Only role 'lastUpdater' is retrieved in Beijing release|string -|=== - - -[[_resourcespecificationref]] -=== ResourceSpecificationRef -A list of resourceSpec identified to deliver the service. -for nbi we retrieve resource information available in service description (through SDC api) bu as well information retrieved in the TOSCA file. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@type** + -__optional__|This attribute allows to dynamically extends TMF class. Valued with: 'ONAPresource'. We used this features to add following attributes: -resourceInstanceName -resourceInvariantUUID -resourceType -modelCustomizationName -modelCustomizationId + -**Default** : `"ONAPresource"`|string -|**id** + -__optional__|Unique identifier of the resource specification - filled with resourceUUID|string -|**modelCustomizationId** + -__optional__|Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute customizationUUID in topology_template/node_template for the resource|string -|**modelCustomizationName** + -__optional__|Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute name in topology_template/node_template for the resource|string -|**name** + -__optional__|Name of the resource specification - filled with resourceName|string -|**resourceInstanceName** + -__optional__|Additional attribute (not in the TMF API) - extended through @type - resourceInstanceName|string -|**resourceInvariantUUID** + -__optional__|Additional attribute (not in the TMF API) - extended through @type - resourceInvariantUUID|string -|**resourceType** + -__optional__|Additional attribute (not in the TMF API) - extended through @type - resoucreType|string -|**version** + -__optional__|Version for this resource specification - filled with resourceVersion|string -|=== - - -[[_servicespeccharacteristic]] -=== ServiceSpecCharacteristic -A characteristic quality or distinctive feature of a ServiceSpecification. -ServiceSpecCharacteristic are retrieved in the serviceTosca file in the topology_template section in the inputs section. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@schemaLocation** + -__optional__|An url pointing to type description - we do not use it in nbi Beijing release|string -|**@type** + -__optional__|This attribute allows to dynamically extends TMF class. Valued with: 'ONAPserviceCharacteristic'. We do not used this features in nbi Beijing release.|string -|**description** + -__optional__|A narrative that explains in detail what the characteristic is - Filled with parameter_description|string -|**name** + -__optional__|Name of the characteristic - Filled with parameter_name|string -|**required** + -__optional__|A parameter to define if the characteristic is mandatory - Filled from parameter_required – if not fielded by default ‘true’ + -**Default** : `true`|boolean -|**serviceSpecCharacteristicValue** + -__optional__||< <<_servicespeccharacteristicvalue,ServiceSpecCharacteristicValue>> > array -|**status** + -__optional__|Status of the characteristic - filled with status_value|string -|**valueType** + -__optional__|A kind of value that the characteristic can take on, such as numeric, text and so forth - Filled with parameter_type|string -|=== - - -[[_servicespeccharacteristicvalue]] -=== ServiceSpecCharacteristicValue -A number or text that can be assigned to a service specification characteristic. -ServiceSpecCharacteristicValue are retrieved in the service Tosca file - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**isDefault** + -__optional__|Information calculated from parameter default in the Tosca file|boolean -|**value** + -__optional__|A discrete value that the characteristic can take on|string -|**valueType** + -__optional__|A kind of value that the characteristic can take on, such as numeric, text, and so forth -Retrieved in the Tosca in the topology_template section in the inputs section - parameter_type. -We do not manage parameter_type= list or map for Beijing release|string -|=== - - -[[_servicespecification]] -=== ServiceSpecification -ServiceSpecification is a class that offers characteristics to describe a type of service. Functionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics. -the service information are retrieved in SDC - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@baseType** + -__optional__|Not used for Beijing release|string -|**@schemaLocation** + -__optional__|Not used for Beijing release|string -|**@type** + -__optional__|This attribute allows to dynamically extends TMF class. Valued with 'ONAPservice'. We used this features to add following attributes: -invariantUUID -toscaModelURL -toscaResourceName -category (1) -subcategory (1) -distributionStatus + -**Default** : `"ONAPservice"`|string -|**attachment** + -__optional__||< <<_attachment,Attachment>> > array -|**category** + -__optional__|Additional attribute - extended through @type - category -Please note that this attribute is managed in TMF - in future release we'll introduce category resource|string -|**description** + -__optional__|A narrative that explains in detail what the service specification is - Filled with SDC Service description|string -|**distributionStatus** + -__optional__||<<_distributionstatus,DistributionStatus>> -|**href** + -__optional__|Reference of the service specification- not mapped in Beijing|string -|**id** + -__optional__|Unique identifier of the service specification. Filled with SDC Service uuid|string -|**invariantUUID** + -__required__|Additional attribute (not in the TMF API) - extended through @type - invariantUUID|string -|**lifecycleStatus** + -__optional__||<<_lifecyclestatusvalues,LifecycleStatusValues>> -|**name** + -__optional__|Name of the service specification- Filled with SDC Service name|string -|**relatedParty** + -__optional__||< <<_relatedpartyref,RelatedPartyRef>> > array -|**resourceSpecification** + -__optional__||< <<_resourcespecificationref,ResourceSpecificationRef>> > array -|**serviceSpecCharacteristic** + -__optional__||< <<_servicespeccharacteristic,ServiceSpecCharacteristic>> > array -|**subcategory** + -__optional__|Additional attribute - extended through @type - category -Please note that this attribute is managed in TMF - in future release we'll introduce category resourc|string -|**targetServiceSchema** + -__optional__||<<_targetserviceschemaref,TargetServiceSchemaRef>> -|**toscaModelURL** + -__optional__|Additional attribute (not in the TMF API) - extended through @type - toscaModelURL|string -|**toscaResourceName** + -__optional__|Additional attribute (not in the TMF API) - extended through @type - toscaResourceName|string -|**version** + -__optional__|Service specification version - Filled with SDC Service version|string -|=== - - -[[_targetserviceschemaref]] -=== TargetServiceSchemaRef - -[options="header", cols=".^3,.^4"] -|=== -|Name|Schema -|**@schemaLocation** + -__required__|string -|**@type** + -__required__|string -|=== - - -[[_timeperiod]] -=== TimePeriod -A time period - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**endDateTime** + -__optional__|End date and time of the period|string (date-time) -|**startDateTime** + -__optional__|Start date and time of the period|string (date-time) -|=== - diff --git a/docs/offeredapis/serviceCatalog/documentation.html b/docs/offeredapis/serviceCatalog/documentation.html deleted file mode 100644 index 94b011f..0000000 --- a/docs/offeredapis/serviceCatalog/documentation.html +++ /dev/null @@ -1,1489 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> -<meta charset="UTF-8"> -<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> -<meta name="generator" content="Asciidoctor 1.5.6.1"> -<title>API ServiceCatalog</title> -<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"> -<style> -/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */ -/* Remove comment around @import statement below when using as a custom stylesheet */ -/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/ -article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block} -audio,canvas,video{display:inline-block} -audio:not([controls]){display:none;height:0} -[hidden],template{display:none} -script{display:none!important} -html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} -a{background:transparent} -a:focus{outline:thin dotted} -a:active,a:hover{outline:0} -h1{font-size:2em;margin:.67em 0} -abbr[title]{border-bottom:1px dotted} -b,strong{font-weight:bold} -dfn{font-style:italic} -hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0} -mark{background:#ff0;color:#000} -code,kbd,pre,samp{font-family:monospace;font-size:1em} -pre{white-space:pre-wrap} -q{quotes:"\201C" "\201D" "\2018" "\2019"} -small{font-size:80%} -sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} -sup{top:-.5em} -sub{bottom:-.25em} -img{border:0} -svg:not(:root){overflow:hidden} -figure{margin:0} -fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em} -legend{border:0;padding:0} -button,input,select,textarea{font-family:inherit;font-size:100%;margin:0} -button,input{line-height:normal} -button,select{text-transform:none} -button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer} -button[disabled],html input[disabled]{cursor:default} -input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0} -input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box} -input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none} -button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} -textarea{overflow:auto;vertical-align:top} -table{border-collapse:collapse;border-spacing:0} -*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box} -html,body{font-size:100%} -body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased} -a:hover{cursor:pointer} -img,object,embed{max-width:100%;height:auto} -object,embed{height:100%} -img{-ms-interpolation-mode:bicubic} -.left{float:left!important} -.right{float:right!important} -.text-left{text-align:left!important} -.text-right{text-align:right!important} -.text-center{text-align:center!important} -.text-justify{text-align:justify!important} -.hide{display:none} -img,object,svg{display:inline-block;vertical-align:middle} -textarea{height:auto;min-height:50px} -select{width:100%} -.center{margin-left:auto;margin-right:auto} -.spread{width:100%} -p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6} -.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em} -div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr} -a{color:#2156a5;text-decoration:underline;line-height:inherit} -a:hover,a:focus{color:#1d4b8f} -a img{border:none} -p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility} -p aside{font-size:.875em;line-height:1.35;font-style:italic} -h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em} -h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0} -h1{font-size:2.125em} -h2{font-size:1.6875em} -h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em} -h4,h5{font-size:1.125em} -h6{font-size:1em} -hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0} -em,i{font-style:italic;line-height:inherit} -strong,b{font-weight:bold;line-height:inherit} -small{font-size:60%;line-height:inherit} -code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)} -ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit} -ul,ol{margin-left:1.5em} -ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em} -ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit} -ul.square{list-style-type:square} -ul.circle{list-style-type:circle} -ul.disc{list-style-type:disc} -ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0} -dl dt{margin-bottom:.3125em;font-weight:bold} -dl dd{margin-bottom:1.25em} -abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help} -abbr{text-transform:none} -blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd} -blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)} -blockquote cite:before{content:"\2014 \0020"} -blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)} -blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)} -@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2} -h1{font-size:2.75em} -h2{font-size:2.3125em} -h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em} -h4{font-size:1.4375em}} -table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede} -table thead,table tfoot{background:#f7f8f7;font-weight:bold} -table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left} -table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)} -table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7} -table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6} -h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em} -h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400} -.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table} -.clearfix:after,.float-group:after{clear:both} -*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word} -*:not(pre)>code.nobreak{word-wrap:normal} -*:not(pre)>code.nowrap{white-space:nowrap} -pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed} -em em{font-style:normal} -strong strong{font-weight:400} -.keyseq{color:rgba(51,51,51,.8)} -kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap} -.keyseq kbd:first-child{margin-left:0} -.keyseq kbd:last-child{margin-right:0} -.menuseq,.menuref{color:#000} -.menuseq b:not(.caret),.menuref{font-weight:inherit} -.menuseq{word-spacing:-.02em} -.menuseq b.caret{font-size:1.25em;line-height:.8} -.menuseq i.caret{font-weight:bold;text-align:center;width:.45em} -b.button:before,b.button:after{position:relative;top:-1px;font-weight:400} -b.button:before{content:"[";padding:0 3px 0 2px} -b.button:after{content:"]";padding:0 2px 0 3px} -p a>code:hover{color:rgba(0,0,0,.9)} -#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em} -#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table} -#header:after,#content:after,#footnotes:after,#footer:after{clear:both} -#content{margin-top:1.25em} -#content:before{content:none} -#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} -#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8} -#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px} -#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap} -#header .details span:first-child{margin-left:-.125em} -#header .details span.email a{color:rgba(0,0,0,.85)} -#header .details br{display:none} -#header .details br+span:before{content:"\00a0\2013\00a0"} -#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)} -#header .details br+span#revremark:before{content:"\00a0|\00a0"} -#header #revnumber{text-transform:capitalize} -#header #revnumber:after{content:"\00a0"} -#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem} -#toc{border-bottom:1px solid #efefed;padding-bottom:.5em} -#toc>ul{margin-left:.125em} -#toc ul.sectlevel0>li>a{font-style:italic} -#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} -#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} -#toc li{line-height:1.3334;margin-top:.3334em} -#toc a{text-decoration:none} -#toc a:active{text-decoration:underline} -#toctitle{color:#7a2518;font-size:1.2em} -@media only screen and (min-width:768px){#toctitle{font-size:1.375em} -body.toc2{padding-left:15em;padding-right:0} -#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto} -#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em} -#toc.toc2>ul{font-size:.9em;margin-bottom:0} -#toc.toc2 ul ul{margin-left:0;padding-left:1em} -#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em} -body.toc2.toc-right{padding-left:0;padding-right:15em} -body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}} -@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0} -#toc.toc2{width:20em} -#toc.toc2 #toctitle{font-size:1.375em} -#toc.toc2>ul{font-size:.95em} -#toc.toc2 ul ul{padding-left:1.25em} -body.toc2.toc-right{padding-left:0;padding-right:20em}} -#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} -#content #toc>:first-child{margin-top:0} -#content #toc>:last-child{margin-bottom:0} -#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em} -#footer-text{color:rgba(255,255,255,.8);line-height:1.44} -.sect1{padding-bottom:.625em} -@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}} -.sect1+.sect1{border-top:1px solid #efefed} -#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400} -#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em} -#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible} -#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} -#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} -.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} -.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} -table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0} -.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)} -table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit} -.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%} -.admonitionblock>table td.icon{text-align:center;width:80px} -.admonitionblock>table td.icon img{max-width:initial} -.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase} -.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)} -.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0} -.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px} -.exampleblock>.content>:first-child{margin-top:0} -.exampleblock>.content>:last-child{margin-bottom:0} -.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} -.sidebarblock>:first-child{margin-top:0} -.sidebarblock>:last-child{margin-bottom:0} -.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} -.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} -.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8} -.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1} -.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em} -.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal} -@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}} -@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}} -.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)} -.listingblock pre.highlightjs{padding:0} -.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px} -.listingblock pre.prettyprint{border-width:0} -.listingblock>.content{position:relative} -.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999} -.listingblock:hover code[data-lang]:before{display:block} -.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999} -.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"} -table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none} -table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45} -table.pyhltable td.code{padding-left:.75em;padding-right:0} -pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8} -pre.pygments .lineno{display:inline-block;margin-right:.25em} -table.pyhltable .linenodiv{background:none!important;padding-right:0!important} -.quoteblock{margin:0 1em 1.25em 1.5em;display:table} -.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em} -.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify} -.quoteblock blockquote{margin:0;padding:0;border:0} -.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)} -.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0} -.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right} -.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)} -.quoteblock .quoteblock blockquote{padding:0 0 0 .75em} -.quoteblock .quoteblock blockquote:before{display:none} -.verseblock{margin:0 1em 1.25em 1em} -.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility} -.verseblock pre strong{font-weight:400} -.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex} -.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic} -.quoteblock .attribution br,.verseblock .attribution br{display:none} -.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)} -.quoteblock.abstract{margin:0 0 1.25em 0;display:block} -.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0} -.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none} -table.tableblock{max-width:100%;border-collapse:separate} -table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0} -table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede} -table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0} -table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0} -table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0} -table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px 0} -table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0 0} -table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0} -table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0} -table.frame-all{border-width:1px} -table.frame-sides{border-width:0 1px} -table.frame-topbot{border-width:1px 0} -th.halign-left,td.halign-left{text-align:left} -th.halign-right,td.halign-right{text-align:right} -th.halign-center,td.halign-center{text-align:center} -th.valign-top,td.valign-top{vertical-align:top} -th.valign-bottom,td.valign-bottom{vertical-align:bottom} -th.valign-middle,td.valign-middle{vertical-align:middle} -table thead th,table tfoot th{font-weight:bold} -tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7} -tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold} -p.tableblock>code:only-child{background:none;padding:0} -p.tableblock{font-size:1em} -td>div.verse{white-space:pre} -ol{margin-left:1.75em} -ul li ol{margin-left:1.5em} -dl dd{margin-left:1.125em} -dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0} -ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em} -ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none} -ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em} -ul.unstyled,ol.unstyled{margin-left:0} -ul.checklist{margin-left:.625em} -ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em} -ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em} -ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden} -ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block} -ul.inline>li>*{display:block} -.unstyled dl dt{font-weight:400;font-style:normal} -ol.arabic{list-style-type:decimal} -ol.decimal{list-style-type:decimal-leading-zero} -ol.loweralpha{list-style-type:lower-alpha} -ol.upperalpha{list-style-type:upper-alpha} -ol.lowerroman{list-style-type:lower-roman} -ol.upperroman{list-style-type:upper-roman} -ol.lowergreek{list-style-type:lower-greek} -.hdlist>table,.colist>table{border:0;background:none} -.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none} -td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em} -td.hdlist1{font-weight:bold;padding-bottom:1.25em} -.literalblock+.colist,.listingblock+.colist{margin-top:-.5em} -.colist>table tr>td:first-of-type{padding:.4em .75em 0 .75em;line-height:1;vertical-align:top} -.colist>table tr>td:first-of-type img{max-width:initial} -.colist>table tr>td:last-of-type{padding:.25em 0} -.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd} -.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0} -.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em} -.imageblock>.title{margin-bottom:0} -.imageblock.thumb,.imageblock.th{border-width:6px} -.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em} -.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0} -.image.left{margin-right:.625em} -.image.right{margin-left:.625em} -a.image{text-decoration:none;display:inline-block} -a.image object{pointer-events:none} -sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super} -sup.footnote a,sup.footnoteref a{text-decoration:none} -sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline} -#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em} -#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0} -#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em} -#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none} -#footnotes .footnote:last-of-type{margin-bottom:0} -#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0} -.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0} -.gist .file-data>table td.line-data{width:99%} -div.unbreakable{page-break-inside:avoid} -.big{font-size:larger} -.small{font-size:smaller} -.underline{text-decoration:underline} -.overline{text-decoration:overline} -.line-through{text-decoration:line-through} -.aqua{color:#00bfbf} -.aqua-background{background-color:#00fafa} -.black{color:#000} -.black-background{background-color:#000} -.blue{color:#0000bf} -.blue-background{background-color:#0000fa} -.fuchsia{color:#bf00bf} -.fuchsia-background{background-color:#fa00fa} -.gray{color:#606060} -.gray-background{background-color:#7d7d7d} -.green{color:#006000} -.green-background{background-color:#007d00} -.lime{color:#00bf00} -.lime-background{background-color:#00fa00} -.maroon{color:#600000} -.maroon-background{background-color:#7d0000} -.navy{color:#000060} -.navy-background{background-color:#00007d} -.olive{color:#606000} -.olive-background{background-color:#7d7d00} -.purple{color:#600060} -.purple-background{background-color:#7d007d} -.red{color:#bf0000} -.red-background{background-color:#fa0000} -.silver{color:#909090} -.silver-background{background-color:#bcbcbc} -.teal{color:#006060} -.teal-background{background-color:#007d7d} -.white{color:#bfbfbf} -.white-background{background-color:#fafafa} -.yellow{color:#bfbf00} -.yellow-background{background-color:#fafa00} -span.icon>.fa{cursor:default} -a span.icon>.fa{cursor:inherit} -.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} -.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c} -.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111} -.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900} -.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400} -.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000} -.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold} -.conum[data-value] *{color:#fff!important} -.conum[data-value]+b{display:none} -.conum[data-value]:after{content:attr(data-value)} -pre .conum[data-value]{position:relative;top:-.125em} -b.conum *{color:inherit!important} -.conum:not([data-value]):empty{display:none} -dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility} -h1,h2,p,td.content,span.alt{letter-spacing:-.01em} -p strong,td.content strong,div.footnote strong{letter-spacing:-.005em} -p,blockquote,dt,td.content,span.alt{font-size:1.0625rem} -p{margin-bottom:1.25rem} -.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em} -.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc} -.print-only{display:none!important} -@media print{@page{margin:1.25cm .75cm} -*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important} -a{color:inherit!important;text-decoration:underline!important} -a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important} -a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em} -abbr[title]:after{content:" (" attr(title) ")"} -pre,blockquote,tr,img,object,svg{page-break-inside:avoid} -thead{display:table-header-group} -svg{max-width:100%} -p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3} -h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid} -#toc,.sidebarblock,.exampleblock>.content{background:none!important} -#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important} -.sect1{padding-bottom:0!important} -.sect1+.sect1{border:0!important} -#header>h1:first-child{margin-top:1.25rem} -body.book #header{text-align:center} -body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0} -body.book #header .details{border:0!important;display:block;padding:0!important} -body.book #header .details span:first-child{margin-left:0!important} -body.book #header .details br{display:block} -body.book #header .details br+span:before{content:none!important} -body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important} -body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always} -.listingblock code[data-lang]:before{display:block} -#footer{background:none!important;padding:0 .9375em} -#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em} -.hide-on-print{display:none!important} -.print-only{display:block!important} -.hide-for-print{display:none!important} -.show-for-print{display:inherit!important}} -</style> -</head> -<body class="article toc2 toc-left"> -<div id="header"> -<h1>API ServiceCatalog</h1> -<div id="toc" class="toc2"> -<div id="toctitle">Table of Contents</div> -<ul class="sectlevel1"> -<li><a href="#_overview">Overview</a> -<ul class="sectlevel2"> -<li><a href="#_api_url">Api URL</a></li> -<li><a href="#_version_information">Version information</a></li> -<li><a href="#_uri_scheme">URI scheme</a></li> -<li><a href="#_tags">Tags</a></li> -<li><a href="#_produces">Produces</a></li> -</ul> -</li> -<li><a href="#_paths">Resources</a> -<ul class="sectlevel2"> -<li><a href="#_servicespecification_resource">ServiceSpecification</a></li> -</ul> -</li> -<li><a href="#_definitions">Definitions</a> -<ul class="sectlevel2"> -<li><a href="#_attachment">Attachment</a></li> -<li><a href="#_distributionstatus">DistributionStatus</a></li> -<li><a href="#_errorrepresentation">ErrorRepresentation</a></li> -<li><a href="#_lifecyclestatusvalues">LifecycleStatusValues</a></li> -<li><a href="#_relatedpartyref">RelatedPartyRef</a></li> -<li><a href="#_resourcespecificationref">ResourceSpecificationRef</a></li> -<li><a href="#_servicespeccharacteristic">ServiceSpecCharacteristic</a></li> -<li><a href="#_servicespeccharacteristicvalue">ServiceSpecCharacteristicValue</a></li> -<li><a href="#_servicespecification">ServiceSpecification</a></li> -<li><a href="#_targetserviceschemaref">TargetServiceSchemaRef</a></li> -<li><a href="#_timeperiod">TimePeriod</a></li> -</ul> -</li> -</ul> -</div> -</div> -<div id="content"> -<div class="sect1"> -<h2 id="_overview">Overview</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_api_url">Api URL</h3> -<div class="paragraph"> -<p><a href="https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/XOmvoxNn9d/swagger.json">Swagger UI</a></p> -</div> -<div class="paragraph"> -<p><a href="https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/XOmvoxNn9d/plantuml&noCache=995303.0">plant UML UI</a></p> -</div> -<div class="paragraph"> -<p>serviceCatalog API designed for ONAP Beijing Release. -This API is build from TMF open API17.5. -Only operation GET (by id & byList) for resource serviceSpecification is available</p> -</div> -</div> -<div class="sect2"> -<h3 id="_version_information">Version information</h3> -<div class="paragraph"> -<p><em>Version</em> : 3.0.0_inProgress</p> -</div> -</div> -<div class="sect2"> -<h3 id="_uri_scheme">URI scheme</h3> -<div class="paragraph"> -<p><em>Host</em> : serverRoot<br> -<em>BasePath</em> : /nbi/api/v3<br> -<em>Schemes</em> : HTTPS</p> -</div> -</div> -<div class="sect2"> -<h3 id="_tags">Tags</h3> -<div class="ulist"> -<ul> -<li> -<p>ServiceSpecification</p> -</li> -</ul> -</div> -</div> -<div class="sect2"> -<h3 id="_produces">Produces</h3> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_paths">Resources</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_servicespecification_resource">ServiceSpecification</h3> -<div class="sect3"> -<h4 id="_servicespecificationfind">List service specifications</h4> -<div class="literalblock"> -<div class="content"> -<pre>GET /serviceSpecification</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description">Description</h5> -<div class="paragraph"> -<p>This operation returns service specifications from a catalog. -Only a predefined set of attribute is proposed : Based on SDC limitations, only attributes category and distributionStatus are available for serviceSpecification filtering -Fields attribute could be used to filter attributes retrieved</p> -</div> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 11.1111%;"> -<col style="width: 16.6666%;"> -<col style="width: 50%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>category</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Category (filter)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>distributionStatus</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service distribution status (filter)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>fields</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Field selection - used to filtering the attributes to be retreived</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_servicespecification">ServiceSpecification</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_produces_2">Produces</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -<div class="sect3"> -<h4 id="_servicespecificationget">Retrieve a service specification</h4> -<div class="literalblock"> -<div class="content"> -<pre>GET /serviceSpecification/{id}</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description_2">Description</h5> -<div class="paragraph"> -<p>This operation returns a service specification by its id from a catalog. Attribute selection is enabled using the fields attribute.</p> -</div> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters_2">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 11.1111%;"> -<col style="width: 16.6666%;"> -<col style="width: 50%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Path</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>fields</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Attribute selection</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses_2">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_servicespecification">ServiceSpecification</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_produces_3">Produces</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_definitions">Definitions</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_attachment">Attachment</h3> -<div class="paragraph"> -<p>An attachment is a file uses to describe the service. -In nbi we use attachment to retrieve ONAP artifacts.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">This attribute allows to dynamically extends TMF class. Valued with 'ONAPartifact'. We used this features to add following attributes: -artifactLabel -artifactGroupType -artifactTimeout -artifactChecksum -artifactVersion -generatedFromUUID<br> -<strong>Default</strong> : <code>"ONAPartifact"</code></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>artifactChecksum</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - artifactChecksum</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>artifactGroupType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - artifactGroupType</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>artifactLabel</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - artifactLabel</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>artifactTimeout</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - artifactTimeout</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>artifactVersion</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - artifactVersion</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>description</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Description of the attachment - filled with artifactDescription</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>generatedFromUUID</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - generatedFromUUID</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of the attachment - filled with artifactUUID.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>mimeType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Filled with artifactType</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the attachment - filled with artifactName</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>url</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Uniform Resource Locator, is a web page address - filled with artifactURL</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_distributionstatus">DistributionStatus</h3> -<div class="paragraph"> -<p>Service distribution status from ONAP.</p> -</div> -<div class="paragraph"> -<p><em>Type</em> : enum (DISTRIBUTION_NOT_APPROVED, DISTRIBUTION_APPROVED, DISTRIBUTED, DISTRIBUTION_REJECTED)</p> -</div> -</div> -<div class="sect2"> -<h3 id="_errorrepresentation">ErrorRepresentation</h3> -<div class="paragraph"> -<p>This class is used to describe error. -for nbi Beijing release we do not manage additional error for serviceCatalog</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">it provides a link to the schema describing a REST resource.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">The class type of a REST resource.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>code</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Application related code (as defined in the API or from a common list)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int32)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>message</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Text that provide more details and corrective actions related to the error. This can be shown to a client user</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>reason</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Text that explains the reason for error. This can be shown to a client user.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>referenceErrror</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">url pointing to documentation describing the error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>status</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">http error code extension like 400-2</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_lifecyclestatusvalues">LifecycleStatusValues</h3> -<div class="paragraph"> -<p>Service lifecycle value from ONAP SDC</p> -</div> -<div class="paragraph"> -<p><em>Type</em> : enum (NOT_CERTIFIED_CHECKOUT, NOT_CERTIFIED_CHECKIN, READY_FOR_CERTIFICATION, CERTIFICATION_IN_PROGRESS, CERTIFIED)</p> -</div> -</div> -<div class="sect2"> -<h3 id="_relatedpartyref">RelatedPartyRef</h3> -<div class="paragraph"> -<p>Party linked to the service catalog. -in nbi we retrieve information about last updater of the service in SDC</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of the related party. Filled with lastUpdaterUserId</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the related party - Filled with lastUpdatedFullName</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>role</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Role payed by the related party -Only role 'lastUpdater' is retrieved in Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_resourcespecificationref">ResourceSpecificationRef</h3> -<div class="paragraph"> -<p>A list of resourceSpec identified to deliver the service. -for nbi we retrieve resource information available in service description (through SDC api) bu as well information retrieved in the TOSCA file.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">This attribute allows to dynamically extends TMF class. Valued with: 'ONAPresource'. We used this features to add following attributes: -resourceInstanceName -resourceInvariantUUID -resourceType -modelCustomizationName -modelCustomizationId<br> -<strong>Default</strong> : <code>"ONAPresource"</code></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of the resource specification - filled with resourceUUID</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>modelCustomizationId</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute customizationUUID in topology_template/node_template for the resource</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>modelCustomizationName</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute name in topology_template/node_template for the resource</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the resource specification - filled with resourceName</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>resourceInstanceName</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - resourceInstanceName</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>resourceInvariantUUID</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - resourceInvariantUUID</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>resourceType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - resoucreType</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>version</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Version for this resource specification - filled with resourceVersion</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_servicespeccharacteristic">ServiceSpecCharacteristic</h3> -<div class="paragraph"> -<p>A characteristic quality or distinctive feature of a ServiceSpecification. -ServiceSpecCharacteristic are retrieved in the serviceTosca file in the topology_template section in the inputs section.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">An url pointing to type description - we do not use it in nbi Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">This attribute allows to dynamically extends TMF class. Valued with: 'ONAPserviceCharacteristic'. We do not used this features in nbi Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>description</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">A narrative that explains in detail what the characteristic is - Filled with parameter_description</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the characteristic - Filled with parameter_name</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>required</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">A parameter to define if the characteristic is mandatory - Filled from parameter_required – if not fielded by default ‘true’<br> -<strong>Default</strong> : <code>true</code></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">boolean</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceSpecCharacteristicValue</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_servicespeccharacteristicvalue">ServiceSpecCharacteristicValue</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>status</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Status of the characteristic - filled with status_value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>valueType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">A kind of value that the characteristic can take on, such as numeric, text and so forth - Filled with parameter_type</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_servicespeccharacteristicvalue">ServiceSpecCharacteristicValue</h3> -<div class="paragraph"> -<p>A number or text that can be assigned to a service specification characteristic. -ServiceSpecCharacteristicValue are retrieved in the service Tosca file</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>isDefault</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Information calculated from parameter default in the Tosca file</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">boolean</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>value</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">A discrete value that the characteristic can take on</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>valueType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">A kind of value that the characteristic can take on, such as numeric, text, and so forth -Retrieved in the Tosca in the topology_template section in the inputs section - parameter_type. -We do not manage parameter_type= list or map for Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_servicespecification">ServiceSpecification</h3> -<div class="paragraph"> -<p>ServiceSpecification is a class that offers characteristics to describe a type of service. Functionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics. -the service information are retrieved in SDC</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@baseType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not used for Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not used for Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">This attribute allows to dynamically extends TMF class. Valued with 'ONAPservice'. We used this features to add following attributes: -invariantUUID -toscaModelURL -toscaResourceName -category (1) -subcategory (1) -distributionStatus<br> -<strong>Default</strong> : <code>"ONAPservice"</code></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>attachment</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_attachment">Attachment</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>category</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute - extended through @type - category -Please note that this attribute is managed in TMF - in future release we’ll introduce category resource</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>description</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">A narrative that explains in detail what the service specification is - Filled with SDC Service description</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>distributionStatus</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_distributionstatus">DistributionStatus</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>href</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Reference of the service specification- not mapped in Beijing</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of the service specification. Filled with SDC Service uuid</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>invariantUUID</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - invariantUUID</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>lifecycleStatus</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_lifecyclestatusvalues">LifecycleStatusValues</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the service specification- Filled with SDC Service name</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>relatedParty</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_relatedpartyref">RelatedPartyRef</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>resourceSpecification</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_resourcespecificationref">ResourceSpecificationRef</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceSpecCharacteristic</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_servicespeccharacteristic">ServiceSpecCharacteristic</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>subcategory</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute - extended through @type - category -Please note that this attribute is managed in TMF - in future release we’ll introduce category resourc</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>targetServiceSchema</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_targetserviceschemaref">TargetServiceSchemaRef</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>toscaModelURL</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - toscaModelURL</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>toscaResourceName</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @type - toscaResourceName</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>version</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service specification version - Filled with SDC Service version</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_targetserviceschemaref">TargetServiceSchemaRef</h3> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 42.8571%;"> -<col style="width: 57.1429%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_timeperiod">TimePeriod</h3> -<div class="paragraph"> -<p>A time period</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>endDateTime</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">End date and time of the period</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>startDateTime</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Start date and time of the period</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -</tbody> -</table> -</div> -</div> -</div> -</div> -<div id="footer"> -<div id="footer-text"> -Last updated 2018-09-12 13:43:40 +00:00 -</div> -</div> -</body> -</html>
\ No newline at end of file diff --git a/docs/offeredapis/serviceCatalog/markDown.md b/docs/offeredapis/serviceCatalog/markDown.md deleted file mode 100644 index 7f1a02d..0000000 --- a/docs/offeredapis/serviceCatalog/markDown.md +++ /dev/null @@ -1,299 +0,0 @@ -# API ServiceCatalog - - -<a name="overview"></a> -## Overview - -### Api URL - -[Swagger UI](https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/XOmvoxNn9d/swagger.json) - - -[plant UML UI](https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/XOmvoxNn9d/plantuml&noCache=995303.0) - -serviceCatalog API designed for ONAP Beijing Release. -This API is build from TMF open API17.5. -Only operation GET (by id & byList) for resource serviceSpecification is available - - -### Version information -*Version* : 3.0.0_inProgress - - -### URI scheme -*Host* : serverRoot -*BasePath* : /nbi/api/v3 -*Schemes* : HTTPS - - -### Tags - -* ServiceSpecification - - -### Produces - -* `application/json;charset=utf-8` - - -<a name="paths"></a> -## Resources - -<a name="servicespecification_resource"></a> -### ServiceSpecification - -<a name="servicespecificationfind"></a> -#### List service specifications -``` -GET /serviceSpecification -``` - - -##### Description -This operation returns service specifications from a catalog. -Only a predefined set of attribute is proposed : Based on SDC limitations, only attributes category and distributionStatus are available for serviceSpecification filtering -Fields attribute could be used to filter attributes retrieved - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Description|Schema| -|---|---|---|---| -|**Query**|**category** <br>*optional*|Service Category (filter)|string| -|**Query**|**distributionStatus** <br>*optional*|Service distribution status (filter)|string| -|**Query**|**fields** <br>*optional*|Field selection - used to filtering the attributes to be retreived|string| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**200**|Success|< [ServiceSpecification](#servicespecification) > array| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Produces - -* `application/json;charset=utf-8` - - -<a name="servicespecificationget"></a> -#### Retrieve a service specification -``` -GET /serviceSpecification/{id} -``` - - -##### Description -This operation returns a service specification by its id from a catalog. Attribute selection is enabled using the fields attribute. - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Description|Schema| -|---|---|---|---| -|**Path**|**id** <br>*required*||string| -|**Query**|**fields** <br>*optional*|Attribute selection|string| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**200**|Success|[ServiceSpecification](#servicespecification)| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Produces - -* `application/json;charset=utf-8` - - -<a name="definitions"></a> -## Definitions - -<a name="attachment"></a> -### Attachment -An attachment is a file uses to describe the service. -In nbi we use attachment to retrieve ONAP artifacts. - - -|Name|Description|Schema| -|---|---|---| -|**@type** <br>*optional*|This attribute allows to dynamically extends TMF class. Valued with 'ONAPartifact'. We used this features to add following attributes: <br>artifactLabel<br>artifactGroupType<br>artifactTimeout<br>artifactChecksum<br>artifactVersion<br>generatedFromUUID <br>**Default** : `"ONAPartifact"`|string| -|**artifactChecksum** <br>*optional*|Additional attribute (not in the TMF API) - extended through @type - artifactChecksum|string| -|**artifactGroupType** <br>*optional*|Additional attribute (not in the TMF API) - extended through @type - artifactGroupType|string| -|**artifactLabel** <br>*optional*|Additional attribute (not in the TMF API) - extended through @type - artifactLabel|string| -|**artifactTimeout** <br>*optional*|Additional attribute (not in the TMF API) - extended through @type - artifactTimeout|string| -|**artifactVersion** <br>*optional*|Additional attribute (not in the TMF API) - extended through @type - artifactVersion|string| -|**description** <br>*optional*|Description of the attachment - filled with artifactDescription|string| -|**generatedFromUUID** <br>*optional*|Additional attribute (not in the TMF API) - extended through @type - generatedFromUUID|string| -|**id** <br>*optional*|Unique identifier of the attachment - filled with artifactUUID.|string| -|**mimeType** <br>*optional*|Filled with artifactType|string| -|**name** <br>*optional*|Name of the attachment - filled with artifactName|string| -|**url** <br>*optional*|Uniform Resource Locator, is a web page address - filled with artifactURL|string| - - -<a name="distributionstatus"></a> -### DistributionStatus -Service distribution status from ONAP. - -*Type* : enum (DISTRIBUTION_NOT_APPROVED, DISTRIBUTION_APPROVED, DISTRIBUTED, DISTRIBUTION_REJECTED) - - -<a name="errorrepresentation"></a> -### ErrorRepresentation -This class is used to describe error. -for nbi Beijing release we do not manage additional error for serviceCatalog - - -|Name|Description|Schema| -|---|---|---| -|**@schemaLocation** <br>*optional*|it provides a link to the schema describing a REST resource.|string| -|**@type** <br>*optional*|The class type of a REST resource.|string| -|**code** <br>*required*|Application related code (as defined in the API or from a common list)|integer (int32)| -|**message** <br>*optional*|Text that provide more details and corrective actions related to the error. This can be shown to a client user|string| -|**reason** <br>*required*|Text that explains the reason for error. This can be shown to a client user.|string| -|**referenceErrror** <br>*optional*|url pointing to documentation describing the error|string| -|**status** <br>*optional*|http error code extension like 400-2|string| - - -<a name="lifecyclestatusvalues"></a> -### LifecycleStatusValues -Service lifecycle value from ONAP SDC - -*Type* : enum (NOT_CERTIFIED_CHECKOUT, NOT_CERTIFIED_CHECKIN, READY_FOR_CERTIFICATION, CERTIFICATION_IN_PROGRESS, CERTIFIED) - - -<a name="relatedpartyref"></a> -### RelatedPartyRef -Party linked to the service catalog. -in nbi we retrieve information about last updater of the service in SDC - - -|Name|Description|Schema| -|---|---|---| -|**id** <br>*optional*|Unique identifier of the related party. Filled with lastUpdaterUserId|string| -|**name** <br>*optional*|Name of the related party - Filled with lastUpdatedFullName|string| -|**role** <br>*optional*|Role payed by the related party<br>Only role 'lastUpdater' is retrieved in Beijing release|string| - - -<a name="resourcespecificationref"></a> -### ResourceSpecificationRef -A list of resourceSpec identified to deliver the service. -for nbi we retrieve resource information available in service description (through SDC api) bu as well information retrieved in the TOSCA file. - - -|Name|Description|Schema| -|---|---|---| -|**@type** <br>*optional*|This attribute allows to dynamically extends TMF class. Valued with: 'ONAPresource'. We used this features to add following attributes:<br>resourceInstanceName<br>resourceInvariantUUID<br>resourceType<br>modelCustomizationName<br>modelCustomizationId <br>**Default** : `"ONAPresource"`|string| -|**id** <br>*optional*|Unique identifier of the resource specification - filled with resourceUUID|string| -|**modelCustomizationId** <br>*optional*|Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute customizationUUID in topology_template/node_template for the resource|string| -|**modelCustomizationName** <br>*optional*|Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute name in topology_template/node_template for the resource|string| -|**name** <br>*optional*|Name of the resource specification - filled with resourceName|string| -|**resourceInstanceName** <br>*optional*|Additional attribute (not in the TMF API) - extended through @type - resourceInstanceName|string| -|**resourceInvariantUUID** <br>*optional*|Additional attribute (not in the TMF API) - extended through @type - resourceInvariantUUID|string| -|**resourceType** <br>*optional*|Additional attribute (not in the TMF API) - extended through @type - resoucreType|string| -|**version** <br>*optional*|Version for this resource specification - filled with resourceVersion|string| - - -<a name="servicespeccharacteristic"></a> -### ServiceSpecCharacteristic -A characteristic quality or distinctive feature of a ServiceSpecification. -ServiceSpecCharacteristic are retrieved in the serviceTosca file in the topology_template section in the inputs section. - - -|Name|Description|Schema| -|---|---|---| -|**@schemaLocation** <br>*optional*|An url pointing to type description - we do not use it in nbi Beijing release|string| -|**@type** <br>*optional*|This attribute allows to dynamically extends TMF class. Valued with: 'ONAPserviceCharacteristic'. We do not used this features in nbi Beijing release.|string| -|**description** <br>*optional*|A narrative that explains in detail what the characteristic is - Filled with parameter_description|string| -|**name** <br>*optional*|Name of the characteristic - Filled with parameter_name|string| -|**required** <br>*optional*|A parameter to define if the characteristic is mandatory - Filled from parameter_required – if not fielded by default ‘true’ <br>**Default** : `true`|boolean| -|**serviceSpecCharacteristicValue** <br>*optional*||< [ServiceSpecCharacteristicValue](#servicespeccharacteristicvalue) > array| -|**status** <br>*optional*|Status of the characteristic - filled with status_value|string| -|**valueType** <br>*optional*|A kind of value that the characteristic can take on, such as numeric, text and so forth - Filled with parameter_type|string| - - -<a name="servicespeccharacteristicvalue"></a> -### ServiceSpecCharacteristicValue -A number or text that can be assigned to a service specification characteristic. -ServiceSpecCharacteristicValue are retrieved in the service Tosca file - - -|Name|Description|Schema| -|---|---|---| -|**isDefault** <br>*optional*|Information calculated from parameter default in the Tosca file|boolean| -|**value** <br>*optional*|A discrete value that the characteristic can take on|string| -|**valueType** <br>*optional*|A kind of value that the characteristic can take on, such as numeric, text, and so forth<br>Retrieved in the Tosca in the topology_template section in the inputs section - parameter_type. <br>We do not manage parameter_type= list or map for Beijing release|string| - - -<a name="servicespecification"></a> -### ServiceSpecification -ServiceSpecification is a class that offers characteristics to describe a type of service. Functionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics. -the service information are retrieved in SDC - - -|Name|Description|Schema| -|---|---|---| -|**@baseType** <br>*optional*|Not used for Beijing release|string| -|**@schemaLocation** <br>*optional*|Not used for Beijing release|string| -|**@type** <br>*optional*|This attribute allows to dynamically extends TMF class. Valued with 'ONAPservice'. We used this features to add following attributes:<br>invariantUUID<br>toscaModelURL<br>toscaResourceName<br>category (1)<br>subcategory (1)<br>distributionStatus <br>**Default** : `"ONAPservice"`|string| -|**attachment** <br>*optional*||< [Attachment](#attachment) > array| -|**category** <br>*optional*|Additional attribute - extended through @type - category<br>Please note that this attribute is managed in TMF - in future release we'll introduce category resource|string| -|**description** <br>*optional*|A narrative that explains in detail what the service specification is - Filled with SDC Service description|string| -|**distributionStatus** <br>*optional*||[DistributionStatus](#distributionstatus)| -|**href** <br>*optional*|Reference of the service specification- not mapped in Beijing|string| -|**id** <br>*optional*|Unique identifier of the service specification. Filled with SDC Service uuid|string| -|**invariantUUID** <br>*required*|Additional attribute (not in the TMF API) - extended through @type - invariantUUID|string| -|**lifecycleStatus** <br>*optional*||[LifecycleStatusValues](#lifecyclestatusvalues)| -|**name** <br>*optional*|Name of the service specification- Filled with SDC Service name|string| -|**relatedParty** <br>*optional*||< [RelatedPartyRef](#relatedpartyref) > array| -|**resourceSpecification** <br>*optional*||< [ResourceSpecificationRef](#resourcespecificationref) > array| -|**serviceSpecCharacteristic** <br>*optional*||< [ServiceSpecCharacteristic](#servicespeccharacteristic) > array| -|**subcategory** <br>*optional*|Additional attribute - extended through @type - category<br>Please note that this attribute is managed in TMF - in future release we'll introduce category resourc|string| -|**targetServiceSchema** <br>*optional*||[TargetServiceSchemaRef](#targetserviceschemaref)| -|**toscaModelURL** <br>*optional*|Additional attribute (not in the TMF API) - extended through @type - toscaModelURL|string| -|**toscaResourceName** <br>*optional*|Additional attribute (not in the TMF API) - extended through @type - toscaResourceName|string| -|**version** <br>*optional*|Service specification version - Filled with SDC Service version|string| - - -<a name="targetserviceschemaref"></a> -### TargetServiceSchemaRef - -|Name|Schema| -|---|---| -|**@schemaLocation** <br>*required*|string| -|**@type** <br>*required*|string| - - -<a name="timeperiod"></a> -### TimePeriod -A time period - - -|Name|Description|Schema| -|---|---|---| -|**endDateTime** <br>*optional*|End date and time of the period|string (date-time)| -|**startDateTime** <br>*optional*|Start date and time of the period|string (date-time)| - diff --git a/docs/offeredapis/serviceInventory/asciiDoc.adoc b/docs/offeredapis/serviceInventory/asciiDoc.adoc deleted file mode 100644 index e34ec44..0000000 --- a/docs/offeredapis/serviceInventory/asciiDoc.adoc +++ /dev/null @@ -1,461 +0,0 @@ -= API ServiceInventory - - -[[_overview]] -== Overview - -=== Api URL - -https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/5ymwb6l1dR/swagger.json[Swagger UI] - - -https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/5ymwb6l1dR/plantuml&noCache=137264.0[plant UML UI] - -serviceInventory API designed for ONAP Beijing Release. -This API is build from TMF open API18.0 (applying TMF Guideline 3.0) -only operation GET (by id & byList) for resource serviceSpecification is available - - -=== Version information -[%hardbreaks] -__Version__ : 3.0.0_inProgress - - -=== URI scheme -[%hardbreaks] -__Host__ : serverRoot -__BasePath__ : /nbi/api/v3 -__Schemes__ : HTTPS - - -=== Tags - -* Service - - -=== Produces - -* `application/json;charset=utf-8` - - -[[_paths]] -== Resources - -[[_service_resource]] -=== Service - -[[_servicefind]] -==== List services -.... -GET /service -.... - - -===== Description -This operation list service entities. -Attribute selection is restricted. -fields attribute may be used to filter retrieved attribute(s) for each service - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^4"] -|=== -|Type|Name|Schema -|**Query**|**fields** + -__optional__|string -|**Query**|**id** + -__optional__|string -|**Query**|**relatedParty.id** + -__optional__|string -|**Query**|**serviceSpecification.id** + -__optional__|string -|**Query**|**serviceSpecification.name** + -__optional__|string -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**200**|Success|< <<_listservice,ListService>> > array -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Produces - -* `application/json;charset=utf-8` - - -[[_serviceget]] -==== Retrieve a service -.... -GET /service/{id} -.... - - -===== Description -This operation retrieves a service entity. -Attribute selection is enabled for all first level attributes. - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^4"] -|=== -|Type|Name|Schema -|**Path**|**id** + -__required__|string -|**Query**|**relatedParty.id** + -__optional__|string -|**Query**|**serviceSpecification.id** + -__optional__|string -|**Query**|**serviceSpecification.name** + -__optional__|string -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**200**|Success|<<_service,Service>> -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Produces - -* `application/json;charset=utf-8` - - -[[_definitions]] -== Definitions - -[[_errorrepresentation]] -=== ErrorRepresentation -This class is used to describe error. -for nbi Beijing release we do not manage additional error for serviceCatalog - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@schemaLocation** + -__optional__|it provides a link to the schema describing a REST resource.|string -|**@type** + -__optional__|The class type of a REST resource.|string -|**code** + -__required__|Application related code (as defined in the API or from a common list)|integer (int32) -|**message** + -__optional__|Text that provide more details and corrective actions related to the error. This can be shown to a client user.|string -|**reason** + -__required__|Text that explains the reason for error. This can be shown to a client user.|string -|**referenceError** + -__optional__|url pointing to documentation describing the error|string -|**status** + -__optional__|http error code extension like 400-2|string -|=== - - -[[_listrelatedpartyref]] -=== ListRelatedPartyRef -This class is used to structure list of service(s) retrieved - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**id** + -__optional__|Unique identifier of a related party|string -|**role** + -__optional__|Role played by the related party - only role “ONAPcustomer” is managed in Beijing release.|string -|=== - - -[[_listservice]] -=== ListService -This class is used to structure list of service(s) retrieved - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**id** + -__optional__|Unique identifier of the service|string -|**name** + -__optional__|Name of the service|string -|**relatedParty** + -__optional__||<<_listrelatedpartyref,ListRelatedPartyRef>> -|**serviceSpecification** + -__optional__||<<_listservicespecificationref,ListServiceSpecificationRef>> -|=== - - -[[_listservicespecificationref]] -=== ListServiceSpecificationRef -This class is used to structure list of service(s) retrieved - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**id** + -__optional__|Unique identifier of the service specification|string -|**name** + -__optional__|Name of the required service specification|string -|=== - - -[[_relatedpartyref]] -=== RelatedPartyRef -RelatedParty reference. A related party defines party or party role linked to a specific entity. -Only ONAP Customer is managed in Beijing release. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@referredType** + -__optional__|Not managed in the Beijing release.|string -|**href** + -__optional__|Reference of a related party. -Not filled in Beijing release.|string -|**id** + -__optional__|Unique identifier of a related party|string -|**role** + -__optional__|Role played by the related party. -Filled with 'ONAPcustomer'|string -|=== - - -[[_service]] -=== Service -Instantiated service (service_instance) in AAI - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@baseType** + -__optional__|Not managed in Beijing release|string -|**@schemaLocation** + -__optional__|Not managed in Beijing release|string -|**@type** + -__optional__|This attribute allows to dynamically extends TMF class. Not used in Beijing release.|string -|**characteristic** + -__optional__||< <<_servicecharacteristic,ServiceCharacteristic>> > array -|**hasStarted** + -__optional__|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 -Not managed in Beijing release|boolean -|**href** + -__optional__|Reference of the service -Not managed in Beijing release|string -|**id** + -__optional__|Unique identifier of the service - Valued with service-instance-id|string -|**name** + -__optional__|Name of the service - Valued with service-instance-name|string -|**relatedParty** + -__optional__||< <<_relatedpartyref,RelatedPartyRef>> > array -|**serviceSpecification** + -__optional__||<<_servicespecificationref,ServiceSpecificationRef>> -|**state** + -__optional__|State of the service. Not managed in Beijing release|string -|**supportingResource** + -__optional__||< <<_supportingresource,SupportingResource>> > array -|**type** + -__optional__|Service type - valued with 'service-instance'|string -|=== - - -[[_servicecharacteristic]] -=== ServiceCharacteristic -A list of name value pairs that define the service characteristics -Not managed in Beijing release. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**name** + -__required__|Name of the characteristic -Not managed in Beijing release.|string -|**value** + -__optional__||<<_value,Value>> -|**valueType** + -__optional__|Type of value for this characteristic. -Not managed in Beijing release.|string -|=== - - -[[_servicespecificationref]] -=== ServiceSpecificationRef -Service specification reference: ServiceSpecification of this service (catalog information) - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@referredType** + -__optional__|This attribute allows to dynamically extends TMF class. Valued with 'ONAPservice'. We used this features to add following attribute: invariantUUID|string -|**@schemaLocation** + -__optional__|Not managed in Beijing release|string -|**href** + -__optional__|Reference of the service specification. -not managed in Beijing release.|string -|**id** + -__optional__|Unique identifier of the service specification. valued to model-version-id|string -|**invariantUUID** + -__optional__|Additional attribute (not in the TMF API) - extended through @referredType - model-invariant-id|string -|**name** + -__optional__|Name of the required service specification|string -|**version** + -__optional__|Service specification version. -Not managed in Beijing release|string -|=== - - -[[_supportingresource]] -=== SupportingResource -Supporting resource - A supportingResource will be retrieved for each relationship of the relationship-list where related-link describe a vnf - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@referredType** + -__optional__|This attribute allows to dynamically extends TMF class. Valued with 'ONAP resource'. We used this features to add following attributes: - status - modelInvariantId - modelVersionId - modelCustomisationId|string -|**@schemaLocation** + -__optional__|Not managed in Beijing release.|string -|**href** + -__optional__|Reference of the supporting resource|string -|**id** + -__optional__|Unique identifier of the supporting resource - Valued to vnf-id|string -|**modelCustomisationId** + -__optional__|Additional attribute (not in the TMF API) - extended through @referredType - valued with model-customisation-id|string -|**modelInvariantId** + -__optional__|Additional attribute (not in the TMF API) - extended through @referredType - valued with model-invariant-id|string -|**modelVersionId** + -__optional__|Additional attribute (not in the TMF API) - extended through @referredType - valued with model-verson-id|string -|**name** + -__optional__|Name of the supporting resource - Valued with vnf_-name|string -|**role** + -__optional__|Not managed in Beijing release.|string -|**status** + -__optional__|Additional attribute (not in the TMF API) - extended through @referredType - valued with prov-status|string -|=== - - -[[_value]] -=== Value -Structure used to describe characteristic value. -Not managed in Beijing release. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@schemaLocation** + -__optional__|Not managed in Beijing release.|string -|**@type** + -__optional__|Not managed in Beijing release.|string -|**serviceCharacteristicValue** + -__optional__|Not managed in Beijing release.|string -|=== - diff --git a/docs/offeredapis/serviceInventory/documentation.html b/docs/offeredapis/serviceInventory/documentation.html deleted file mode 100644 index f7fb115..0000000 --- a/docs/offeredapis/serviceInventory/documentation.html +++ /dev/null @@ -1,1432 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> -<meta charset="UTF-8"> -<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> -<meta name="generator" content="Asciidoctor 1.5.6.1"> -<title>API ServiceInventory</title> -<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"> -<style> -/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */ -/* Remove comment around @import statement below when using as a custom stylesheet */ -/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/ -article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block} -audio,canvas,video{display:inline-block} -audio:not([controls]){display:none;height:0} -[hidden],template{display:none} -script{display:none!important} -html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} -a{background:transparent} -a:focus{outline:thin dotted} -a:active,a:hover{outline:0} -h1{font-size:2em;margin:.67em 0} -abbr[title]{border-bottom:1px dotted} -b,strong{font-weight:bold} -dfn{font-style:italic} -hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0} -mark{background:#ff0;color:#000} -code,kbd,pre,samp{font-family:monospace;font-size:1em} -pre{white-space:pre-wrap} -q{quotes:"\201C" "\201D" "\2018" "\2019"} -small{font-size:80%} -sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} -sup{top:-.5em} -sub{bottom:-.25em} -img{border:0} -svg:not(:root){overflow:hidden} -figure{margin:0} -fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em} -legend{border:0;padding:0} -button,input,select,textarea{font-family:inherit;font-size:100%;margin:0} -button,input{line-height:normal} -button,select{text-transform:none} -button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer} -button[disabled],html input[disabled]{cursor:default} -input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0} -input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box} -input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none} -button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} -textarea{overflow:auto;vertical-align:top} -table{border-collapse:collapse;border-spacing:0} -*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box} -html,body{font-size:100%} -body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased} -a:hover{cursor:pointer} -img,object,embed{max-width:100%;height:auto} -object,embed{height:100%} -img{-ms-interpolation-mode:bicubic} -.left{float:left!important} -.right{float:right!important} -.text-left{text-align:left!important} -.text-right{text-align:right!important} -.text-center{text-align:center!important} -.text-justify{text-align:justify!important} -.hide{display:none} -img,object,svg{display:inline-block;vertical-align:middle} -textarea{height:auto;min-height:50px} -select{width:100%} -.center{margin-left:auto;margin-right:auto} -.spread{width:100%} -p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6} -.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em} -div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr} -a{color:#2156a5;text-decoration:underline;line-height:inherit} -a:hover,a:focus{color:#1d4b8f} -a img{border:none} -p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility} -p aside{font-size:.875em;line-height:1.35;font-style:italic} -h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em} -h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0} -h1{font-size:2.125em} -h2{font-size:1.6875em} -h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em} -h4,h5{font-size:1.125em} -h6{font-size:1em} -hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0} -em,i{font-style:italic;line-height:inherit} -strong,b{font-weight:bold;line-height:inherit} -small{font-size:60%;line-height:inherit} -code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)} -ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit} -ul,ol{margin-left:1.5em} -ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em} -ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit} -ul.square{list-style-type:square} -ul.circle{list-style-type:circle} -ul.disc{list-style-type:disc} -ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0} -dl dt{margin-bottom:.3125em;font-weight:bold} -dl dd{margin-bottom:1.25em} -abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help} -abbr{text-transform:none} -blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd} -blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)} -blockquote cite:before{content:"\2014 \0020"} -blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)} -blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)} -@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2} -h1{font-size:2.75em} -h2{font-size:2.3125em} -h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em} -h4{font-size:1.4375em}} -table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede} -table thead,table tfoot{background:#f7f8f7;font-weight:bold} -table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left} -table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)} -table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7} -table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6} -h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em} -h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400} -.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table} -.clearfix:after,.float-group:after{clear:both} -*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word} -*:not(pre)>code.nobreak{word-wrap:normal} -*:not(pre)>code.nowrap{white-space:nowrap} -pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed} -em em{font-style:normal} -strong strong{font-weight:400} -.keyseq{color:rgba(51,51,51,.8)} -kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap} -.keyseq kbd:first-child{margin-left:0} -.keyseq kbd:last-child{margin-right:0} -.menuseq,.menuref{color:#000} -.menuseq b:not(.caret),.menuref{font-weight:inherit} -.menuseq{word-spacing:-.02em} -.menuseq b.caret{font-size:1.25em;line-height:.8} -.menuseq i.caret{font-weight:bold;text-align:center;width:.45em} -b.button:before,b.button:after{position:relative;top:-1px;font-weight:400} -b.button:before{content:"[";padding:0 3px 0 2px} -b.button:after{content:"]";padding:0 2px 0 3px} -p a>code:hover{color:rgba(0,0,0,.9)} -#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em} -#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table} -#header:after,#content:after,#footnotes:after,#footer:after{clear:both} -#content{margin-top:1.25em} -#content:before{content:none} -#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} -#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8} -#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px} -#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap} -#header .details span:first-child{margin-left:-.125em} -#header .details span.email a{color:rgba(0,0,0,.85)} -#header .details br{display:none} -#header .details br+span:before{content:"\00a0\2013\00a0"} -#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)} -#header .details br+span#revremark:before{content:"\00a0|\00a0"} -#header #revnumber{text-transform:capitalize} -#header #revnumber:after{content:"\00a0"} -#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem} -#toc{border-bottom:1px solid #efefed;padding-bottom:.5em} -#toc>ul{margin-left:.125em} -#toc ul.sectlevel0>li>a{font-style:italic} -#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} -#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} -#toc li{line-height:1.3334;margin-top:.3334em} -#toc a{text-decoration:none} -#toc a:active{text-decoration:underline} -#toctitle{color:#7a2518;font-size:1.2em} -@media only screen and (min-width:768px){#toctitle{font-size:1.375em} -body.toc2{padding-left:15em;padding-right:0} -#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto} -#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em} -#toc.toc2>ul{font-size:.9em;margin-bottom:0} -#toc.toc2 ul ul{margin-left:0;padding-left:1em} -#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em} -body.toc2.toc-right{padding-left:0;padding-right:15em} -body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}} -@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0} -#toc.toc2{width:20em} -#toc.toc2 #toctitle{font-size:1.375em} -#toc.toc2>ul{font-size:.95em} -#toc.toc2 ul ul{padding-left:1.25em} -body.toc2.toc-right{padding-left:0;padding-right:20em}} -#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} -#content #toc>:first-child{margin-top:0} -#content #toc>:last-child{margin-bottom:0} -#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em} -#footer-text{color:rgba(255,255,255,.8);line-height:1.44} -.sect1{padding-bottom:.625em} -@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}} -.sect1+.sect1{border-top:1px solid #efefed} -#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400} -#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em} -#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible} -#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} -#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} -.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} -.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} -table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0} -.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)} -table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit} -.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%} -.admonitionblock>table td.icon{text-align:center;width:80px} -.admonitionblock>table td.icon img{max-width:initial} -.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase} -.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)} -.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0} -.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px} -.exampleblock>.content>:first-child{margin-top:0} -.exampleblock>.content>:last-child{margin-bottom:0} -.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} -.sidebarblock>:first-child{margin-top:0} -.sidebarblock>:last-child{margin-bottom:0} -.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} -.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} -.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8} -.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1} -.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em} -.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal} -@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}} -@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}} -.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)} -.listingblock pre.highlightjs{padding:0} -.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px} -.listingblock pre.prettyprint{border-width:0} -.listingblock>.content{position:relative} -.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999} -.listingblock:hover code[data-lang]:before{display:block} -.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999} -.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"} -table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none} -table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45} -table.pyhltable td.code{padding-left:.75em;padding-right:0} -pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8} -pre.pygments .lineno{display:inline-block;margin-right:.25em} -table.pyhltable .linenodiv{background:none!important;padding-right:0!important} -.quoteblock{margin:0 1em 1.25em 1.5em;display:table} -.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em} -.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify} -.quoteblock blockquote{margin:0;padding:0;border:0} -.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)} -.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0} -.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right} -.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)} -.quoteblock .quoteblock blockquote{padding:0 0 0 .75em} -.quoteblock .quoteblock blockquote:before{display:none} -.verseblock{margin:0 1em 1.25em 1em} -.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility} -.verseblock pre strong{font-weight:400} -.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex} -.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic} -.quoteblock .attribution br,.verseblock .attribution br{display:none} -.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)} -.quoteblock.abstract{margin:0 0 1.25em 0;display:block} -.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0} -.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none} -table.tableblock{max-width:100%;border-collapse:separate} -table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0} -table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede} -table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0} -table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0} -table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0} -table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px 0} -table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0 0} -table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0} -table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0} -table.frame-all{border-width:1px} -table.frame-sides{border-width:0 1px} -table.frame-topbot{border-width:1px 0} -th.halign-left,td.halign-left{text-align:left} -th.halign-right,td.halign-right{text-align:right} -th.halign-center,td.halign-center{text-align:center} -th.valign-top,td.valign-top{vertical-align:top} -th.valign-bottom,td.valign-bottom{vertical-align:bottom} -th.valign-middle,td.valign-middle{vertical-align:middle} -table thead th,table tfoot th{font-weight:bold} -tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7} -tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold} -p.tableblock>code:only-child{background:none;padding:0} -p.tableblock{font-size:1em} -td>div.verse{white-space:pre} -ol{margin-left:1.75em} -ul li ol{margin-left:1.5em} -dl dd{margin-left:1.125em} -dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0} -ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em} -ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none} -ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em} -ul.unstyled,ol.unstyled{margin-left:0} -ul.checklist{margin-left:.625em} -ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em} -ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em} -ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden} -ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block} -ul.inline>li>*{display:block} -.unstyled dl dt{font-weight:400;font-style:normal} -ol.arabic{list-style-type:decimal} -ol.decimal{list-style-type:decimal-leading-zero} -ol.loweralpha{list-style-type:lower-alpha} -ol.upperalpha{list-style-type:upper-alpha} -ol.lowerroman{list-style-type:lower-roman} -ol.upperroman{list-style-type:upper-roman} -ol.lowergreek{list-style-type:lower-greek} -.hdlist>table,.colist>table{border:0;background:none} -.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none} -td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em} -td.hdlist1{font-weight:bold;padding-bottom:1.25em} -.literalblock+.colist,.listingblock+.colist{margin-top:-.5em} -.colist>table tr>td:first-of-type{padding:.4em .75em 0 .75em;line-height:1;vertical-align:top} -.colist>table tr>td:first-of-type img{max-width:initial} -.colist>table tr>td:last-of-type{padding:.25em 0} -.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd} -.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0} -.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em} -.imageblock>.title{margin-bottom:0} -.imageblock.thumb,.imageblock.th{border-width:6px} -.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em} -.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0} -.image.left{margin-right:.625em} -.image.right{margin-left:.625em} -a.image{text-decoration:none;display:inline-block} -a.image object{pointer-events:none} -sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super} -sup.footnote a,sup.footnoteref a{text-decoration:none} -sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline} -#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em} -#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0} -#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em} -#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none} -#footnotes .footnote:last-of-type{margin-bottom:0} -#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0} -.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0} -.gist .file-data>table td.line-data{width:99%} -div.unbreakable{page-break-inside:avoid} -.big{font-size:larger} -.small{font-size:smaller} -.underline{text-decoration:underline} -.overline{text-decoration:overline} -.line-through{text-decoration:line-through} -.aqua{color:#00bfbf} -.aqua-background{background-color:#00fafa} -.black{color:#000} -.black-background{background-color:#000} -.blue{color:#0000bf} -.blue-background{background-color:#0000fa} -.fuchsia{color:#bf00bf} -.fuchsia-background{background-color:#fa00fa} -.gray{color:#606060} -.gray-background{background-color:#7d7d7d} -.green{color:#006000} -.green-background{background-color:#007d00} -.lime{color:#00bf00} -.lime-background{background-color:#00fa00} -.maroon{color:#600000} -.maroon-background{background-color:#7d0000} -.navy{color:#000060} -.navy-background{background-color:#00007d} -.olive{color:#606000} -.olive-background{background-color:#7d7d00} -.purple{color:#600060} -.purple-background{background-color:#7d007d} -.red{color:#bf0000} -.red-background{background-color:#fa0000} -.silver{color:#909090} -.silver-background{background-color:#bcbcbc} -.teal{color:#006060} -.teal-background{background-color:#007d7d} -.white{color:#bfbfbf} -.white-background{background-color:#fafafa} -.yellow{color:#bfbf00} -.yellow-background{background-color:#fafa00} -span.icon>.fa{cursor:default} -a span.icon>.fa{cursor:inherit} -.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} -.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c} -.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111} -.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900} -.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400} -.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000} -.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold} -.conum[data-value] *{color:#fff!important} -.conum[data-value]+b{display:none} -.conum[data-value]:after{content:attr(data-value)} -pre .conum[data-value]{position:relative;top:-.125em} -b.conum *{color:inherit!important} -.conum:not([data-value]):empty{display:none} -dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility} -h1,h2,p,td.content,span.alt{letter-spacing:-.01em} -p strong,td.content strong,div.footnote strong{letter-spacing:-.005em} -p,blockquote,dt,td.content,span.alt{font-size:1.0625rem} -p{margin-bottom:1.25rem} -.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em} -.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc} -.print-only{display:none!important} -@media print{@page{margin:1.25cm .75cm} -*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important} -a{color:inherit!important;text-decoration:underline!important} -a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important} -a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em} -abbr[title]:after{content:" (" attr(title) ")"} -pre,blockquote,tr,img,object,svg{page-break-inside:avoid} -thead{display:table-header-group} -svg{max-width:100%} -p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3} -h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid} -#toc,.sidebarblock,.exampleblock>.content{background:none!important} -#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important} -.sect1{padding-bottom:0!important} -.sect1+.sect1{border:0!important} -#header>h1:first-child{margin-top:1.25rem} -body.book #header{text-align:center} -body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0} -body.book #header .details{border:0!important;display:block;padding:0!important} -body.book #header .details span:first-child{margin-left:0!important} -body.book #header .details br{display:block} -body.book #header .details br+span:before{content:none!important} -body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important} -body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always} -.listingblock code[data-lang]:before{display:block} -#footer{background:none!important;padding:0 .9375em} -#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em} -.hide-on-print{display:none!important} -.print-only{display:block!important} -.hide-for-print{display:none!important} -.show-for-print{display:inherit!important}} -</style> -</head> -<body class="article toc2 toc-left"> -<div id="header"> -<h1>API ServiceInventory</h1> -<div id="toc" class="toc2"> -<div id="toctitle">Table of Contents</div> -<ul class="sectlevel1"> -<li><a href="#_overview">Overview</a> -<ul class="sectlevel2"> -<li><a href="#_api_url">Api URL</a></li> -<li><a href="#_version_information">Version information</a></li> -<li><a href="#_uri_scheme">URI scheme</a></li> -<li><a href="#_tags">Tags</a></li> -<li><a href="#_produces">Produces</a></li> -</ul> -</li> -<li><a href="#_paths">Resources</a> -<ul class="sectlevel2"> -<li><a href="#_service_resource">Service</a></li> -</ul> -</li> -<li><a href="#_definitions">Definitions</a> -<ul class="sectlevel2"> -<li><a href="#_errorrepresentation">ErrorRepresentation</a></li> -<li><a href="#_listrelatedpartyref">ListRelatedPartyRef</a></li> -<li><a href="#_listservice">ListService</a></li> -<li><a href="#_listservicespecificationref">ListServiceSpecificationRef</a></li> -<li><a href="#_relatedpartyref">RelatedPartyRef</a></li> -<li><a href="#_service">Service</a></li> -<li><a href="#_servicecharacteristic">ServiceCharacteristic</a></li> -<li><a href="#_servicespecificationref">ServiceSpecificationRef</a></li> -<li><a href="#_supportingresource">SupportingResource</a></li> -<li><a href="#_value">Value</a></li> -</ul> -</li> -</ul> -</div> -</div> -<div id="content"> -<div class="sect1"> -<h2 id="_overview">Overview</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_api_url">Api URL</h3> -<div class="paragraph"> -<p><a href="https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/5ymwb6l1dR/swagger.json">Swagger UI</a></p> -</div> -<div class="paragraph"> -<p><a href="https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/5ymwb6l1dR/plantuml&noCache=137264.0">plant UML UI</a></p> -</div> -<div class="paragraph"> -<p>serviceInventory API designed for ONAP Beijing Release. -This API is build from TMF open API18.0 (applying TMF Guideline 3.0) -only operation GET (by id & byList) for resource serviceSpecification is available</p> -</div> -</div> -<div class="sect2"> -<h3 id="_version_information">Version information</h3> -<div class="paragraph"> -<p><em>Version</em> : 3.0.0_inProgress</p> -</div> -</div> -<div class="sect2"> -<h3 id="_uri_scheme">URI scheme</h3> -<div class="paragraph"> -<p><em>Host</em> : serverRoot<br> -<em>BasePath</em> : /nbi/api/v3<br> -<em>Schemes</em> : HTTPS</p> -</div> -</div> -<div class="sect2"> -<h3 id="_tags">Tags</h3> -<div class="ulist"> -<ul> -<li> -<p>Service</p> -</li> -</ul> -</div> -</div> -<div class="sect2"> -<h3 id="_produces">Produces</h3> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_paths">Resources</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_service_resource">Service</h3> -<div class="sect3"> -<h4 id="_servicefind">List services</h4> -<div class="literalblock"> -<div class="content"> -<pre>GET /service</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description">Description</h5> -<div class="paragraph"> -<p>This operation list service entities. -Attribute selection is restricted. -fields attribute may be used to filter retrieved attribute(s) for each service</p> -</div> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 22.2222%;"> -<col style="width: 33.3333%;"> -<col style="width: 44.4445%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>fields</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>relatedParty.id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceSpecification.id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceSpecification.name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_listservice">ListService</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_produces_2">Produces</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -<div class="sect3"> -<h4 id="_serviceget">Retrieve a service</h4> -<div class="literalblock"> -<div class="content"> -<pre>GET /service/{id}</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description_2">Description</h5> -<div class="paragraph"> -<p>This operation retrieves a service entity. -Attribute selection is enabled for all first level attributes.</p> -</div> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters_2">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 22.2222%;"> -<col style="width: 33.3333%;"> -<col style="width: 44.4445%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Path</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>relatedParty.id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceSpecification.id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceSpecification.name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses_2">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_service">Service</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_produces_3">Produces</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_definitions">Definitions</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_errorrepresentation">ErrorRepresentation</h3> -<div class="paragraph"> -<p>This class is used to describe error. -for nbi Beijing release we do not manage additional error for serviceCatalog</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">it provides a link to the schema describing a REST resource.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">The class type of a REST resource.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>code</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Application related code (as defined in the API or from a common list)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int32)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>message</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Text that provide more details and corrective actions related to the error. This can be shown to a client user.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>reason</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Text that explains the reason for error. This can be shown to a client user.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>referenceError</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">url pointing to documentation describing the error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>status</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">http error code extension like 400-2</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_listrelatedpartyref">ListRelatedPartyRef</h3> -<div class="paragraph"> -<p>This class is used to structure list of service(s) retrieved</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of a related party</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>role</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Role played by the related party - only role “ONAPcustomer” is managed in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_listservice">ListService</h3> -<div class="paragraph"> -<p>This class is used to structure list of service(s) retrieved</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of the service</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the service</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>relatedParty</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_listrelatedpartyref">ListRelatedPartyRef</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceSpecification</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_listservicespecificationref">ListServiceSpecificationRef</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_listservicespecificationref">ListServiceSpecificationRef</h3> -<div class="paragraph"> -<p>This class is used to structure list of service(s) retrieved</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of the service specification</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the required service specification</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_relatedpartyref">RelatedPartyRef</h3> -<div class="paragraph"> -<p>RelatedParty reference. A related party defines party or party role linked to a specific entity. -Only ONAP Customer is managed in Beijing release.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@referredType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not managed in the Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>href</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Reference of a related party. -Not filled in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of a related party</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>role</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Role played by the related party. -Filled with 'ONAPcustomer'</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_service">Service</h3> -<div class="paragraph"> -<p>Instantiated service (service_instance) in AAI</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@baseType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not managed in Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not managed in Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">This attribute allows to dynamically extends TMF class. Not used in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>characteristic</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_servicecharacteristic">ServiceCharacteristic</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>hasStarted</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">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 -Not managed in Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">boolean</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>href</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Reference of the service -Not managed in Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of the service - Valued with service-instance-id</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the service - Valued with service-instance-name</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>relatedParty</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_relatedpartyref">RelatedPartyRef</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceSpecification</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_servicespecificationref">ServiceSpecificationRef</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>state</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">State of the service. Not managed in Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>supportingResource</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_supportingresource">SupportingResource</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service type - valued with 'service-instance'</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_servicecharacteristic">ServiceCharacteristic</h3> -<div class="paragraph"> -<p>A list of name value pairs that define the service characteristics -Not managed in Beijing release.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the characteristic -Not managed in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>value</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_value">Value</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>valueType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Type of value for this characteristic. -Not managed in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_servicespecificationref">ServiceSpecificationRef</h3> -<div class="paragraph"> -<p>Service specification reference: ServiceSpecification of this service (catalog information)</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@referredType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">This attribute allows to dynamically extends TMF class. Valued with 'ONAPservice'. We used this features to add following attribute: invariantUUID</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not managed in Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>href</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Reference of the service specification. -not managed in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of the service specification. valued to model-version-id</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>invariantUUID</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @referredType - model-invariant-id</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the required service specification</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>version</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service specification version. -Not managed in Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_supportingresource">SupportingResource</h3> -<div class="paragraph"> -<p>Supporting resource - A supportingResource will be retrieved for each relationship of the relationship-list where related-link describe a vnf</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@referredType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">This attribute allows to dynamically extends TMF class. Valued with 'ONAP resource'. We used this features to add following attributes: - status - modelInvariantId - modelVersionId - modelCustomisationId</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not managed in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>href</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Reference of the supporting resource</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of the supporting resource - Valued to vnf-id</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>modelCustomisationId</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @referredType - valued with model-customisation-id</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>modelInvariantId</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @referredType - valued with model-invariant-id</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>modelVersionId</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @referredType - valued with model-verson-id</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the supporting resource - Valued with vnf_-name</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>role</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not managed in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>status</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Additional attribute (not in the TMF API) - extended through @referredType - valued with prov-status</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_value">Value</h3> -<div class="paragraph"> -<p>Structure used to describe characteristic value. -Not managed in Beijing release.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not managed in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not managed in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceCharacteristicValue</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not managed in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -</div> -</div> -</div> -<div id="footer"> -<div id="footer-text"> -Last updated 2018-09-12 13:43:17 +00:00 -</div> -</div> -</body> -</html>
\ No newline at end of file diff --git a/docs/offeredapis/serviceInventory/markDown.md b/docs/offeredapis/serviceInventory/markDown.md deleted file mode 100644 index c65263b..0000000 --- a/docs/offeredapis/serviceInventory/markDown.md +++ /dev/null @@ -1,287 +0,0 @@ -# API ServiceInventory - - -<a name="overview"></a> -## Overview - -### Api URL - -[Swagger UI](https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/5ymwb6l1dR/swagger.json) - - -[plant UML UI](https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/5ymwb6l1dR/plantuml&noCache=137264.0) - -serviceInventory API designed for ONAP Beijing Release. -This API is build from TMF open API18.0 (applying TMF Guideline 3.0) -only operation GET (by id & byList) for resource serviceSpecification is available - - -### Version information -*Version* : 3.0.0_inProgress - - -### URI scheme -*Host* : serverRoot -*BasePath* : /nbi/api/v3 -*Schemes* : HTTPS - - -### Tags - -* Service - - -### Produces - -* `application/json;charset=utf-8` - - -<a name="paths"></a> -## Resources - -<a name="service_resource"></a> -### Service - -<a name="servicefind"></a> -#### List services -``` -GET /service -``` - - -##### Description -This operation list service entities. -Attribute selection is restricted. -fields attribute may be used to filter retrieved attribute(s) for each service - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Schema| -|---|---|---| -|**Query**|**fields** <br>*optional*|string| -|**Query**|**id** <br>*optional*|string| -|**Query**|**relatedParty.id** <br>*optional*|string| -|**Query**|**serviceSpecification.id** <br>*optional*|string| -|**Query**|**serviceSpecification.name** <br>*optional*|string| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**200**|Success|< [ListService](#listservice) > array| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Produces - -* `application/json;charset=utf-8` - - -<a name="serviceget"></a> -#### Retrieve a service -``` -GET /service/{id} -``` - - -##### Description -This operation retrieves a service entity. -Attribute selection is enabled for all first level attributes. - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Schema| -|---|---|---| -|**Path**|**id** <br>*required*|string| -|**Query**|**relatedParty.id** <br>*optional*|string| -|**Query**|**serviceSpecification.id** <br>*optional*|string| -|**Query**|**serviceSpecification.name** <br>*optional*|string| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**200**|Success|[Service](#service)| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Produces - -* `application/json;charset=utf-8` - - -<a name="definitions"></a> -## Definitions - -<a name="errorrepresentation"></a> -### ErrorRepresentation -This class is used to describe error. -for nbi Beijing release we do not manage additional error for serviceCatalog - - -|Name|Description|Schema| -|---|---|---| -|**@schemaLocation** <br>*optional*|it provides a link to the schema describing a REST resource.|string| -|**@type** <br>*optional*|The class type of a REST resource.|string| -|**code** <br>*required*|Application related code (as defined in the API or from a common list)|integer (int32)| -|**message** <br>*optional*|Text that provide more details and corrective actions related to the error. This can be shown to a client user.|string| -|**reason** <br>*required*|Text that explains the reason for error. This can be shown to a client user.|string| -|**referenceError** <br>*optional*|url pointing to documentation describing the error|string| -|**status** <br>*optional*|http error code extension like 400-2|string| - - -<a name="listrelatedpartyref"></a> -### ListRelatedPartyRef -This class is used to structure list of service(s) retrieved - - -|Name|Description|Schema| -|---|---|---| -|**id** <br>*optional*|Unique identifier of a related party|string| -|**role** <br>*optional*|Role played by the related party - only role “ONAPcustomer” is managed in Beijing release.|string| - - -<a name="listservice"></a> -### ListService -This class is used to structure list of service(s) retrieved - - -|Name|Description|Schema| -|---|---|---| -|**id** <br>*optional*|Unique identifier of the service|string| -|**name** <br>*optional*|Name of the service|string| -|**relatedParty** <br>*optional*||[ListRelatedPartyRef](#listrelatedpartyref)| -|**serviceSpecification** <br>*optional*||[ListServiceSpecificationRef](#listservicespecificationref)| - - -<a name="listservicespecificationref"></a> -### ListServiceSpecificationRef -This class is used to structure list of service(s) retrieved - - -|Name|Description|Schema| -|---|---|---| -|**id** <br>*optional*|Unique identifier of the service specification|string| -|**name** <br>*optional*|Name of the required service specification|string| - - -<a name="relatedpartyref"></a> -### RelatedPartyRef -RelatedParty reference. A related party defines party or party role linked to a specific entity. -Only ONAP Customer is managed in Beijing release. - - -|Name|Description|Schema| -|---|---|---| -|**@referredType** <br>*optional*|Not managed in the Beijing release.|string| -|**href** <br>*optional*|Reference of a related party.<br>Not filled in Beijing release.|string| -|**id** <br>*optional*|Unique identifier of a related party|string| -|**role** <br>*optional*|Role played by the related party.<br>Filled with 'ONAPcustomer'|string| - - -<a name="service"></a> -### Service -Instantiated service (service_instance) in AAI - - -|Name|Description|Schema| -|---|---|---| -|**@baseType** <br>*optional*|Not managed in Beijing release|string| -|**@schemaLocation** <br>*optional*|Not managed in Beijing release|string| -|**@type** <br>*optional*|This attribute allows to dynamically extends TMF class. Not used in Beijing release.|string| -|**characteristic** <br>*optional*||< [ServiceCharacteristic](#servicecharacteristic) > array| -|**hasStarted** <br>*optional*|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<br>Not managed in Beijing release|boolean| -|**href** <br>*optional*|Reference of the service<br>Not managed in Beijing release|string| -|**id** <br>*optional*|Unique identifier of the service - Valued with service-instance-id|string| -|**name** <br>*optional*|Name of the service - Valued with service-instance-name|string| -|**relatedParty** <br>*optional*||< [RelatedPartyRef](#relatedpartyref) > array| -|**serviceSpecification** <br>*optional*||[ServiceSpecificationRef](#servicespecificationref)| -|**state** <br>*optional*|State of the service. Not managed in Beijing release|string| -|**supportingResource** <br>*optional*||< [SupportingResource](#supportingresource) > array| -|**type** <br>*optional*|Service type - valued with 'service-instance'|string| - - -<a name="servicecharacteristic"></a> -### ServiceCharacteristic -A list of name value pairs that define the service characteristics -Not managed in Beijing release. - - -|Name|Description|Schema| -|---|---|---| -|**name** <br>*required*|Name of the characteristic<br>Not managed in Beijing release.|string| -|**value** <br>*optional*||[Value](#value)| -|**valueType** <br>*optional*|Type of value for this characteristic.<br>Not managed in Beijing release.|string| - - -<a name="servicespecificationref"></a> -### ServiceSpecificationRef -Service specification reference: ServiceSpecification of this service (catalog information) - - -|Name|Description|Schema| -|---|---|---| -|**@referredType** <br>*optional*|This attribute allows to dynamically extends TMF class. Valued with 'ONAPservice'. We used this features to add following attribute: invariantUUID|string| -|**@schemaLocation** <br>*optional*|Not managed in Beijing release|string| -|**href** <br>*optional*|Reference of the service specification.<br>not managed in Beijing release.|string| -|**id** <br>*optional*|Unique identifier of the service specification. valued to model-version-id|string| -|**invariantUUID** <br>*optional*|Additional attribute (not in the TMF API) - extended through @referredType - model-invariant-id|string| -|**name** <br>*optional*|Name of the required service specification|string| -|**version** <br>*optional*|Service specification version.<br>Not managed in Beijing release|string| - - -<a name="supportingresource"></a> -### SupportingResource -Supporting resource - A supportingResource will be retrieved for each relationship of the relationship-list where related-link describe a vnf - - -|Name|Description|Schema| -|---|---|---| -|**@referredType** <br>*optional*|This attribute allows to dynamically extends TMF class. Valued with 'ONAP resource'. We used this features to add following attributes:<br> status <br> modelInvariantId<br> modelVersionId<br> modelCustomisationId|string| -|**@schemaLocation** <br>*optional*|Not managed in Beijing release.|string| -|**href** <br>*optional*|Reference of the supporting resource|string| -|**id** <br>*optional*|Unique identifier of the supporting resource - Valued to vnf-id|string| -|**modelCustomisationId** <br>*optional*|Additional attribute (not in the TMF API) - extended through @referredType - valued with model-customisation-id|string| -|**modelInvariantId** <br>*optional*|Additional attribute (not in the TMF API) - extended through @referredType - valued with model-invariant-id|string| -|**modelVersionId** <br>*optional*|Additional attribute (not in the TMF API) - extended through @referredType - valued with model-verson-id|string| -|**name** <br>*optional*|Name of the supporting resource - Valued with vnf_-name|string| -|**role** <br>*optional*|Not managed in Beijing release.|string| -|**status** <br>*optional*|Additional attribute (not in the TMF API) - extended through @referredType - valued with prov-status|string| - - -<a name="value"></a> -### Value -Structure used to describe characteristic value. -Not managed in Beijing release. - - -|Name|Description|Schema| -|---|---|---| -|**@schemaLocation** <br>*optional*|Not managed in Beijing release.|string| -|**@type** <br>*optional*|Not managed in Beijing release.|string| -|**serviceCharacteristicValue** <br>*optional*|Not managed in Beijing release.|string| - diff --git a/docs/offeredapis/serviceOrder/asciiDoc.adoc b/docs/offeredapis/serviceOrder/asciiDoc.adoc deleted file mode 100644 index 72ba736..0000000 --- a/docs/offeredapis/serviceOrder/asciiDoc.adoc +++ /dev/null @@ -1,1512 +0,0 @@ -= API ServiceOrder - - -[[_overview]] -== Overview - -=== Api URL - -https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/Ve1zj3V1gj/swagger.json[Swagger UI] - - -https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/Ve1zj3V1gj/plantuml&noCache=366455.0[plant UML UI] - -serviceOrder API designed for ONAP. -This API is build from TMF open API18.0 (applying TMF Guideline 3.0); -Only operations GET (by id and list) and POST are available. - - -=== Version information -[%hardbreaks] -__Version__ : 3.0.0_inProgress - - -=== URI scheme -[%hardbreaks] -__Host__ : serverRoot -__BasePath__ : /nbi/api/v3 -__Schemes__ : HTTPS - - -=== Tags - -* Hub -* Notification -* ServiceOrder : A Service Order is a type of order which can be used to describe a group of operations on service – one service order item per service. An action at the level of the service order item describe the operation to be done on a service (add, terminate for example). The service order is triggered from the BSS system in charge of the product order management to ONAP that will manage the service fulfillment. - - -=== Produces - -* `application/json;charset=utf-8` - - -[[_paths]] -== Resources - -[[_hub_resource]] -=== Hub - -[[_hubcreate]] -==== Create Hub -.... -POST /hub -.... - - -===== Description -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^4"] -|=== -|Type|Name|Schema -|**Body**|**Hub** + -__required__|<<_createhub,CreateHub>> -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**201**|Success + -**Headers** : + -`location` (string)|file -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Consumes - -* `application/json;charset=utf-8` - - -[[_hubfind]] -==== Retrieve a lits of hub -.... -GET /hub -.... - - -===== Description -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^4"] -|=== -|Type|Name|Schema -|**Query**|**eventType** + -__optional__|enum (ServiceOrderCreationNotification, ServiceOrderStateChangeNotification, ServiceOrderItemStateChangeNotification) -|**Query**|**id** + -__optional__|string -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**200**|Success|< <<_hub,Hub>> > array -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Produces - -* `application/json;charset=utf-8` - - -[[_hubget]] -==== Retrieve an HUB by id -.... -GET /hub/{hubId} -.... - - -===== Description -Retrieve an HUB by id - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^4"] -|=== -|Type|Name|Schema -|**Path**|**hubId** + -__required__|string -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**200**|Success|<<_hub,Hub>> -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Produces - -* `application/json;charset=utf-8` - - -[[_hubdelete]] -==== delete hub -.... -DELETE /hub/{hubId} -.... - - -===== Description -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^4"] -|=== -|Type|Name|Schema -|**Path**|**hubId** + -__required__|string -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**204**|Success|No Content -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -[[_notification_resource]] -=== Notification - -[[_notificationserviceordercreationnotification]] -==== Service order creation notification -.... -POST /notification/serviceOrderCreationNotification -.... - - -===== Description -Service order creation notification - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^4"] -|=== -|Type|Name|Schema -|**Body**|**serviceOrderCreationNotification** + -__required__|<<_serviceordercreationnotification,ServiceOrderCreationNotification>> -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**204**|Success|No Content -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Consumes - -* `application/json;charset=utf-8` - - -[[_notificationserviceorderitemstatechangenotification]] -==== ServiceOrder Item State Change Notification description -.... -POST /notification/serviceOrderItemStateChangeNotification -.... - - -===== Description -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^4"] -|=== -|Type|Name|Schema -|**Body**|**serviceOrderItemStateChangeNotification** + -__required__|<<_serviceorderitemstatechangenotification,ServiceOrderItemStateChangeNotification>> -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**204**|Success|No Content -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Consumes - -* `application/json;charset=utf-8` - - -[[_notificationserviceorderstatechangenotification]] -==== Service order state change notification description -.... -POST /notification/serviceOrderStateChangeNotification -.... - - -===== Description -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^4"] -|=== -|Type|Name|Schema -|**Body**|**serviceOrderstateChangeNotification** + -__required__|<<_serviceorderstatechangenotification,ServiceOrderStateChangeNotification>> -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**204**|Success|No Content -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Consumes - -* `application/json;charset=utf-8` - - -[[_serviceorder_resource]] -=== ServiceOrder -A Service Order is a type of order which can be used to describe a group of operations on service – one service order item per service. An action at the level of the service order item describe the operation to be done on a service (add, terminate for example). The service order is triggered from the BSS system in charge of the product order management to ONAP that will manage the service fulfillment. - - -[[_serviceordercreate]] -==== Create a service order -.... -POST /serviceOrder -.... - - -===== Description -This operation creates a service order entity. -The TMF Open API specification document provides the list of mandatory and non mandatory attributes when creating a ServiceOrder, including any possible rule conditions and applicable default values. -POST should be used without specifying the id and the href, the Service Order Management system is in charge of generating the id + href for the ServiceOrder. - -In Beijing Release, NBI will use only POST {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API. This mean that only the 'service-instance' level will be created in AAI. Additional resource like VNF and/OR VF are not created. - -In Casablanca release, NBI has been improved to also be able to use POST {{url}}/e2eServiceInstances/v3 SO API. This API is able to instantiate in ONAP E2E service; This is useful for CCVPN and VoLTE UC. -Depending on the service category defined in SDC, NBI will use one or the other SO API. If category starts with e2e, NBI will use {url}}/e2eServiceInstances/v3 SO API - else it will use {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API. - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - -* 100: OrderItem with 'add' action but serviceSpecification id missing - -* 101: OrderItem with 'change'/'noChange'/'remove' but service id missing - -* 102: OrderItem with 'add' action - serviceSpecification id provided but not existing - -* 103: OrderItem with 'add' action but service id already existing in the inventory - -* 104: A customer for existing service(s) is provided but he did not exist - -* 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory - -* 106: [Not managed for current Relese] Issue with lcpCloudRegionId and tenantId provided - - -===== Parameters - -[options="header", cols=".^2,.^3,.^4"] -|=== -|Type|Name|Schema -|**Body**|**serviceOrder** + -__required__|<<_createserviceorder,CreateServiceOrder>> -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**201**|Success|<<_serviceorder,ServiceOrder>> -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error - -Specific encapsulated business errors for current operation - -* 100: OrderItem with 'add' action but serviceSpecification id missing - -* 101: OrderItem with 'change'/'noChange'/'remove' but service id missing - -* 102: OrderItem with 'add' action - serviceSpecification id provided but not existing - -* 103: OrderItem with 'add' action but service id already existing in the inventory - -* 104: A customer for existing service(s) is provided but he did not exist - -* 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory - -* 106: [Not managed for current Relese] Issue with lcpCloudRegionId and tenantId provided|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Consumes - -* `application/json;charset=utf-8` - - -===== Produces - -* `application/json;charset=utf-8` - - -[[_serviceorderfind]] -==== List service orders -.... -GET /serviceOrder -.... - - -===== Description -Retrieve and list service order entities according to given criteria. -Only a predefined set of attribute is proposed. -Attribute selection could be described in the fields attribute. - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^9,.^4"] -|=== -|Type|Name|Description|Schema -|**Query**|**description** + -__optional__||string -|**Query**|**externalId** + -__optional__||string -|**Query**|**fields** + -__optional__|this attribute could be used to filter retrieved attribute(s) and/or sort SO.|string -|**Query**|**limit** + -__optional__|The maximum number of elements to retrieve (it can be greater than the actual available number of items).|integer (int32) -|**Query**|**offset** + -__optional__|The index of the first element to retrieve. Zero is the first element of the collection.|integer (int32) -|**Query**|**orderDate.gt** + -__optional__|order date greather than|string -|**Query**|**orderDate.lt** + -__optional__|order date lower than|string -|**Query**|**state** + -__optional__|state of the order(s) to be retrieved|string -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**200**|Success + -**Headers** : + -`X-Total-Count` (integer (int32)) + -`X-Result-Count` (integer (int32))|< <<_serviceorder,ServiceOrder>> > array -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Produces - -* `application/json;charset=utf-8` - - -[[_serviceorderget]] -==== Retrieve a service order -.... -GET /serviceOrder/{id} -.... - - -===== Description -This operation retrieves a service order entity. -Attribute selection is enabled for all first level attributes. - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -===== Parameters - -[options="header", cols=".^2,.^3,.^9,.^4"] -|=== -|Type|Name|Description|Schema -|**Path**|**id** + -__required__||string -|**Query**|**fields** + -__optional__|Attribute selection|string -|=== - - -===== Responses - -[options="header", cols=".^2,.^14,.^4"] -|=== -|HTTP Code|Description|Schema -|**200**|Success|<<_serviceorder,ServiceOrder>> -|**400**|Bad Request - -List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>> -|**401**|Unauthorized - -List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>> -|**403**|Forbidden - -List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>> -|**404**|Not Found - -List of supported error codes: -- 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>> -|**422**|Unprocessable entity - -Functional error|<<_errorrepresentation,ErrorRepresentation>> -|**500**|Internal Server Error - -List of supported error codes: -- 1: Internal error|<<_errorrepresentation,ErrorRepresentation>> -|**503**|Service Unavailable - -List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>> -|=== - - -===== Produces - -* `application/json;charset=utf-8` - - -[[_definitions]] -== Definitions - -[[_actiontype]] -=== ActionType -Action type to be describer on the order item. -modify is not managed in Beijing release - -__Type__ : enum (add, modify, delete, noChange) - - -[[_createhub]] -=== CreateHub -This structure is used as a request for POST Hub operation - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**callback** + -__required__|Address where notification must be send|string -|**query** + -__required__|The query must have an eventType=notificationName information. -Optionally a ? could be added to reduce hub. -query”:”eventType = ServiceOrderStateChangeNotification”&serviceOrder.state=COMPLETED|string -|=== - - -[[_createserviceorder]] -=== CreateServiceOrder -This structure is used in the operation POST for a serviceOrder request. -Attribute description is not accurate and should be find in the serviceOrder class. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@baseType** + -__optional__||string -|**@schemaLocation** + -__optional__||string -|**@type** + -__optional__||string -|**category** + -__optional__|Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, …)|string -|**description** + -__optional__|A free-text description of the service order|string -|**externalId** + -__optional__|ID given by the consumer and only understandable by him (to facilitate his searches)|string -|**orderItem** + -__optional__||< <<_createserviceorderitem,CreateServiceOrderItem>> > array -|**orderRelationship** + -__optional__||< <<_orderrelationship,OrderRelationship>> > array -|**priority** + -__optional__|A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)|string -|**relatedParty** + -__optional__||< <<_relatedparty,RelatedParty>> > array -|**requestedCompletionDate** + -__optional__|Requested delivery date from the requestor perspective|string (date-time) -|**requestedStartDate** + -__optional__|Order start date wished by the requestor|string (date-time) -|=== - - -[[_createserviceorderitem]] -=== CreateServiceOrderItem -This structure is used in the operation POST for a serviceOrder request to describe an item. -Attribute description is not accurate and should be find in the serviceOrderItem class. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@baseType** + -__optional__|Indicates the base type of the resource.|string -|**@schemaLocation** + -__optional__|A link to the schema describing this REST resource|string -|**@type** + -__optional__|Indicates the type of resource.|string -|**action** + -__optional__||<<_actiontype,ActionType>> -|**id** + -__required__|Identifier of the line item (generally it is a sequence number 01, 02, 03, …)|string -|**orderItemRelationship** + -__optional__||< <<_orderitemrelationship,OrderItemRelationship>> > array -|**service** + -__required__||<<_service,Service>> -|=== - - -[[_errorrepresentation]] -=== ErrorRepresentation -Representation of an error. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@schemaLocation** + -__optional__|it provides a link to the schema describing a REST resource|string -|**@type** + -__optional__|The class type of a REST resource|string -|**code** + -__required__|Application related code (as defined in the API or from a common list)|integer (int32) -|**message** + -__optional__|Text that provide more details and corrective actions related to the error. This can be shown to a client user|string -|**reason** + -__required__|Text that explains the reason for error. This can be shown to a client user.|string -|**referenceError** + -__optional__|url pointing to documentation describing the error|string -|**status** + -__optional__|http error code extension like 400-2|string -|=== - - -[[_eventtype]] -=== EventType -__Type__ : enum (ServiceOrderCreationNotification, ServiceOrderStateChangeNotification, ServiceOrderItemStateChangeNotification) - - -[[_hub]] -=== Hub -An HUB resource is used by client side to subscribe to notification. -Not managed in the Beijing release. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**callback** + -__required__|Address where notification must be send|string -|**id** + -__optional__|Hub Id|string -|**query** + -__required__||string -|=== - - -[[_notification]] -=== Notification -Used to describe notification for this API - -__Type__ : object - - -[[_orderitemrelationship]] -=== OrderItemRelationship -Linked order item to the one containing this attribute. -nbi component used this relationship to sort request to ONAP. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**id** + -__required__|Unique identifier of an order item|string -|**type** + -__required__||<<_relationshiptype,RelationshipType>> -|=== - - -[[_ordermessage]] -=== OrderMessage -An optional array of messages associated with the Order - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**code** + -__optional__|A code associated to this message|string -|**correctionRequired** + -__required__|Indicator that an action is required to allow service order fullfilment to follow up|boolean -|**field** + -__optional__|Service Order attribute related to this error message|string -|**messageInformation** + -__optional__|Message related to this order|string -|**severity** + -__required__||<<_severitymessage,SeverityMessage>> -|=== - - -[[_orderrelationship]] -=== OrderRelationship -Linked order to the one containing this attribute. -This relationship is not used to sort ONAP request. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@referredType** + -__optional__|Type of the referred order.|string -|**href** + -__optional__|A hyperlink to the related order|string -|**id** + -__required__|The id of the related order|string -|**type** + -__optional__|The type of related order, can be : “dependency” if the order needs to be “not started” until another order item is complete (a service order in this case) or “cross-ref” to keep track of the source order (a productOrder)|string -|=== - - -[[_relatedparty]] -=== RelatedParty -A related party defines party which are involved in this order and the role they are playing. -for Beijing release: -With the current version of APIs used from SO and AAI we need to manage a ‘customer’. This customer concept is confusing with Customer BSS concept. We took the following rules to manage the ‘customer’ information: -o It could be provided through a serviceOrder in the service Order a relatedParty with role ‘ONAPcustomer’ should be provided in the serviceOrder header (we will not consider in this release the party at item level); External API component will check if this customer exists and create it in AAI if not. -o If no relatedParty are provided the service will be affected to ‘generic’ customer (dummy customer) – we assume this ‘generic’ customer always exists. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@referredType** + -__optional__||string -|**href** + -__optional__|An hyperlink to the party - not used in Beijnig release|string -|**id** + -__required__|Unique identifier of a related party|string -|**name** + -__optional__|Name of the related party|string -|**role** + -__required__|The role of the related party (e.g. Owner, requester, fullfiller etc). -ONLY 'ONAPcustomer' is considered|string -|=== - - -[[_relationshiptype]] -=== RelationshipType -Relationship type; -Only reliesOn is managed in Beijing release. - -__Type__ : enum (reliesOn) - - -[[_service]] -=== Service -Service (to be added, modified, deleted) description - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@schemaLocation** + -__optional__|The URL to get the resource schema. -Not managed in Beijing Release|string -|**@type** + -__optional__|To define the service type -Not managed in Beijing Release|string -|**href** + -__optional__|Reference to the Service (useful for delete or modify command). -Not managed in Beijing release.|string -|**id** + -__required__|Identifier of a service instance. -It must be valued if orderItem action is 'delete' and corresponds to a AAI service.id|string -|**name** + -__optional__|Name of the service - When orderItem action is 'add' this name will be used in ONAP/SO request as InstaceName.|string -|**relatedParty** + -__optional__||< <<_relatedparty,RelatedParty>> > array -|**serviceCharacteristic** + -__optional__||< <<_servicecharacteristic,ServiceCharacteristic>> > array -|**serviceRelationship** + -__optional__||< <<_servicerelationship,ServiceRelationship>> > array -|**serviceSpecification** + -__optional__||<<_servicespecificationref,ServiceSpecificationRef>> -|**serviceState** + -__optional__|The lifecycle state of the service requested; -Not managed in Beijing release.|string -|=== - - -[[_servicecharacteristic]] -=== ServiceCharacteristic -ServiceCharacteristic - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**name** + -__required__|Name of characteristic|string -|**value** + -__optional__||<<_value,Value>> -|**valueType** + -__optional__||string -|=== - - -[[_serviceorder]] -=== ServiceOrder -A Service Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@baseType** + -__optional__||string -|**@schemaLocation** + -__optional__||string -|**@type** + -__optional__||string -|**category** + -__optional__|Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, …)|string -|**completionDateTime** + -__optional__|Date when the order was completed|string (date-time) -|**description** + -__optional__|A free-text description of the service order|string -|**expectedCompletionDate** + -__optional__||string (date-time) -|**externalId** + -__optional__|ID given by the consumer and only understandable by him (to facilitate his searches)|string -|**href** + -__optional__|Hyperlink to access the order|string -|**id** + -__required__|ID created on repository side|string -|**orderDate** + -__optional__||string (date-time) -|**orderItem** + -__optional__||< <<_serviceorderitem,ServiceOrderItem>> > array -|**orderMessage** + -__optional__||< <<_ordermessage,OrderMessage>> > array -|**orderRelationship** + -__optional__||< <<_orderrelationship,OrderRelationship>> > array -|**priority** + -__optional__|A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)|string -|**relatedParty** + -__optional__||< <<_relatedparty,RelatedParty>> > array -|**requestedCompletionDate** + -__optional__|Requested delivery date from the requestor perspective|string (date-time) -|**requestedStartDate** + -__optional__|Order start date wished by the requestor|string (date-time) -|**startDate** + -__optional__|Date when the order was started for processing|string (date-time) -|**state** + -__optional__||<<_statetype,StateType>> -|=== - - -[[_serviceordercreationnotification]] -=== ServiceOrderCreationNotification -Notification structure for a service order creation notification - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**event** + -__required__||<<_serviceordersummary,ServiceOrderSummary>> -|**eventDate** + -__required__||string (date-time) -|**eventId** + -__required__||string -|**eventType** + -__required__|**Default** : `"ServiceOrderCreationNotification"`|string -|=== - - -[[_serviceorderitem]] -=== ServiceOrderItem -An identified part of the order. A service order is decomposed into one or more order items. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@baseType** + -__optional__|not used in Beijing relase|string -|**@schemaLocation** + -__optional__|not used in Beijing relase|string -|**@type** + -__optional__|Used to extend the order item. -not used in Beijing relase|string -|**action** + -__optional__||<<_actiontype,ActionType>> -|**id** + -__required__|Identifier of the line item (generally it is a sequence number 01, 02, 03, …)|string -|**orderItemMessage** + -__optional__||< <<_ordermessage,OrderMessage>> > array -|**orderItemRelationship** + -__optional__||< <<_orderitemrelationship,OrderItemRelationship>> > array -|**percentProgress** + -__optional__|Progress of the delivery in percentage.|string -|**service** + -__required__||<<_service,Service>> -|**state** + -__optional__||<<_statetype,StateType>> -|=== - - -[[_serviceorderitemstatechangenotification]] -=== ServiceOrderItemStateChangeNotification - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**event** + -__required__||<<_serviceordersummarywithitem,ServiceOrderSummaryWithItem>> -|**eventDate** + -__required__||string (date-time) -|**eventId** + -__required__||string -|**eventType** + -__required__|**Default** : `"ServiceOrderStateChangeNotification"`|string -|=== - - -[[_serviceorderitemsummary]] -=== ServiceOrderItemSummary -Service Order item summary to be used for notification - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**action** + -__optional__||<<_actiontype,ActionType>> -|**id** + -__required__|Identifier of the line item (generally it is a sequence number 01, 02, 03, …)|string -|**service** + -__required__||<<_service,Service>> -|**state** + -__optional__||<<_statetype,StateType>> -|=== - - -[[_serviceorderstatechangenotification]] -=== ServiceOrderStateChangeNotification -Service order state change notification description - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**event** + -__required__||<<_serviceordersummary,ServiceOrderSummary>> -|**eventDate** + -__required__||string (date-time) -|**eventId** + -__required__||string -|**eventType** + -__required__|**Default** : `"ServiceOrderStateChangeNotification"`|string -|=== - - -[[_serviceordersummary]] -=== ServiceOrderSummary -This structure is used to provide a subset of serviceOrder attributes to be provided in particular for notification messages - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**completionDateTime** + -__optional__|Date when the order was completed|string (date-time) -|**externalId** + -__optional__|ID given by the consumer and only understandable by him (to facilitate his searches)|string -|**href** + -__optional__|Hyperlink to access the order|string -|**id** + -__required__|ID created on repository side|string -|**orderDate** + -__optional__||string (date-time) -|**state** + -__optional__||<<_statetype,StateType>> -|=== - - -[[_serviceordersummarywithitem]] -=== ServiceOrderSummaryWithItem -Service order item summary with item description - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**completionDateTime** + -__optional__|Date when the order was completed|string (date-time) -|**externalId** + -__optional__|ID given by the consumer and only understandable by him (to facilitate his searches)|string -|**href** + -__optional__|Hyperlink to access the order|string -|**id** + -__required__|ID created on repository side|string -|**orderDate** + -__optional__||string (date-time) -|**orderItem** + -__optional__||< <<_serviceorderitemsummary,ServiceOrderItemSummary>> > array -|**state** + -__optional__||<<_statetype,StateType>> -|=== - - -[[_serviceref]] -=== ServiceRef -Service references - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**href** + -__optional__|Reference of the service|string -|**id** + -__required__|Unique identifier of the service|string -|=== - - -[[_servicerelationship]] -=== ServiceRelationship -Linked Services to the one instantiate -nbi component used this relationship to sort request to ONAP. - - -[options="header", cols=".^3,.^4"] -|=== -|Name|Schema -|**service** + -__required__|<<_service,Service>> -|**type** + -__required__|<<_relationshiptype,RelationshipType>> -|=== - - -[[_servicespecificationref]] -=== ServiceSpecificationRef -The service specification (these attributes are fetched from the catalogue). - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@baseType** + -__optional__|Not used in Beijing release|string -|**@schemaLocation** + -__optional__|Not used in Beijing release|string -|**@type** + -__optional__|Not used in Beijing release|string -|**href** + -__optional__|Reference of the service specification -Not used in Beijing release.|string -|**id** + -__required__|Unique identifier of the service specification -This information will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin the request.|string -|**name** + -__optional__|Name of the service specification -Not used in Beijing release|string -|**targetServiceSchema** + -__optional__||<<_targetserviceschema,TargetServiceSchema>> -|**version** + -__optional__|Version of the service Specification -Not used in Beijing release|string -|=== - - -[[_severitymessage]] -=== SeverityMessage -__Type__ : enum (information, error) - - -[[_statetype]] -=== StateType -List of possible state for the order and the orderItem. - -__Type__ : enum (acknowledged, rejected, pending, held, inProgress, cancelled, completed, failed, partial) - - -[[_targetserviceschema]] -=== TargetServiceSchema -Target to the schema describing the service spec resource - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@schemaLocation** + -__required__|This field provided a link to the schema describing this REST resource.|string -|**@type** + -__required__|Indicates the (class) type of resource.|string -|=== - - -[[_value]] -=== Value -Value is a descriptive structure for service characteristic; -For Beijing we only manage 'basic' attribute - the serviceCharacteristicValue must be used. - - -[options="header", cols=".^3,.^11,.^4"] -|=== -|Name|Description|Schema -|**@schemaLocation** + -__optional__|This field provided a link to the schema describing this REST resource. -Not used in Beijing Release|string -|**@type** + -__optional__|Indicates the (class) type of resource. -Not used in Beijing Release|string -|**serviceCharacteristicValue** + -__optional__|Value of the characteristic. -This attribute must be used in Beijing Release to provide characteristic value.|string -|=== - diff --git a/docs/offeredapis/serviceOrder/documentation.html b/docs/offeredapis/serviceOrder/documentation.html deleted file mode 100644 index cab4964..0000000 --- a/docs/offeredapis/serviceOrder/documentation.html +++ /dev/null @@ -1,3503 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> -<meta charset="UTF-8"> -<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> -<meta name="generator" content="Asciidoctor 1.5.6.1"> -<title>API ServiceOrder</title> -<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"> -<style> -/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */ -/* Remove comment around @import statement below when using as a custom stylesheet */ -/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/ -article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block} -audio,canvas,video{display:inline-block} -audio:not([controls]){display:none;height:0} -[hidden],template{display:none} -script{display:none!important} -html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} -a{background:transparent} -a:focus{outline:thin dotted} -a:active,a:hover{outline:0} -h1{font-size:2em;margin:.67em 0} -abbr[title]{border-bottom:1px dotted} -b,strong{font-weight:bold} -dfn{font-style:italic} -hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0} -mark{background:#ff0;color:#000} -code,kbd,pre,samp{font-family:monospace;font-size:1em} -pre{white-space:pre-wrap} -q{quotes:"\201C" "\201D" "\2018" "\2019"} -small{font-size:80%} -sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} -sup{top:-.5em} -sub{bottom:-.25em} -img{border:0} -svg:not(:root){overflow:hidden} -figure{margin:0} -fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em} -legend{border:0;padding:0} -button,input,select,textarea{font-family:inherit;font-size:100%;margin:0} -button,input{line-height:normal} -button,select{text-transform:none} -button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer} -button[disabled],html input[disabled]{cursor:default} -input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0} -input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box} -input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none} -button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} -textarea{overflow:auto;vertical-align:top} -table{border-collapse:collapse;border-spacing:0} -*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box} -html,body{font-size:100%} -body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased} -a:hover{cursor:pointer} -img,object,embed{max-width:100%;height:auto} -object,embed{height:100%} -img{-ms-interpolation-mode:bicubic} -.left{float:left!important} -.right{float:right!important} -.text-left{text-align:left!important} -.text-right{text-align:right!important} -.text-center{text-align:center!important} -.text-justify{text-align:justify!important} -.hide{display:none} -img,object,svg{display:inline-block;vertical-align:middle} -textarea{height:auto;min-height:50px} -select{width:100%} -.center{margin-left:auto;margin-right:auto} -.spread{width:100%} -p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6} -.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em} -div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr} -a{color:#2156a5;text-decoration:underline;line-height:inherit} -a:hover,a:focus{color:#1d4b8f} -a img{border:none} -p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility} -p aside{font-size:.875em;line-height:1.35;font-style:italic} -h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em} -h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0} -h1{font-size:2.125em} -h2{font-size:1.6875em} -h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em} -h4,h5{font-size:1.125em} -h6{font-size:1em} -hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0} -em,i{font-style:italic;line-height:inherit} -strong,b{font-weight:bold;line-height:inherit} -small{font-size:60%;line-height:inherit} -code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)} -ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit} -ul,ol{margin-left:1.5em} -ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em} -ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit} -ul.square{list-style-type:square} -ul.circle{list-style-type:circle} -ul.disc{list-style-type:disc} -ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0} -dl dt{margin-bottom:.3125em;font-weight:bold} -dl dd{margin-bottom:1.25em} -abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help} -abbr{text-transform:none} -blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd} -blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)} -blockquote cite:before{content:"\2014 \0020"} -blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)} -blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)} -@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2} -h1{font-size:2.75em} -h2{font-size:2.3125em} -h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em} -h4{font-size:1.4375em}} -table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede} -table thead,table tfoot{background:#f7f8f7;font-weight:bold} -table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left} -table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)} -table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7} -table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6} -h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em} -h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400} -.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table} -.clearfix:after,.float-group:after{clear:both} -*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word} -*:not(pre)>code.nobreak{word-wrap:normal} -*:not(pre)>code.nowrap{white-space:nowrap} -pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed} -em em{font-style:normal} -strong strong{font-weight:400} -.keyseq{color:rgba(51,51,51,.8)} -kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap} -.keyseq kbd:first-child{margin-left:0} -.keyseq kbd:last-child{margin-right:0} -.menuseq,.menuref{color:#000} -.menuseq b:not(.caret),.menuref{font-weight:inherit} -.menuseq{word-spacing:-.02em} -.menuseq b.caret{font-size:1.25em;line-height:.8} -.menuseq i.caret{font-weight:bold;text-align:center;width:.45em} -b.button:before,b.button:after{position:relative;top:-1px;font-weight:400} -b.button:before{content:"[";padding:0 3px 0 2px} -b.button:after{content:"]";padding:0 2px 0 3px} -p a>code:hover{color:rgba(0,0,0,.9)} -#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em} -#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table} -#header:after,#content:after,#footnotes:after,#footer:after{clear:both} -#content{margin-top:1.25em} -#content:before{content:none} -#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} -#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8} -#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px} -#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap} -#header .details span:first-child{margin-left:-.125em} -#header .details span.email a{color:rgba(0,0,0,.85)} -#header .details br{display:none} -#header .details br+span:before{content:"\00a0\2013\00a0"} -#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)} -#header .details br+span#revremark:before{content:"\00a0|\00a0"} -#header #revnumber{text-transform:capitalize} -#header #revnumber:after{content:"\00a0"} -#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem} -#toc{border-bottom:1px solid #efefed;padding-bottom:.5em} -#toc>ul{margin-left:.125em} -#toc ul.sectlevel0>li>a{font-style:italic} -#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} -#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} -#toc li{line-height:1.3334;margin-top:.3334em} -#toc a{text-decoration:none} -#toc a:active{text-decoration:underline} -#toctitle{color:#7a2518;font-size:1.2em} -@media only screen and (min-width:768px){#toctitle{font-size:1.375em} -body.toc2{padding-left:15em;padding-right:0} -#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto} -#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em} -#toc.toc2>ul{font-size:.9em;margin-bottom:0} -#toc.toc2 ul ul{margin-left:0;padding-left:1em} -#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em} -body.toc2.toc-right{padding-left:0;padding-right:15em} -body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}} -@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0} -#toc.toc2{width:20em} -#toc.toc2 #toctitle{font-size:1.375em} -#toc.toc2>ul{font-size:.95em} -#toc.toc2 ul ul{padding-left:1.25em} -body.toc2.toc-right{padding-left:0;padding-right:20em}} -#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} -#content #toc>:first-child{margin-top:0} -#content #toc>:last-child{margin-bottom:0} -#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em} -#footer-text{color:rgba(255,255,255,.8);line-height:1.44} -.sect1{padding-bottom:.625em} -@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}} -.sect1+.sect1{border-top:1px solid #efefed} -#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400} -#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em} -#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible} -#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} -#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} -.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} -.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} -table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0} -.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)} -table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit} -.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%} -.admonitionblock>table td.icon{text-align:center;width:80px} -.admonitionblock>table td.icon img{max-width:initial} -.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase} -.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)} -.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0} -.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px} -.exampleblock>.content>:first-child{margin-top:0} -.exampleblock>.content>:last-child{margin-bottom:0} -.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} -.sidebarblock>:first-child{margin-top:0} -.sidebarblock>:last-child{margin-bottom:0} -.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} -.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} -.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8} -.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1} -.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em} -.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal} -@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}} -@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}} -.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)} -.listingblock pre.highlightjs{padding:0} -.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px} -.listingblock pre.prettyprint{border-width:0} -.listingblock>.content{position:relative} -.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999} -.listingblock:hover code[data-lang]:before{display:block} -.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999} -.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"} -table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none} -table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45} -table.pyhltable td.code{padding-left:.75em;padding-right:0} -pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8} -pre.pygments .lineno{display:inline-block;margin-right:.25em} -table.pyhltable .linenodiv{background:none!important;padding-right:0!important} -.quoteblock{margin:0 1em 1.25em 1.5em;display:table} -.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em} -.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify} -.quoteblock blockquote{margin:0;padding:0;border:0} -.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)} -.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0} -.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right} -.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)} -.quoteblock .quoteblock blockquote{padding:0 0 0 .75em} -.quoteblock .quoteblock blockquote:before{display:none} -.verseblock{margin:0 1em 1.25em 1em} -.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility} -.verseblock pre strong{font-weight:400} -.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex} -.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic} -.quoteblock .attribution br,.verseblock .attribution br{display:none} -.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)} -.quoteblock.abstract{margin:0 0 1.25em 0;display:block} -.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0} -.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none} -table.tableblock{max-width:100%;border-collapse:separate} -table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0} -table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede} -table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0} -table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0} -table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0} -table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px 0} -table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0 0} -table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0} -table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0} -table.frame-all{border-width:1px} -table.frame-sides{border-width:0 1px} -table.frame-topbot{border-width:1px 0} -th.halign-left,td.halign-left{text-align:left} -th.halign-right,td.halign-right{text-align:right} -th.halign-center,td.halign-center{text-align:center} -th.valign-top,td.valign-top{vertical-align:top} -th.valign-bottom,td.valign-bottom{vertical-align:bottom} -th.valign-middle,td.valign-middle{vertical-align:middle} -table thead th,table tfoot th{font-weight:bold} -tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7} -tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold} -p.tableblock>code:only-child{background:none;padding:0} -p.tableblock{font-size:1em} -td>div.verse{white-space:pre} -ol{margin-left:1.75em} -ul li ol{margin-left:1.5em} -dl dd{margin-left:1.125em} -dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0} -ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em} -ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none} -ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em} -ul.unstyled,ol.unstyled{margin-left:0} -ul.checklist{margin-left:.625em} -ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em} -ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em} -ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden} -ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block} -ul.inline>li>*{display:block} -.unstyled dl dt{font-weight:400;font-style:normal} -ol.arabic{list-style-type:decimal} -ol.decimal{list-style-type:decimal-leading-zero} -ol.loweralpha{list-style-type:lower-alpha} -ol.upperalpha{list-style-type:upper-alpha} -ol.lowerroman{list-style-type:lower-roman} -ol.upperroman{list-style-type:upper-roman} -ol.lowergreek{list-style-type:lower-greek} -.hdlist>table,.colist>table{border:0;background:none} -.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none} -td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em} -td.hdlist1{font-weight:bold;padding-bottom:1.25em} -.literalblock+.colist,.listingblock+.colist{margin-top:-.5em} -.colist>table tr>td:first-of-type{padding:.4em .75em 0 .75em;line-height:1;vertical-align:top} -.colist>table tr>td:first-of-type img{max-width:initial} -.colist>table tr>td:last-of-type{padding:.25em 0} -.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd} -.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0} -.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em} -.imageblock>.title{margin-bottom:0} -.imageblock.thumb,.imageblock.th{border-width:6px} -.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em} -.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0} -.image.left{margin-right:.625em} -.image.right{margin-left:.625em} -a.image{text-decoration:none;display:inline-block} -a.image object{pointer-events:none} -sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super} -sup.footnote a,sup.footnoteref a{text-decoration:none} -sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline} -#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em} -#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0} -#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em} -#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none} -#footnotes .footnote:last-of-type{margin-bottom:0} -#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0} -.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0} -.gist .file-data>table td.line-data{width:99%} -div.unbreakable{page-break-inside:avoid} -.big{font-size:larger} -.small{font-size:smaller} -.underline{text-decoration:underline} -.overline{text-decoration:overline} -.line-through{text-decoration:line-through} -.aqua{color:#00bfbf} -.aqua-background{background-color:#00fafa} -.black{color:#000} -.black-background{background-color:#000} -.blue{color:#0000bf} -.blue-background{background-color:#0000fa} -.fuchsia{color:#bf00bf} -.fuchsia-background{background-color:#fa00fa} -.gray{color:#606060} -.gray-background{background-color:#7d7d7d} -.green{color:#006000} -.green-background{background-color:#007d00} -.lime{color:#00bf00} -.lime-background{background-color:#00fa00} -.maroon{color:#600000} -.maroon-background{background-color:#7d0000} -.navy{color:#000060} -.navy-background{background-color:#00007d} -.olive{color:#606000} -.olive-background{background-color:#7d7d00} -.purple{color:#600060} -.purple-background{background-color:#7d007d} -.red{color:#bf0000} -.red-background{background-color:#fa0000} -.silver{color:#909090} -.silver-background{background-color:#bcbcbc} -.teal{color:#006060} -.teal-background{background-color:#007d7d} -.white{color:#bfbfbf} -.white-background{background-color:#fafafa} -.yellow{color:#bfbf00} -.yellow-background{background-color:#fafa00} -span.icon>.fa{cursor:default} -a span.icon>.fa{cursor:inherit} -.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} -.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c} -.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111} -.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900} -.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400} -.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000} -.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold} -.conum[data-value] *{color:#fff!important} -.conum[data-value]+b{display:none} -.conum[data-value]:after{content:attr(data-value)} -pre .conum[data-value]{position:relative;top:-.125em} -b.conum *{color:inherit!important} -.conum:not([data-value]):empty{display:none} -dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility} -h1,h2,p,td.content,span.alt{letter-spacing:-.01em} -p strong,td.content strong,div.footnote strong{letter-spacing:-.005em} -p,blockquote,dt,td.content,span.alt{font-size:1.0625rem} -p{margin-bottom:1.25rem} -.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em} -.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc} -.print-only{display:none!important} -@media print{@page{margin:1.25cm .75cm} -*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important} -a{color:inherit!important;text-decoration:underline!important} -a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important} -a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em} -abbr[title]:after{content:" (" attr(title) ")"} -pre,blockquote,tr,img,object,svg{page-break-inside:avoid} -thead{display:table-header-group} -svg{max-width:100%} -p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3} -h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid} -#toc,.sidebarblock,.exampleblock>.content{background:none!important} -#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important} -.sect1{padding-bottom:0!important} -.sect1+.sect1{border:0!important} -#header>h1:first-child{margin-top:1.25rem} -body.book #header{text-align:center} -body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0} -body.book #header .details{border:0!important;display:block;padding:0!important} -body.book #header .details span:first-child{margin-left:0!important} -body.book #header .details br{display:block} -body.book #header .details br+span:before{content:none!important} -body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important} -body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always} -.listingblock code[data-lang]:before{display:block} -#footer{background:none!important;padding:0 .9375em} -#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em} -.hide-on-print{display:none!important} -.print-only{display:block!important} -.hide-for-print{display:none!important} -.show-for-print{display:inherit!important}} -</style> -</head> -<body class="article toc2 toc-left"> -<div id="header"> -<h1>API ServiceOrder</h1> -<div id="toc" class="toc2"> -<div id="toctitle">Table of Contents</div> -<ul class="sectlevel1"> -<li><a href="#_overview">Overview</a> -<ul class="sectlevel2"> -<li><a href="#_api_url">Api URL</a></li> -<li><a href="#_version_information">Version information</a></li> -<li><a href="#_uri_scheme">URI scheme</a></li> -<li><a href="#_tags">Tags</a></li> -<li><a href="#_produces">Produces</a></li> -</ul> -</li> -<li><a href="#_paths">Resources</a> -<ul class="sectlevel2"> -<li><a href="#_hub_resource">Hub</a></li> -<li><a href="#_notification_resource">Notification</a></li> -<li><a href="#_serviceorder_resource">ServiceOrder</a></li> -</ul> -</li> -<li><a href="#_definitions">Definitions</a> -<ul class="sectlevel2"> -<li><a href="#_actiontype">ActionType</a></li> -<li><a href="#_createhub">CreateHub</a></li> -<li><a href="#_createserviceorder">CreateServiceOrder</a></li> -<li><a href="#_createserviceorderitem">CreateServiceOrderItem</a></li> -<li><a href="#_errorrepresentation">ErrorRepresentation</a></li> -<li><a href="#_eventtype">EventType</a></li> -<li><a href="#_hub">Hub</a></li> -<li><a href="#_notification">Notification</a></li> -<li><a href="#_orderitemrelationship">OrderItemRelationship</a></li> -<li><a href="#_ordermessage">OrderMessage</a></li> -<li><a href="#_orderrelationship">OrderRelationship</a></li> -<li><a href="#_relatedparty">RelatedParty</a></li> -<li><a href="#_relationshiptype">RelationshipType</a></li> -<li><a href="#_service">Service</a></li> -<li><a href="#_servicecharacteristic">ServiceCharacteristic</a></li> -<li><a href="#_serviceorder">ServiceOrder</a></li> -<li><a href="#_serviceordercreationnotification">ServiceOrderCreationNotification</a></li> -<li><a href="#_serviceorderitem">ServiceOrderItem</a></li> -<li><a href="#_serviceorderitemstatechangenotification">ServiceOrderItemStateChangeNotification</a></li> -<li><a href="#_serviceorderitemsummary">ServiceOrderItemSummary</a></li> -<li><a href="#_serviceorderstatechangenotification">ServiceOrderStateChangeNotification</a></li> -<li><a href="#_serviceordersummary">ServiceOrderSummary</a></li> -<li><a href="#_serviceordersummarywithitem">ServiceOrderSummaryWithItem</a></li> -<li><a href="#_serviceref">ServiceRef</a></li> -<li><a href="#_servicerelationship">ServiceRelationship</a></li> -<li><a href="#_servicespecificationref">ServiceSpecificationRef</a></li> -<li><a href="#_severitymessage">SeverityMessage</a></li> -<li><a href="#_statetype">StateType</a></li> -<li><a href="#_targetserviceschema">TargetServiceSchema</a></li> -<li><a href="#_value">Value</a></li> -</ul> -</li> -</ul> -</div> -</div> -<div id="content"> -<div class="sect1"> -<h2 id="_overview">Overview</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_api_url">Api URL</h3> -<div class="paragraph"> -<p><a href="https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/Ve1zj3V1gj/swagger.json">Swagger UI</a></p> -</div> -<div class="paragraph"> -<p><a href="https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/Ve1zj3V1gj/plantuml&noCache=366455.0">plant UML UI</a></p> -</div> -<div class="paragraph"> -<p>serviceOrder API designed for ONAP. -This API is build from TMF open API18.0 (applying TMF Guideline 3.0); -Only operations GET (by id and list) and POST are available.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_version_information">Version information</h3> -<div class="paragraph"> -<p><em>Version</em> : 3.0.0_inProgress</p> -</div> -</div> -<div class="sect2"> -<h3 id="_uri_scheme">URI scheme</h3> -<div class="paragraph"> -<p><em>Host</em> : serverRoot<br> -<em>BasePath</em> : /nbi/api/v3<br> -<em>Schemes</em> : HTTPS</p> -</div> -</div> -<div class="sect2"> -<h3 id="_tags">Tags</h3> -<div class="ulist"> -<ul> -<li> -<p>Hub</p> -</li> -<li> -<p>Notification</p> -</li> -<li> -<p>ServiceOrder : A Service Order is a type of order which can be used to describe a group of operations on service – one service order item per service. An action at the level of the service order item describe the operation to be done on a service (add, terminate for example). The service order is triggered from the BSS system in charge of the product order management to ONAP that will manage the service fulfillment.</p> -</li> -</ul> -</div> -</div> -<div class="sect2"> -<h3 id="_produces">Produces</h3> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_paths">Resources</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_hub_resource">Hub</h3> -<div class="sect3"> -<h4 id="_hubcreate">Create Hub</h4> -<div class="literalblock"> -<div class="content"> -<pre>POST /hub</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description">Description</h5> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 22.2222%;"> -<col style="width: 33.3333%;"> -<col style="width: 44.4445%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Body</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Hub</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_createhub">CreateHub</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>201</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success<br> -<strong>Headers</strong> : <br> -<code>location</code> (string)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">file</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_consumes">Consumes</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -<div class="sect3"> -<h4 id="_hubfind">Retrieve a lits of hub</h4> -<div class="literalblock"> -<div class="content"> -<pre>GET /hub</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description_2">Description</h5> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters_2">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 22.2222%;"> -<col style="width: 33.3333%;"> -<col style="width: 44.4445%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>eventType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">enum (ServiceOrderCreationNotification, ServiceOrderStateChangeNotification, ServiceOrderItemStateChangeNotification)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses_2">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_hub">Hub</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_produces_2">Produces</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -<div class="sect3"> -<h4 id="_hubget">Retrieve an HUB by id</h4> -<div class="literalblock"> -<div class="content"> -<pre>GET /hub/{hubId}</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description_3">Description</h5> -<div class="paragraph"> -<p>Retrieve an HUB by id</p> -</div> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters_3">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 22.2222%;"> -<col style="width: 33.3333%;"> -<col style="width: 44.4445%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Path</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>hubId</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses_3">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_hub">Hub</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_produces_3">Produces</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -<div class="sect3"> -<h4 id="_hubdelete">delete hub</h4> -<div class="literalblock"> -<div class="content"> -<pre>DELETE /hub/{hubId}</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description_4">Description</h5> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters_4">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 22.2222%;"> -<col style="width: 33.3333%;"> -<col style="width: 44.4445%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Path</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>hubId</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses_4">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>204</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">No Content</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_notification_resource">Notification</h3> -<div class="sect3"> -<h4 id="_notificationserviceordercreationnotification">Service order creation notification</h4> -<div class="literalblock"> -<div class="content"> -<pre>POST /notification/serviceOrderCreationNotification</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description_5">Description</h5> -<div class="paragraph"> -<p>Service order creation notification</p> -</div> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters_5">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 22.2222%;"> -<col style="width: 33.3333%;"> -<col style="width: 44.4445%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Body</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceOrderCreationNotification</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_serviceordercreationnotification">ServiceOrderCreationNotification</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses_5">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>204</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">No Content</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_consumes_2">Consumes</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -<div class="sect3"> -<h4 id="_notificationserviceorderitemstatechangenotification">ServiceOrder Item State Change Notification description</h4> -<div class="literalblock"> -<div class="content"> -<pre>POST /notification/serviceOrderItemStateChangeNotification</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description_6">Description</h5> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters_6">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 22.2222%;"> -<col style="width: 33.3333%;"> -<col style="width: 44.4445%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Body</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceOrderItemStateChangeNotification</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_serviceorderitemstatechangenotification">ServiceOrderItemStateChangeNotification</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses_6">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>204</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">No Content</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_consumes_3">Consumes</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -<div class="sect3"> -<h4 id="_notificationserviceorderstatechangenotification">Service order state change notification description</h4> -<div class="literalblock"> -<div class="content"> -<pre>POST /notification/serviceOrderStateChangeNotification</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description_7">Description</h5> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters_7">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 22.2222%;"> -<col style="width: 33.3333%;"> -<col style="width: 44.4445%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Body</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceOrderstateChangeNotification</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_serviceorderstatechangenotification">ServiceOrderStateChangeNotification</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses_7">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>204</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">No Content</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_consumes_4">Consumes</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_serviceorder_resource">ServiceOrder</h3> -<div class="paragraph"> -<p>A Service Order is a type of order which can be used to describe a group of operations on service – one service order item per service. An action at the level of the service order item describe the operation to be done on a service (add, terminate for example). The service order is triggered from the BSS system in charge of the product order management to ONAP that will manage the service fulfillment.</p> -</div> -<div class="sect3"> -<h4 id="_serviceordercreate">Create a service order</h4> -<div class="literalblock"> -<div class="content"> -<pre>POST /serviceOrder</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description_8">Description</h5> -<div class="paragraph"> -<p>This operation creates a service order entity. -The TMF Open API specification document provides the list of mandatory and non mandatory attributes when creating a ServiceOrder, including any possible rule conditions and applicable default values. -POST should be used without specifying the id and the href, the Service Order Management system is in charge of generating the id + href for the ServiceOrder.</p> -</div> -<div class="paragraph"> -<p>In Beijing Release, NBI will use only POST {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API. This mean that only the 'service-instance' level will be created in AAI. Additional resource like VNF and/OR VF are not created.</p> -</div> -<div class="paragraph"> -<p>In Casablanca release, NBI has been improved to also be able to use POST {{url}}/e2eServiceInstances/v3 SO API. This API is able to instantiate in ONAP E2E service; This is useful for CCVPN and VoLTE UC. -Depending on the service category defined in SDC, NBI will use one or the other SO API. If category starts with e2e, NBI will use {url}}/e2eServiceInstances/v3 SO API - else it will use {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API.</p> -</div> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>100: OrderItem with 'add' action but serviceSpecification id missing</p> -</li> -<li> -<p>101: OrderItem with 'change'/'noChange'/'remove' but service id missing</p> -</li> -<li> -<p>102: OrderItem with 'add' action - serviceSpecification id provided but not existing</p> -</li> -<li> -<p>103: OrderItem with 'add' action but service id already existing in the inventory</p> -</li> -<li> -<p>104: A customer for existing service(s) is provided but he did not exist</p> -</li> -<li> -<p>105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory</p> -</li> -<li> -<p>106: [Not managed for current Relese] Issue with lcpCloudRegionId and tenantId provided</p> -</li> -</ul> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters_8">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 22.2222%;"> -<col style="width: 33.3333%;"> -<col style="width: 44.4445%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Body</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceOrder</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_createserviceorder">CreateServiceOrder</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses_8">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>201</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_serviceorder">ServiceOrder</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p> -<p class="tableblock">Specific encapsulated business errors for current operation</p> -<p class="tableblock">* 100: OrderItem with 'add' action but serviceSpecification id missing</p> -<p class="tableblock">* 101: OrderItem with 'change'/'noChange'/'remove' but service id missing</p> -<p class="tableblock">* 102: OrderItem with 'add' action - serviceSpecification id provided but not existing</p> -<p class="tableblock">* 103: OrderItem with 'add' action but service id already existing in the inventory</p> -<p class="tableblock">* 104: A customer for existing service(s) is provided but he did not exist</p> -<p class="tableblock">* 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory</p> -<p class="tableblock">* 106: [Not managed for current Relese] Issue with lcpCloudRegionId and tenantId provided</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_consumes_5">Consumes</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -<div class="sect4"> -<h5 id="_produces_4">Produces</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -<div class="sect3"> -<h4 id="_serviceorderfind">List service orders</h4> -<div class="literalblock"> -<div class="content"> -<pre>GET /serviceOrder</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description_9">Description</h5> -<div class="paragraph"> -<p>Retrieve and list service order entities according to given criteria. -Only a predefined set of attribute is proposed. -Attribute selection could be described in the fields attribute.</p> -</div> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters_9">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 11.1111%;"> -<col style="width: 16.6666%;"> -<col style="width: 50%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>description</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>externalId</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>fields</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">this attribute could be used to filter retrieved attribute(s) and/or sort SO.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>limit</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">The maximum number of elements to retrieve (it can be greater than the actual available number of items).</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int32)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>offset</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">The index of the first element to retrieve. Zero is the first element of the collection.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int32)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderDate.gt</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">order date greather than</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderDate.lt</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">order date lower than</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>state</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">state of the order(s) to be retrieved</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses_9">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success<br> -<strong>Headers</strong> : <br> -<code>X-Total-Count</code> (integer (int32))<br> -<code>X-Result-Count</code> (integer (int32))</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_serviceorder">ServiceOrder</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_produces_5">Produces</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -<div class="sect3"> -<h4 id="_serviceorderget">Retrieve a service order</h4> -<div class="literalblock"> -<div class="content"> -<pre>GET /serviceOrder/{id}</pre> -</div> -</div> -<div class="sect4"> -<h5 id="_description_10">Description</h5> -<div class="paragraph"> -<p>This operation retrieves a service order entity. -Attribute selection is enabled for all first level attributes.</p> -</div> -<div class="paragraph"> -<p>Specific business errors for current operation will be encapsulated in</p> -</div> -<div class="paragraph"> -<p>HTTP Response 422 Unprocessable entity</p> -</div> -</div> -<div class="sect4"> -<h5 id="_parameters_10">Parameters</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 11.1111%;"> -<col style="width: 16.6666%;"> -<col style="width: 50%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Path</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Query</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>fields</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Attribute selection</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_responses_10">Responses</h5> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Success</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_serviceorder">ServiceOrder</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>400</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Bad Request</p> -<p class="tableblock">List of supported error codes: -- 20: Invalid URL parameter value -- 21: Missing body -- 22: Invalid body -- 23: Missing body field -- 24: Invalid body field -- 25: Missing header -- 26: Invalid header value -- 27: Missing query-string parameter -- 28: Invalid query-string parameter value</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>401</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unauthorized</p> -<p class="tableblock">List of supported error codes: -- 40: Missing credentials -- 41: Invalid credentials -- 42: Expired credentials</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>403</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Forbidden</p> -<p class="tableblock">List of supported error codes: -- 50: Access denied -- 51: Forbidden requester -- 52: Forbidden user -- 53: Too many requests</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>404</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not Found</p> -<p class="tableblock">List of supported error codes: -- 60: Resource not found</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>422</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unprocessable entity</p> -<p class="tableblock">Functional error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>500</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Internal Server Error</p> -<p class="tableblock">List of supported error codes: -- 1: Internal error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>503</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Unavailable</p> -<p class="tableblock">List of supported error codes: -- 5: The service is temporarily unavailable -- 6: Orange API is over capacity, retry later !</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_errorrepresentation">ErrorRepresentation</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect4"> -<h5 id="_produces_6">Produces</h5> -<div class="ulist"> -<ul> -<li> -<p><code>application/json;charset=utf-8</code></p> -</li> -</ul> -</div> -</div> -</div> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_definitions">Definitions</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_actiontype">ActionType</h3> -<div class="paragraph"> -<p>Action type to be describer on the order item. -modify is not managed in Beijing release</p> -</div> -<div class="paragraph"> -<p><em>Type</em> : enum (add, modify, delete, noChange)</p> -</div> -</div> -<div class="sect2"> -<h3 id="_createhub">CreateHub</h3> -<div class="paragraph"> -<p>This structure is used as a request for POST Hub operation</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>callback</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Address where notification must be send</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>query</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">The query must have an eventType=notificationName information. -Optionally a ? could be added to reduce hub. -query”:”eventType = ServiceOrderStateChangeNotification”&serviceOrder.state=COMPLETED</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_createserviceorder">CreateServiceOrder</h3> -<div class="paragraph"> -<p>This structure is used in the operation POST for a serviceOrder request. -Attribute description is not accurate and should be find in the serviceOrder class.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@baseType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>category</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, …)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>description</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">A free-text description of the service order</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>externalId</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">ID given by the consumer and only understandable by him (to facilitate his searches)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderItem</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_createserviceorderitem">CreateServiceOrderItem</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderRelationship</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_orderrelationship">OrderRelationship</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>priority</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>relatedParty</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_relatedparty">RelatedParty</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>requestedCompletionDate</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Requested delivery date from the requestor perspective</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>requestedStartDate</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Order start date wished by the requestor</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_createserviceorderitem">CreateServiceOrderItem</h3> -<div class="paragraph"> -<p>This structure is used in the operation POST for a serviceOrder request to describe an item. -Attribute description is not accurate and should be find in the serviceOrderItem class.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@baseType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Indicates the base type of the resource.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">A link to the schema describing this REST resource</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Indicates the type of resource.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>action</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_actiontype">ActionType</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Identifier of the line item (generally it is a sequence number 01, 02, 03, …)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderItemRelationship</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_orderitemrelationship">OrderItemRelationship</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>service</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_service">Service</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_errorrepresentation">ErrorRepresentation</h3> -<div class="paragraph"> -<p>Representation of an error.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">it provides a link to the schema describing a REST resource</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">The class type of a REST resource</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>code</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Application related code (as defined in the API or from a common list)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int32)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>message</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Text that provide more details and corrective actions related to the error. This can be shown to a client user</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>reason</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Text that explains the reason for error. This can be shown to a client user.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>referenceError</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">url pointing to documentation describing the error</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>status</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">http error code extension like 400-2</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_eventtype">EventType</h3> -<div class="paragraph"> -<p><em>Type</em> : enum (ServiceOrderCreationNotification, ServiceOrderStateChangeNotification, ServiceOrderItemStateChangeNotification)</p> -</div> -</div> -<div class="sect2"> -<h3 id="_hub">Hub</h3> -<div class="paragraph"> -<p>An HUB resource is used by client side to subscribe to notification. -Not managed in the Beijing release.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>callback</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Address where notification must be send</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Hub Id</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>query</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_notification">Notification</h3> -<div class="paragraph"> -<p>Used to describe notification for this API</p> -</div> -<div class="paragraph"> -<p><em>Type</em> : object</p> -</div> -</div> -<div class="sect2"> -<h3 id="_orderitemrelationship">OrderItemRelationship</h3> -<div class="paragraph"> -<p>Linked order item to the one containing this attribute. -nbi component used this relationship to sort request to ONAP.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of an order item</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>type</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_relationshiptype">RelationshipType</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_ordermessage">OrderMessage</h3> -<div class="paragraph"> -<p>An optional array of messages associated with the Order</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>code</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">A code associated to this message</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>correctionRequired</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Indicator that an action is required to allow service order fullfilment to follow up</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">boolean</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>field</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Service Order attribute related to this error message</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>messageInformation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Message related to this order</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>severity</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_severitymessage">SeverityMessage</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_orderrelationship">OrderRelationship</h3> -<div class="paragraph"> -<p>Linked order to the one containing this attribute. -This relationship is not used to sort ONAP request.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@referredType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Type of the referred order.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>href</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">A hyperlink to the related order</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">The id of the related order</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">The type of related order, can be : “dependency” if the order needs to be “not started” until another order item is complete (a service order in this case) or “cross-ref” to keep track of the source order (a productOrder)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_relatedparty">RelatedParty</h3> -<div class="paragraph"> -<p>A related party defines party which are involved in this order and the role they are playing. -for Beijing release: -With the current version of APIs used from SO and AAI we need to manage a ‘customer’. This customer concept is confusing with Customer BSS concept. We took the following rules to manage the ‘customer’ information: -o It could be provided through a serviceOrder in the service Order a relatedParty with role ‘ONAPcustomer’ should be provided in the serviceOrder header (we will not consider in this release the party at item level); External API component will check if this customer exists and create it in AAI if not. -o If no relatedParty are provided the service will be affected to ‘generic’ customer (dummy customer) – we assume this ‘generic’ customer always exists.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@referredType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>href</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">An hyperlink to the party - not used in Beijnig release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of a related party</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the related party</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>role</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">The role of the related party (e.g. Owner, requester, fullfiller etc). -ONLY 'ONAPcustomer' is considered</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_relationshiptype">RelationshipType</h3> -<div class="paragraph"> -<p>Relationship type; -Only reliesOn is managed in Beijing release.</p> -</div> -<div class="paragraph"> -<p><em>Type</em> : enum (reliesOn)</p> -</div> -</div> -<div class="sect2"> -<h3 id="_service">Service</h3> -<div class="paragraph"> -<p>Service (to be added, modified, deleted) description</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">The URL to get the resource schema. -Not managed in Beijing Release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">To define the service type -Not managed in Beijing Release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>href</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Reference to the Service (useful for delete or modify command). -Not managed in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Identifier of a service instance. -It must be valued if orderItem action is 'delete' and corresponds to a AAI service.id</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the service - When orderItem action is 'add' this name will be used in ONAP/SO request as InstaceName.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>relatedParty</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_relatedparty">RelatedParty</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceCharacteristic</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_servicecharacteristic">ServiceCharacteristic</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceRelationship</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_servicerelationship">ServiceRelationship</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceSpecification</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_servicespecificationref">ServiceSpecificationRef</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceState</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">The lifecycle state of the service requested; -Not managed in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_servicecharacteristic">ServiceCharacteristic</h3> -<div class="paragraph"> -<p>ServiceCharacteristic</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of characteristic</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>value</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_value">Value</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>valueType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_serviceorder">ServiceOrder</h3> -<div class="paragraph"> -<p>A Service Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@baseType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>category</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, …)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>completionDateTime</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Date when the order was completed</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>description</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">A free-text description of the service order</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>expectedCompletionDate</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>externalId</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">ID given by the consumer and only understandable by him (to facilitate his searches)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>href</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Hyperlink to access the order</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">ID created on repository side</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderDate</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderItem</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_serviceorderitem">ServiceOrderItem</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderMessage</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_ordermessage">OrderMessage</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderRelationship</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_orderrelationship">OrderRelationship</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>priority</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>relatedParty</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_relatedparty">RelatedParty</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>requestedCompletionDate</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Requested delivery date from the requestor perspective</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>requestedStartDate</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Order start date wished by the requestor</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>startDate</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Date when the order was started for processing</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>state</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_statetype">StateType</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_serviceordercreationnotification">ServiceOrderCreationNotification</h3> -<div class="paragraph"> -<p>Notification structure for a service order creation notification</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>event</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_serviceordersummary">ServiceOrderSummary</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>eventDate</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>eventId</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>eventType</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Default</strong> : <code>"ServiceOrderCreationNotification"</code></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_serviceorderitem">ServiceOrderItem</h3> -<div class="paragraph"> -<p>An identified part of the order. A service order is decomposed into one or more order items.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@baseType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">not used in Beijing relase</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">not used in Beijing relase</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Used to extend the order item. -not used in Beijing relase</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>action</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_actiontype">ActionType</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Identifier of the line item (generally it is a sequence number 01, 02, 03, …)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderItemMessage</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_ordermessage">OrderMessage</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderItemRelationship</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_orderitemrelationship">OrderItemRelationship</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>percentProgress</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Progress of the delivery in percentage.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>service</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_service">Service</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>state</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_statetype">StateType</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_serviceorderitemstatechangenotification">ServiceOrderItemStateChangeNotification</h3> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>event</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_serviceordersummarywithitem">ServiceOrderSummaryWithItem</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>eventDate</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>eventId</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>eventType</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Default</strong> : <code>"ServiceOrderStateChangeNotification"</code></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_serviceorderitemsummary">ServiceOrderItemSummary</h3> -<div class="paragraph"> -<p>Service Order item summary to be used for notification</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>action</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_actiontype">ActionType</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Identifier of the line item (generally it is a sequence number 01, 02, 03, …)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>service</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_service">Service</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>state</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_statetype">StateType</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_serviceorderstatechangenotification">ServiceOrderStateChangeNotification</h3> -<div class="paragraph"> -<p>Service order state change notification description</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>event</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_serviceordersummary">ServiceOrderSummary</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>eventDate</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>eventId</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>eventType</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Default</strong> : <code>"ServiceOrderStateChangeNotification"</code></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_serviceordersummary">ServiceOrderSummary</h3> -<div class="paragraph"> -<p>This structure is used to provide a subset of serviceOrder attributes to be provided in particular for notification messages</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>completionDateTime</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Date when the order was completed</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>externalId</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">ID given by the consumer and only understandable by him (to facilitate his searches)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>href</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Hyperlink to access the order</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">ID created on repository side</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderDate</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>state</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_statetype">StateType</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_serviceordersummarywithitem">ServiceOrderSummaryWithItem</h3> -<div class="paragraph"> -<p>Service order item summary with item description</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>completionDateTime</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Date when the order was completed</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>externalId</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">ID given by the consumer and only understandable by him (to facilitate his searches)</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>href</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Hyperlink to access the order</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">ID created on repository side</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderDate</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string (date-time)</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>orderItem</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">< <a href="#_serviceorderitemsummary">ServiceOrderItemSummary</a> > array</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>state</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_statetype">StateType</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_serviceref">ServiceRef</h3> -<div class="paragraph"> -<p>Service references</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>href</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Reference of the service</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of the service</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_servicerelationship">ServiceRelationship</h3> -<div class="paragraph"> -<p>Linked Services to the one instantiate -nbi component used this relationship to sort request to ONAP.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 42.8571%;"> -<col style="width: 57.1429%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>service</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_service">Service</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>type</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_relationshiptype">RelationshipType</a></p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_servicespecificationref">ServiceSpecificationRef</h3> -<div class="paragraph"> -<p>The service specification (these attributes are fetched from the catalogue).</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@baseType</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not used in Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not used in Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Not used in Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>href</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Reference of the service specification -Not used in Beijing release.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>id</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Unique identifier of the service specification -This information will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin the request.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Name of the service specification -Not used in Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>targetServiceSchema</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_targetserviceschema">TargetServiceSchema</a></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>version</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Version of the service Specification -Not used in Beijing release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_severitymessage">SeverityMessage</h3> -<div class="paragraph"> -<p><em>Type</em> : enum (information, error)</p> -</div> -</div> -<div class="sect2"> -<h3 id="_statetype">StateType</h3> -<div class="paragraph"> -<p>List of possible state for the order and the orderItem.</p> -</div> -<div class="paragraph"> -<p><em>Type</em> : enum (acknowledged, rejected, pending, held, inProgress, cancelled, completed, failed, partial)</p> -</div> -</div> -<div class="sect2"> -<h3 id="_targetserviceschema">TargetServiceSchema</h3> -<div class="paragraph"> -<p>Target to the schema describing the service spec resource</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">This field provided a link to the schema describing this REST resource.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Indicates the (class) type of resource.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_value">Value</h3> -<div class="paragraph"> -<p>Value is a descriptive structure for service characteristic; -For Beijing we only manage 'basic' attribute - the serviceCharacteristicValue must be used.</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<colgroup> -<col style="width: 16.6666%;"> -<col style="width: 61.1111%;"> -<col style="width: 22.2223%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@schemaLocation</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">This field provided a link to the schema describing this REST resource. -Not used in Beijing Release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>@type</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Indicates the (class) type of resource. -Not used in Beijing Release</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceCharacteristicValue</strong><br> -<em>optional</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Value of the characteristic. -This attribute must be used in Beijing Release to provide characteristic value.</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -</tbody> -</table> -</div> -</div> -</div> -</div> -<div id="footer"> -<div id="footer-text"> -Last updated 2018-09-12 13:42:33 +00:00 -</div> -</div> -</body> -</html>
\ No newline at end of file diff --git a/docs/offeredapis/serviceOrder/markDown.md b/docs/offeredapis/serviceOrder/markDown.md deleted file mode 100644 index 0c11b20..0000000 --- a/docs/offeredapis/serviceOrder/markDown.md +++ /dev/null @@ -1,890 +0,0 @@ -# API ServiceOrder - - -<a name="overview"></a> -## Overview - -### Api URL - -[Swagger UI](https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/Ve1zj3V1gj/swagger.json) - - -[plant UML UI](https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/Ve1zj3V1gj/plantuml&noCache=366455.0) - -serviceOrder API designed for ONAP. -This API is build from TMF open API18.0 (applying TMF Guideline 3.0); -Only operations GET (by id and list) and POST are available. - - -### Version information -*Version* : 3.0.0_inProgress - - -### URI scheme -*Host* : serverRoot -*BasePath* : /nbi/api/v3 -*Schemes* : HTTPS - - -### Tags - -* Hub -* Notification -* ServiceOrder : A Service Order is a type of order which can be used to describe a group of operations on service – one service order item per service. An action at the level of the service order item describe the operation to be done on a service (add, terminate for example). The service order is triggered from the BSS system in charge of the product order management to ONAP that will manage the service fulfillment. - - -### Produces - -* `application/json;charset=utf-8` - - -<a name="paths"></a> -## Resources - -<a name="hub_resource"></a> -### Hub - -<a name="hubcreate"></a> -#### Create Hub -``` -POST /hub -``` - - -##### Description -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Schema| -|---|---|---| -|**Body**|**Hub** <br>*required*|[CreateHub](#createhub)| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**201**|Success <br>**Headers** : <br>`location` (string)|file| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Consumes - -* `application/json;charset=utf-8` - - -<a name="hubfind"></a> -#### Retrieve a lits of hub -``` -GET /hub -``` - - -##### Description -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Schema| -|---|---|---| -|**Query**|**eventType** <br>*optional*|enum (ServiceOrderCreationNotification, ServiceOrderStateChangeNotification, ServiceOrderItemStateChangeNotification)| -|**Query**|**id** <br>*optional*|string| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**200**|Success|< [Hub](#hub) > array| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Produces - -* `application/json;charset=utf-8` - - -<a name="hubget"></a> -#### Retrieve an HUB by id -``` -GET /hub/{hubId} -``` - - -##### Description -Retrieve an HUB by id - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Schema| -|---|---|---| -|**Path**|**hubId** <br>*required*|string| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**200**|Success|[Hub](#hub)| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Produces - -* `application/json;charset=utf-8` - - -<a name="hubdelete"></a> -#### delete hub -``` -DELETE /hub/{hubId} -``` - - -##### Description -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Schema| -|---|---|---| -|**Path**|**hubId** <br>*required*|string| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**204**|Success|No Content| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -<a name="notification_resource"></a> -### Notification - -<a name="notificationserviceordercreationnotification"></a> -#### Service order creation notification -``` -POST /notification/serviceOrderCreationNotification -``` - - -##### Description -Service order creation notification - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Schema| -|---|---|---| -|**Body**|**serviceOrderCreationNotification** <br>*required*|[ServiceOrderCreationNotification](#serviceordercreationnotification)| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**204**|Success|No Content| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Consumes - -* `application/json;charset=utf-8` - - -<a name="notificationserviceorderitemstatechangenotification"></a> -#### ServiceOrder Item State Change Notification description -``` -POST /notification/serviceOrderItemStateChangeNotification -``` - - -##### Description -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Schema| -|---|---|---| -|**Body**|**serviceOrderItemStateChangeNotification** <br>*required*|[ServiceOrderItemStateChangeNotification](#serviceorderitemstatechangenotification)| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**204**|Success|No Content| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Consumes - -* `application/json;charset=utf-8` - - -<a name="notificationserviceorderstatechangenotification"></a> -#### Service order state change notification description -``` -POST /notification/serviceOrderStateChangeNotification -``` - - -##### Description -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Schema| -|---|---|---| -|**Body**|**serviceOrderstateChangeNotification** <br>*required*|[ServiceOrderStateChangeNotification](#serviceorderstatechangenotification)| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**204**|Success|No Content| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Consumes - -* `application/json;charset=utf-8` - - -<a name="serviceorder_resource"></a> -### ServiceOrder -A Service Order is a type of order which can be used to describe a group of operations on service – one service order item per service. An action at the level of the service order item describe the operation to be done on a service (add, terminate for example). The service order is triggered from the BSS system in charge of the product order management to ONAP that will manage the service fulfillment. - - -<a name="serviceordercreate"></a> -#### Create a service order -``` -POST /serviceOrder -``` - - -##### Description -This operation creates a service order entity. -The TMF Open API specification document provides the list of mandatory and non mandatory attributes when creating a ServiceOrder, including any possible rule conditions and applicable default values. -POST should be used without specifying the id and the href, the Service Order Management system is in charge of generating the id + href for the ServiceOrder. - -In Beijing Release, NBI will use only POST {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API. This mean that only the 'service-instance' level will be created in AAI. Additional resource like VNF and/OR VF are not created. - -In Casablanca release, NBI has been improved to also be able to use POST {{url}}/e2eServiceInstances/v3 SO API. This API is able to instantiate in ONAP E2E service; This is useful for CCVPN and VoLTE UC. -Depending on the service category defined in SDC, NBI will use one or the other SO API. If category starts with e2e, NBI will use {url}}/e2eServiceInstances/v3 SO API - else it will use {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API. - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - - 100: OrderItem with 'add' action but serviceSpecification id missing - - - 101: OrderItem with 'change'/'noChange'/'remove' but service id missing - - - 102: OrderItem with 'add' action - serviceSpecification id provided but not existing - - - 103: OrderItem with 'add' action but service id already existing in the inventory - - - 104: A customer for existing service(s) is provided but he did not exist - - - 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory - - - 106: [Not managed for current Relese] Issue with lcpCloudRegionId and tenantId provided - - -##### Parameters - -|Type|Name|Schema| -|---|---|---| -|**Body**|**serviceOrder** <br>*required*|[CreateServiceOrder](#createserviceorder)| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**201**|Success|[ServiceOrder](#serviceorder)| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error<br><br>Specific encapsulated business errors for current operation<br><br> - 100: OrderItem with 'add' action but serviceSpecification id missing<br> <br> - 101: OrderItem with 'change'/'noChange'/'remove' but service id missing<br> <br> - 102: OrderItem with 'add' action - serviceSpecification id provided but not existing<br> <br> - 103: OrderItem with 'add' action but service id already existing in the inventory<br> <br> - 104: A customer for existing service(s) is provided but he did not exist<br> <br> - 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory<br> <br> - 106: [Not managed for current Relese] Issue with lcpCloudRegionId and tenantId provided|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Consumes - -* `application/json;charset=utf-8` - - -##### Produces - -* `application/json;charset=utf-8` - - -<a name="serviceorderfind"></a> -#### List service orders -``` -GET /serviceOrder -``` - - -##### Description -Retrieve and list service order entities according to given criteria. -Only a predefined set of attribute is proposed. -Attribute selection could be described in the fields attribute. - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Description|Schema| -|---|---|---|---| -|**Query**|**description** <br>*optional*||string| -|**Query**|**externalId** <br>*optional*||string| -|**Query**|**fields** <br>*optional*|this attribute could be used to filter retrieved attribute(s) and/or sort SO.|string| -|**Query**|**limit** <br>*optional*|The maximum number of elements to retrieve (it can be greater than the actual available number of items).|integer (int32)| -|**Query**|**offset** <br>*optional*|The index of the first element to retrieve. Zero is the first element of the collection.|integer (int32)| -|**Query**|**orderDate.gt** <br>*optional*|order date greather than|string| -|**Query**|**orderDate.lt** <br>*optional*|order date lower than|string| -|**Query**|**state** <br>*optional*|state of the order(s) to be retrieved|string| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**200**|Success <br>**Headers** : <br>`X-Total-Count` (integer (int32)) <br>`X-Result-Count` (integer (int32))|< [ServiceOrder](#serviceorder) > array| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Produces - -* `application/json;charset=utf-8` - - -<a name="serviceorderget"></a> -#### Retrieve a service order -``` -GET /serviceOrder/{id} -``` - - -##### Description -This operation retrieves a service order entity. -Attribute selection is enabled for all first level attributes. - -Specific business errors for current operation will be encapsulated in - -HTTP Response 422 Unprocessable entity - - -##### Parameters - -|Type|Name|Description|Schema| -|---|---|---|---| -|**Path**|**id** <br>*required*||string| -|**Query**|**fields** <br>*optional*|Attribute selection|string| - - -##### Responses - -|HTTP Code|Description|Schema| -|---|---|---| -|**200**|Success|[ServiceOrder](#serviceorder)| -|**400**|Bad Request<br><br>List of supported error codes:<br>- 20: Invalid URL parameter value<br>- 21: Missing body<br>- 22: Invalid body<br>- 23: Missing body field<br>- 24: Invalid body field<br>- 25: Missing header<br>- 26: Invalid header value<br>- 27: Missing query-string parameter<br>- 28: Invalid query-string parameter value|[ErrorRepresentation](#errorrepresentation)| -|**401**|Unauthorized<br><br>List of supported error codes:<br>- 40: Missing credentials<br>- 41: Invalid credentials<br>- 42: Expired credentials|[ErrorRepresentation](#errorrepresentation)| -|**403**|Forbidden<br><br>List of supported error codes:<br>- 50: Access denied<br>- 51: Forbidden requester<br>- 52: Forbidden user<br>- 53: Too many requests|[ErrorRepresentation](#errorrepresentation)| -|**404**|Not Found<br><br>List of supported error codes:<br>- 60: Resource not found|[ErrorRepresentation](#errorrepresentation)| -|**422**|Unprocessable entity<br><br>Functional error|[ErrorRepresentation](#errorrepresentation)| -|**500**|Internal Server Error<br><br>List of supported error codes:<br>- 1: Internal error|[ErrorRepresentation](#errorrepresentation)| -|**503**|Service Unavailable<br><br>List of supported error codes:<br>- 5: The service is temporarily unavailable<br>- 6: Orange API is over capacity, retry later !|[ErrorRepresentation](#errorrepresentation)| - - -##### Produces - -* `application/json;charset=utf-8` - - -<a name="definitions"></a> -## Definitions - -<a name="actiontype"></a> -### ActionType -Action type to be describer on the order item. -modify is not managed in Beijing release - -*Type* : enum (add, modify, delete, noChange) - - -<a name="createhub"></a> -### CreateHub -This structure is used as a request for POST Hub operation - - -|Name|Description|Schema| -|---|---|---| -|**callback** <br>*required*|Address where notification must be send|string| -|**query** <br>*required*|The query must have an eventType=notificationName information.<br>Optionally a ? could be added to reduce hub.<br>query”:”eventType = ServiceOrderStateChangeNotification”&serviceOrder.state=COMPLETED|string| - - -<a name="createserviceorder"></a> -### CreateServiceOrder -This structure is used in the operation POST for a serviceOrder request. -Attribute description is not accurate and should be find in the serviceOrder class. - - -|Name|Description|Schema| -|---|---|---| -|**@baseType** <br>*optional*||string| -|**@schemaLocation** <br>*optional*||string| -|**@type** <br>*optional*||string| -|**category** <br>*optional*|Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, ...)|string| -|**description** <br>*optional*|A free-text description of the service order|string| -|**externalId** <br>*optional*|ID given by the consumer and only understandable by him (to facilitate his searches)|string| -|**orderItem** <br>*optional*||< [CreateServiceOrderItem](#createserviceorderitem) > array| -|**orderRelationship** <br>*optional*||< [OrderRelationship](#orderrelationship) > array| -|**priority** <br>*optional*|A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)|string| -|**relatedParty** <br>*optional*||< [RelatedParty](#relatedparty) > array| -|**requestedCompletionDate** <br>*optional*|Requested delivery date from the requestor perspective|string (date-time)| -|**requestedStartDate** <br>*optional*|Order start date wished by the requestor|string (date-time)| - - -<a name="createserviceorderitem"></a> -### CreateServiceOrderItem -This structure is used in the operation POST for a serviceOrder request to describe an item. -Attribute description is not accurate and should be find in the serviceOrderItem class. - - -|Name|Description|Schema| -|---|---|---| -|**@baseType** <br>*optional*|Indicates the base type of the resource.|string| -|**@schemaLocation** <br>*optional*|A link to the schema describing this REST resource|string| -|**@type** <br>*optional*|Indicates the type of resource.|string| -|**action** <br>*optional*||[ActionType](#actiontype)| -|**id** <br>*required*|Identifier of the line item (generally it is a sequence number 01, 02, 03, …)|string| -|**orderItemRelationship** <br>*optional*||< [OrderItemRelationship](#orderitemrelationship) > array| -|**service** <br>*required*||[Service](#service)| - - -<a name="errorrepresentation"></a> -### ErrorRepresentation -Representation of an error. - - -|Name|Description|Schema| -|---|---|---| -|**@schemaLocation** <br>*optional*|it provides a link to the schema describing a REST resource|string| -|**@type** <br>*optional*|The class type of a REST resource|string| -|**code** <br>*required*|Application related code (as defined in the API or from a common list)|integer (int32)| -|**message** <br>*optional*|Text that provide more details and corrective actions related to the error. This can be shown to a client user|string| -|**reason** <br>*required*|Text that explains the reason for error. This can be shown to a client user.|string| -|**referenceError** <br>*optional*|url pointing to documentation describing the error|string| -|**status** <br>*optional*|http error code extension like 400-2|string| - - -<a name="eventtype"></a> -### EventType -*Type* : enum (ServiceOrderCreationNotification, ServiceOrderStateChangeNotification, ServiceOrderItemStateChangeNotification) - - -<a name="hub"></a> -### Hub -An HUB resource is used by client side to subscribe to notification. -Not managed in the Beijing release. - - -|Name|Description|Schema| -|---|---|---| -|**callback** <br>*required*|Address where notification must be send|string| -|**id** <br>*optional*|Hub Id|string| -|**query** <br>*required*||string| - - -<a name="notification"></a> -### Notification -Used to describe notification for this API - -*Type* : object - - -<a name="orderitemrelationship"></a> -### OrderItemRelationship -Linked order item to the one containing this attribute. -nbi component used this relationship to sort request to ONAP. - - -|Name|Description|Schema| -|---|---|---| -|**id** <br>*required*|Unique identifier of an order item|string| -|**type** <br>*required*||[RelationshipType](#relationshiptype)| - - -<a name="ordermessage"></a> -### OrderMessage -An optional array of messages associated with the Order - - -|Name|Description|Schema| -|---|---|---| -|**code** <br>*optional*|A code associated to this message|string| -|**correctionRequired** <br>*required*|Indicator that an action is required to allow service order fullfilment to follow up|boolean| -|**field** <br>*optional*|Service Order attribute related to this error message|string| -|**messageInformation** <br>*optional*|Message related to this order|string| -|**severity** <br>*required*||[SeverityMessage](#severitymessage)| - - -<a name="orderrelationship"></a> -### OrderRelationship -Linked order to the one containing this attribute. -This relationship is not used to sort ONAP request. - - -|Name|Description|Schema| -|---|---|---| -|**@referredType** <br>*optional*|Type of the referred order.|string| -|**href** <br>*optional*|A hyperlink to the related order|string| -|**id** <br>*required*|The id of the related order|string| -|**type** <br>*optional*|The type of related order, can be : “dependency” if the order needs to be “not started” until another order item is complete (a service order in this case) or “cross-ref” to keep track of the source order (a productOrder)|string| - - -<a name="relatedparty"></a> -### RelatedParty -A related party defines party which are involved in this order and the role they are playing. -for Beijing release: -With the current version of APIs used from SO and AAI we need to manage a ‘customer’. This customer concept is confusing with Customer BSS concept. We took the following rules to manage the ‘customer’ information: -o It could be provided through a serviceOrder in the service Order a relatedParty with role ‘ONAPcustomer’ should be provided in the serviceOrder header (we will not consider in this release the party at item level); External API component will check if this customer exists and create it in AAI if not. -o If no relatedParty are provided the service will be affected to ‘generic’ customer (dummy customer) – we assume this ‘generic’ customer always exists. - - -|Name|Description|Schema| -|---|---|---| -|**@referredType** <br>*optional*||string| -|**href** <br>*optional*|An hyperlink to the party - not used in Beijnig release|string| -|**id** <br>*required*|Unique identifier of a related party|string| -|**name** <br>*optional*|Name of the related party|string| -|**role** <br>*required*|The role of the related party (e.g. Owner, requester, fullfiller etc).<br>ONLY 'ONAPcustomer' is considered|string| - - -<a name="relationshiptype"></a> -### RelationshipType -Relationship type; -Only reliesOn is managed in Beijing release. - -*Type* : enum (reliesOn) - - -<a name="service"></a> -### Service -Service (to be added, modified, deleted) description - - -|Name|Description|Schema| -|---|---|---| -|**@schemaLocation** <br>*optional*|The URL to get the resource schema.<br>Not managed in Beijing Release|string| -|**@type** <br>*optional*|To define the service type<br>Not managed in Beijing Release|string| -|**href** <br>*optional*|Reference to the Service (useful for delete or modify command).<br>Not managed in Beijing release.|string| -|**id** <br>*required*|Identifier of a service instance.<br>It must be valued if orderItem action is 'delete' and corresponds to a AAI service.id|string| -|**name** <br>*optional*|Name of the service - When orderItem action is 'add' this name will be used in ONAP/SO request as InstaceName.|string| -|**relatedParty** <br>*optional*||< [RelatedParty](#relatedparty) > array| -|**serviceCharacteristic** <br>*optional*||< [ServiceCharacteristic](#servicecharacteristic) > array| -|**serviceRelationship** <br>*optional*||< [ServiceRelationship](#servicerelationship) > array| -|**serviceSpecification** <br>*optional*||[ServiceSpecificationRef](#servicespecificationref)| -|**serviceState** <br>*optional*|The lifecycle state of the service requested;<br>Not managed in Beijing release.|string| - - -<a name="servicecharacteristic"></a> -### ServiceCharacteristic -ServiceCharacteristic - - -|Name|Description|Schema| -|---|---|---| -|**name** <br>*required*|Name of characteristic|string| -|**value** <br>*optional*||[Value](#value)| -|**valueType** <br>*optional*||string| - - -<a name="serviceorder"></a> -### ServiceOrder -A Service Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa - - -|Name|Description|Schema| -|---|---|---| -|**@baseType** <br>*optional*||string| -|**@schemaLocation** <br>*optional*||string| -|**@type** <br>*optional*||string| -|**category** <br>*optional*|Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, ...)|string| -|**completionDateTime** <br>*optional*|Date when the order was completed|string (date-time)| -|**description** <br>*optional*|A free-text description of the service order|string| -|**expectedCompletionDate** <br>*optional*||string (date-time)| -|**externalId** <br>*optional*|ID given by the consumer and only understandable by him (to facilitate his searches)|string| -|**href** <br>*optional*|Hyperlink to access the order|string| -|**id** <br>*required*|ID created on repository side|string| -|**orderDate** <br>*optional*||string (date-time)| -|**orderItem** <br>*optional*||< [ServiceOrderItem](#serviceorderitem) > array| -|**orderMessage** <br>*optional*||< [OrderMessage](#ordermessage) > array| -|**orderRelationship** <br>*optional*||< [OrderRelationship](#orderrelationship) > array| -|**priority** <br>*optional*|A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)|string| -|**relatedParty** <br>*optional*||< [RelatedParty](#relatedparty) > array| -|**requestedCompletionDate** <br>*optional*|Requested delivery date from the requestor perspective|string (date-time)| -|**requestedStartDate** <br>*optional*|Order start date wished by the requestor|string (date-time)| -|**startDate** <br>*optional*|Date when the order was started for processing|string (date-time)| -|**state** <br>*optional*||[StateType](#statetype)| - - -<a name="serviceordercreationnotification"></a> -### ServiceOrderCreationNotification -Notification structure for a service order creation notification - - -|Name|Description|Schema| -|---|---|---| -|**event** <br>*required*||[ServiceOrderSummary](#serviceordersummary)| -|**eventDate** <br>*required*||string (date-time)| -|**eventId** <br>*required*||string| -|**eventType** <br>*required*|**Default** : `"ServiceOrderCreationNotification"`|string| - - -<a name="serviceorderitem"></a> -### ServiceOrderItem -An identified part of the order. A service order is decomposed into one or more order items. - - -|Name|Description|Schema| -|---|---|---| -|**@baseType** <br>*optional*|not used in Beijing relase|string| -|**@schemaLocation** <br>*optional*|not used in Beijing relase|string| -|**@type** <br>*optional*|Used to extend the order item.<br>not used in Beijing relase|string| -|**action** <br>*optional*||[ActionType](#actiontype)| -|**id** <br>*required*|Identifier of the line item (generally it is a sequence number 01, 02, 03, …)|string| -|**orderItemMessage** <br>*optional*||< [OrderMessage](#ordermessage) > array| -|**orderItemRelationship** <br>*optional*||< [OrderItemRelationship](#orderitemrelationship) > array| -|**percentProgress** <br>*optional*|Progress of the delivery in percentage.|string| -|**service** <br>*required*||[Service](#service)| -|**state** <br>*optional*||[StateType](#statetype)| - - -<a name="serviceorderitemstatechangenotification"></a> -### ServiceOrderItemStateChangeNotification - -|Name|Description|Schema| -|---|---|---| -|**event** <br>*required*||[ServiceOrderSummaryWithItem](#serviceordersummarywithitem)| -|**eventDate** <br>*required*||string (date-time)| -|**eventId** <br>*required*||string| -|**eventType** <br>*required*|**Default** : `"ServiceOrderStateChangeNotification"`|string| - - -<a name="serviceorderitemsummary"></a> -### ServiceOrderItemSummary -Service Order item summary to be used for notification - - -|Name|Description|Schema| -|---|---|---| -|**action** <br>*optional*||[ActionType](#actiontype)| -|**id** <br>*required*|Identifier of the line item (generally it is a sequence number 01, 02, 03, …)|string| -|**service** <br>*required*||[Service](#service)| -|**state** <br>*optional*||[StateType](#statetype)| - - -<a name="serviceorderstatechangenotification"></a> -### ServiceOrderStateChangeNotification -Service order state change notification description - - -|Name|Description|Schema| -|---|---|---| -|**event** <br>*required*||[ServiceOrderSummary](#serviceordersummary)| -|**eventDate** <br>*required*||string (date-time)| -|**eventId** <br>*required*||string| -|**eventType** <br>*required*|**Default** : `"ServiceOrderStateChangeNotification"`|string| - - -<a name="serviceordersummary"></a> -### ServiceOrderSummary -This structure is used to provide a subset of serviceOrder attributes to be provided in particular for notification messages - - -|Name|Description|Schema| -|---|---|---| -|**completionDateTime** <br>*optional*|Date when the order was completed|string (date-time)| -|**externalId** <br>*optional*|ID given by the consumer and only understandable by him (to facilitate his searches)|string| -|**href** <br>*optional*|Hyperlink to access the order|string| -|**id** <br>*required*|ID created on repository side|string| -|**orderDate** <br>*optional*||string (date-time)| -|**state** <br>*optional*||[StateType](#statetype)| - - -<a name="serviceordersummarywithitem"></a> -### ServiceOrderSummaryWithItem -Service order item summary with item description - - -|Name|Description|Schema| -|---|---|---| -|**completionDateTime** <br>*optional*|Date when the order was completed|string (date-time)| -|**externalId** <br>*optional*|ID given by the consumer and only understandable by him (to facilitate his searches)|string| -|**href** <br>*optional*|Hyperlink to access the order|string| -|**id** <br>*required*|ID created on repository side|string| -|**orderDate** <br>*optional*||string (date-time)| -|**orderItem** <br>*optional*||< [ServiceOrderItemSummary](#serviceorderitemsummary) > array| -|**state** <br>*optional*||[StateType](#statetype)| - - -<a name="serviceref"></a> -### ServiceRef -Service references - - -|Name|Description|Schema| -|---|---|---| -|**href** <br>*optional*|Reference of the service|string| -|**id** <br>*required*|Unique identifier of the service|string| - - -<a name="servicerelationship"></a> -### ServiceRelationship -Linked Services to the one instantiate -nbi component used this relationship to sort request to ONAP. - - -|Name|Schema| -|---|---| -|**service** <br>*required*|[Service](#service)| -|**type** <br>*required*|[RelationshipType](#relationshiptype)| - - -<a name="servicespecificationref"></a> -### ServiceSpecificationRef -The service specification (these attributes are fetched from the catalogue). - - -|Name|Description|Schema| -|---|---|---| -|**@baseType** <br>*optional*|Not used in Beijing release|string| -|**@schemaLocation** <br>*optional*|Not used in Beijing release|string| -|**@type** <br>*optional*|Not used in Beijing release|string| -|**href** <br>*optional*|Reference of the service specification<br>Not used in Beijing release.|string| -|**id** <br>*required*|Unique identifier of the service specification<br>This information will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin the request.|string| -|**name** <br>*optional*|Name of the service specification<br>Not used in Beijing release|string| -|**targetServiceSchema** <br>*optional*||[TargetServiceSchema](#targetserviceschema)| -|**version** <br>*optional*|Version of the service Specification<br>Not used in Beijing release|string| - - -<a name="severitymessage"></a> -### SeverityMessage -*Type* : enum (information, error) - - -<a name="statetype"></a> -### StateType -List of possible state for the order and the orderItem. - -*Type* : enum (acknowledged, rejected, pending, held, inProgress, cancelled, completed, failed, partial) - - -<a name="targetserviceschema"></a> -### TargetServiceSchema -Target to the schema describing the service spec resource - - -|Name|Description|Schema| -|---|---|---| -|**@schemaLocation** <br>*required*|This field provided a link to the schema describing this REST resource.|string| -|**@type** <br>*required*|Indicates the (class) type of resource.|string| - - -<a name="value"></a> -### Value -Value is a descriptive structure for service characteristic; -For Beijing we only manage 'basic' attribute - the serviceCharacteristicValue must be used. - - -|Name|Description|Schema| -|---|---|---| -|**@schemaLocation** <br>*optional*|This field provided a link to the schema describing this REST resource.<br>Not used in Beijing Release|string| -|**@type** <br>*optional*|Indicates the (class) type of resource.<br>Not used in Beijing Release|string| -|**serviceCharacteristicValue** <br>*optional*|Value of the characteristic.<br>This attribute must be used in Beijing Release to provide characteristic value.|string| - diff --git a/docs/offeredapis/swaggers/healthCheck_3_0_0.json b/docs/offeredapis/swaggers/healthCheck_3_0_0.json deleted file mode 100644 index 8092cb0..0000000 --- a/docs/offeredapis/swaggers/healthCheck_3_0_0.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "swagger" : "2.0", - "info" : { - "description" : "This is the ONAP NBI HealthCheck API", - "version" : "3.0.0", - "title" : "NBI HealthCheck API", - "contact" : { - "email" : "romain.gimbert@orange.com" - }, - "license" : { - "name" : "Apache 2.0", - "url" : "http://www.apache.org/licenses/LICENSE-2.0.html" - } - }, - "host" : "serverRoot", - "basePath" : "/nbi/api/v3", - "schemes" : [ "http" ], - "produces": [ - "application/json;charset=utf-8" - ], - "paths" : { - "/status" : { - "get" : { - "summary" : "Displays health status for the NBI component", - "operationId" : "commitInfo", - "description" : "Displays health status for the NBI component", - "responses": { - "200": { - "description": "Service OK", - "schema": { - "$ref": "#/definitions/Status" - } - }, - "503" : { - "description" : "Service Unavailable" - } - } - } - } - }, - "definitions": { - "Status": { - "description": "NBI Status", - "type": "object", - "properties": { - "name": { - "description": "name of NBI component", - "type": "string" - }, - "status": { - "description": "status of NBI component", - "type": "string" - }, - "version": { - "description": "version of NBI component", - "type": "string" - } - } - } - } -} diff --git a/docs/offeredapis/swaggers/listener-1_0_0.json b/docs/offeredapis/swaggers/listener-1_0_0.json deleted file mode 100644 index 7aa65fb..0000000 --- a/docs/offeredapis/swaggers/listener-1_0_0.json +++ /dev/null @@ -1,210 +0,0 @@ - -{ - "swagger": "2.0", - "info": { - "description": "Listener API has to be implemented on the client side in order to receive notification.\nNotification are received if HUB has been posted on server side.", - "version": "0.1.0", - "title": "API Listener", - "x-logo": { - "url": "/redoc/logo.png", - "backgroundColor": "#FFFFFF" - } - }, - - "host": "serverRoot", - "basePath": "/externalapi/listener/v1", - "schemes": [ - "https" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "tags": [ - - { - "name": "Listener", - "description": "" - } - ], - "paths": { - "/listener": { - "post": { - "tags": [ - "Listener" - ], - "consumes": [ - "application/json;charset=utf-8" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "operationId": "listenerCreate", - "summary": "createEvent", - "description": "The create event is used by the seller to trigger (POST) a notification to the buyer. The buyer has previously subscribed to receive notification\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n", - "deprecated": false, - - "parameters": [ - - { - "name": "event", - "required": true, - "in": "body", - "description": "", - "schema": { - "$ref": "#/definitions/Listener" - } - } - ], - "responses": { - "201": { - "description": "Success", - "schema": { - "$ref": "#/definitions/Listener" - } - - }, - "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" - } - }, - "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": { - - "EventType": { - "description": "", - - "type": "string", - "enum": [ - "ServiceOrderCreationNotification", - "ServiceOrderStateChangeNotification", - "ServiceOrderItemStateChangeNotification"] - - }, - - "ErrorRepresentation": { - "description": "", - - - "required": [ - - "code" - ], - "type": "object", - "properties": { - "code": { - "description": "", - "type": "integer", - "format": "int32" - }, - "reason": { - "description": "", - "type": "string" - }, - "message": { - "description": "", - "type": "string" - }, - "status": { - "description": "", - "type": "integer", - "format": "int32" - }, - "referenceError": { - "description": "", - "type": "string" - }, - "@type": { - "description": "", - "type": "string" - }, - "@schemaLocation": { - "description": "", - "type": "string" - } - } - - }, - - "Listener": { - "description": "An event will be triggered for each time a notification is send to a listener.", - - - "required": [ - - "eventId", - "eventDate", - "eventType", - "event" - ], - "type": "object", - "properties": { - "eventId": { - "description": "id of the event", - "type": "string" - }, - "eventDate": { - "description": "", - "type": "string", - "format": "date-time" - }, - "eventType": { - - "$ref": "#/definitions/EventType" - }, - "event": { - "description": "An event representation is the payload of information send with the notification; it will feature event attributes + summary view of the resource.", - "type": "object" - } - } - - } - } -} -
\ No newline at end of file diff --git a/docs/offeredapis/swaggers/listener-1_0_0.yaml b/docs/offeredapis/swaggers/listener-1_0_0.yaml deleted file mode 100644 index 390abe0..0000000 --- a/docs/offeredapis/swaggers/listener-1_0_0.yaml +++ /dev/null @@ -1,142 +0,0 @@ -swagger: "2.0" -info: - description: "Listener API has to be implemented on the client side in order to\ - \ receive notification.\nNotification are received if HUB has been posted on server\ - \ side." - version: "0.1.0" - title: "API Listener" - x-logo: - url: "/redoc/logo.png" - backgroundColor: "#FFFFFF" -host: "serverRoot" -basePath: "/externalapi/listener/v1" -schemes: -- "https" -produces: -- "application/json;charset=utf-8" -tags: -- name: "Listener" - description: "" -paths: - /listener: - post: - tags: - - "Listener" - consumes: - - "application/json;charset=utf-8" - produces: - - "application/json;charset=utf-8" - operationId: "listenerCreate" - summary: "createEvent" - description: "The create event is used by the seller to trigger (POST) a notification\ - \ to the buyer. The buyer has previously subscribed to receive notification\n\ - \nSpecific business errors for current operation will be encapsulated in\n\ - \nHTTP Response 422 Unprocessable entity\n" - deprecated: false - parameters: - - name: "event" - required: true - in: "body" - description: "" - schema: - $ref: "#/definitions/Listener" - responses: - 201: - description: "Success" - schema: - $ref: "#/definitions/Listener" - 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" - 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: - EventType: - description: "" - type: "string" - enum: - - "ServiceOrderCreationNotification" - - "ServiceOrderStateChangeNotification" - - "ServiceOrderItemStateChangeNotification" - ErrorRepresentation: - description: "" - required: - - "code" - type: "object" - properties: - code: - description: "" - type: "integer" - format: "int32" - reason: - description: "" - type: "string" - message: - description: "" - type: "string" - status: - description: "" - type: "integer" - format: "int32" - referenceError: - description: "" - type: "string" - '@type': - description: "" - type: "string" - '@schemaLocation': - description: "" - type: "string" - Listener: - description: "An event will be triggered for each time a notification is send\ - \ to a listener." - required: - - "eventId" - - "eventDate" - - "eventType" - - "event" - type: "object" - properties: - eventId: - description: "id of the event" - type: "string" - eventDate: - description: "" - type: "string" - format: "date-time" - eventType: - $ref: "#/definitions/EventType" - event: - description: "An event representation is the payload of information send with\ - \ the notification; it will feature event attributes + summary view of the\ - \ resource." - type: "object" diff --git a/docs/offeredapis/swaggers/serviceCatalog_3_0_0.json b/docs/offeredapis/swaggers/serviceCatalog_3_0_0.json deleted file mode 100644 index aedd4a5..0000000 --- a/docs/offeredapis/swaggers/serviceCatalog_3_0_0.json +++ /dev/null @@ -1,660 +0,0 @@ - -{ - "swagger": "2.0", - "info": { - "description": "serviceCatalog API designed for ONAP Casablanca Release.\nThis API is build from TMF open API17.5. \nOnly operation GET (by id & byList) for resource serviceSpecification is available", - "version": "3.0.0", - "title": "API ServiceCatalog", - "x-logo": { - "url": "/redoc/logo.png", - "backgroundColor": "#FFFFFF" - } - }, - - "host": "serverRoot", - "basePath": "/nbi/api/v3", - "schemes": [ - "https" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "tags": [ - - { - "name": "ServiceSpecification", - "description": "" - } - ], - "paths": { - "/serviceSpecification": { - "get": { - "tags": [ - "ServiceSpecification" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "operationId": "serviceSpecificationFind", - "summary": "List service specifications", - "description": "This operation returns service specifications from a catalog.\nOnly a predefined set of attribute is proposed : Based on SDC limitations, only attributes category and distributionStatus are available for serviceSpecification filtering\nFields attribute could be used to filter attributes retrieved\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n", - "deprecated": false, - - "parameters": [ - - { - "name": "fields", - "required": false, - "in": "query", - "description": "Field selection - used to filtering the attributes to be retreived", - - "type": "string" - }, - { - "name": "category", - "required": false, - "in": "query", - "description": "Service Category (filter)", - - "type": "string" - }, - { - "name": "distributionStatus", - "required": false, - "in": "query", - "description": "Service distribution status (filter)", - - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceSpecification" - } - } - - }, - "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" - } - } - } - } - }, - "/serviceSpecification/{id}": { - "get": { - "tags": [ - "ServiceSpecification" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "operationId": "serviceSpecificationGet", - "summary": "Retrieve a service specification", - "description": "This operation returns a service specification by its id from a catalog. Attribute selection is enabled using the fields attribute.\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": "fields", - "required": false, - "in": "query", - "description": "Attribute selection", - - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/ServiceSpecification" - } - - }, - "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": { - - "LifecycleStatusValues": { - "description": "Service lifecycle value from ONAP SDC", - - "type": "string", - "enum": [ - "NOT_CERTIFIED_CHECKOUT", - "NOT_CERTIFIED_CHECKIN", - "READY_FOR_CERTIFICATION", - "CERTIFICATION_IN_PROGRESS", - "CERTIFIED"] - - }, - "DistributionStatus": { - "description": "Service distribution status from ONAP.", - - "type": "string", - "enum": [ - "DISTRIBUTION_NOT_APPROVED", - "DISTRIBUTION_APPROVED", - "DISTRIBUTED", - "DISTRIBUTION_REJECTED"] - - }, - - "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" - }, - "referenceErrror": { - "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" - } - } - - }, - - "TimePeriod": { - "description": "A time period", - - - "type": "object", - "properties": { - "startDateTime": { - "description": "Start date and time of the period", - "type": "string", - "format": "date-time" - }, - "endDateTime": { - "description": "End date and time of the period", - "type": "string", - "format": "date-time" - } - } - - }, - - "RelatedPartyRef": { - "description": "Party linked to the service catalog.\nin nbi we retrieve information about last updater of the service in SDC", - - - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the related party. Filled with lastUpdaterUserId", - "type": "string" - }, - "role": { - "description": "Role payed by the related party\nOnly role 'lastUpdater' is retrieved in Beijing release", - "type": "string" - }, - "name": { - "description": "Name of the related party - Filled with lastUpdatedFullName", - "type": "string" - } - } - - }, - - "ServiceSpecification": { - "description": "ServiceSpecification is a class that offers characteristics to describe a type of service. Functionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics.\nthe service information are retrieved in SDC", - - - "required": [ - - "invariantUUID" - ], - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the service specification. Filled with SDC Service uuid", - "type": "string" - }, - "href": { - "description": "Reference of the service specification- not mapped in Beijing", - "type": "string" - }, - "name": { - "description": "Name of the service specification- Filled with SDC Service name", - "type": "string" - }, - "description": { - "description": "A narrative that explains in detail what the service specification is - Filled with SDC Service description", - "type": "string" - }, - "@type": { - "description": "This attribute allows to dynamically extends TMF class. Valued with 'ONAPservice'. We used this features to add following attributes:\ninvariantUUID\ntoscaModelURL\ntoscaResourceName\ncategory (1)\nsubcategory (1)\ndistributionStatus", - "type": "string", - - "default": "ONAPservice" - }, - "@schemaLocation": { - "description": "Not used for Beijing release", - "type": "string" - }, - "@baseType": { - "description": "Not used for Beijing release", - "type": "string" - }, - "invariantUUID": { - "description": "Additional attribute (not in the TMF API) - extended through @type - invariantUUID", - "type": "string" - }, - "toscaModelURL": { - "description": "Additional attribute (not in the TMF API) - extended through @type - toscaModelURL", - "type": "string" - }, - "toscaResourceName": { - "description": "Additional attribute (not in the TMF API) - extended through @type - toscaResourceName", - "type": "string" - }, - "category": { - "description": "Additional attribute - extended through @type - category\nPlease note that this attribute is managed in TMF - in future release we'll introduce category resource", - "type": "string" - }, - "subcategory": { - "description": "Additional attribute - extended through @type - category\nPlease note that this attribute is managed in TMF - in future release we'll introduce category resourc", - "type": "string" - }, - "distributionStatus": { - - "$ref": "#/definitions/DistributionStatus" - }, - "version": { - "description": "Service specification version - Filled with SDC Service version", - "type": "string" - }, - "lifecycleStatus": { - - "$ref": "#/definitions/LifecycleStatusValues" - }, - "targetServiceSchema": { - - "$ref": "#/definitions/TargetServiceSchemaRef" - }, - "attachment": { - - "type": "array", - "items": { - "$ref": "#/definitions/Attachment" - } - }, - "relatedParty": { - - "type": "array", - "items": { - "$ref": "#/definitions/RelatedPartyRef" - } - }, - "resourceSpecification": { - - "type": "array", - "items": { - "$ref": "#/definitions/ResourceSpecificationRef" - } - }, - "serviceSpecCharacteristic": { - - "type": "array", - "items": { - "$ref": "#/definitions/ServiceSpecCharacteristic" - } - } - } - - }, - - "ServiceSpecCharacteristic": { - "description": "A characteristic quality or distinctive feature of a ServiceSpecification. \nServiceSpecCharacteristic are retrieved in the serviceTosca file in the topology_template section in the inputs section.", - - - "type": "object", - "properties": { - "name": { - "description": "Name of the characteristic - Filled with parameter_name", - "type": "string" - }, - "description": { - "description": "A narrative that explains in detail what the characteristic is - Filled with parameter_description", - "type": "string" - }, - "valueType": { - "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth - Filled with parameter_type", - "type": "string" - }, - "@type": { - "description": "This attribute allows to dynamically extends TMF class. Valued with: 'ONAPserviceCharacteristic'. We do not used this features in nbi Beijing release.", - "type": "string" - }, - "@schemaLocation": { - "description": "An url pointing to type description - we do not use it in nbi Beijing release", - "type": "string" - }, - "required": { - "description": "A parameter to define if the characteristic is mandatory - Filled from parameter_required – if not fielded by default ‘true’", - "type": "boolean", - - "default": true - }, - "status": { - "description": "Status of the characteristic - filled with status_value", - "type": "string" - }, - "serviceSpecCharacteristicValue": { - - "type": "array", - "items": { - "$ref": "#/definitions/ServiceSpecCharacteristicValue" - } - } - } - - }, - - "Attachment": { - "description": "An attachment is a file uses to describe the service.\nIn nbi we use attachment to retrieve ONAP artifacts.", - - - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the attachment - filled with artifactUUID.", - "type": "string" - }, - "name": { - "description": "Name of the attachment - filled with artifactName", - "type": "string" - }, - "description": { - "description": "Description of the attachment - filled with artifactDescription", - "type": "string" - }, - "@type": { - "description": "This attribute allows to dynamically extends TMF class. Valued with 'ONAPartifact'. We used this features to add following attributes: \nartifactLabel\nartifactGroupType\nartifactTimeout\nartifactChecksum\nartifactVersion\ngeneratedFromUUID", - "type": "string", - - "default": "ONAPartifact" - }, - "artifactLabel": { - "description": "Additional attribute (not in the TMF API) - extended through @type - artifactLabel", - "type": "string" - }, - "artifactGroupType": { - "description": "Additional attribute (not in the TMF API) - extended through @type - artifactGroupType", - "type": "string" - }, - "artifactTimeout": { - "description": "Additional attribute (not in the TMF API) - extended through @type - artifactTimeout", - "type": "string" - }, - "artifactChecksum": { - "description": "Additional attribute (not in the TMF API) - extended through @type - artifactChecksum", - "type": "string" - }, - "artifactVersion": { - "description": "Additional attribute (not in the TMF API) - extended through @type - artifactVersion", - "type": "string" - }, - "generatedFromUUID": { - "description": "Additional attribute (not in the TMF API) - extended through @type - generatedFromUUID", - "type": "string" - }, - "url": { - "description": "Uniform Resource Locator, is a web page address - filled with artifactURL", - "type": "string" - }, - "mimeType": { - "description": "Filled with artifactType", - "type": "string" - } - } - - }, - - "ServiceSpecCharacteristicValue": { - "description": "A number or text that can be assigned to a service specification characteristic.\nServiceSpecCharacteristicValue are retrieved in the service Tosca file", - - - "type": "object", - "properties": { - "valueType": { - "description": "A kind of value that the characteristic can take on, such as numeric, text, and so forth\nRetrieved in the Tosca in the topology_template section in the inputs section - parameter_type. \nWe do not manage parameter_type= list or map for Beijing release", - "type": "string" - }, - "isDefault": { - "description": "Information calculated from parameter default in the Tosca file", - "type": "boolean" - }, - "value": { - "description": "A discrete value that the characteristic can take on", - "type": "string" - } - } - - }, - - "ResourceSpecificationRef": { - "description": "A list of resourceSpec identified to deliver the service.\nfor nbi we retrieve resource information available in service description (through SDC api) bu as well information retrieved in the TOSCA file.", - - - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the resource specification - filled with resourceUUID", - "type": "string" - }, - "version": { - "description": "Version for this resource specification - filled with resourceVersion", - "type": "string" - }, - "name": { - "description": "Name of the resource specification - filled with resourceName", - "type": "string" - }, - "@type": { - "description": "This attribute allows to dynamically extends TMF class. Valued with: 'ONAPresource'. We used this features to add following attributes:\nresourceInstanceName\nresourceInvariantUUID\nresourceType\nmodelCustomizationName\nmodelCustomizationId", - "type": "string", - - "default": "ONAPresource" - }, - "resourceInstanceName": { - "description": "Additional attribute (not in the TMF API) - extended through @type - resourceInstanceName", - "type": "string" - }, - "resourceInvariantUUID": { - "description": "Additional attribute (not in the TMF API) - extended through @type - resourceInvariantUUID", - "type": "string" - }, - "resourceType": { - "description": "Additional attribute (not in the TMF API) - extended through @type - resoucreType", - "type": "string" - }, - "modelCustomizationName": { - "description": "Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute name in topology_template/node_template for the resource", - "type": "string" - }, - "modelCustomizationId": { - "description": "Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute customizationUUID in topology_template/node_template for the resource", - "type": "string" - } - } - - }, - - "TargetServiceSchemaRef": { - "description": "", - - - "required": [ - - "@type", - "@schemaLocation" - ], - "type": "object", - "properties": { - "@type": { - "description": "", - "type": "string" - }, - "@schemaLocation": { - "description": "", - "type": "string" - } - } - - } - } -} -
\ No newline at end of file diff --git a/docs/offeredapis/swaggers/serviceInventory_3_0_0.json b/docs/offeredapis/swaggers/serviceInventory_3_0_0.json deleted file mode 100644 index 3a5bfc1..0000000 --- a/docs/offeredapis/swaggers/serviceInventory_3_0_0.json +++ /dev/null @@ -1,614 +0,0 @@ - -{ - "swagger": "2.0", - "info": { - "description": "serviceInventory API designed for ONAP Casablanca 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": "3.0.0", - "title": "API ServiceInventory", - "x-logo": { - "url": "/redoc/logo.png", - "backgroundColor": "#FFFFFF" - } - }, - - "host": "serverRoot", - "basePath": "/nbi/api/v3", - "schemes": [ - "https" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "tags": [ - - { - "name": "Service", - "description": "" - } - ], - "paths": { - "/service": { - "get": { - "tags": [ - "Service" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "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" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "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": { - - - "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": { - "description": "State of the service. Not managed in Beijing release", - "type": "string" - }, - "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\nNot 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" - } - } - - } - } -} -
\ No newline at end of file diff --git a/docs/offeredapis/swaggers/serviceOrder_3_0_0.json b/docs/offeredapis/swaggers/serviceOrder_3_0_0.json deleted file mode 100644 index 47a0113..0000000 --- a/docs/offeredapis/swaggers/serviceOrder_3_0_0.json +++ /dev/null @@ -1,2062 +0,0 @@ - -{ - "swagger": "2.0", - "info": { - "description": "serviceOrder API designed for ONAP Casablanca release.\nThis API is build from TMF open API18.0 (applying TMF Guideline 3.0);\nOnly operations GET (by id and list) and POST are available.", - "version": "3.0.0", - "title": "API ServiceOrder", - "x-logo": { - "url": "/redoc/logo.png", - "backgroundColor": "#FFFFFF" - } - }, - - "host": "serverRoot", - "basePath": "/nbi/api/v3", - "schemes": [ - "https" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "tags": [ - - { - "name": "ServiceOrder", - "description": "A Service Order is a type of order which can be used to describe a group of operations on service – one service order item per service. An action at the level of the service order item describe the operation to be done on a service (add, terminate for example). The service order is triggered from the BSS system in charge of the product order management to ONAP that will manage the service fulfillment." - }, - { - "name": "Hub", - "description": "" - }, - { - "name": "Notification", - "description": "" - } - ], - "paths": { - "/serviceOrder": { - "post": { - "tags": [ - "ServiceOrder" - ], - "consumes": [ - "application/json;charset=utf-8" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "operationId": "serviceOrderCreate", - "summary": "Create a service order", - "description": "This operation creates a service order entity.\nThe TMF Open API specification document provides the list of mandatory and non mandatory attributes when creating a ServiceOrder, including any possible rule conditions and applicable default values.\nPOST should be used without specifying the id and the href, the Service Order Management system is in charge of generating the id + href for the ServiceOrder.\n\nIn Beijing Release, NBI will use only POST {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API. This mean that only the 'service-instance' level will be created in AAI. Additional resource like VNF and/OR VF are not created.\n\nIn Casablanca release, NBI has been improved to also be able to use POST {{url}}/e2eServiceInstances/v3 SO API. This API is able to instantiate in ONAP E2E service; This is useful for CCVPN and VoLTE UC.\nDepending on the service category defined in SDC, NBI will use one or the other SO API. If category starts with e2e, NBI will use {url}}/e2eServiceInstances/v3 SO API - else it will use {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API.\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n\n - 100: OrderItem with 'add' action but serviceSpecification id missing\n \n - 101: OrderItem with 'change'/'noChange'/'remove' but service id missing\n \n - 102: OrderItem with 'add' action - serviceSpecification id provided but not existing\n \n - 103: OrderItem with 'add' action but service id already existing in the inventory\n \n - 104: A customer for existing service(s) is provided but he did not exist\n \n - 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory\n \n - 106: [Not managed for current Relese] Issue with lcpCloudRegionId and tenantId provided\n ", - "deprecated": false, - - "parameters": [ - - { - "name": "serviceOrder", - "required": true, - "in": "body", - "description": "", - "schema": { - "$ref": "#/definitions/CreateServiceOrder" - } - } - ], - "responses": { - "201": { - "description": "Success", - "schema": { - "$ref": "#/definitions/ServiceOrder" - } - - }, - "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\n\nSpecific encapsulated business errors for current operation\n\n - 100: OrderItem with 'add' action but serviceSpecification id missing\n \n - 101: OrderItem with 'change'/'noChange'/'remove' but service id missing\n \n - 102: OrderItem with 'add' action - serviceSpecification id provided but not existing\n \n - 103: OrderItem with 'add' action but service id already existing in the inventory\n \n - 104: A customer for existing service(s) is provided but he did not exist\n \n - 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory\n \n - 106: [Not managed for current Relese] Issue with lcpCloudRegionId and tenantId provided\n ", - "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" - } - } - } - }, - "get": { - "tags": [ - "ServiceOrder" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "operationId": "serviceOrderFind", - "summary": "List service orders", - "description": "Retrieve and list service order entities according to given criteria.\nOnly a predefined set of attribute is proposed.\nAttribute selection could be described in the fields attribute.\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n", - "deprecated": false, - - "parameters": [ - - { - "name": "externalId", - "required": false, - "in": "query", - "description": "", - - "type": "string" - }, - { - "name": "state", - "required": false, - "in": "query", - "description": "state of the order(s) to be retrieved", - - "type": "string" - }, - { - "name": "description", - "required": false, - "in": "query", - "description": "", - - "type": "string" - }, - { - "name": "orderDate.gt", - "required": false, - "in": "query", - "description": "order date greather than", - - "type": "string" - }, - { - "name": "orderDate.lt", - "required": false, - "in": "query", - "description": "order date lower than", - - "type": "string" - }, - { - "name": "fields", - "required": false, - "in": "query", - "description": "this attribute could be used to filter retrieved attribute(s) and/or sort SO.", - - "type": "string" - }, - { - "name": "offset", - "required": false, - "in": "query", - "description": "The index of the first element to retrieve. Zero is the first element of the collection.", - - "type": "integer", - "format": "int32" - }, - { - "name": "limit", - "required": false, - "in": "query", - "description": "The maximum number of elements to retrieve (it can be greater than the actual available number of items).", - - "type": "integer", - "format": "int32" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceOrder" - } - }, - "headers": { - "X-Total-Count": { - "description": "", - "type": "integer", - "format": "int32" - }, - "X-Result-Count": { - "description": "", - "type": "integer", - "format": "int32" - } - } - - }, - "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" - } - } - } - } - }, - "/serviceOrder/{id}": { - "get": { - "tags": [ - "ServiceOrder" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "operationId": "serviceOrderGet", - "summary": "Retrieve a service order", - "description": "This operation retrieves a service order 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": "fields", - "required": false, - "in": "query", - "description": "Attribute selection", - - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/ServiceOrder" - } - - }, - "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" - } - } - } - } - }, - "/hub": { - "post": { - "tags": [ - "Hub" - ], - "consumes": [ - "application/json;charset=utf-8" - ], - "operationId": "hubCreate", - "summary": "Create Hub", - "description": "\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n", - "deprecated": false, - - "parameters": [ - - { - "name": "Hub", - "required": true, - "in": "body", - "description": "", - "schema": { - "$ref": "#/definitions/CreateHub" - } - } - ], - "responses": { - "201": { - "description": "Success", - "schema": { - "type": "file" - }, - "headers": { - "location": { - "description": "", - "type": "string" - } - } - - }, - "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" - } - } - } - }, - "get": { - "tags": [ - "Hub" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "operationId": "hubFind", - "summary": "Retrieve a lits of hub", - "description": "\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n", - "deprecated": false, - - "parameters": [ - - { - "name": "id", - "required": false, - "in": "query", - "description": "", - - "type": "string" - }, - { - "name": "eventType", - "required": false, - "in": "query", - "description": "", - - "type": "string", - "enum": [ - "ServiceOrderCreationNotification", - "ServiceOrderStateChangeNotification", - "ServiceOrderItemStateChangeNotification"] - - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/Hub" - } - } - - }, - "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" - } - } - } - } - }, - "/hub/{hubId}": { - "get": { - "tags": [ - "Hub" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "operationId": "hubGet", - "summary": "Retrieve an HUB by id", - "description": "Retrieve an HUB by id\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n", - "deprecated": false, - - "parameters": [ - - { - "name": "hubId", - "in": "path", - "required": true, - "type": "string", - "description": "" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/Hub" - } - - }, - "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" - } - } - } - }, - "delete": { - "tags": [ - "Hub" - ], - "operationId": "hubDelete", - "summary": "delete hub", - "description": "\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n", - "deprecated": false, - - "parameters": [ - - { - "name": "hubId", - "in": "path", - "required": true, - "type": "string", - "description": "" - } - ], - "responses": { - "204": { - "description": "Success" - - }, - "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" - } - } - } - } - }, - "/notification/serviceOrderCreationNotification": { - "post": { - "tags": [ - "Notification" - ], - "consumes": [ - "application/json;charset=utf-8" - ], - "operationId": "notificationServiceOrderCreationNotification", - "summary": "Service order creation notification", - "description": "Service order creation notification\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n", - "deprecated": false, - - "parameters": [ - - { - "name": "serviceOrderCreationNotification", - "required": true, - "in": "body", - "description": "", - "schema": { - "$ref": "#/definitions/ServiceOrderCreationNotification" - } - } - ], - "responses": { - "204": { - "description": "Success" - - }, - "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" - } - } - } - } - }, - "/notification/serviceOrderStateChangeNotification": { - "post": { - "tags": [ - "Notification" - ], - "consumes": [ - "application/json;charset=utf-8" - ], - "operationId": "notificationServiceOrderStateChangeNotification", - "summary": "Service order state change notification description", - "description": "\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n", - "deprecated": false, - - "parameters": [ - - { - "name": "serviceOrderstateChangeNotification", - "required": true, - "in": "body", - "description": "", - "schema": { - "$ref": "#/definitions/ServiceOrderStateChangeNotification" - } - } - ], - "responses": { - "204": { - "description": "Success" - - }, - "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" - } - } - } - } - }, - "/notification/serviceOrderItemStateChangeNotification": { - "post": { - "tags": [ - "Notification" - ], - "consumes": [ - "application/json;charset=utf-8" - ], - "operationId": "notificationServiceOrderItemStateChangeNotification", - "summary": "ServiceOrder Item State Change Notification description", - "description": "\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n", - "deprecated": false, - - "parameters": [ - - { - "name": "serviceOrderItemStateChangeNotification", - "required": true, - "in": "body", - "description": "", - "schema": { - "$ref": "#/definitions/ServiceOrderItemStateChangeNotification" - } - } - ], - "responses": { - "204": { - "description": "Success" - - }, - "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": { - - "ActionType": { - "description": "Action type to be describer on the order item.\nmodify is not managed in Beijing release", - - "type": "string", - "enum": [ - "add", - "modify", - "delete", - "noChange"] - - }, - "StateType": { - "description": "List of possible state for the order and the orderItem.", - - "type": "string", - "enum": [ - "acknowledged", - "rejected", - "pending", - "held", - "inProgress", - "cancelled", - "completed", - "failed", - "partial"] - - }, - "RelationshipType": { - "description": "Relationship type;\nOnly reliesOn is managed in Beijing release.", - - "type": "string", - "enum": [ - "reliesOn"] - - }, - "EventType": { - "description": "", - - "type": "string", - "enum": [ - "ServiceOrderCreationNotification", - "ServiceOrderStateChangeNotification", - "ServiceOrderItemStateChangeNotification"] - - }, - "SeverityMessage": { - "description": "", - - "type": "string", - "enum": [ - "information", - "error"] - - }, - - "ErrorRepresentation": { - "description": "Representation of an error.", - - - "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" - } - } - - }, - - "ServiceRelationship": { - "description": "Linked Services to the one instantiate\nnbi component used this relationship to sort request to ONAP.", - - - "required": [ - - "type", - "service" - ], - "type": "object", - "properties": { - "type": { - - "$ref": "#/definitions/RelationshipType" - }, - "service": { - - "$ref": "#/definitions/Service" - } - } - - }, - - "ServiceRef": { - "description": "Service references", - - - "required": [ - - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the service", - "type": "string" - }, - "href": { - "description": "Reference of the service", - "type": "string" - } - } - - }, - - "ServiceCharacteristic": { - "description": "ServiceCharacteristic", - - - "required": [ - - "name" - ], - "type": "object", - "properties": { - "name": { - "description": "Name of characteristic", - "type": "string" - }, - "valueType": { - "description": "", - "type": "string" - }, - "value": { - - "$ref": "#/definitions/Value" - } - } - - }, - - "RelatedParty": { - "description": "A related party defines party which are involved in this order and the role they are playing.\nfor Beijing release:\nWith the current version of APIs used from SO and AAI we need to manage a ‘customer’. This customer concept is confusing with Customer BSS concept. We took the following rules to manage the ‘customer’ information:\no\tIt could be provided through a serviceOrder in the service Order a relatedParty with role ‘ONAPcustomer’ should be provided in the serviceOrder header (we will not consider in this release the party at item level); External API component will check if this customer exists and create it in AAI if not.\no\tIf no relatedParty are provided the service will be affected to ‘generic’ customer (dummy customer) – we assume this ‘generic’ customer always exists.", - - - "required": [ - - "id", - "role" - ], - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of a related party", - "type": "string" - }, - "href": { - "description": "An hyperlink to the party - not used in Beijnig release", - "type": "string" - }, - "role": { - "description": "The role of the related party (e.g. Owner, requester, fullfiller etc).\nONLY 'ONAPcustomer' is considered", - "type": "string" - }, - "name": { - "description": "Name of the related party", - "type": "string" - }, - "@referredType": { - "description": "", - "type": "string" - } - } - - }, - - "ServiceSpecificationRef": { - "description": "The service specification (these attributes are fetched from the catalogue).", - - - "required": [ - - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "Unique identifier of the service specification\nThis information will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin the request.", - "type": "string" - }, - "href": { - "description": "Reference of the service specification\nNot used in Beijing release.", - "type": "string" - }, - "name": { - "description": "Name of the service specification\nNot used in Beijing release", - "type": "string" - }, - "version": { - "description": "Version of the service Specification\nNot used in Beijing release", - "type": "string" - }, - "targetServiceSchema": { - - "$ref": "#/definitions/TargetServiceSchema" - }, - "@type": { - "description": "Not used in Beijing release", - "type": "string" - }, - "@schemaLocation": { - "description": "Not used in Beijing release", - "type": "string" - }, - "@baseType": { - "description": "Not used in Beijing release", - "type": "string" - } - } - - }, - - "Service": { - "description": "Service (to be added, modified, deleted) description", - - - "required": [ - - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "Identifier of a service instance.\nIt must be valued if orderItem action is 'delete' and corresponds to a AAI service.id", - "type": "string" - }, - "href": { - "description": "Reference to the Service (useful for delete or modify command).\nNot managed in Beijing release.", - "type": "string" - }, - "name": { - "description": "Name of the service - When orderItem action is 'add' this name will be used in ONAP/SO request as InstaceName.", - "type": "string" - }, - "serviceState": { - "description": "The lifecycle state of the service requested;\nNot managed in Beijing release.", - "type": "string" - }, - "@type": { - "description": "To define the service type\nNot managed in Beijing Release", - "type": "string" - }, - "@schemaLocation": { - "description": "The URL to get the resource schema.\nNot managed in Beijing Release", - "type": "string" - }, - "serviceCharacteristic": { - - "type": "array", - "items": { - "$ref": "#/definitions/ServiceCharacteristic" - } - }, - "serviceRelationship": { - - "type": "array", - "items": { - "$ref": "#/definitions/ServiceRelationship" - } - }, - "relatedParty": { - - "type": "array", - "items": { - "$ref": "#/definitions/RelatedParty" - } - }, - "serviceSpecification": { - - "$ref": "#/definitions/ServiceSpecificationRef" - } - } - - }, - - "OrderItemRelationship": { - "description": "Linked order item to the one containing this attribute.\nnbi component used this relationship to sort request to ONAP.", - - - "required": [ - - "type", - "id" - ], - "type": "object", - "properties": { - "type": { - - "$ref": "#/definitions/RelationshipType" - }, - "id": { - "description": "Unique identifier of an order item", - "type": "string" - } - } - - }, - - "ServiceOrderItem": { - "description": "An identified part of the order. A service order is decomposed into one or more order items.", - - - "required": [ - - "id", - "service" - ], - "type": "object", - "properties": { - "id": { - "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, …)", - "type": "string" - }, - "action": { - - "$ref": "#/definitions/ActionType" - }, - "state": { - - "$ref": "#/definitions/StateType" - }, - "percentProgress": { - "description": "Progress of the delivery in percentage.", - "type": "string" - }, - "@type": { - "description": "Used to extend the order item.\nnot used in Beijing relase", - "type": "string" - }, - "@schemaLocation": { - "description": "not used in Beijing relase", - "type": "string" - }, - "@baseType": { - "description": "not used in Beijing relase", - "type": "string" - }, - "orderItemRelationship": { - - "type": "array", - "items": { - "$ref": "#/definitions/OrderItemRelationship" - } - }, - "service": { - - "$ref": "#/definitions/Service" - }, - "orderItemMessage": { - - "type": "array", - "items": { - "$ref": "#/definitions/OrderMessage" - } - } - } - - }, - - "ServiceOrder": { - "description": "A Service Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa", - - - "required": [ - - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "ID created on repository side", - "type": "string" - }, - "href": { - "description": "Hyperlink to access the order", - "type": "string" - }, - "externalId": { - "description": "ID given by the consumer and only understandable by him (to facilitate his searches)", - "type": "string" - }, - "priority": { - "description": "A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)", - "type": "string" - }, - "description": { - "description": "A free-text description of the service order", - "type": "string" - }, - "category": { - "description": "Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, ...)", - "type": "string" - }, - "state": { - - "$ref": "#/definitions/StateType" - }, - "orderDate": { - "description": "", - "type": "string", - "format": "date-time" - }, - "completionDateTime": { - "description": "Date when the order was completed", - "type": "string", - "format": "date-time" - }, - "requestedStartDate": { - "description": "Order start date wished by the requestor", - "type": "string", - "format": "date-time" - }, - "requestedCompletionDate": { - "description": "Requested delivery date from the requestor perspective", - "type": "string", - "format": "date-time" - }, - "expectedCompletionDate": { - "description": "", - "type": "string", - "format": "date-time" - }, - "startDate": { - "description": "Date when the order was started for processing", - "type": "string", - "format": "date-time" - }, - "@baseType": { - "description": "", - "type": "string" - }, - "@type": { - "description": "", - "type": "string" - }, - "@schemaLocation": { - "description": "", - "type": "string" - }, - "relatedParty": { - - "type": "array", - "items": { - "$ref": "#/definitions/RelatedParty" - } - }, - "orderRelationship": { - - "type": "array", - "items": { - "$ref": "#/definitions/OrderRelationship" - } - }, - "orderItem": { - - "type": "array", - "items": { - "$ref": "#/definitions/ServiceOrderItem" - } - }, - "orderMessage": { - - "type": "array", - "items": { - "$ref": "#/definitions/OrderMessage" - } - } - } - - }, - - "OrderRelationship": { - "description": "Linked order to the one containing this attribute.\nThis relationship is not used to sort ONAP request.", - - - "required": [ - - "id" - ], - "type": "object", - "properties": { - "type": { - "description": "The type of related order, can be : “dependency” if the order needs to be “not started” until another order item is complete (a service order in this case) or “cross-ref” to keep track of the source order (a productOrder)", - "type": "string" - }, - "id": { - "description": "The id of the related order", - "type": "string" - }, - "href": { - "description": "A hyperlink to the related order", - "type": "string" - }, - "@referredType": { - "description": "Type of the referred order.", - "type": "string" - } - } - - }, - - "TargetServiceSchema": { - "description": "Target to the schema describing the service spec resource", - - - "required": [ - - "@type", - "@schemaLocation" - ], - "type": "object", - "properties": { - "@type": { - "description": "Indicates the (class) type of resource.", - "type": "string" - }, - "@schemaLocation": { - "description": "This field provided a link to the schema describing this REST resource.", - "type": "string" - } - } - - }, - - "Value": { - "description": "Value is a descriptive structure for service characteristic;\nFor Beijing we only manage 'basic' attribute - the serviceCharacteristicValue must be used.", - - - "type": "object", - "properties": { - "@type": { - "description": "Indicates the (class) type of resource.\nNot used in Beijing Release", - "type": "string" - }, - "@schemaLocation": { - "description": "This field provided a link to the schema describing this REST resource.\nNot used in Beijing Release", - "type": "string" - }, - "serviceCharacteristicValue": { - "description": "Value of the characteristic.\nThis attribute must be used in Beijing Release to provide characteristic value.", - "type": "string" - } - } - - }, - - "CreateServiceOrderItem": { - "description": "This structure is used in the operation POST for a serviceOrder request to describe an item.\nAttribute description is not accurate and should be find in the serviceOrderItem class.", - - - "required": [ - - "id", - "service" - ], - "type": "object", - "properties": { - "id": { - "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, …)", - "type": "string" - }, - "action": { - - "$ref": "#/definitions/ActionType" - }, - "@type": { - "description": "Indicates the type of resource.", - "type": "string" - }, - "@schemaLocation": { - "description": "A link to the schema describing this REST resource", - "type": "string" - }, - "@baseType": { - "description": "Indicates the base type of the resource.", - "type": "string" - }, - "orderItemRelationship": { - - "type": "array", - "items": { - "$ref": "#/definitions/OrderItemRelationship" - } - }, - "service": { - - "$ref": "#/definitions/Service" - } - } - - }, - - "CreateServiceOrder": { - "description": "This structure is used in the operation POST for a serviceOrder request.\nAttribute description is not accurate and should be find in the serviceOrder class.", - - - "type": "object", - "properties": { - "externalId": { - "description": "ID given by the consumer and only understandable by him (to facilitate his searches)", - "type": "string" - }, - "priority": { - "description": "A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)", - "type": "string" - }, - "description": { - "description": "A free-text description of the service order", - "type": "string" - }, - "category": { - "description": "Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, ...)", - "type": "string" - }, - "requestedStartDate": { - "description": "Order start date wished by the requestor", - "type": "string", - "format": "date-time" - }, - "requestedCompletionDate": { - "description": "Requested delivery date from the requestor perspective", - "type": "string", - "format": "date-time" - }, - "@baseType": { - "description": "", - "type": "string" - }, - "@type": { - "description": "", - "type": "string" - }, - "@schemaLocation": { - "description": "", - "type": "string" - }, - "relatedParty": { - - "type": "array", - "items": { - "$ref": "#/definitions/RelatedParty" - } - }, - "orderRelationship": { - - "type": "array", - "items": { - "$ref": "#/definitions/OrderRelationship" - } - }, - "orderItem": { - - "type": "array", - "items": { - "$ref": "#/definitions/CreateServiceOrderItem" - } - } - } - - }, - - "Hub": { - "description": "An HUB resource is used by client side to subscribe to notification.\nNot managed in the Beijing release.", - - - "discriminator": "id", - - "required": [ - - "query", - "callback" - ], - "type": "object", - "properties": { - "id": { - "description": "Hub Id", - "type": "string" - }, - "query": { - "description": "", - "type": "string" - }, - "callback": { - "description": "Address where notification must be send", - "type": "string" - } - } - - }, - - "CreateHub": { - "description": "This structure is used as a request for POST Hub operation", - - - "required": [ - - "query", - "callback" - ], - "type": "object", - "properties": { - "query": { - "description": "The query must have an eventType=notificationName information.\nOptionally a ? could be added to reduce hub.\nquery”:”eventType = ServiceOrderStateChangeNotification”&serviceOrder.state=COMPLETED", - "type": "string" - }, - "callback": { - "description": "Address where notification must be send", - "type": "string" - } - } - - }, - - "ServiceOrderSummary": { - "description": "This structure is used to provide a subset of serviceOrder attributes to be provided in particular for notification messages", - - - "required": [ - - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "ID created on repository side", - "type": "string" - }, - "href": { - "description": "Hyperlink to access the order", - "type": "string" - }, - "externalId": { - "description": "ID given by the consumer and only understandable by him (to facilitate his searches)", - "type": "string" - }, - "state": { - - "$ref": "#/definitions/StateType" - }, - "orderDate": { - "description": "", - "type": "string", - "format": "date-time" - }, - "completionDateTime": { - "description": "Date when the order was completed", - "type": "string", - "format": "date-time" - } - } - - }, - - "ServiceOrderCreationNotification": { - "description": "Notification structure for a service order creation notification", - - - "required": [ - - "eventId", - "eventDate", - "eventType", - "event" - ], - "type": "object", - "properties": { - "eventId": { - "description": "", - "type": "string" - }, - "eventDate": { - "description": "", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "", - "type": "string", - - "default": "ServiceOrderCreationNotification" - }, - "event": { - - "$ref": "#/definitions/ServiceOrderSummary" - } - } - - }, - - "Notification": { - "description": "Used to describe notification for this API", - - - "type": "object", - "properties": { - } - - }, - - "ServiceOrderStateChangeNotification": { - "description": "Service order state change notification description", - - - "required": [ - - "eventId", - "eventDate", - "eventType", - "event" - ], - "type": "object", - "properties": { - "eventId": { - "description": "", - "type": "string" - }, - "eventDate": { - "description": "", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "", - "type": "string", - - "default": "ServiceOrderStateChangeNotification" - }, - "event": { - - "$ref": "#/definitions/ServiceOrderSummary" - } - } - - }, - - "ServiceOrderItemSummary": { - "description": "Service Order item summary to be used for notification", - - - "required": [ - - "id", - "service" - ], - "type": "object", - "properties": { - "id": { - "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, …)", - "type": "string" - }, - "action": { - - "$ref": "#/definitions/ActionType" - }, - "state": { - - "$ref": "#/definitions/StateType" - }, - "service": { - - "$ref": "#/definitions/Service" - } - } - - }, - - "ServiceOrderSummaryWithItem": { - "description": "Service order item summary with item description", - - - "required": [ - - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "ID created on repository side", - "type": "string" - }, - "href": { - "description": "Hyperlink to access the order", - "type": "string" - }, - "externalId": { - "description": "ID given by the consumer and only understandable by him (to facilitate his searches)", - "type": "string" - }, - "state": { - - "$ref": "#/definitions/StateType" - }, - "orderDate": { - "description": "", - "type": "string", - "format": "date-time" - }, - "completionDateTime": { - "description": "Date when the order was completed", - "type": "string", - "format": "date-time" - }, - "orderItem": { - - "type": "array", - "items": { - "$ref": "#/definitions/ServiceOrderItemSummary" - } - } - } - - }, - - "ServiceOrderItemStateChangeNotification": { - "description": "", - - - "required": [ - - "eventId", - "eventDate", - "eventType", - "event" - ], - "type": "object", - "properties": { - "eventId": { - "description": "", - "type": "string" - }, - "eventDate": { - "description": "", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "", - "type": "string", - - "default": "ServiceOrderStateChangeNotification" - }, - "event": { - - "$ref": "#/definitions/ServiceOrderSummaryWithItem" - } - } - - }, - - "OrderMessage": { - "description": "An optional array of messages associated with the Order", - - - "required": [ - - "severity", - "correctionRequired" - ], - "type": "object", - "properties": { - "code": { - "description": "A code associated to this message", - "type": "string" - }, - "field": { - "description": "Service Order attribute related to this error message", - "type": "string" - }, - "messageInformation": { - "description": "Message related to this order", - "type": "string" - }, - "severity": { - - "$ref": "#/definitions/SeverityMessage" - }, - "correctionRequired": { - "description": "Indicator that an action is required to allow service order fullfilment to follow up", - "type": "boolean" - } - } - - } - } -} -
\ No newline at end of file diff --git a/docs/offeredapis/swaggers/serviceOrder_3_0_0.yaml b/docs/offeredapis/swaggers/serviceOrder_3_0_0.yaml deleted file mode 100644 index db0479f..0000000 --- a/docs/offeredapis/swaggers/serviceOrder_3_0_0.yaml +++ /dev/null @@ -1,1428 +0,0 @@ -swagger: "2.0" -info: - description: "serviceOrder API designed for ONAP Casablanca release.\nThis API is build from TMF open\ - \ API18.0 (applying TMF Guideline 3.0);\nOnly operations GET (by id and list)\ - \ and POST are available." - version: "3.0.0" - title: "API ServiceOrder" - x-logo: - url: "/redoc/logo.png" - backgroundColor: "#FFFFFF" -host: "serverRoot" -basePath: "/nbi/api/v3" -schemes: -- "https" -produces: -- "application/json;charset=utf-8" -tags: -- name: "ServiceOrder" - description: "A Service Order is a type of order which can be used to describe a\ - \ group of operations on service – one service order item per service. An action\ - \ at the level of the service order item describe the operation to be done on\ - \ a service (add, terminate for example). The service order is triggered from\ - \ the BSS system in charge of the product order management to ONAP that will manage\ - \ the service fulfillment." -- name: "Hub" - description: "" -- name: "Notification" - description: "" -paths: - /serviceOrder: - post: - tags: - - "ServiceOrder" - consumes: - - "application/json;charset=utf-8" - produces: - - "application/json;charset=utf-8" - operationId: "serviceOrderCreate" - summary: "Create a service order" - description: "This operation creates a service order entity.\nThe TMF Open API\ - \ specification document provides the list of mandatory and non mandatory\ - \ attributes when creating a ServiceOrder, including any possible rule conditions\ - \ and applicable default values.\nPOST should be used without specifying the\ - \ id and the href, the Service Order Management system is in charge of generating\ - \ the id + href for the ServiceOrder.\n\nIn Beijing Release, NBI will use\ - \ only POST {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API. This mean\ - \ that only the 'service-instance' level will be created in AAI. Additional\ - \ resource like VNF and/OR VF are not created.\n\nIn Casablanca release, NBI\ - \ has been improved to also be able to use POST {{url}}/e2eServiceInstances/v3\ - \ SO API. This API is able to instantiate in ONAP E2E service; This is useful\ - \ for CCVPN and VoLTE UC.\nDepending on the service category defined in SDC,\ - \ NBI will use one or the other SO API. If category starts with e2e, NBI will\ - \ use {url}}/e2eServiceInstances/v3 SO API - else it will use {{url}}/ecomp/mso/infra/serviceInstances/v4\ - \ SO API.\n\nSpecific business errors for current operation will be encapsulated\ - \ in\n\nHTTP Response 422 Unprocessable entity\n\n - 100: OrderItem with 'add'\ - \ action but serviceSpecification id missing\n \n - 101: OrderItem with\ - \ 'change'/'noChange'/'remove' but service id missing\n \n - 102: OrderItem\ - \ with 'add' action - serviceSpecification id provided but not existing\n\ - \ \n - 103: OrderItem with 'add' action but service id already existing\ - \ in the inventory\n \n - 104: A customer for existing service(s) is provided\ - \ but he did not exist\n \n - 105: OrderItem with 'change'/'noChange'/'remove'\ - \ - Service id provided but it is not existing in the inventory\n \n - 106:\ - \ [Not managed for current Relese] Issue with lcpCloudRegionId and tenantId\ - \ provided\n " - deprecated: false - parameters: - - name: "serviceOrder" - required: true - in: "body" - description: "" - schema: - $ref: "#/definitions/CreateServiceOrder" - responses: - 201: - description: "Success" - schema: - $ref: "#/definitions/ServiceOrder" - 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\n\nSpecific encapsulated\ - \ business errors for current operation\n\n - 100: OrderItem with 'add'\ - \ action but serviceSpecification id missing\n \n - 101: OrderItem with\ - \ 'change'/'noChange'/'remove' but service id missing\n \n - 102: OrderItem\ - \ with 'add' action - serviceSpecification id provided but not existing\n\ - \ \n - 103: OrderItem with 'add' action but service id already existing\ - \ in the inventory\n \n - 104: A customer for existing service(s) is\ - \ provided but he did not exist\n \n - 105: OrderItem with 'change'/'noChange'/'remove'\ - \ - Service id provided but it is not existing in the inventory\n \n\ - \ - 106: [Not managed for current Relese] Issue with lcpCloudRegionId\ - \ and tenantId provided\n " - 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" - get: - tags: - - "ServiceOrder" - produces: - - "application/json;charset=utf-8" - operationId: "serviceOrderFind" - summary: "List service orders" - description: "Retrieve and list service order entities according to given criteria.\n\ - Only a predefined set of attribute is proposed.\nAttribute selection could\ - \ be described in the fields attribute.\n\nSpecific business errors for current\ - \ operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n" - deprecated: false - parameters: - - name: "externalId" - required: false - in: "query" - description: "" - type: "string" - - name: "state" - required: false - in: "query" - description: "state of the order(s) to be retrieved" - type: "string" - - name: "description" - required: false - in: "query" - description: "" - type: "string" - - name: "orderDate.gt" - required: false - in: "query" - description: "order date greather than" - type: "string" - - name: "orderDate.lt" - required: false - in: "query" - description: "order date lower than" - type: "string" - - name: "fields" - required: false - in: "query" - description: "this attribute could be used to filter retrieved attribute(s)\ - \ and/or sort SO." - type: "string" - - name: "offset" - required: false - in: "query" - description: "The index of the first element to retrieve. Zero is the first\ - \ element of the collection." - type: "integer" - format: "int32" - - name: "limit" - required: false - in: "query" - description: "The maximum number of elements to retrieve (it can be greater\ - \ than the actual available number of items)." - type: "integer" - format: "int32" - responses: - 200: - description: "Success" - schema: - type: "array" - items: - $ref: "#/definitions/ServiceOrder" - headers: - X-Total-Count: - description: "" - type: "integer" - format: "int32" - X-Result-Count: - description: "" - type: "integer" - format: "int32" - 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" - /serviceOrder/{id}: - get: - tags: - - "ServiceOrder" - produces: - - "application/json;charset=utf-8" - operationId: "serviceOrderGet" - summary: "Retrieve a service order" - description: "This operation retrieves a service order 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: "fields" - required: false - in: "query" - description: "Attribute selection" - type: "string" - responses: - 200: - description: "Success" - schema: - $ref: "#/definitions/ServiceOrder" - 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" - /hub: - post: - tags: - - "Hub" - consumes: - - "application/json;charset=utf-8" - operationId: "hubCreate" - summary: "Create Hub" - description: "\n\nSpecific business errors for current operation will be encapsulated\ - \ in\n\nHTTP Response 422 Unprocessable entity\n" - deprecated: false - parameters: - - name: "Hub" - required: true - in: "body" - description: "" - schema: - $ref: "#/definitions/CreateHub" - responses: - 201: - description: "Success" - schema: - type: "file" - headers: - location: - description: "" - type: "string" - 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" - get: - tags: - - "Hub" - produces: - - "application/json;charset=utf-8" - operationId: "hubFind" - summary: "Retrieve a lits of hub" - description: "\n\nSpecific business errors for current operation will be encapsulated\ - \ in\n\nHTTP Response 422 Unprocessable entity\n" - deprecated: false - parameters: - - name: "id" - required: false - in: "query" - description: "" - type: "string" - - name: "eventType" - required: false - in: "query" - description: "" - type: "string" - enum: - - "ServiceOrderCreationNotification" - - "ServiceOrderStateChangeNotification" - - "ServiceOrderItemStateChangeNotification" - responses: - 200: - description: "Success" - schema: - type: "array" - items: - $ref: "#/definitions/Hub" - 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" - /hub/{hubId}: - get: - tags: - - "Hub" - produces: - - "application/json;charset=utf-8" - operationId: "hubGet" - summary: "Retrieve an HUB by id" - description: "Retrieve an HUB by id\n\nSpecific business errors for current\ - \ operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n" - deprecated: false - parameters: - - name: "hubId" - in: "path" - required: true - type: "string" - description: "" - responses: - 200: - description: "Success" - schema: - $ref: "#/definitions/Hub" - 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" - delete: - tags: - - "Hub" - operationId: "hubDelete" - summary: "delete hub" - description: "\n\nSpecific business errors for current operation will be encapsulated\ - \ in\n\nHTTP Response 422 Unprocessable entity\n" - deprecated: false - parameters: - - name: "hubId" - in: "path" - required: true - type: "string" - description: "" - responses: - 204: - description: "Success" - 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" - /notification/serviceOrderCreationNotification: - post: - tags: - - "Notification" - consumes: - - "application/json;charset=utf-8" - operationId: "notificationServiceOrderCreationNotification" - summary: "Service order creation notification" - description: "Service order creation notification\n\nSpecific business errors\ - \ for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable\ - \ entity\n" - deprecated: false - parameters: - - name: "serviceOrderCreationNotification" - required: true - in: "body" - description: "" - schema: - $ref: "#/definitions/ServiceOrderCreationNotification" - responses: - 204: - description: "Success" - 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" - /notification/serviceOrderStateChangeNotification: - post: - tags: - - "Notification" - consumes: - - "application/json;charset=utf-8" - operationId: "notificationServiceOrderStateChangeNotification" - summary: "Service order state change notification description" - description: "\n\nSpecific business errors for current operation will be encapsulated\ - \ in\n\nHTTP Response 422 Unprocessable entity\n" - deprecated: false - parameters: - - name: "serviceOrderstateChangeNotification" - required: true - in: "body" - description: "" - schema: - $ref: "#/definitions/ServiceOrderStateChangeNotification" - responses: - 204: - description: "Success" - 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" - /notification/serviceOrderItemStateChangeNotification: - post: - tags: - - "Notification" - consumes: - - "application/json;charset=utf-8" - operationId: "notificationServiceOrderItemStateChangeNotification" - summary: "ServiceOrder Item State Change Notification description" - description: "\n\nSpecific business errors for current operation will be encapsulated\ - \ in\n\nHTTP Response 422 Unprocessable entity\n" - deprecated: false - parameters: - - name: "serviceOrderItemStateChangeNotification" - required: true - in: "body" - description: "" - schema: - $ref: "#/definitions/ServiceOrderItemStateChangeNotification" - responses: - 204: - description: "Success" - 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: - ActionType: - description: "Action type to be describer on the order item.\nmodify is not managed\ - \ in Beijing release" - type: "string" - enum: - - "add" - - "modify" - - "delete" - - "noChange" - StateType: - description: "List of possible state for the order and the orderItem." - type: "string" - enum: - - "acknowledged" - - "rejected" - - "pending" - - "held" - - "inProgress" - - "cancelled" - - "completed" - - "failed" - - "partial" - RelationshipType: - description: "Relationship type;\nOnly reliesOn is managed in Beijing release." - type: "string" - enum: - - "reliesOn" - EventType: - description: "" - type: "string" - enum: - - "ServiceOrderCreationNotification" - - "ServiceOrderStateChangeNotification" - - "ServiceOrderItemStateChangeNotification" - SeverityMessage: - description: "" - type: "string" - enum: - - "information" - - "error" - ErrorRepresentation: - description: "Representation of an error." - 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" - ServiceRelationship: - description: "Linked Services to the one instantiate\nnbi component used this\ - \ relationship to sort request to ONAP." - required: - - "type" - - "service" - type: "object" - properties: - type: - $ref: "#/definitions/RelationshipType" - service: - $ref: "#/definitions/Service" - ServiceRef: - description: "Service references" - required: - - "id" - type: "object" - properties: - id: - description: "Unique identifier of the service" - type: "string" - href: - description: "Reference of the service" - type: "string" - ServiceCharacteristic: - description: "ServiceCharacteristic" - required: - - "name" - type: "object" - properties: - name: - description: "Name of characteristic" - type: "string" - valueType: - description: "" - type: "string" - value: - $ref: "#/definitions/Value" - RelatedParty: - description: "A related party defines party which are involved in this order and\ - \ the role they are playing.\nfor Beijing release:\nWith the current version\ - \ of APIs used from SO and AAI we need to manage a ‘customer’. This customer\ - \ concept is confusing with Customer BSS concept. We took the following rules\ - \ to manage the ‘customer’ information:\no\tIt could be provided through a serviceOrder\ - \ in the service Order a relatedParty with role ‘ONAPcustomer’ should be provided\ - \ in the serviceOrder header (we will not consider in this release the party\ - \ at item level); External API component will check if this customer exists\ - \ and create it in AAI if not.\no\tIf no relatedParty are provided the service\ - \ will be affected to ‘generic’ customer (dummy customer) – we assume this ‘\ - generic’ customer always exists." - required: - - "id" - - "role" - type: "object" - properties: - id: - description: "Unique identifier of a related party" - type: "string" - href: - description: "An hyperlink to the party - not used in Beijnig release" - type: "string" - role: - description: "The role of the related party (e.g. Owner, requester, fullfiller\ - \ etc).\nONLY 'ONAPcustomer' is considered" - type: "string" - name: - description: "Name of the related party" - type: "string" - '@referredType': - description: "" - type: "string" - ServiceSpecificationRef: - description: "The service specification (these attributes are fetched from the\ - \ catalogue)." - required: - - "id" - type: "object" - properties: - id: - description: "Unique identifier of the service specification\nThis information\ - \ will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin\ - \ the request." - type: "string" - href: - description: "Reference of the service specification\nNot used in Beijing\ - \ release." - type: "string" - name: - description: "Name of the service specification\nNot used in Beijing release" - type: "string" - version: - description: "Version of the service Specification\nNot used in Beijing release" - type: "string" - targetServiceSchema: - $ref: "#/definitions/TargetServiceSchema" - '@type': - description: "Not used in Beijing release" - type: "string" - '@schemaLocation': - description: "Not used in Beijing release" - type: "string" - '@baseType': - description: "Not used in Beijing release" - type: "string" - Service: - description: "Service (to be added, modified, deleted) description" - required: - - "id" - type: "object" - properties: - id: - description: "Identifier of a service instance.\nIt must be valued if orderItem\ - \ action is 'delete' and corresponds to a AAI service.id" - type: "string" - href: - description: "Reference to the Service (useful for delete or modify command).\n\ - Not managed in Beijing release." - type: "string" - name: - description: "Name of the service - When orderItem action is 'add' this name\ - \ will be used in ONAP/SO request as InstaceName." - type: "string" - serviceState: - description: "The lifecycle state of the service requested;\nNot managed in\ - \ Beijing release." - type: "string" - '@type': - description: "To define the service type\nNot managed in Beijing Release" - type: "string" - '@schemaLocation': - description: "The URL to get the resource schema.\nNot managed in Beijing\ - \ Release" - type: "string" - serviceCharacteristic: - type: "array" - items: - $ref: "#/definitions/ServiceCharacteristic" - serviceRelationship: - type: "array" - items: - $ref: "#/definitions/ServiceRelationship" - relatedParty: - type: "array" - items: - $ref: "#/definitions/RelatedParty" - serviceSpecification: - $ref: "#/definitions/ServiceSpecificationRef" - OrderItemRelationship: - description: "Linked order item to the one containing this attribute.\nnbi component\ - \ used this relationship to sort request to ONAP." - required: - - "type" - - "id" - type: "object" - properties: - type: - $ref: "#/definitions/RelationshipType" - id: - description: "Unique identifier of an order item" - type: "string" - ServiceOrderItem: - description: "An identified part of the order. A service order is decomposed into\ - \ one or more order items." - required: - - "id" - - "service" - type: "object" - properties: - id: - description: "Identifier of the line item (generally it is a sequence number\ - \ 01, 02, 03, …)" - type: "string" - action: - $ref: "#/definitions/ActionType" - state: - $ref: "#/definitions/StateType" - percentProgress: - description: "Progress of the delivery in percentage." - type: "string" - '@type': - description: "Used to extend the order item.\nnot used in Beijing relase" - type: "string" - '@schemaLocation': - description: "not used in Beijing relase" - type: "string" - '@baseType': - description: "not used in Beijing relase" - type: "string" - orderItemRelationship: - type: "array" - items: - $ref: "#/definitions/OrderItemRelationship" - service: - $ref: "#/definitions/Service" - orderItemMessage: - type: "array" - items: - $ref: "#/definitions/OrderMessage" - ServiceOrder: - description: "A Service Order is a type of order which can be used to place an\ - \ order between a customer and a service provider or between a service provider\ - \ and a partner and vice versa" - required: - - "id" - type: "object" - properties: - id: - description: "ID created on repository side" - type: "string" - href: - description: "Hyperlink to access the order" - type: "string" - externalId: - description: "ID given by the consumer and only understandable by him (to\ - \ facilitate his searches)" - type: "string" - priority: - description: "A way that can be used by consumers to prioritize orders in\ - \ Service Order Management system (from 0 to 4 : 0 is the highest priority,\ - \ and 4 the lowest)" - type: "string" - description: - description: "A free-text description of the service order" - type: "string" - category: - description: "Used to categorize the order that can be useful for the OM system\ - \ (e.g. “broadband”, “TVOption”, ...)" - type: "string" - state: - $ref: "#/definitions/StateType" - orderDate: - description: "" - type: "string" - format: "date-time" - completionDateTime: - description: "Date when the order was completed" - type: "string" - format: "date-time" - requestedStartDate: - description: "Order start date wished by the requestor" - type: "string" - format: "date-time" - requestedCompletionDate: - description: "Requested delivery date from the requestor perspective" - type: "string" - format: "date-time" - expectedCompletionDate: - description: "" - type: "string" - format: "date-time" - startDate: - description: "Date when the order was started for processing" - type: "string" - format: "date-time" - '@baseType': - description: "" - type: "string" - '@type': - description: "" - type: "string" - '@schemaLocation': - description: "" - type: "string" - relatedParty: - type: "array" - items: - $ref: "#/definitions/RelatedParty" - orderRelationship: - type: "array" - items: - $ref: "#/definitions/OrderRelationship" - orderItem: - type: "array" - items: - $ref: "#/definitions/ServiceOrderItem" - orderMessage: - type: "array" - items: - $ref: "#/definitions/OrderMessage" - OrderRelationship: - description: "Linked order to the one containing this attribute.\nThis relationship\ - \ is not used to sort ONAP request." - required: - - "id" - type: "object" - properties: - type: - description: "The type of related order, can be : “dependency” if the order\ - \ needs to be “not started” until another order item is complete (a service\ - \ order in this case) or “cross-ref” to keep track of the source order (a\ - \ productOrder)" - type: "string" - id: - description: "The id of the related order" - type: "string" - href: - description: "A hyperlink to the related order" - type: "string" - '@referredType': - description: "Type of the referred order." - type: "string" - TargetServiceSchema: - description: "Target to the schema describing the service spec resource" - required: - - "@type" - - "@schemaLocation" - type: "object" - properties: - '@type': - description: "Indicates the (class) type of resource." - type: "string" - '@schemaLocation': - description: "This field provided a link to the schema describing this REST\ - \ resource." - type: "string" - Value: - description: "Value is a descriptive structure for service characteristic;\nFor\ - \ Beijing we only manage 'basic' attribute - the serviceCharacteristicValue\ - \ must be used." - type: "object" - properties: - '@type': - description: "Indicates the (class) type of resource.\nNot used in Beijing\ - \ Release" - type: "string" - '@schemaLocation': - description: "This field provided a link to the schema describing this REST\ - \ resource.\nNot used in Beijing Release" - type: "string" - serviceCharacteristicValue: - description: "Value of the characteristic.\nThis attribute must be used in\ - \ Beijing Release to provide characteristic value." - type: "string" - CreateServiceOrderItem: - description: "This structure is used in the operation POST for a serviceOrder\ - \ request to describe an item.\nAttribute description is not accurate and should\ - \ be find in the serviceOrderItem class." - required: - - "id" - - "service" - type: "object" - properties: - id: - description: "Identifier of the line item (generally it is a sequence number\ - \ 01, 02, 03, …)" - type: "string" - action: - $ref: "#/definitions/ActionType" - '@type': - description: "Indicates the type of resource." - type: "string" - '@schemaLocation': - description: "A link to the schema describing this REST resource" - type: "string" - '@baseType': - description: "Indicates the base type of the resource." - type: "string" - orderItemRelationship: - type: "array" - items: - $ref: "#/definitions/OrderItemRelationship" - service: - $ref: "#/definitions/Service" - CreateServiceOrder: - description: "This structure is used in the operation POST for a serviceOrder\ - \ request.\nAttribute description is not accurate and should be find in the\ - \ serviceOrder class." - type: "object" - properties: - externalId: - description: "ID given by the consumer and only understandable by him (to\ - \ facilitate his searches)" - type: "string" - priority: - description: "A way that can be used by consumers to prioritize orders in\ - \ Service Order Management system (from 0 to 4 : 0 is the highest priority,\ - \ and 4 the lowest)" - type: "string" - description: - description: "A free-text description of the service order" - type: "string" - category: - description: "Used to categorize the order that can be useful for the OM system\ - \ (e.g. “broadband”, “TVOption”, ...)" - type: "string" - requestedStartDate: - description: "Order start date wished by the requestor" - type: "string" - format: "date-time" - requestedCompletionDate: - description: "Requested delivery date from the requestor perspective" - type: "string" - format: "date-time" - '@baseType': - description: "" - type: "string" - '@type': - description: "" - type: "string" - '@schemaLocation': - description: "" - type: "string" - relatedParty: - type: "array" - items: - $ref: "#/definitions/RelatedParty" - orderRelationship: - type: "array" - items: - $ref: "#/definitions/OrderRelationship" - orderItem: - type: "array" - items: - $ref: "#/definitions/CreateServiceOrderItem" - Hub: - description: "An HUB resource is used by client side to subscribe to notification.\n\ - Not managed in the Beijing release." - discriminator: "id" - required: - - "query" - - "callback" - type: "object" - properties: - id: - description: "Hub Id" - type: "string" - query: - description: "" - type: "string" - callback: - description: "Address where notification must be send" - type: "string" - CreateHub: - description: "This structure is used as a request for POST Hub operation" - required: - - "query" - - "callback" - type: "object" - properties: - query: - description: "The query must have an eventType=notificationName information.\n\ - Optionally a ? could be added to reduce hub.\nquery”:”eventType = ServiceOrderStateChangeNotification”\ - &serviceOrder.state=COMPLETED" - type: "string" - callback: - description: "Address where notification must be send" - type: "string" - ServiceOrderSummary: - description: "This structure is used to provide a subset of serviceOrder attributes\ - \ to be provided in particular for notification messages" - required: - - "id" - type: "object" - properties: - id: - description: "ID created on repository side" - type: "string" - href: - description: "Hyperlink to access the order" - type: "string" - externalId: - description: "ID given by the consumer and only understandable by him (to\ - \ facilitate his searches)" - type: "string" - state: - $ref: "#/definitions/StateType" - orderDate: - description: "" - type: "string" - format: "date-time" - completionDateTime: - description: "Date when the order was completed" - type: "string" - format: "date-time" - ServiceOrderCreationNotification: - description: "Notification structure for a service order creation notification" - required: - - "eventId" - - "eventDate" - - "eventType" - - "event" - type: "object" - properties: - eventId: - description: "" - type: "string" - eventDate: - description: "" - type: "string" - format: "date-time" - eventType: - description: "" - type: "string" - default: "ServiceOrderCreationNotification" - event: - $ref: "#/definitions/ServiceOrderSummary" - Notification: - description: "Used to describe notification for this API" - type: "object" - properties: {} - ServiceOrderStateChangeNotification: - description: "Service order state change notification description" - required: - - "eventId" - - "eventDate" - - "eventType" - - "event" - type: "object" - properties: - eventId: - description: "" - type: "string" - eventDate: - description: "" - type: "string" - format: "date-time" - eventType: - description: "" - type: "string" - default: "ServiceOrderStateChangeNotification" - event: - $ref: "#/definitions/ServiceOrderSummary" - ServiceOrderItemSummary: - description: "Service Order item summary to be used for notification" - required: - - "id" - - "service" - type: "object" - properties: - id: - description: "Identifier of the line item (generally it is a sequence number\ - \ 01, 02, 03, …)" - type: "string" - action: - $ref: "#/definitions/ActionType" - state: - $ref: "#/definitions/StateType" - service: - $ref: "#/definitions/Service" - ServiceOrderSummaryWithItem: - description: "Service order item summary with item description" - required: - - "id" - type: "object" - properties: - id: - description: "ID created on repository side" - type: "string" - href: - description: "Hyperlink to access the order" - type: "string" - externalId: - description: "ID given by the consumer and only understandable by him (to\ - \ facilitate his searches)" - type: "string" - state: - $ref: "#/definitions/StateType" - orderDate: - description: "" - type: "string" - format: "date-time" - completionDateTime: - description: "Date when the order was completed" - type: "string" - format: "date-time" - orderItem: - type: "array" - items: - $ref: "#/definitions/ServiceOrderItemSummary" - ServiceOrderItemStateChangeNotification: - description: "" - required: - - "eventId" - - "eventDate" - - "eventType" - - "event" - type: "object" - properties: - eventId: - description: "" - type: "string" - eventDate: - description: "" - type: "string" - format: "date-time" - eventType: - description: "" - type: "string" - default: "ServiceOrderStateChangeNotification" - event: - $ref: "#/definitions/ServiceOrderSummaryWithItem" - OrderMessage: - description: "An optional array of messages associated with the Order" - required: - - "severity" - - "correctionRequired" - type: "object" - properties: - code: - description: "A code associated to this message" - type: "string" - field: - description: "Service Order attribute related to this error message" - type: "string" - messageInformation: - description: "Message related to this order" - type: "string" - severity: - $ref: "#/definitions/SeverityMessage" - correctionRequired: - description: "Indicator that an action is required to allow service order\ - \ fullfilment to follow up" - type: "boolean" |