X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=inline;f=information-coordinator-service%2Fapi%2Fics-api.yaml;h=be8fc9499b73475f0b0977035d27f128f5973cd1;hb=93a604b82da289316908c9bfff8380877aaf89e5;hp=c4463b0285cbca72d45b626dcda3c18985bff4da;hpb=3deeefa87a81f8724520ce0e3a55d88a5d328204;p=nonrtric.git
diff --git a/information-coordinator-service/api/ics-api.yaml b/information-coordinator-service/api/ics-api.yaml
index c4463b02..be8fc949 100644
--- a/information-coordinator-service/api/ics-api.yaml
+++ b/information-coordinator-service/api/ics-api.yaml
@@ -24,7 +24,7 @@ info:
added and removed information types.
Service status
This
API provides a means to monitor the health of this service.
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
version: "1.0"
servers:
@@ -34,38 +34,22 @@ tags:
description: Data consumer EI job registration
- name: A1-EI (callbacks)
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/
paths:
- /example_dataproducer/info_job/{infoJobId}:
- delete:
- tags:
- - Data producer (callbacks)
- 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
- parameters:
- - name: infoJobId
- in: path
- required: true
- style: simple
- explode: false
- schema:
- type: string
- responses:
- 200:
- description: OK
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Void'
/data-producer/v1/info-types:
get:
tags:
@@ -81,6 +65,19 @@ paths:
type: array
items:
type: string
+ /actuator/threaddump:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'threaddump'
+ operationId: threaddump_2
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
/A1-EI/v1/eitypes/{eiTypeId}:
get:
tags:
@@ -108,27 +105,6 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- /example_dataproducer/info_job:
- post:
- tags:
- - Data producer (callbacks)
- summary: Callback for Information Job creation/modification
- description: The call is invoked to activate or to modify a data subscription.
- The endpoint is provided by the Information Producer.
- operationId: jobCreatedCallback
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/producer_info_job_request'
- required: true
- responses:
- 200:
- description: OK
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Void'
/data-producer/v1/info-types/{infoTypeId}:
get:
tags:
@@ -239,7 +215,367 @@ paths:
summary: Individual subscription for information types (registration/deregistration)
operationId: getIndividualTypeSubscription
parameters:
- - name: subscriptionId
+ - name: subscriptionId
+ in: path
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ 200:
+ description: Type subscription
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/consumer_type_subscription_info'
+ 404:
+ description: Subscription is not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ put:
+ tags:
+ - Data consumer
+ summary: Individual subscription for information types (registration/deregistration)
+ description: This service operation is used to subscribe to notifications for
+ changes in the availability of data types.
+ operationId: putIndividualTypeSubscription
+ parameters:
+ - name: subscriptionId
+ in: path
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/consumer_type_subscription_info'
+ required: true
+ responses:
+ 200:
+ description: Subscription updated
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
+ 201:
+ description: Subscription created
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
+ delete:
+ tags:
+ - Data consumer
+ summary: Individual subscription for information types (registration/deregistration)
+ operationId: deleteIndividualTypeSubscription
+ parameters:
+ - name: subscriptionId
+ in: path
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ 200:
+ description: Not used
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
+ 204:
+ description: Subscription deleted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
+ 404:
+ description: Subscription is not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ /example-dataproducer/health-check:
+ get:
+ tags:
+ - Data producer (callbacks)
+ summary: Producer supervision
+ 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
+ content:
+ application/json:
+ schema:
+ type: string
+ /actuator/loggers:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'loggers'
+ operationId: loggers
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
+ /actuator/health/**:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'health-path'
+ operationId: health-path
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
+ /data-consumer/v1/info-types:
+ get:
+ tags:
+ - Data consumer
+ summary: Information type identifiers
+ operationId: getinfoTypeIdentifiers
+ responses:
+ 200:
+ description: Information type identifiers
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: string
+ /example-dataconsumer/info-type-status:
+ post:
+ tags:
+ - Data consumer (callbacks)
+ summary: Callback for changed Information type registration status
+ 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
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/consumer_type_registration_info'
+ required: true
+ responses:
+ 200:
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
+ /actuator/metrics/{requiredMetricName}:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'metrics-requiredMetricName'
+ operationId: metrics-requiredMetricName
+ parameters:
+ - name: requiredMetricName
+ in: path
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
+ /actuator:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator root web endpoint
+ operationId: links
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
+ additionalProperties:
+ type: object
+ additionalProperties:
+ $ref: '#/components/schemas/Link'
+ /data-consumer/v1/info-jobs:
+ get:
+ tags:
+ - Data consumer
+ summary: Information Job identifiers
+ description: query for information job identifiers
+ operationId: getJobIds
+ parameters:
+ - name: infoTypeId
+ in: query
+ description: selects subscription jobs of matching information type
+ required: false
+ style: form
+ explode: true
+ schema:
+ type: string
+ - name: owner
+ in: query
+ description: selects result for one owner
+ required: false
+ style: form
+ explode: true
+ schema:
+ type: string
+ 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'
+ /actuator/loggers/{name}:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'loggers-name'
+ operationId: loggers-name_2
+ parameters:
+ - name: name
+ in: path
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
+ post:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'loggers-name'
+ operationId: loggers-name
+ parameters:
+ - name: name
+ in: path
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
+ /example-dataproducer/info-job:
+ post:
+ tags:
+ - Data producer (callbacks)
+ summary: Callback for Information Job creation/modification
+ description: The call is invoked to activate or to modify a data subscription.
+ The endpoint is provided by the Information Producer.
+ operationId: jobCreatedCallback
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/producer_info_job_request'
+ required: true
+ responses:
+ 200:
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
+ /example-dataproducer/info-job/{infoJobId}:
+ delete:
+ tags:
+ - Data producer (callbacks)
+ 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
+ parameters:
+ - name: infoJobId
+ in: path
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ 200:
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
+ /A1-EI/v1/eijobs/{eiJobId}/status:
+ get:
+ tags:
+ - A1-EI (registration)
+ summary: EI job status
+ operationId: getEiJobStatus_1
+ parameters:
+ - name: eiJobId
+ in: path
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ 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'
+ /data-producer/v1/info-producers/{infoProducerId}/status:
+ get:
+ tags:
+ - Data producer (registration)
+ summary: Information producer status
+ operationId: getInfoProducerStatus
+ parameters:
+ - name: infoProducerId
in: path
required: true
style: simple
@@ -248,98 +584,99 @@ paths:
type: string
responses:
200:
- description: Type subscription
+ description: Information producer status
content:
application/json:
schema:
- $ref: '#/components/schemas/consumer_type_subscription_info'
+ $ref: '#/components/schemas/producer_status'
404:
- description: Subscription is not found
+ description: Information producer is not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- put:
+ /data-consumer/v1/info-jobs/{infoJobId}/status:
+ get:
tags:
- Data consumer
- summary: Individual subscription for information types (registration/deregistration)
- description: This service operation is used to subscribe to notifications for
- changes in the availability of data types.
- operationId: putIndividualTypeSubscription
+ summary: Job status
+ operationId: getEiJobStatus
parameters:
- - name: subscriptionId
+ - name: infoJobId
in: path
required: true
style: simple
explode: false
schema:
type: string
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/consumer_type_subscription_info'
- required: true
responses:
200:
- description: Subscription updated
+ description: Information subscription job status
content:
application/json:
schema:
- $ref: '#/components/schemas/Void'
- 201:
- description: Subscription created
+ $ref: '#/components/schemas/consumer_job_status'
+ 404:
+ description: Information subscription job is not found
content:
application/json:
schema:
- $ref: '#/components/schemas/Void'
- delete:
+ $ref: '#/components/schemas/ProblemDetails'
+ /actuator/metrics:
+ get:
tags:
- - Data consumer
- summary: Individual subscription for information types (registration/deregistration)
- operationId: deleteIndividualTypeSubscription
+ - Actuator
+ summary: Actuator web endpoint 'metrics'
+ operationId: metrics
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
+ /example-dataconsumer/info-jobs/{infoJobId}/status:
+ post:
+ tags:
+ - A1-EI (callbacks)
+ summary: Callback for changed Information Job status
+ description: The primitive is implemented by the data consumer and is invoked
+ when a Information Job status has been changed.
+ operationId: jobStatusCallback
parameters:
- - name: subscriptionId
+ - name: infoJobId
in: path
required: true
style: simple
explode: false
schema:
type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/EiJobStatusObject'
+ required: true
responses:
200:
- description: Not used
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Void'
- 204:
- description: Subscription deleted
+ description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Void'
- 404:
- description: Subscription is not found
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- /example_dataproducer/health_check:
+ /actuator/info:
get:
tags:
- - Data producer (callbacks)
- summary: Producer supervision
- description: The endpoint is provided by the Information Producer and is used
- for supervision of the producer.
- operationId: producerSupervision
+ - Actuator
+ summary: Actuator web endpoint 'info'
+ operationId: info
responses:
200:
- description: The producer is OK
+ description: OK
content:
- application/json:
+ '*/*':
schema:
- type: string
+ type: object
/A1-EI/v1/eitypes:
get:
tags:
@@ -355,21 +692,6 @@ paths:
type: array
items:
type: string
- /data-consumer/v1/info-types:
- get:
- tags:
- - Data consumer
- summary: Information type identifiers
- operationId: getinfoTypeIdentifiers
- responses:
- 200:
- description: Information type identifiers
- content:
- application/json:
- schema:
- type: array
- items:
- type: string
/data-producer/v1/info-producers/{infoProducerId}:
get:
tags:
@@ -620,45 +942,19 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- /data-consumer/v1/info-jobs:
+ /actuator/logfile:
get:
tags:
- - Data consumer
- summary: Information Job identifiers
- description: query for information job identifiers
- operationId: getJobIds
- parameters:
- - name: infoTypeId
- in: query
- description: selects subscription jobs of matching information type
- required: false
- style: form
- explode: true
- schema:
- type: string
- - name: owner
- in: query
- description: selects result for one owner
- required: false
- style: form
- explode: true
- schema:
- type: string
+ - Actuator
+ summary: Actuator web endpoint 'logfile'
+ operationId: logfile
responses:
200:
- description: Information information job identifiers
- content:
- application/json:
- schema:
- type: array
- items:
- type: string
- 404:
- description: Information type is not found
+ description: OK
content:
- application/json:
+ '*/*':
schema:
- $ref: '#/components/schemas/ProblemDetails'
+ type: object
/data-consumer/v1/info-jobs/{infoJobId}:
get:
tags:
@@ -786,7 +1082,7 @@ paths:
summary: Information producer identifiers
operationId: getInfoProducerIdentifiers
parameters:
- - name: info_type_id
+ - name: infoTypeId
in: query
description: If given, only the producers for the EI Data type is returned.
required: false
@@ -830,35 +1126,19 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- /example_dataconsumer/info_jobs/{infoJobId}/status:
- post:
+ /actuator/health:
+ get:
tags:
- - A1-EI (callbacks)
- summary: Callback for changed Information Job status
- description: The primitive is implemented by the data consumer and is invoked
- when a Information Job status has been changed.
- operationId: jobStatusCallback
- parameters:
- - name: infoJobId
- in: path
- required: true
- style: simple
- explode: false
- schema:
- type: string
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/EiJobStatusObject'
- required: true
+ - Actuator
+ summary: Actuator web endpoint 'health'
+ operationId: health
responses:
200:
description: OK
content:
- application/json:
+ '*/*':
schema:
- $ref: '#/components/schemas/Void'
+ type: object
/A1-EI/v1/eijobs:
get:
tags:
@@ -898,60 +1178,6 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- /A1-EI/v1/eijobs/{eiJobId}/status:
- get:
- tags:
- - A1-EI (registration)
- summary: EI job status
- operationId: getEiJobStatus_1
- parameters:
- - name: eiJobId
- in: path
- required: true
- style: simple
- explode: false
- schema:
- type: string
- 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'
- /data-producer/v1/info-producers/{infoProducerId}/status:
- get:
- tags:
- - Data producer (registration)
- summary: Information producer status
- operationId: getInfoProducerStatus
- parameters:
- - name: infoProducerId
- in: path
- required: true
- style: simple
- explode: false
- schema:
- type: string
- 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'
/data-producer/v1/info-producers/{infoProducerId}/info-jobs:
get:
tags:
@@ -982,55 +1208,19 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- /data-consumer/v1/info-jobs/{infoJobId}/status:
+ /actuator/heapdump:
get:
tags:
- - Data consumer
- summary: Job status
- operationId: getEiJobStatus
- parameters:
- - name: infoJobId
- in: path
- required: true
- style: simple
- explode: false
- schema:
- type: string
- 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'
- /example_dataconsumer/info_type_status:
- post:
- tags:
- - Data consumer (callbacks)
- summary: Callback for changed Information type registration status
- 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
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/consumer_type_registration_info'
- required: true
+ - Actuator
+ summary: Actuator web endpoint 'heapdump'
+ operationId: heapdump
responses:
200:
description: OK
content:
- application/json:
+ '*/*':
schema:
- $ref: '#/components/schemas/Void'
+ type: object
components:
schemas:
consumer_information_type:
@@ -1258,7 +1448,7 @@ components:
status_notification_uri:
type: string
description: The target of Information subscription job status notifications
- description: Information for an Enrichment Information Job
+ description: Information for an Information Job
producer_status:
required:
- operational_state
@@ -1274,6 +1464,13 @@ components:
Void:
type: object
description: 'Void/empty '
+ Link:
+ type: object
+ properties:
+ templated:
+ type: boolean
+ href:
+ type: string
consumer_type_subscription_info:
required:
- owner