X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=enrichment-coordinator-service%2Fdocs%2Fapi.json;h=a8df3c7c1c79116f44c422697c7d1902f73cf9cd;hb=08d483a877c24c3668f77dc8404ee54cd1e041ab;hp=e4f7660fde5d27efc10bfccd1de6e511ce3084fa;hpb=13b5a8e1fce75882c2f0ea89e74c218e454ec05f;p=nonrtric.git diff --git a/enrichment-coordinator-service/docs/api.json b/enrichment-coordinator-service/docs/api.json index e4f7660f..a8df3c7c 100644 --- a/enrichment-coordinator-service/docs/api.json +++ b/enrichment-coordinator-service/docs/api.json @@ -1,11 +1,11 @@ { "basePath": "/", "paths": { - "/producer_simulator/job_deleted_error": {"post": { - "summary": "Callback for EI job creation, returns error", + "/producer_simulator/ei_job": {"post": { + "summary": "Callback for EI job creation", "deprecated": false, "produces": ["application/json"], - "operationId": "jobDeletedCallbackReturnErrorUsingPOST", + "operationId": "jobCreatedCallbackUsingPOST", "responses": { "200": {"description": "OK"}, "201": {"description": "Created"}, @@ -20,88 +20,65 @@ "description": "request", "required": true }], - "tags": ["Producer Simulator"], + "tags": ["Producer Callbacks"], "consumes": ["application/json"] }}, - "/producer_simulator/supervision": {"get": { - "summary": "Producer supervision", + "/A1-EI/v1/eitypes/{eiTypeId}": {"get": { + "summary": "Individual EI type", "deprecated": false, "produces": ["application/json"], - "operationId": "producerSupervisionUsingGET", + "operationId": "getEiTypeUsingGET", "responses": { "200": { - "schema": {"type": "string"}, - "description": "OK" + "schema": {"$ref": "#/definitions/EiTypeObject"}, + "description": "EI type" }, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, - "404": {"description": "Not Found"} + "404": { + "schema": {"$ref": "#/definitions/ProblemDetails"}, + "description": "Enrichment Information type is not found" + } }, - "tags": ["Producer Simulator"] + "parameters": [{ + "in": "path", + "name": "eiTypeId", + "description": "eiTypeId", + "type": "string", + "required": true + }], + "tags": ["A1-EI (enrichment information)"] }}, - "/A1-EI/v1/eitypes/{eiTypeId}/eijobs": {"get": { - "summary": "EI job identifiers", + "/consumer_simulator/eijobs/{eiJobId}/status": {"post": { + "summary": "Callback for EI job status", "deprecated": false, "produces": ["application/json"], - "operationId": "getEiJobIdsUsingGET", + "operationId": "jobStatusCallbackUsingPOST", "responses": { - "200": { - "schema": { - "type": "array", - "items": {"type": "string"} - }, - "description": "EI job identifiers" - }, + "200": {"description": "OK"}, + "201": {"description": "Created"}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, - "404": { - "schema": {"$ref": "#/definitions/error_information"}, - "description": "Enrichment Information type is not found" - } + "404": {"description": "Not Found"} }, "parameters": [ { "in": "path", - "name": "eiTypeId", - "description": "eiTypeId", + "name": "eiJobId", + "description": "eiJobId", "type": "string", "required": true }, { - "schema": {"type": "string"}, + "schema": {"$ref": "#/definitions/EiJobStatusObject"}, "in": "body", - "name": "owner", - "description": "identifies the owner of the job", - "required": false + "name": "status", + "description": "status", + "required": true } ], - "tags": ["A1-E Enrichment Data Consumer API"] - }}, - "/A1-EI/v1/eitypes/{eiTypeId}": {"get": { - "summary": "Individual EI type", - "deprecated": false, - "produces": ["application/json"], - "operationId": "getEiTypeUsingGET", - "responses": { - "200": { - "schema": {"$ref": "#/definitions/EiType"}, - "description": "EI type" - }, - "401": {"description": "Unauthorized"}, - "403": {"description": "Forbidden"}, - "404": { - "schema": {"$ref": "#/definitions/error_information"}, - "description": "Enrichment Information type is not found" - } - }, - "parameters": [{ - "in": "path", - "name": "eiTypeId", - "description": "eiTypeId", - "type": "string", - "required": true - }], - "tags": ["A1-E Enrichment Data Consumer API"] + "tags": ["Consumer Callbacks"], + "consumes": ["application/json"] }}, "/ei-producer/v1/eitypes": {"get": { "summary": "EI type identifiers", @@ -139,64 +116,7 @@ "403": {"description": "Forbidden"}, "404": {"description": "Not Found"} }, - "tags": ["A1-E Enrichment Data Consumer API"] - }}, - "/producer_simulator/job_deleted": {"post": { - "summary": "Callback for EI job deletion", - "deprecated": false, - "produces": ["application/json"], - "operationId": "jobDeletedCallbackUsingPOST", - "responses": { - "200": {"description": "OK"}, - "201": {"description": "Created"}, - "401": {"description": "Unauthorized"}, - "403": {"description": "Forbidden"}, - "404": {"description": "Not Found"} - }, - "parameters": [{ - "schema": {"$ref": "#/definitions/producer_ei_job_request"}, - "in": "body", - "name": "request", - "description": "request", - "required": true - }], - "tags": ["Producer Simulator"], - "consumes": ["application/json"] - }}, - "/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}/status": {"get": { - "summary": "EI Job status", - "deprecated": false, - "produces": ["application/json"], - "operationId": "getEiJobStatusUsingGET", - "responses": { - "200": { - "schema": {"$ref": "#/definitions/EiJobStatus"}, - "description": "EI Job status" - }, - "401": {"description": "Unauthorized"}, - "403": {"description": "Forbidden"}, - "404": { - "schema": {"$ref": "#/definitions/error_information"}, - "description": "Enrichment Information type or job is not found" - } - }, - "parameters": [ - { - "in": "path", - "name": "eiJobId", - "description": "eiJobId", - "type": "string", - "required": true - }, - { - "in": "path", - "name": "eiTypeId", - "description": "eiTypeId", - "type": "string", - "required": true - } - ], - "tags": ["A1-E Enrichment Data Consumer API"] + "tags": ["A1-EI (enrichment information)"] }}, "/ei-producer/v1/eiproducers/{eiProducerId}/status": {"get": { "summary": "EI producer status", @@ -211,7 +131,7 @@ "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": { - "schema": {"$ref": "#/definitions/error_information"}, + "schema": {"$ref": "#/definitions/ProblemDetails"}, "description": "Enrichment Information producer is not found" } }, @@ -224,21 +144,25 @@ }], "tags": ["Enrichment Data Producer API"] }}, - "/producer_simulator/supervision_error": {"get": { - "summary": "Producer supervision error", + "/producer_simulator/ei_job/{eiJobId}": {"delete": { + "summary": "Callback for EI job deletion", "deprecated": false, "produces": ["application/json"], - "operationId": "producerSupervisionErrorUsingGET", + "operationId": "jobDeletedCallbackUsingDELETE", "responses": { - "200": { - "schema": {"type": "string"}, - "description": "OK" - }, + "200": {"description": "OK"}, "401": {"description": "Unauthorized"}, - "403": {"description": "Forbidden"}, - "404": {"description": "Not Found"} + "204": {"description": "No Content"}, + "403": {"description": "Forbidden"} }, - "tags": ["Producer Simulator"] + "parameters": [{ + "in": "path", + "name": "eiJobId", + "description": "eiJobId", + "type": "string", + "required": true + }], + "tags": ["Producer Callbacks"] }}, "/ei-producer/v1/eiproducers": {"get": { "summary": "EI producer identifiers", @@ -260,7 +184,7 @@ "tags": ["Enrichment Data Producer API"] }}, "/ei-producer/v1/eitypes/{eiTypeId}": {"get": { - "summary": "Individual EI Type", + "summary": "Individual EI type", "deprecated": false, "produces": ["application/json"], "operationId": "getEiTypeUsingGET_1", @@ -272,7 +196,7 @@ "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": { - "schema": {"$ref": "#/definitions/error_information"}, + "schema": {"$ref": "#/definitions/ProblemDetails"}, "description": "Enrichment Information type is not found" } }, @@ -285,66 +209,51 @@ }], "tags": ["Enrichment Data Producer API"] }}, - "/producer_simulator/job_created_error": {"post": { - "summary": "Callback for EI job creation, returns error", + "/status": {"get": { + "summary": "Returns status and statistics of this service", "deprecated": false, "produces": ["application/json"], - "operationId": "jobCreatedCallbackReturnErrorUsingPOST", + "operationId": "getStatusUsingGET", "responses": { - "200": {"description": "OK"}, - "201": {"description": "Created"}, + "200": { + "schema": {"$ref": "#/definitions/status_info"}, + "description": "Service is living" + }, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Not Found"} }, - "parameters": [{ - "schema": {"$ref": "#/definitions/producer_ei_job_request"}, - "in": "body", - "name": "request", - "description": "request", - "required": true - }], - "tags": ["Producer Simulator"], - "consumes": ["application/json"] + "tags": ["Service status"] }}, - "/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}": { + "/A1-EI/v1/eijobs/{eiJobId}": { "get": { - "summary": "Individual EI Job", + "summary": "Individual EI job", "deprecated": false, "produces": ["application/json"], "operationId": "getIndividualEiJobUsingGET", "responses": { "200": { - "schema": {"$ref": "#/definitions/EiJob"}, - "description": "EI Job" + "schema": {"$ref": "#/definitions/EiJobObject"}, + "description": "EI job" }, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": { - "schema": {"$ref": "#/definitions/error_information"}, - "description": "Enrichment Information type or job is not found" + "schema": {"$ref": "#/definitions/ProblemDetails"}, + "description": "Enrichment Information job is not found" } }, - "parameters": [ - { - "in": "path", - "name": "eiJobId", - "description": "eiJobId", - "type": "string", - "required": true - }, - { - "in": "path", - "name": "eiTypeId", - "description": "eiTypeId", - "type": "string", - "required": true - } - ], - "tags": ["A1-E Enrichment Data Consumer API"] + "parameters": [{ + "in": "path", + "name": "eiJobId", + "description": "eiJobId", + "type": "string", + "required": true + }], + "tags": ["A1-EI (enrichment information)"] }, "delete": { - "summary": "Individual EI Job", + "summary": "Individual EI job", "deprecated": false, "produces": ["application/json"], "operationId": "deleteIndividualEiJobUsingDELETE", @@ -354,30 +263,21 @@ "204": {"description": "Job deleted"}, "403": {"description": "Forbidden"}, "404": { - "schema": {"$ref": "#/definitions/error_information"}, - "description": "Enrichment Information type or job is not found" + "schema": {"$ref": "#/definitions/ProblemDetails"}, + "description": "Enrichment Information job is not found" } }, - "parameters": [ - { - "in": "path", - "name": "eiJobId", - "description": "eiJobId", - "type": "string", - "required": true - }, - { - "in": "path", - "name": "eiTypeId", - "description": "eiTypeId", - "type": "string", - "required": true - } - ], - "tags": ["A1-E Enrichment Data Consumer API"] + "parameters": [{ + "in": "path", + "name": "eiJobId", + "description": "eiJobId", + "type": "string", + "required": true + }], + "tags": ["A1-EI (enrichment information)"] }, "put": { - "summary": "Individual EI Job", + "summary": "Individual EI job", "deprecated": false, "produces": ["application/json"], "operationId": "putIndividualEiJobUsingPUT", @@ -387,7 +287,7 @@ "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": { - "schema": {"$ref": "#/definitions/error_information"}, + "schema": {"$ref": "#/definitions/ProblemDetails"}, "description": "Enrichment Information type is not found" } }, @@ -400,21 +300,14 @@ "required": true }, { - "schema": {"$ref": "#/definitions/EiJob"}, + "schema": {"$ref": "#/definitions/EiJobObject"}, "in": "body", - "name": "eiJobInfo", - "description": "eiJobInfo", - "required": true - }, - { - "in": "path", - "name": "eiTypeId", - "description": "eiTypeId", - "type": "string", + "name": "eiJobObject", + "description": "eiJobObject", "required": true } ], - "tags": ["A1-E Enrichment Data Consumer API"], + "tags": ["A1-EI (enrichment information)"], "consumes": ["application/json"] } }, @@ -427,12 +320,12 @@ "responses": { "200": { "schema": {"$ref": "#/definitions/producer_registration_info"}, - "description": "EI Jobs" + "description": "EI jobs" }, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": { - "schema": {"$ref": "#/definitions/error_information"}, + "schema": {"$ref": "#/definitions/ProblemDetails"}, "description": "Enrichment Information producer is not found" } }, @@ -456,7 +349,7 @@ "204": {"description": "Producer deleted"}, "403": {"description": "Forbidden"}, "404": { - "schema": {"$ref": "#/definitions/error_information"}, + "schema": {"$ref": "#/definitions/ProblemDetails"}, "description": "Producer is not found" } }, @@ -501,6 +394,22 @@ "consumes": ["application/json"] } }, + "/producer_simulator/health_check": {"get": { + "summary": "Producer supervision", + "deprecated": false, + "produces": ["application/json"], + "operationId": "producerSupervisionUsingGET", + "responses": { + "200": { + "schema": {"type": "string"}, + "description": "OK" + }, + "401": {"description": "Unauthorized"}, + "403": {"description": "Forbidden"}, + "404": {"description": "Not Found"} + }, + "tags": ["Producer Callbacks"] + }}, "/ei-producer/v1/eiproducers/{eiProducerId}/eijobs": {"get": { "summary": "EI job definitions", "deprecated": false, @@ -518,7 +427,7 @@ "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": { - "schema": {"$ref": "#/definitions/error_information"}, + "schema": {"$ref": "#/definitions/ProblemDetails"}, "description": "Enrichment Information producer is not found" } }, @@ -531,40 +440,76 @@ }], "tags": ["Enrichment Data Producer API"] }}, - "/producer_simulator/job_created": {"post": { - "summary": "Callback for EI job creation", + "/A1-EI/v1/eijobs": {"get": { + "summary": "EI job identifiers", "deprecated": false, "produces": ["application/json"], - "operationId": "jobCreatedCallbackUsingPOST", + "description": "query for EI job identifiers", + "operationId": "getEiJobIdsUsingGET", "responses": { - "200": {"description": "OK"}, - "201": {"description": "Created"}, + "200": { + "schema": { + "type": "array", + "items": {"type": "string"} + }, + "description": "EI job identifiers" + }, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, - "404": {"description": "Not Found"} + "404": { + "schema": {"$ref": "#/definitions/ProblemDetails"}, + "description": "Enrichment Information type is not found" + } + }, + "parameters": [ + { + "in": "query", + "allowEmptyValue": false, + "name": "eiTypeId", + "description": "selects EI jobs of matching EI type", + "type": "string", + "required": false + }, + { + "in": "query", + "allowEmptyValue": false, + "name": "owner", + "description": "selects EI jobs for one EI job owner", + "type": "string", + "required": false + } + ], + "tags": ["A1-EI (enrichment information)"] + }}, + "/A1-EI/v1/eijobs/{eiJobId}/status": {"get": { + "summary": "EI job status", + "deprecated": false, + "produces": ["application/json"], + "operationId": "getEiJobStatusUsingGET", + "responses": { + "200": { + "schema": {"$ref": "#/definitions/EiJobStatusObject"}, + "description": "EI job status" + }, + "401": {"description": "Unauthorized"}, + "403": {"description": "Forbidden"}, + "404": { + "schema": {"$ref": "#/definitions/ProblemDetails"}, + "description": "Enrichment Information job is not found" + } }, "parameters": [{ - "schema": {"$ref": "#/definitions/producer_ei_job_request"}, - "in": "body", - "name": "request", - "description": "request", + "in": "path", + "name": "eiJobId", + "description": "eiJobId", + "type": "string", "required": true }], - "tags": ["Producer Simulator"], - "consumes": ["application/json"] + "tags": ["A1-EI (enrichment information)"] }} }, - "host": "localhost:43453", + "host": "localhost:41549", "definitions": { - "EiType": { - "description": "Information for an EI type", - "type": "object", - "title": "EiType", - "properties": {"eiJobParametersSchema": { - "description": "Json schema for the job data", - "type": "object" - }} - }, "producer_ei_job_request": { "description": "The body of the EI producer callbacks for EI job creation and deletion", "type": "object", @@ -589,52 +534,10 @@ } } }, - "error_information": { - "description": "Problem as defined in https://tools.ietf.org/html/rfc7807", - "type": "object", - "title": "error_information", - "properties": { - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.", - "type": "string", - "example": "EI job type not found" - }, - "status": { - "format": "int32", - "description": "The HTTP status code generated by the origin server for this occurrence of the problem.", - "type": "integer", - "example": 404 - } - } - }, - "void": { - "description": "Void/empty", - "type": "object", - "title": "void" - }, - "EiJob": { - "description": "Information for an Enrichment Information Job", + "EiTypeObject": { + "description": "Information for an EI type", "type": "object", - "title": "EiJob", - "required": [ - "jobOwner", - "jobParameters", - "targetUri" - ], - "properties": { - "targetUri": { - "description": "The target of the EI data", - "type": "string" - }, - "jobOwner": { - "description": "Identity of the owner of the job", - "type": "string" - }, - "jobParameters": { - "description": "EI Type specific job data", - "type": "object" - } - } + "title": "EiTypeObject" }, "producer_ei_type_registration_info": { "description": "Information for an EI type", @@ -652,19 +555,30 @@ } } }, - "EiJobStatus": { - "description": "Status for an EI Job", + "status_info": { "type": "object", - "title": "EiJobStatus", - "required": ["operationalState"], - "properties": {"operationalState": { - "description": "Operational state, values:\nENABLED: TBD\nDISABLED: TBD.", - "type": "string", - "enum": [ - "ENABLED", - "DISABLED" - ] - }} + "title": "status_info", + "properties": { + "no_of_producers": { + "format": "int32", + "description": "Number of EI producers", + "type": "integer" + }, + "no_of_jobs": { + "format": "int32", + "description": "Number of EI jobs", + "type": "integer" + }, + "no_of_types": { + "format": "int32", + "description": "Number of EI types", + "type": "integer" + }, + "status": { + "description": "status text", + "type": "string" + } + } }, "Mono«ResponseEntity«object»»": { "type": "object", @@ -691,8 +605,7 @@ "type": "object", "title": "producer_registration_info", "required": [ - "ei_job_creation_callback_url", - "ei_job_deletion_callback_url", + "ei_job_callback_url", "ei_producer_supervision_callback_url", "supported_ei_types" ], @@ -702,17 +615,13 @@ "type": "array", "items": {"$ref": "#/definitions/producer_ei_type_registration_info"} }, - "ei_job_creation_callback_url": { - "description": "callback for job creation", - "type": "string" - }, - "ei_job_deletion_callback_url": { - "description": "callback for job deletion", - "type": "string" - }, "ei_producer_supervision_callback_url": { "description": "callback for producer supervision", "type": "string" + }, + "ei_job_callback_url": { + "description": "callback for EI job", + "type": "string" } } }, @@ -729,6 +638,76 @@ "DISABLED" ] }} + }, + "ProblemDetails": { + "description": "A problem detail to carry details in a HTTP response according to RFC 7807", + "type": "object", + "title": "ProblemDetails", + "properties": { + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.", + "type": "string", + "example": "EI job type not found" + }, + "status": { + "format": "int32", + "description": "The HTTP status code generated by the origin server for this occurrence of the problem.", + "type": "integer", + "example": 404 + } + } + }, + "Void": { + "description": "Void/empty", + "type": "object", + "title": "Void" + }, + "EiJobStatusObject": { + "description": "Status for an EI job", + "type": "object", + "title": "EiJobStatusObject", + "required": ["eiJobStatus"], + "properties": {"eiJobStatus": { + "description": "values:\nENABLED: the A1-EI producer is able to deliver EI result for the EI job\nDISABLED: the A1-EI producer is unable to deliver EI result for the EI job", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ] + }} + }, + "EiJobObject": { + "description": "Information for an Enrichment Information Job", + "type": "object", + "title": "EiJobObject", + "required": [ + "eiTypeId", + "jobDefinition", + "jobOwner", + "jobResultUri" + ], + "properties": { + "eiTypeId": { + "description": "EI type Idenitifier of the EI job", + "type": "string" + }, + "jobResultUri": { + "description": "The target URI of the EI data", + "type": "string" + }, + "jobOwner": { + "description": "Identity of the owner of the job", + "type": "string" + }, + "jobStatusNotificationUri": { + "description": "The target of EI job status notifications", + "type": "string" + }, + "jobDefinition": { + "description": "EI type specific job data", + "type": "object" + } + } } }, "swagger": "2.0", @@ -739,16 +718,24 @@ }, "tags": [ { - "name": "A1-E Enrichment Data Consumer API", + "name": "A1-EI (enrichment information)", "description": "Consumer Controller" }, + { + "name": "Consumer Callbacks", + "description": "Consumer Simulator Controller" + }, { "name": "Enrichment Data Producer API", "description": "Producer Controller" }, { - "name": "Producer Simulator", + "name": "Producer Callbacks", "description": "Producer Simulator Controller" + }, + { + "name": "Service status", + "description": "Status Controller" } ] } \ No newline at end of file