X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=information-coordinator-service%2Fapi%2Fics-api.yaml;h=be8fc9499b73475f0b0977035d27f128f5973cd1;hb=bdb9f7181d34e2743ede2369ec35b163ef2e2ec9;hp=b048c1cf683d83ce8ac153aaf2ad1c2f328e6fac;hpb=118d82d7272ae93541bca8c982c44ed2a92cadd2;p=nonrtric.git diff --git a/information-coordinator-service/api/ics-api.yaml b/information-coordinator-service/api/ics-api.yaml index b048c1cf..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: @@ -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