From 1650339aa1066ec080807f0ddd0c0610818502cf Mon Sep 17 00:00:00 2001 From: lcawl Date: Wed, 18 Dec 2024 16:59:59 -0800 Subject: [PATCH] Add specification for check in connector sync job --- output/openapi/elasticsearch-openapi.json | 36 +++++++++++ output/schema/schema.json | 63 +++++++++++++++++-- output/schema/validation-errors.json | 6 -- output/typescript/types.ts | 7 +++ specification/_doc_ids/table.csv | 1 + .../SyncJobCheckInRequest.ts | 39 ++++++++++++ .../SyncJobCheckInResponse.ts | 25 ++++++++ 7 files changed, 167 insertions(+), 10 deletions(-) create mode 100644 specification/connector/sync_job_check_in/SyncJobCheckInRequest.ts create mode 100644 specification/connector/sync_job_check_in/SyncJobCheckInResponse.ts diff --git a/output/openapi/elasticsearch-openapi.json b/output/openapi/elasticsearch-openapi.json index 94de5772b8..1dbc5370af 100644 --- a/output/openapi/elasticsearch-openapi.json +++ b/output/openapi/elasticsearch-openapi.json @@ -4940,6 +4940,42 @@ "x-beta": true } }, + "/_connector/_sync_job/{connector_sync_job_id}/_check_in": { + "put": { + "tags": [ + "connector" + ], + "summary": "Check in a connector sync job", + "description": "Check in a connector sync job and set the `last_seen` field to the current time before updating it in the internal index.\n\nTo sync data using self-managed connectors, you need to deploy the Elastic connector service on your own infrastructure.\nThis service runs automatically on Elastic Cloud for Elastic managed connectors.", + "operationId": "connector-sync-job-check-in", + "parameters": [ + { + "in": "path", + "name": "connector_sync_job_id", + "description": "The unique identifier of the connector sync job to be checked in.", + "required": true, + "deprecated": false, + "schema": { + "$ref": "#/components/schemas/_types:Id" + }, + "style": "simple" + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + } + }, + "x-state": "Technical preview" + } + }, "/_connector/_sync_job/{connector_sync_job_id}": { "get": { "tags": [ diff --git a/output/schema/schema.json b/output/schema/schema.json index bd918dbdb7..3752282e62 100644 --- a/output/schema/schema.json +++ b/output/schema/schema.json @@ -3322,12 +3322,19 @@ "visibility": "public" } }, - "description": "Checks in a connector sync job (refreshes 'last_seen').", - "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/check-in-connector-sync-job-api.html", + "description": "Check in a connector sync job.\nCheck in a connector sync job and set the `last_seen` field to the current time before updating it in the internal index.\n\nTo sync data using self-managed connectors, you need to deploy the Elastic connector service on your own infrastructure.\nThis service runs automatically on Elastic Cloud for Elastic managed connectors.", + "docId": "connector-sync-job-checkin", + "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/check-in-connector-sync-job-api.html", "name": "connector.sync_job_check_in", - "request": null, + "request": { + "name": "Request", + "namespace": "connector.sync_job_check_in" + }, "requestBodyRequired": false, - "response": null, + "response": { + "name": "Response", + "namespace": "connector.sync_job_check_in" + }, "responseMediaType": [ "application/json" ], @@ -115476,6 +115483,54 @@ }, "specLocation": "connector/sync_job_cancel/SyncJobCancelResponse.ts#L22-L26" }, + { + "kind": "request", + "attachedBehaviors": [ + "CommonQueryParameters" + ], + "body": { + "kind": "no_body" + }, + "description": "Check in a connector sync job.\nCheck in a connector sync job and set the `last_seen` field to the current time before updating it in the internal index.\n\nTo sync data using self-managed connectors, you need to deploy the Elastic connector service on your own infrastructure.\nThis service runs automatically on Elastic Cloud for Elastic managed connectors.", + "inherits": { + "type": { + "name": "RequestBase", + "namespace": "_types" + } + }, + "name": { + "name": "Request", + "namespace": "connector.sync_job_check_in" + }, + "path": [ + { + "description": "The unique identifier of the connector sync job to be checked in.", + "name": "connector_sync_job_id", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "Id", + "namespace": "_types" + } + } + } + ], + "query": [], + "specLocation": "connector/sync_job_check_in/SyncJobCheckInRequest.ts#L22-L39" + }, + { + "kind": "response", + "body": { + "kind": "properties", + "properties": [] + }, + "name": { + "name": "Response", + "namespace": "connector.sync_job_check_in" + }, + "specLocation": "connector/sync_job_check_in/SyncJobCheckInResponse.ts#L22-L25" + }, { "kind": "request", "attachedBehaviors": [ diff --git a/output/schema/validation-errors.json b/output/schema/validation-errors.json index 97c5ff761c..684d9d008f 100644 --- a/output/schema/validation-errors.json +++ b/output/schema/validation-errors.json @@ -243,12 +243,6 @@ ], "response": [] }, - "connector.sync_job_check_in": { - "request": [ - "Missing request & response" - ], - "response": [] - }, "connector.sync_job_claim": { "request": [ "Missing request & response" diff --git a/output/typescript/types.ts b/output/typescript/types.ts index bfe38b2423..f1ab4e6639 100644 --- a/output/typescript/types.ts +++ b/output/typescript/types.ts @@ -10011,6 +10011,13 @@ export interface ConnectorSyncJobCancelResponse { result: Result } +export interface ConnectorSyncJobCheckInRequest extends RequestBase { + connector_sync_job_id: Id +} + +export interface ConnectorSyncJobCheckInResponse { +} + export interface ConnectorSyncJobDeleteRequest extends RequestBase { connector_sync_job_id: Id } diff --git a/specification/_doc_ids/table.csv b/specification/_doc_ids/table.csv index c5e2657a50..08761eb9cc 100644 --- a/specification/_doc_ids/table.csv +++ b/specification/_doc_ids/table.csv @@ -86,6 +86,7 @@ cluster,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/cluster common-options,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/common-options.html community-id-processor,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/community-id-processor.html connector-sync-job-cancel,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/cancel-connector-sync-job-api.html +connector-sync-job-checkin,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/check-in-connector-sync-job-api.html collapse-search-results,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/collapse-search-results.html connector-sync-job-delete,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/delete-connector-sync-job-api.html connector-sync-job-get,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/get-connector-sync-job-api.html diff --git a/specification/connector/sync_job_check_in/SyncJobCheckInRequest.ts b/specification/connector/sync_job_check_in/SyncJobCheckInRequest.ts new file mode 100644 index 0000000000..dc56f09a6c --- /dev/null +++ b/specification/connector/sync_job_check_in/SyncJobCheckInRequest.ts @@ -0,0 +1,39 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import { RequestBase } from '@_types/Base' +import { Id } from '@_types/common' + +/** + * Check in a connector sync job. + * Check in a connector sync job and set the `last_seen` field to the current time before updating it in the internal index. + * + * To sync data using self-managed connectors, you need to deploy the Elastic connector service on your own infrastructure. + * This service runs automatically on Elastic Cloud for Elastic managed connectors. + * @rest_spec_name connector.sync_job_check_in + * @availability stack stability=experimental visibility=public + * @doc_id connector-sync-job-checkin + */ +export interface Request extends RequestBase { + path_parts: { + /** + * The unique identifier of the connector sync job to be checked in. + */ + connector_sync_job_id: Id + } +} diff --git a/specification/connector/sync_job_check_in/SyncJobCheckInResponse.ts b/specification/connector/sync_job_check_in/SyncJobCheckInResponse.ts new file mode 100644 index 0000000000..81d9feeb11 --- /dev/null +++ b/specification/connector/sync_job_check_in/SyncJobCheckInResponse.ts @@ -0,0 +1,25 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { Result } from '@_types/Result' + +export class Response { + body: { + } +}