X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=enrichment-coordinator-service%2Fapi%2Fecs-api.json;h=c89d6138551ea27f56ae279868198c537d18620d;hb=6a0120833174d5f714b4b3d72bb01159a18544b0;hp=3d6882aa09fbcfeded3e567f2f546798f8a8a63e;hpb=cb28fdff6d977773c123db418ab0b5f6861f5335;p=nonrtric.git diff --git a/enrichment-coordinator-service/api/ecs-api.json b/enrichment-coordinator-service/api/ecs-api.json index 3d6882aa..c89d6138 100644 --- a/enrichment-coordinator-service/api/ecs-api.json +++ b/enrichment-coordinator-service/api/ecs-api.json @@ -1,35 +1,13 @@ { "components": {"schemas": { - "producer_ei_job_request": { - "description": "The body of the EI producer callbacks for EI job creation and deletion", + "consumer_information_type": { + "description": "Information for an Information type", "type": "object", - "required": ["ei_job_identity"], - "properties": { - "owner": { - "description": "The owner of the job", - "type": "string" - }, - "ei_job_identity": { - "description": "Idenitity of the EI job", - "type": "string" - }, - "last_updated": { - "description": "The time when the job was last updated or created (ISO-8601)", - "type": "string" - }, - "ei_job_data": { - "description": "Json for the job data", - "type": "object" - }, - "target_uri": { - "description": "URI for the target of the EI", - "type": "string" - }, - "ei_type_identity": { - "description": "Type idenitity for the job", - "type": "string" - } - } + "required": ["job_data_schema"], + "properties": {"job_data_schema": { + "description": "Json schema for the job data", + "type": "object" + }} }, "EiTypeObject": { "description": "Information for an EI type", @@ -46,17 +24,17 @@ "properties": { "no_of_producers": { "format": "int32", - "description": "Number of EI producers", + "description": "Number of Information Producers", "type": "integer" }, "no_of_types": { "format": "int32", - "description": "Number of EI types", + "description": "Number of Information Types", "type": "integer" }, "no_of_jobs": { "format": "int32", - "description": "Number of EI jobs", + "description": "Number of Information Jobs", "type": "integer" }, "status": { @@ -65,38 +43,29 @@ } } }, - "producer_ei_type_info": { - "description": "Information for an EI type", - "type": "object", - "required": ["ei_job_data_schema"], - "properties": {"ei_job_data_schema": { - "description": "Json schema for the job data", - "type": "object" - }} - }, "producer_registration_info": { - "description": "Information for an EI producer", + "description": "Information for an Information Producer", "type": "object", "required": [ - "ei_job_callback_url", - "ei_producer_supervision_callback_url", - "supported_ei_types" + "info_job_callback_url", + "info_producer_supervision_callback_url", + "supported_info_types" ], "properties": { - "supported_ei_types": { - "description": "Supported EI type IDs", + "info_producer_supervision_callback_url": { + "description": "callback for producer supervision", + "type": "string" + }, + "supported_info_types": { + "description": "Supported Information Type IDs", "type": "array", "items": { - "description": "Supported EI type IDs", + "description": "Supported Information Type IDs", "type": "string" } }, - "ei_producer_supervision_callback_url": { - "description": "callback for producer supervision", - "type": "string" - }, - "ei_job_callback_url": { - "description": "callback for EI job", + "info_job_callback_url": { + "description": "callback for Information Job", "type": "string" } } @@ -108,7 +77,7 @@ "detail": { "description": "A human-readable explanation specific to this occurrence of the problem.", "type": "string", - "example": "EI job type not found" + "example": "Information Job type not found" }, "status": { "format": "int32", @@ -131,6 +100,32 @@ ] }} }, + "consumer_job_status": { + "description": "Status for an Information Job", + "type": "object", + "required": [ + "info_job_status", + "producers" + ], + "properties": { + "info_job_status": { + "description": "Allowed values for Information Job status", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "producers": { + "description": "An array of all registerred Information Producer Identifiers.", + "type": "array", + "items": { + "description": "An array of all registerred Information Producer Identifiers.", + "type": "string" + } + } + } + }, "EiJobObject": { "description": "Information for an Enrichment Information Job", "type": "object", @@ -163,97 +158,113 @@ } } }, - "JobStatus": { - "description": "Status for an EI job", + "producer_info_type_info": { + "description": "Information for an Information Type", "type": "object", - "required": ["eiJobStatus"], - "properties": {"eiJobStatus": { - "description": "Allowed values for EI job status", - "type": "string", - "enum": [ - "ENABLED", - "DISABLED" - ] + "required": ["info_job_data_schema"], + "properties": {"info_job_data_schema": { + "description": "Json schema for the job data", + "type": "object" }} }, - "producer_status": { - "description": "Status for an EI Producer", + "producer_info_job_request": { + "description": "The body of the Information Producer callbacks for Information Job creation and deletion", "type": "object", - "required": ["operational_state"], - "properties": {"operational_state": { - "description": "Represents the operational states", - "type": "string", - "enum": [ - "ENABLED", - "DISABLED" - ] - }} - }, - "Void": { - "description": "Void/empty ", - "type": "object" + "required": ["info_job_identity"], + "properties": { + "owner": { + "description": "The owner of the job", + "type": "string" + }, + "last_updated": { + "description": "The time when the job was last updated or created (ISO-8601)", + "type": "string" + }, + "info_job_identity": { + "description": "Identity of the Information Job", + "type": "string" + }, + "target_uri": { + "description": "URI for the target of the produced Information", + "type": "string" + }, + "info_job_data": { + "description": "Json for the job data", + "type": "object" + }, + "info_type_identity": { + "description": "Type identity for the job", + "type": "string" + } + } }, - "Job": { - "description": "Information for an Enrichment Information Job", + "consumer_job": { + "description": "Information for an Enrichment Information Job", "type": "object", "required": [ - "infoTypeId", - "jobDefinition", - "jobOwner", - "jobResultUri" + "info_type_id", + "job_definition", + "job_owner", + "job_result_uri" ], "properties": { - "jobResultUri": { - "description": "The target URI of the subscribed information", - "type": "string" - }, - "infoTypeId": { + "info_type_id": { "description": "Information type Idenitifier of the subscription job", "type": "string" }, - "jobOwner": { - "description": "Identity of the owner of the job", + "job_result_uri": { + "description": "The target URI of the subscribed information", "type": "string" }, - "statusNotificationUri": { - "description": "The target of Information subscription job status notifications", + "job_owner": { + "description": "Identity of the owner of the job", "type": "string" }, - "jobDefinition": { + "job_definition": { "description": "Information type specific job data", "type": "object" + }, + "status_notification_uri": { + "description": "The target of Information subscription job status notifications", + "type": "string" } } }, - "InformationType": { - "description": "Information for an Information type", + "producer_status": { + "description": "Status for an Info Producer", "type": "object", - "required": ["consumer_job_data_schema"], - "properties": {"consumer_job_data_schema": { - "description": "Json schema for the job data", - "type": "object" + "required": ["operational_state"], + "properties": {"operational_state": { + "description": "Represents the operational states", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ] }} + }, + "Void": { + "description": "Void/empty ", + "type": "object" } }}, "openapi": "3.0.1", "paths": { - "/producer_simulator/ei_job": {"post": { - "summary": "Callback for EI job creation/modification", - "requestBody": { - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_ei_job_request"}}}, - "required": true - }, - "description": "The call is invoked to activate or to modify a data subscription. The endpoint is provided by the EI producer.", - "operationId": "jobCreatedCallback", + "/data-producer/v1/info-types": {"get": { + "summary": "Info Type identifiers", + "operationId": "getInfoTypdentifiers", "responses": {"200": { - "description": "OK", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} + "description": "Info Type identifiers", + "content": {"application/json": {"schema": { + "type": "array", + "items": {"type": "string"} + }}} }}, - "tags": ["Data producer (callbacks)"] + "tags": ["Data producer (registration)"] }}, "/A1-EI/v1/eitypes/{eiTypeId}": {"get": { "summary": "Individual EI type", - "operationId": "getEiType_1", + "operationId": "getEiType", "responses": { "200": { "description": "EI type", @@ -272,104 +283,31 @@ }], "tags": ["A1-EI (registration)"] }}, - "/ei-producer/v1/eitypes": {"get": { - "summary": "EI type identifiers", - "operationId": "getEiTypeIdentifiers", - "responses": {"200": { - "description": "EI type identifiers", - "content": {"application/json": {"schema": { - "type": "array", - "items": {"type": "string"} - }}} - }}, - "tags": ["Data producer (registration)"] - }}, - "/A1-EI/v1/eitypes": {"get": { - "summary": "EI type identifiers", - "operationId": "getEiTypeIdentifiers_1", - "responses": {"200": { - "description": "EI type identifiers", - "content": {"application/json": {"schema": { - "type": "array", - "items": {"type": "string"} - }}} - }}, - "tags": ["A1-EI (registration)"] - }}, - "/data-consumer/v1/info-types": {"get": { - "summary": "Information type identifiers", - "operationId": "getinfoTypeIdentifiers", - "responses": {"200": { - "description": "Information type identifiers", - "content": {"application/json": {"schema": { - "type": "array", - "items": {"type": "string"} - }}} - }}, - "tags": ["Data consumer"] - }}, - "/ei-producer/v1/eiproducers/{eiProducerId}/status": {"get": { - "summary": "EI producer status", - "operationId": "getEiProducerStatus", - "responses": { - "200": { - "description": "EI producer status", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_status"}}} - }, - "404": { - "description": "Enrichment Information producer is not found", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} - } - }, - "parameters": [{ - "schema": {"type": "string"}, - "in": "path", - "name": "eiProducerId", - "required": true - }], - "tags": ["Data producer (registration)"] - }}, - "/producer_simulator/ei_job/{eiJobId}": {"delete": { - "summary": "Callback for EI job deletion", - "description": "The call is invoked to terminate a data subscription. The endpoint is provided by the EI producer.", - "operationId": "jobDeletedCallback", - "responses": {"200": { - "description": "OK", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} - }}, - "parameters": [{ - "schema": {"type": "string"}, - "in": "path", - "name": "eiJobId", - "required": true - }], - "tags": ["Data producer (callbacks)"] - }}, - "/ei-producer/v1/eitypes/{eiTypeId}": { + "/data-producer/v1/info-types/{infoTypeId}": { "get": { - "summary": "Individual EI type", - "operationId": "getEiType", + "summary": "Individual Information Type", + "operationId": "getInfoType", "responses": { "200": { - "description": "EI type", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_ei_type_info"}}} + "description": "Info Type", + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_info_type_info"}}} }, "404": { - "description": "Enrichment Information type is not found", + "description": "Information type is not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} } }, "parameters": [{ "schema": {"type": "string"}, "in": "path", - "name": "eiTypeId", + "name": "infoTypeId", "required": true }], "tags": ["Data producer (registration)"] }, "delete": { - "summary": "Individual EI type", - "operationId": "deleteEiType", + "summary": "Individual Information Type", + "operationId": "deleteInfoType", "responses": { "200": { "description": "Not used", @@ -380,29 +318,29 @@ "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} }, "404": { - "description": "Enrichment Information type is not found", + "description": "Information type is not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} }, "406": { - "description": "The Enrichment Information type has one or several active producers", + "description": "The Information type has one or several active producers", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} } }, "parameters": [{ "schema": {"type": "string"}, "in": "path", - "name": "eiTypeId", + "name": "infoTypeId", "required": true }], "tags": ["Data producer (registration)"] }, "put": { - "summary": "Individual EI type", + "summary": "Individual Information Type", "requestBody": { - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_ei_type_info"}}}, + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_info_type_info"}}}, "required": true }, - "operationId": "putEiType", + "operationId": "putInfoType", "responses": { "200": { "description": "Type updated", @@ -420,197 +358,218 @@ "parameters": [{ "schema": {"type": "string"}, "in": "path", - "name": "eiTypeId", + "name": "infoTypeId", "required": true }], "tags": ["Data producer (registration)"] } }, - "/status": {"get": { - "summary": "Returns status and statistics of this service", - "operationId": "getStatus", + "/A1-EI/v1/eitypes": {"get": { + "summary": "EI type identifiers", + "operationId": "getEiTypeIdentifiers", "responses": {"200": { - "description": "Service is living", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/status_info"}}} + "description": "EI type identifiers", + "content": {"application/json": {"schema": { + "type": "array", + "items": {"type": "string"} + }}} }}, - "tags": ["Service status"] + "tags": ["A1-EI (registration)"] }}, - "/ei-producer/v1/eiproducers": {"get": { - "summary": "EI producer identifiers", - "operationId": "getEiProducerIdentifiers", + "/data-consumer/v1/info-types": {"get": { + "summary": "Information type identifiers", + "operationId": "getinfoTypeIdentifiers", "responses": {"200": { - "description": "EI producer identifiers", + "description": "Information type identifiers", "content": {"application/json": {"schema": { "type": "array", "items": {"type": "string"} }}} }}, - "parameters": [{ - "schema": {"type": "string"}, - "in": "query", - "name": "ei_type_id", - "description": "If given, only the producers for the EI Data type is returned.", - "required": false - }], - "tags": ["Data producer (registration)"] + "tags": ["Data consumer"] }}, - "/A1-EI/v1/eijobs/{eiJobId}": { + "/data-producer/v1/info-producers/{infoProducerId}": { "get": { - "summary": "Individual EI job", - "operationId": "getIndividualEiJob_1", + "summary": "Individual Information Producer", + "operationId": "getInfoProducer", "responses": { "200": { - "description": "EI job", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EiJobObject"}}} + "description": "Information producer", + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_registration_info"}}} }, "404": { - "description": "Enrichment Information job is not found", + "description": "Information producer is not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} } }, "parameters": [{ "schema": {"type": "string"}, "in": "path", - "name": "eiJobId", + "name": "infoProducerId", "required": true }], - "tags": ["A1-EI (registration)"] + "tags": ["Data producer (registration)"] }, "delete": { - "summary": "Individual EI job", - "operationId": "deleteIndividualEiJob_1", + "summary": "Individual Information Producer", + "operationId": "deleteInfoProducer", "responses": { "200": { "description": "Not used", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} }, "204": { - "description": "Job deleted", + "description": "Producer deleted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} }, "404": { - "description": "Enrichment Information job is not found", + "description": "Producer is not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} } }, "parameters": [{ "schema": {"type": "string"}, "in": "path", - "name": "eiJobId", + "name": "infoProducerId", "required": true }], - "tags": ["A1-EI (registration)"] + "tags": ["Data producer (registration)"] }, "put": { - "summary": "Individual EI job", + "summary": "Individual Information Producer", "requestBody": { - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EiJobObject"}}}, + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_registration_info"}}}, "required": true }, - "operationId": "putIndividualEiJob", + "operationId": "putInfoProducer", "responses": { "200": { - "description": "Job updated", + "description": "Producer updated", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} }, "201": { - "description": "Job created", + "description": "Producer created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} }, "404": { - "description": "Enrichment Information type is not found", + "description": "Producer not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} } }, "parameters": [{ "schema": {"type": "string"}, "in": "path", - "name": "eiJobId", + "name": "infoProducerId", "required": true }], - "tags": ["A1-EI (registration)"] + "tags": ["Data producer (registration)"] } }, - "/ei-producer/v1/eiproducers/{eiProducerId}": { + "/producer_simulator/info_job/{infoJobId}": {"delete": { + "summary": "Callback for Information Job deletion", + "description": "The call is invoked to terminate a data subscription. The endpoint is provided by the Information Producer.", + "operationId": "jobDeletedCallback", + "responses": {"200": { + "description": "OK", + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} + }}, + "parameters": [{ + "schema": {"type": "string"}, + "in": "path", + "name": "infoJobId", + "required": true + }], + "tags": ["Data producer (callbacks)"] + }}, + "/status": {"get": { + "summary": "Returns status and statistics of this service", + "operationId": "getStatus", + "responses": {"200": { + "description": "Service is living", + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/status_info"}}} + }}, + "tags": ["Service status"] + }}, + "/A1-EI/v1/eijobs/{eiJobId}": { "get": { - "summary": "Individual EI producer", - "operationId": "getEiProducer", + "summary": "Individual EI job", + "operationId": "getIndividualEiJob_1", "responses": { "200": { - "description": "EI producer", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_registration_info"}}} + "description": "EI job", + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EiJobObject"}}} }, "404": { - "description": "Enrichment Information producer is not found", + "description": "Enrichment Information job is not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} } }, "parameters": [{ "schema": {"type": "string"}, "in": "path", - "name": "eiProducerId", + "name": "eiJobId", "required": true }], - "tags": ["Data producer (registration)"] + "tags": ["A1-EI (registration)"] }, "delete": { - "summary": "Individual EI producer", - "operationId": "deleteEiProducer", + "summary": "Individual EI job", + "operationId": "deleteIndividualEiJob_1", "responses": { "200": { "description": "Not used", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} }, "204": { - "description": "Producer deleted", + "description": "Job deleted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} }, "404": { - "description": "Producer is not found", + "description": "Enrichment Information job is not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} } }, "parameters": [{ "schema": {"type": "string"}, "in": "path", - "name": "eiProducerId", + "name": "eiJobId", "required": true }], - "tags": ["Data producer (registration)"] + "tags": ["A1-EI (registration)"] }, "put": { - "summary": "Individual EI producer", + "summary": "Individual EI job", "requestBody": { - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_registration_info"}}}, + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EiJobObject"}}}, "required": true }, - "operationId": "putEiProducer", + "operationId": "putIndividualEiJob", "responses": { "200": { - "description": "Producer updated", + "description": "Job updated", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} }, "201": { - "description": "Producer created", + "description": "Job created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} }, "404": { - "description": "Producer not found", + "description": "Enrichment Information type is not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} } }, "parameters": [{ "schema": {"type": "string"}, "in": "path", - "name": "eiProducerId", + "name": "eiJobId", "required": true }], - "tags": ["Data producer (registration)"] + "tags": ["A1-EI (registration)"] } }, "/producer_simulator/health_check": {"get": { "summary": "Producer supervision", - "description": "The endpoint is provided by the EI producer and is used for supervision of the producer.", + "description": "The endpoint is provided by the Information Producer and is used for supervision of the producer.", "operationId": "producerSupervision", "responses": {"200": { "description": "The producer is OK", @@ -619,7 +578,7 @@ "tags": ["Data producer (callbacks)"] }}, "/data-consumer/v1/info-jobs": {"get": { - "summary": "EI job identifiers", + "summary": "Information Job identifiers", "description": "query for information job identifiers", "operationId": "getJobIds", "responses": { @@ -660,7 +619,7 @@ "responses": { "200": { "description": "Information subscription job", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Job"}}} + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/consumer_job"}}} }, "404": { "description": "Information subscription job is not found", @@ -703,7 +662,7 @@ "put": { "summary": "Individual data subscription job", "requestBody": { - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Job"}}}, + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/consumer_job"}}}, "required": true }, "description": "The job will be enabled when a producer is available", @@ -718,7 +677,7 @@ "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} }, "404": { - "description": "Enrichment Information type is not found", + "description": "Information type is not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} } }, @@ -743,38 +702,32 @@ "tags": ["Data consumer"] } }, - "/ei-producer/v1/eiproducers/{eiProducerId}/eijobs": {"get": { - "summary": "EI job definitions", - "description": "EI job definitions for one EI producer", - "operationId": "getEiProducerJobs", - "responses": { - "200": { - "description": "EI producer", - "content": {"application/json": {"schema": { - "type": "array", - "items": {"$ref": "#/components/schemas/producer_ei_job_request"} - }}} - }, - "404": { - "description": "Enrichment Information producer is not found", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} - } - }, + "/data-producer/v1/info-producers": {"get": { + "summary": "Information producer identifiers", + "operationId": "getInfoProducerIdentifiers", + "responses": {"200": { + "description": "Information producer identifiers", + "content": {"application/json": {"schema": { + "type": "array", + "items": {"type": "string"} + }}} + }}, "parameters": [{ "schema": {"type": "string"}, - "in": "path", - "name": "eiProducerId", - "required": true + "in": "query", + "name": "info_type_id", + "description": "If given, only the producers for the EI Data type is returned.", + "required": false }], "tags": ["Data producer (registration)"] }}, "/data-consumer/v1/info-types/{infoTypeId}": {"get": { "summary": "Individual information type", - "operationId": "getInfoType", + "operationId": "getInfoType_1", "responses": { "200": { "description": "Information type", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/InformationType"}}} + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/consumer_information_type"}}} }, "404": { "description": "Information type is not found", @@ -789,6 +742,40 @@ }], "tags": ["Data consumer"] }}, + "/producer_simulator/info_job": {"post": { + "summary": "Callback for Information Job creation/modification", + "requestBody": { + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_info_job_request"}}}, + "required": true + }, + "description": "The call is invoked to activate or to modify a data subscription. The endpoint is provided by the Information Producer.", + "operationId": "jobCreatedCallback", + "responses": {"200": { + "description": "OK", + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} + }}, + "tags": ["Data producer (callbacks)"] + }}, + "/example_dataconsumer/info_jobs/{infoJobId}/status": {"post": { + "summary": "Callback for changed Information Job status", + "requestBody": { + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EiJobStatusObject"}}}, + "required": true + }, + "description": "The primitive is implemented by the data consumer and is invoked when a Information Job status has been changed.", + "operationId": "jobStatusCallback", + "responses": {"200": { + "description": "OK", + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} + }}, + "parameters": [{ + "schema": {"type": "string"}, + "in": "path", + "name": "infoJobId", + "required": true + }], + "tags": ["A1-EI (callbacks)"] + }}, "/A1-EI/v1/eijobs": {"get": { "summary": "EI job identifiers", "description": "query for EI job identifiers", @@ -845,25 +832,51 @@ }], "tags": ["A1-EI (registration)"] }}, - "/example_dataconsumer/eijobs/{eiJobId}/status": {"post": { - "summary": "Callback for changed EI job status", - "requestBody": { - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EiJobStatusObject"}}}, + "/data-producer/v1/info-producers/{infoProducerId}/status": {"get": { + "summary": "Information producer status", + "operationId": "getInfoProducerStatus", + "responses": { + "200": { + "description": "Information producer status", + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_status"}}} + }, + "404": { + "description": "Information producer is not found", + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} + } + }, + "parameters": [{ + "schema": {"type": "string"}, + "in": "path", + "name": "infoProducerId", "required": true + }], + "tags": ["Data producer (registration)"] + }}, + "/data-producer/v1/info-producers/{infoProducerId}/info-jobs": {"get": { + "summary": "Information Job definitions", + "description": "Information Job definitions for one Information Producer", + "operationId": "getInfoProducerJobs", + "responses": { + "200": { + "description": "Information producer", + "content": {"application/json": {"schema": { + "type": "array", + "items": {"$ref": "#/components/schemas/producer_info_job_request"} + }}} + }, + "404": { + "description": "Information producer is not found", + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}} + } }, - "description": "The primitive is implemented by the data consumer and is invoked when a EI job status has been changed.", - "operationId": "jobStatusCallback", - "responses": {"200": { - "description": "OK", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}} - }}, "parameters": [{ "schema": {"type": "string"}, "in": "path", - "name": "eiJobId", + "name": "infoProducerId", "required": true }], - "tags": ["A1-EI (callbacks)"] + "tags": ["Data producer (registration)"] }}, "/data-consumer/v1/info-jobs/{infoJobId}/status": {"get": { "summary": "Job status", @@ -871,7 +884,7 @@ "responses": { "200": { "description": "Information subscription job status", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JobStatus"}}} + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/consumer_job_status"}}} }, "404": { "description": "Information subscription job is not found", @@ -892,7 +905,7 @@ "name": "Copyright (C) 2020 Nordix Foundation. Licensed under the Apache License.", "url": "http://www.apache.org/licenses/LICENSE-2.0" }, - "description": "
The service is mainly a broker between data producers and data consumers. A data producer has the ability to produce one or several types of data (EI type). One type of data can be produced by zero to many producers.
A data consumer can have several active data subscriptions (EI job). One EI job consists of the type of data to produce and additional parameters for filtering of the data. These parameters are different for different data types.<\/p>
This API is between Near-RT RIC and the Non-RT RIC. The Near-RT RIC is a data consumer, which creates Enrichment Information Jobs to subscribe for data.<\/p>
This API is provided by the Non-RT RIC platform and is intended to be part of the O-RAN R1 interface. The API is for use by different kinds of data producers and provides support for:
This API is provided by the Non-RT RIC platform and is intended to be part of the O-RAN R1 interface. The API is for use by different kinds of data consumers and provides support for:
This API provides a means to monitor the service.<\/p>", + "description": "
The service is mainly a broker between data producers and data consumers. A data producer has the ability to produce one or several types of data (Information Type). One type of data can be produced by zero to many producers.
A data consumer can have several active data subscriptions (Information Job). One Information Job consists of the type of data to produce and additional parameters for filtering of the data. These parameters are different for different data types.<\/p>
This API is between Near-RT RIC and the Non-RT RIC. The Near-RT RIC is a data consumer, which creates Information Jobs to subscribe for data. In this context, the information is referred to as 'Enrichment Information', EI.<\/p>
This API is provided by the Non-RT RIC platform and is intended to be part of the O-RAN R1 interface. The API is for use by different kinds of data producers and provides support for:
This API is provided by the Non-RT RIC platform and is intended to be part of the O-RAN R1 interface. The API is for use by different kinds of data consumers and provides support for:
This API provides a means to monitor the health of this service.<\/p>", "title": "Data management and exposure", "version": "1.0" },