diff --git a/openapi-meta/src/main/resources/config/openapi-inject.yml b/openapi-meta/src/main/resources/config/openapi-inject.yml index 26b9f2e3..5869ae9d 100644 --- a/openapi-meta/src/main/resources/config/openapi-inject.yml +++ b/openapi-meta/src/main/resources/config/openapi-inject.yml @@ -3,6 +3,46 @@ info: version: 1.0.0 title: Light-4j OpenAPI Admin paths: + '/adm/messagereplaymetadata': + post: + tags: + - "kafka-sidecar" + operationId: TopicReplayMetadataPost + summary: Post message for replay the message from topic + description: Post message for replay the message from topic + requestBody: + description: "Topic message replay metadata object" + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/TopicReplayMetadata" + parameters: + - $ref: '#/components/parameters/x-traceability-id' + responses: + '200': + description: Successful response + content: + application/json: + schema: + "$ref": "#/components/schemas/ProduceResponse" + '400': + description: Bad Request + content: + application/json: + schema: + "$ref": "#/components/schemas/Status" + '500': + description: Internal Server Error + content: + application/json: + schema: + "$ref": "#/components/schemas/Status" + security: + - admin-scope: + - admin + # for each business to access their own admin endpoints + - ${server.serviceId:com.networknt.placeholder-1.0.0}/admin /adm/health/${server.serviceId:com.networknt.placeholder-1.0.0}: parameters: - name: server.serviceId:com.networknt.placeholder-1.0.0 @@ -229,4 +269,59 @@ components: clientCredentials: tokenUrl: 'https://localhost:6882/token' scopes: - admin: admin scope to access admin endpoints + "admin": "Grant admin access to light4j components' admin endpoint for this API, api platform team " + "${server.serviceId:com.networknt.placeholder-1.0.0}/admin": "Grant admin access to light4j components' admin endpoints for this API , API owner" + parameters: + x-traceability-id: + name: x-traceability-id + description: "Common header parameters for centeralized logging" + in: header + required: true + schema: + type: string + schemas: + TopicReplayMetadata: + type: object + properties: + topicName: + type: string + dlqIndicator: + type: string + partition: + type: number + startOffset: + type: number + endOffset: + type: number + consumerGroup: + type: string + timeout: + type: number + streamingApp: + type: boolean + destinationTopic: + type: string + lastRetry: + type: boolean + ProduceResponse: + type: object + properties: + keySchemaId: + type: integer + valueSchemaId: + type: integer + offsets: + type: array + items: + "$ref": "#/components/schemas/PartitionOffset" + PartitionOffset: + type: object + properties: + topic: + type: string + partition: + type: integer + offset: + type: number + metadata: + type: string \ No newline at end of file