X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=information-coordinator-service%2Fapi%2Fics-api.json;h=d49398c1d8a8b5d1ed30ba5cfbf499959fb0178f;hb=a5b0c057710ba2a4f13e73c2d1279f5ae9ec813c;hp=7da2270b6ebae0fcda5749d8567b92506b898a44;hpb=98ce5dc75fc222dadaf26a8a148788b0367bf6ca;p=nonrtric.git
diff --git a/information-coordinator-service/api/ics-api.json b/information-coordinator-service/api/ics-api.json
index 7da2270b..d49398c1 100644
--- a/information-coordinator-service/api/ics-api.json
+++ b/information-coordinator-service/api/ics-api.json
@@ -251,7 +251,7 @@
}
},
"consumer_job": {
- "description": "Information for an Enrichment Information Job",
+ "description": "Information for an Information Job",
"type": "object",
"required": [
"info_type_id",
@@ -299,6 +299,13 @@
"description": "Void/empty ",
"type": "object"
},
+ "Link": {
+ "type": "object",
+ "properties": {
+ "templated": {"type": "boolean"},
+ "href": {"type": "string"}
+ }
+ },
"consumer_type_subscription_info": {
"description": "Information for an information type subscription",
"type": "object",
@@ -320,22 +327,6 @@
}},
"openapi": "3.0.1",
"paths": {
- "/example_dataproducer/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)"]
- }},
"/data-producer/v1/info-types": {"get": {
"summary": "Info Type identifiers",
"operationId": "getInfoTypdentifiers",
@@ -348,6 +339,15 @@
}},
"tags": ["Data producer (registration)"]
}},
+ "/actuator/threaddump": {"get": {
+ "summary": "Actuator web endpoint 'threaddump'",
+ "operationId": "threaddump_2",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "tags": ["Actuator"]
+ }},
"/A1-EI/v1/eitypes/{eiTypeId}": {"get": {
"summary": "Individual EI type",
"operationId": "getEiType",
@@ -369,20 +369,6 @@
}],
"tags": ["A1-EI (registration)"]
}},
- "/example_dataproducer/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)"]
- }},
"/data-producer/v1/info-types/{infoTypeId}": {
"get": {
"summary": "Individual Information Type",
@@ -538,7 +524,7 @@
"tags": ["Data consumer"]
}
},
- "/example_dataproducer/health_check": {"get": {
+ "/example-dataproducer/health-check": {"get": {
"summary": "Producer supervision",
"description": "The endpoint is provided by the Information Producer and is used for supervision of the producer.",
"operationId": "producerSupervision",
@@ -548,17 +534,23 @@
}},
"tags": ["Data producer (callbacks)"]
}},
- "/A1-EI/v1/eitypes": {"get": {
- "summary": "EI type identifiers",
- "operationId": "getEiTypeIdentifiers",
+ "/actuator/loggers": {"get": {
+ "summary": "Actuator web endpoint 'loggers'",
+ "operationId": "loggers",
"responses": {"200": {
- "description": "EI type identifiers",
- "content": {"application/json": {"schema": {
- "type": "array",
- "items": {"type": "string"}
- }}}
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
}},
- "tags": ["A1-EI (registration)"]
+ "tags": ["Actuator"]
+ }},
+ "/actuator/health/**": {"get": {
+ "summary": "Actuator web endpoint 'health-path'",
+ "operationId": "health-path",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "tags": ["Actuator"]
}},
"/data-consumer/v1/info-types": {"get": {
"summary": "Information type identifiers",
@@ -572,6 +564,260 @@
}},
"tags": ["Data consumer"]
}},
+ "/example-dataconsumer/info-type-status": {"post": {
+ "summary": "Callback for changed Information type registration status",
+ "requestBody": {
+ "content": {"application/json": {"schema": {"$ref": "#/components/schemas/consumer_type_registration_info"}}},
+ "required": true
+ },
+ "description": "The primitive is implemented by the data consumer and is invoked when a Information type status has been changed.
Subscription are managed by primitives in 'Data consumer'",
+ "operationId": "typeStatusCallback",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}}
+ }},
+ "tags": ["Data consumer (callbacks)"]
+ }},
+ "/actuator/metrics/{requiredMetricName}": {"get": {
+ "summary": "Actuator web endpoint 'metrics-requiredMetricName'",
+ "operationId": "metrics-requiredMetricName",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "parameters": [{
+ "schema": {"type": "string"},
+ "in": "path",
+ "name": "requiredMetricName",
+ "required": true
+ }],
+ "tags": ["Actuator"]
+ }},
+ "/actuator": {"get": {
+ "summary": "Actuator root web endpoint",
+ "operationId": "links",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {
+ "additionalProperties": {
+ "additionalProperties": {"$ref": "#/components/schemas/Link"},
+ "type": "object"
+ },
+ "type": "object"
+ }}}
+ }},
+ "tags": ["Actuator"]
+ }},
+ "/data-consumer/v1/info-jobs": {"get": {
+ "summary": "Information Job identifiers",
+ "description": "query for information job identifiers",
+ "operationId": "getJobIds",
+ "responses": {
+ "200": {
+ "description": "Information information job identifiers",
+ "content": {"application/json": {"schema": {
+ "type": "array",
+ "items": {"type": "string"}
+ }}}
+ },
+ "404": {
+ "description": "Information type is not found",
+ "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}}
+ }
+ },
+ "parameters": [
+ {
+ "schema": {"type": "string"},
+ "in": "query",
+ "name": "infoTypeId",
+ "description": "selects subscription jobs of matching information type",
+ "required": false
+ },
+ {
+ "schema": {"type": "string"},
+ "in": "query",
+ "name": "owner",
+ "description": "selects result for one owner",
+ "required": false
+ }
+ ],
+ "tags": ["Data consumer"]
+ }},
+ "/actuator/loggers/{name}": {
+ "post": {
+ "summary": "Actuator web endpoint 'loggers-name'",
+ "operationId": "loggers-name",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "parameters": [{
+ "schema": {"type": "string"},
+ "in": "path",
+ "name": "name",
+ "required": true
+ }],
+ "tags": ["Actuator"]
+ },
+ "get": {
+ "summary": "Actuator web endpoint 'loggers-name'",
+ "operationId": "loggers-name_2",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "parameters": [{
+ "schema": {"type": "string"},
+ "in": "path",
+ "name": "name",
+ "required": true
+ }],
+ "tags": ["Actuator"]
+ }
+ },
+ "/example-dataproducer/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-dataproducer/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)"]
+ }},
+ "/A1-EI/v1/eijobs/{eiJobId}/status": {"get": {
+ "summary": "EI job status",
+ "operationId": "getEiJobStatus_1",
+ "responses": {
+ "200": {
+ "description": "EI job status",
+ "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EiJobStatusObject"}}}
+ },
+ "404": {
+ "description": "Enrichment Information job is not found",
+ "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}}
+ }
+ },
+ "parameters": [{
+ "schema": {"type": "string"},
+ "in": "path",
+ "name": "eiJobId",
+ "required": true
+ }],
+ "tags": ["A1-EI (registration)"]
+ }},
+ "/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-consumer/v1/info-jobs/{infoJobId}/status": {"get": {
+ "summary": "Job status",
+ "operationId": "getEiJobStatus",
+ "responses": {
+ "200": {
+ "description": "Information subscription job status",
+ "content": {"application/json": {"schema": {"$ref": "#/components/schemas/consumer_job_status"}}}
+ },
+ "404": {
+ "description": "Information subscription job is not found",
+ "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}}
+ }
+ },
+ "parameters": [{
+ "schema": {"type": "string"},
+ "in": "path",
+ "name": "infoJobId",
+ "required": true
+ }],
+ "tags": ["Data consumer"]
+ }},
+ "/actuator/metrics": {"get": {
+ "summary": "Actuator web endpoint 'metrics'",
+ "operationId": "metrics",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "tags": ["Actuator"]
+ }},
+ "/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)"]
+ }},
+ "/actuator/info": {"get": {
+ "summary": "Actuator web endpoint 'info'",
+ "operationId": "info",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "tags": ["Actuator"]
+ }},
+ "/A1-EI/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": ["A1-EI (registration)"]
+ }},
"/data-producer/v1/info-producers/{infoProducerId}": {
"get": {
"summary": "Individual Information Producer",
@@ -767,40 +1013,14 @@
"tags": ["A1-EI (registration)"]
}
},
- "/data-consumer/v1/info-jobs": {"get": {
- "summary": "Information Job identifiers",
- "description": "query for information job identifiers",
- "operationId": "getJobIds",
- "responses": {
- "200": {
- "description": "Information information job identifiers",
- "content": {"application/json": {"schema": {
- "type": "array",
- "items": {"type": "string"}
- }}}
- },
- "404": {
- "description": "Information type is not found",
- "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}}
- }
- },
- "parameters": [
- {
- "schema": {"type": "string"},
- "in": "query",
- "name": "infoTypeId",
- "description": "selects subscription jobs of matching information type",
- "required": false
- },
- {
- "schema": {"type": "string"},
- "in": "query",
- "name": "owner",
- "description": "selects result for one owner",
- "required": false
- }
- ],
- "tags": ["Data consumer"]
+ "/actuator/logfile": {"get": {
+ "summary": "Actuator web endpoint 'logfile'",
+ "operationId": "logfile",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "tags": ["Actuator"]
}},
"/data-consumer/v1/info-jobs/{infoJobId}": {
"get": {
@@ -913,7 +1133,7 @@
"parameters": [{
"schema": {"type": "string"},
"in": "query",
- "name": "info_type_id",
+ "name": "infoTypeId",
"description": "If given, only the producers for the EI Data type is returned.",
"required": false
}],
@@ -940,25 +1160,14 @@
}],
"tags": ["Data consumer"]
}},
- "/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",
+ "/actuator/health": {"get": {
+ "summary": "Actuator web endpoint 'health'",
+ "operationId": "health",
"responses": {"200": {
"description": "OK",
- "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}}
+ "content": {"*/*": {"schema": {"type": "object"}}}
}},
- "parameters": [{
- "schema": {"type": "string"},
- "in": "path",
- "name": "infoJobId",
- "required": true
- }],
- "tags": ["A1-EI (callbacks)"]
+ "tags": ["Actuator"]
}},
"/A1-EI/v1/eijobs": {"get": {
"summary": "EI job identifiers",
@@ -995,48 +1204,6 @@
],
"tags": ["A1-EI (registration)"]
}},
- "/A1-EI/v1/eijobs/{eiJobId}/status": {"get": {
- "summary": "EI job status",
- "operationId": "getEiJobStatus_1",
- "responses": {
- "200": {
- "description": "EI job status",
- "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EiJobStatusObject"}}}
- },
- "404": {
- "description": "Enrichment Information job is not found",
- "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}}
- }
- },
- "parameters": [{
- "schema": {"type": "string"},
- "in": "path",
- "name": "eiJobId",
- "required": true
- }],
- "tags": ["A1-EI (registration)"]
- }},
- "/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",
@@ -1062,48 +1229,22 @@
}],
"tags": ["Data producer (registration)"]
}},
- "/data-consumer/v1/info-jobs/{infoJobId}/status": {"get": {
- "summary": "Job status",
- "operationId": "getEiJobStatus",
- "responses": {
- "200": {
- "description": "Information subscription job status",
- "content": {"application/json": {"schema": {"$ref": "#/components/schemas/consumer_job_status"}}}
- },
- "404": {
- "description": "Information subscription job is not found",
- "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProblemDetails"}}}
- }
- },
- "parameters": [{
- "schema": {"type": "string"},
- "in": "path",
- "name": "infoJobId",
- "required": true
- }],
- "tags": ["Data consumer"]
- }},
- "/example_dataconsumer/info_type_status": {"post": {
- "summary": "Callback for changed Information type registration status",
- "requestBody": {
- "content": {"application/json": {"schema": {"$ref": "#/components/schemas/consumer_type_registration_info"}}},
- "required": true
- },
- "description": "The primitive is implemented by the data consumer and is invoked when a Information type status has been changed.
Subscription are managed by primitives in 'Data consumer'",
- "operationId": "typeStatusCallback",
+ "/actuator/heapdump": {"get": {
+ "summary": "Actuator web endpoint 'heapdump'",
+ "operationId": "heapdump",
"responses": {"200": {
"description": "OK",
- "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Void"}}}
+ "content": {"*/*": {"schema": {"type": "object"}}}
}},
- "tags": ["Data consumer (callbacks)"]
+ "tags": ["Actuator"]
}}
},
"info": {
"license": {
- "name": "Copyright (C) 2020 Nordix Foundation. Licensed under the Apache License.",
+ "name": "Copyright (C) 2020-2022 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 (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>", + "description": "
The ICS is a data subscription service which decouples data producers from data consumers. A data consumer can create a data subscription (Information Job) without any knowledge of its data producers (one subscription may involve several data producers). 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, which may be different for different data types. These parameters are not defined or limited by this service and may for instance include:
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" }, @@ -1117,20 +1258,32 @@ "description": "Data consumer EI job status callbacks" }, { - "name": "Data producer (callbacks)", - "description": "API implemented by data producers" + "name": "Data consumer (callbacks)", + "description": "API for data consumers" }, { "name": "Data producer (registration)", "description": "API for data producers" }, { - "name": "Service status", - "description": "API for monitoring of the service" + "name": "Data producer (callbacks)", + "description": "API implemented by data producers" }, { "name": "Data consumer", "description": "API for data consumers" + }, + { + "name": "Service status", + "description": "API for monitoring of the service" + }, + { + "name": "Actuator", + "description": "Monitor and interact", + "externalDocs": { + "description": "Spring Boot Actuator Web API Documentation", + "url": "https://docs.spring.io/spring-boot/docs/current/actuator-api/html/" + } } ] } \ No newline at end of file