@azure/search-documents 11.3.0 → 12.0.0-alpha.20230306.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +19 -41
  2. package/dist/index.js +3897 -1007
  3. package/dist/index.js.map +1 -1
  4. package/dist-esm/src/constants.js +1 -1
  5. package/dist-esm/src/constants.js.map +1 -1
  6. package/dist-esm/src/generated/data/index.js +1 -1
  7. package/dist-esm/src/generated/data/index.js.map +1 -1
  8. package/dist-esm/src/generated/data/models/index.js +202 -1
  9. package/dist-esm/src/generated/data/models/index.js.map +1 -1
  10. package/dist-esm/src/generated/data/models/mappers.js +138 -1
  11. package/dist-esm/src/generated/data/models/mappers.js.map +1 -1
  12. package/dist-esm/src/generated/data/models/parameters.js +72 -22
  13. package/dist-esm/src/generated/data/models/parameters.js.map +1 -1
  14. package/dist-esm/src/generated/data/operations/documents.js +32 -76
  15. package/dist-esm/src/generated/data/operations/documents.js.map +1 -1
  16. package/dist-esm/src/generated/data/operationsInterfaces/documents.js +9 -0
  17. package/dist-esm/src/generated/data/operationsInterfaces/documents.js.map +1 -0
  18. package/dist-esm/src/generated/data/operationsInterfaces/index.js +9 -0
  19. package/dist-esm/src/generated/data/operationsInterfaces/index.js.map +1 -0
  20. package/dist-esm/src/generated/data/searchClient.js +33 -5
  21. package/dist-esm/src/generated/data/searchClient.js.map +1 -1
  22. package/dist-esm/src/generated/data/searchClientContext.js +13 -11
  23. package/dist-esm/src/generated/data/searchClientContext.js.map +1 -1
  24. package/dist-esm/src/generated/service/index.js +1 -1
  25. package/dist-esm/src/generated/service/index.js.map +1 -1
  26. package/dist-esm/src/generated/service/models/index.js +1284 -1
  27. package/dist-esm/src/generated/service/models/index.js.map +1 -1
  28. package/dist-esm/src/generated/service/models/mappers.js +750 -25
  29. package/dist-esm/src/generated/service/models/mappers.js.map +1 -1
  30. package/dist-esm/src/generated/service/models/parameters.js +51 -10
  31. package/dist-esm/src/generated/service/models/parameters.js.map +1 -1
  32. package/dist-esm/src/generated/service/operations/aliases.js +160 -0
  33. package/dist-esm/src/generated/service/operations/aliases.js.map +1 -0
  34. package/dist-esm/src/generated/service/operations/dataSources.js +16 -39
  35. package/dist-esm/src/generated/service/operations/dataSources.js.map +1 -1
  36. package/dist-esm/src/generated/service/operations/index.js +1 -0
  37. package/dist-esm/src/generated/service/operations/index.js.map +1 -1
  38. package/dist-esm/src/generated/service/operations/indexers.js +47 -57
  39. package/dist-esm/src/generated/service/operations/indexers.js.map +1 -1
  40. package/dist-esm/src/generated/service/operations/indexes.js +16 -55
  41. package/dist-esm/src/generated/service/operations/indexes.js.map +1 -1
  42. package/dist-esm/src/generated/service/operations/skillsets.js +42 -39
  43. package/dist-esm/src/generated/service/operations/skillsets.js.map +1 -1
  44. package/dist-esm/src/generated/service/operations/synonymMaps.js +12 -38
  45. package/dist-esm/src/generated/service/operations/synonymMaps.js.map +1 -1
  46. package/dist-esm/src/generated/service/operationsInterfaces/aliases.js +9 -0
  47. package/dist-esm/src/generated/service/operationsInterfaces/aliases.js.map +1 -0
  48. package/dist-esm/src/generated/service/operationsInterfaces/dataSources.js +9 -0
  49. package/dist-esm/src/generated/service/operationsInterfaces/dataSources.js.map +1 -0
  50. package/dist-esm/src/generated/service/operationsInterfaces/index.js +14 -0
  51. package/dist-esm/src/generated/service/operationsInterfaces/index.js.map +1 -0
  52. package/dist-esm/src/generated/service/operationsInterfaces/indexers.js +9 -0
  53. package/dist-esm/src/generated/service/operationsInterfaces/indexers.js.map +1 -0
  54. package/dist-esm/src/generated/service/operationsInterfaces/indexes.js +9 -0
  55. package/dist-esm/src/generated/service/operationsInterfaces/indexes.js.map +1 -0
  56. package/dist-esm/src/generated/service/operationsInterfaces/skillsets.js +9 -0
  57. package/dist-esm/src/generated/service/operationsInterfaces/skillsets.js.map +1 -0
  58. package/dist-esm/src/generated/service/operationsInterfaces/synonymMaps.js +9 -0
  59. package/dist-esm/src/generated/service/operationsInterfaces/synonymMaps.js.map +1 -0
  60. package/dist-esm/src/generated/service/searchServiceClient.js +38 -16
  61. package/dist-esm/src/generated/service/searchServiceClient.js.map +1 -1
  62. package/dist-esm/src/generated/service/searchServiceClientContext.js +13 -11
  63. package/dist-esm/src/generated/service/searchServiceClientContext.js.map +1 -1
  64. package/dist-esm/src/geographyPoint.js +1 -1
  65. package/dist-esm/src/geographyPoint.js.map +1 -1
  66. package/dist-esm/src/index.js +4 -2
  67. package/dist-esm/src/index.js.map +1 -1
  68. package/dist-esm/src/indexDocumentsBatch.js +1 -1
  69. package/dist-esm/src/indexDocumentsBatch.js.map +1 -1
  70. package/dist-esm/src/indexModels.js +0 -1
  71. package/dist-esm/src/indexModels.js.map +1 -1
  72. package/dist-esm/src/odataMetadataPolicy.js +7 -15
  73. package/dist-esm/src/odataMetadataPolicy.js.map +1 -1
  74. package/dist-esm/src/searchApiKeyCredentialPolicy.js +8 -21
  75. package/dist-esm/src/searchApiKeyCredentialPolicy.js.map +1 -1
  76. package/dist-esm/src/searchAudience.js.map +1 -1
  77. package/dist-esm/src/searchClient.js +200 -70
  78. package/dist-esm/src/searchClient.js.map +1 -1
  79. package/dist-esm/src/searchIndexClient.js +240 -74
  80. package/dist-esm/src/searchIndexClient.js.map +1 -1
  81. package/dist-esm/src/searchIndexerClient.js +143 -86
  82. package/dist-esm/src/searchIndexerClient.js.map +1 -1
  83. package/dist-esm/src/searchIndexingBufferedSender.js +16 -17
  84. package/dist-esm/src/searchIndexingBufferedSender.js.map +1 -1
  85. package/dist-esm/src/serialization.js +5 -5
  86. package/dist-esm/src/serialization.js.map +1 -1
  87. package/dist-esm/src/serviceModels.js.map +1 -1
  88. package/dist-esm/src/serviceUtils.js +68 -31
  89. package/dist-esm/src/serviceUtils.js.map +1 -1
  90. package/dist-esm/src/synonymMapHelper.js +6 -2
  91. package/dist-esm/src/synonymMapHelper.js.map +1 -1
  92. package/dist-esm/src/tracing.js +6 -5
  93. package/dist-esm/src/tracing.js.map +1 -1
  94. package/package.json +48 -49
  95. package/types/search-documents.d.ts +1935 -235
  96. package/CHANGELOG.md +0 -227
@@ -1,15 +1,14 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  import { isTokenCredential } from "@azure/core-auth";
4
- import { createPipelineFromOptions, operationOptionsToRequestOptionsBase, bearerTokenAuthenticationPolicy } from "@azure/core-http";
5
- import { SpanStatusCode } from "@azure/core-tracing";
4
+ import { bearerTokenAuthenticationPolicy } from "@azure/core-rest-pipeline";
6
5
  import { SDK_VERSION } from "./constants";
7
6
  import { SearchServiceClient as GeneratedClient } from "./generated/service/searchServiceClient";
8
7
  import { logger } from "./logger";
9
8
  import { createSearchApiKeyCredentialPolicy } from "./searchApiKeyCredentialPolicy";
10
9
  import * as utils from "./serviceUtils";
11
10
  import { createSpan } from "./tracing";
12
- import { odataMetadataPolicy } from "./odataMetadataPolicy";
11
+ import { createOdataMetadataPolicy } from "./odataMetadataPolicy";
13
12
  import { KnownSearchAudience } from "./searchAudience";
14
13
  /**
15
14
  * Class to perform operations to manage
@@ -37,7 +36,12 @@ export class SearchIndexerClient {
37
36
  /**
38
37
  * The API version to use when communicating with the service.
39
38
  */
40
- this.apiVersion = "2020-06-30";
39
+ this.serviceVersion = utils.defaultServiceVersion;
40
+ /**
41
+ * The API version to use when communicating with the service.
42
+ * @deprecated use {@Link serviceVersion} instead
43
+ */
44
+ this.apiVersion = utils.defaultServiceVersion;
41
45
  this.endpoint = endpoint;
42
46
  const libInfo = `azsdk-js-search-documents/${SDK_VERSION}`;
43
47
  if (!options.userAgentOptions) {
@@ -49,37 +53,44 @@ export class SearchIndexerClient {
49
53
  else {
50
54
  options.userAgentOptions.userAgentPrefix = libInfo;
51
55
  }
52
- const internalPipelineOptions = Object.assign(Object.assign({}, options), {
56
+ const internalClientPipelineOptions = Object.assign(Object.assign({}, options), {
53
57
  loggingOptions: {
54
58
  logger: logger.info,
55
- allowedHeaderNames: [
59
+ additionalAllowedHeaderNames: [
56
60
  "elapsed-time",
57
61
  "Location",
58
62
  "OData-MaxVersion",
59
63
  "OData-Version",
60
64
  "Prefer",
61
- "throttle-reason"
62
- ]
63
- }
65
+ "throttle-reason",
66
+ ],
67
+ },
64
68
  });
65
- const scope = options.audience
66
- ? `${options.audience}/.default`
67
- : `${KnownSearchAudience.AzurePublicCloud}/.default`;
68
- const requestPolicyFactory = isTokenCredential(credential)
69
- ? bearerTokenAuthenticationPolicy(credential, scope)
70
- : createSearchApiKeyCredentialPolicy(credential);
71
- const pipeline = createPipelineFromOptions(internalPipelineOptions, requestPolicyFactory);
72
- if (Array.isArray(pipeline.requestPolicyFactories)) {
73
- pipeline.requestPolicyFactories.unshift(odataMetadataPolicy("minimal"));
74
- }
75
- let apiVersion = this.apiVersion;
76
69
  if (options.apiVersion) {
77
- if (!["2020-06-30-Preview", "2020-06-30"].includes(options.apiVersion)) {
70
+ if (!utils.serviceVersions.includes(options.apiVersion)) {
78
71
  throw new Error(`Invalid Api Version: ${options.apiVersion}`);
79
72
  }
80
- apiVersion = options.apiVersion;
73
+ this.serviceVersion = options.apiVersion;
74
+ this.apiVersion = options.apiVersion;
75
+ }
76
+ if (options.serviceVersion) {
77
+ if (!utils.serviceVersions.includes(options.serviceVersion)) {
78
+ throw new Error(`Invalid Service Version: ${options.serviceVersion}`);
79
+ }
80
+ this.serviceVersion = options.serviceVersion;
81
+ this.apiVersion = options.serviceVersion;
82
+ }
83
+ this.client = new GeneratedClient(this.endpoint, this.serviceVersion, internalClientPipelineOptions);
84
+ if (isTokenCredential(credential)) {
85
+ const scope = options.audience
86
+ ? `${options.audience}/.default`
87
+ : `${KnownSearchAudience.AzurePublicCloud}/.default`;
88
+ this.client.pipeline.addPolicy(bearerTokenAuthenticationPolicy({ credential, scopes: scope }));
89
+ }
90
+ else {
91
+ this.client.pipeline.addPolicy(createSearchApiKeyCredentialPolicy(credential));
81
92
  }
82
- this.client = new GeneratedClient(this.endpoint, apiVersion, pipeline);
93
+ this.client.pipeline.addPolicy(createOdataMetadataPolicy("minimal"));
83
94
  }
84
95
  /**
85
96
  * Retrieves a list of existing indexers in the service.
@@ -88,13 +99,13 @@ export class SearchIndexerClient {
88
99
  async listIndexers(options = {}) {
89
100
  const { span, updatedOptions } = createSpan("SearchIndexerClient-listIndexers", options);
90
101
  try {
91
- const result = await this.client.indexers.list(operationOptionsToRequestOptionsBase(updatedOptions));
102
+ const result = await this.client.indexers.list(updatedOptions);
92
103
  return result.indexers.map(utils.generatedSearchIndexerToPublicSearchIndexer);
93
104
  }
94
105
  catch (e) {
95
106
  span.setStatus({
96
- code: SpanStatusCode.ERROR,
97
- message: e.message
107
+ status: "error",
108
+ error: e.message,
98
109
  });
99
110
  throw e;
100
111
  }
@@ -109,13 +120,13 @@ export class SearchIndexerClient {
109
120
  async listIndexersNames(options = {}) {
110
121
  const { span, updatedOptions } = createSpan("SearchIndexerClient-listIndexersNames", options);
111
122
  try {
112
- const result = await this.client.indexers.list(Object.assign(Object.assign({}, operationOptionsToRequestOptionsBase(updatedOptions)), { select: "name" }));
123
+ const result = await this.client.indexers.list(Object.assign(Object.assign({}, updatedOptions), { select: "name" }));
113
124
  return result.indexers.map((idx) => idx.name);
114
125
  }
115
126
  catch (e) {
116
127
  span.setStatus({
117
- code: SpanStatusCode.ERROR,
118
- message: e.message
128
+ status: "error",
129
+ error: e.message,
119
130
  });
120
131
  throw e;
121
132
  }
@@ -130,13 +141,13 @@ export class SearchIndexerClient {
130
141
  async listDataSourceConnections(options = {}) {
131
142
  const { span, updatedOptions } = createSpan("SearchIndexerClient-listDataSourceConnections", options);
132
143
  try {
133
- const result = await this.client.dataSources.list(operationOptionsToRequestOptionsBase(updatedOptions));
144
+ const result = await this.client.dataSources.list(updatedOptions);
134
145
  return result.dataSources.map(utils.generatedDataSourceToPublicDataSource);
135
146
  }
136
147
  catch (e) {
137
148
  span.setStatus({
138
- code: SpanStatusCode.ERROR,
139
- message: e.message
149
+ status: "error",
150
+ error: e.message,
140
151
  });
141
152
  throw e;
142
153
  }
@@ -151,13 +162,13 @@ export class SearchIndexerClient {
151
162
  async listDataSourceConnectionsNames(options = {}) {
152
163
  const { span, updatedOptions } = createSpan("SearchIndexerClient-listDataSourceConnectionsNames", options);
153
164
  try {
154
- const result = await this.client.dataSources.list(Object.assign(Object.assign({}, operationOptionsToRequestOptionsBase(updatedOptions)), { select: "name" }));
165
+ const result = await this.client.dataSources.list(Object.assign(Object.assign({}, updatedOptions), { select: "name" }));
155
166
  return result.dataSources.map((ds) => ds.name);
156
167
  }
157
168
  catch (e) {
158
169
  span.setStatus({
159
- code: SpanStatusCode.ERROR,
160
- message: e.message
170
+ status: "error",
171
+ error: e.message,
161
172
  });
162
173
  throw e;
163
174
  }
@@ -172,13 +183,13 @@ export class SearchIndexerClient {
172
183
  async listSkillsets(options = {}) {
173
184
  const { span, updatedOptions } = createSpan("SearchIndexerClient-listSkillsets", options);
174
185
  try {
175
- const result = await this.client.skillsets.list(operationOptionsToRequestOptionsBase(updatedOptions));
186
+ const result = await this.client.skillsets.list(updatedOptions);
176
187
  return result.skillsets.map(utils.generatedSkillsetToPublicSkillset);
177
188
  }
178
189
  catch (e) {
179
190
  span.setStatus({
180
- code: SpanStatusCode.ERROR,
181
- message: e.message
191
+ status: "error",
192
+ error: e.message,
182
193
  });
183
194
  throw e;
184
195
  }
@@ -193,13 +204,13 @@ export class SearchIndexerClient {
193
204
  async listSkillsetsNames(options = {}) {
194
205
  const { span, updatedOptions } = createSpan("SearchIndexerClient-listSkillsetsNames", options);
195
206
  try {
196
- const result = await this.client.skillsets.list(Object.assign(Object.assign({}, operationOptionsToRequestOptionsBase(updatedOptions)), { select: "name" }));
207
+ const result = await this.client.skillsets.list(Object.assign(Object.assign({}, updatedOptions), { select: "name" }));
197
208
  return result.skillsets.map((sks) => sks.name);
198
209
  }
199
210
  catch (e) {
200
211
  span.setStatus({
201
- code: SpanStatusCode.ERROR,
202
- message: e.message
212
+ status: "error",
213
+ error: e.message,
203
214
  });
204
215
  throw e;
205
216
  }
@@ -215,13 +226,13 @@ export class SearchIndexerClient {
215
226
  async getIndexer(indexerName, options = {}) {
216
227
  const { span, updatedOptions } = createSpan("SearchIndexerClient-getIndexer", options);
217
228
  try {
218
- const result = await this.client.indexers.get(indexerName, operationOptionsToRequestOptionsBase(updatedOptions));
229
+ const result = await this.client.indexers.get(indexerName, updatedOptions);
219
230
  return utils.generatedSearchIndexerToPublicSearchIndexer(result);
220
231
  }
221
232
  catch (e) {
222
233
  span.setStatus({
223
- code: SpanStatusCode.ERROR,
224
- message: e.message
234
+ status: "error",
235
+ error: e.message,
225
236
  });
226
237
  throw e;
227
238
  }
@@ -237,13 +248,13 @@ export class SearchIndexerClient {
237
248
  async getDataSourceConnection(dataSourceConnectionName, options = {}) {
238
249
  const { span, updatedOptions } = createSpan("SearchIndexerClient-getDataSourceConnection", options);
239
250
  try {
240
- const result = await this.client.dataSources.get(dataSourceConnectionName, operationOptionsToRequestOptionsBase(updatedOptions));
251
+ const result = await this.client.dataSources.get(dataSourceConnectionName, updatedOptions);
241
252
  return utils.generatedDataSourceToPublicDataSource(result);
242
253
  }
243
254
  catch (e) {
244
255
  span.setStatus({
245
- code: SpanStatusCode.ERROR,
246
- message: e.message
256
+ status: "error",
257
+ error: e.message,
247
258
  });
248
259
  throw e;
249
260
  }
@@ -259,13 +270,13 @@ export class SearchIndexerClient {
259
270
  async getSkillset(skillsetName, options = {}) {
260
271
  const { span, updatedOptions } = createSpan("SearchIndexerClient-getSkillset", options);
261
272
  try {
262
- const result = await this.client.skillsets.get(skillsetName, operationOptionsToRequestOptionsBase(updatedOptions));
273
+ const result = await this.client.skillsets.get(skillsetName, updatedOptions);
263
274
  return utils.generatedSkillsetToPublicSkillset(result);
264
275
  }
265
276
  catch (e) {
266
277
  span.setStatus({
267
- code: SpanStatusCode.ERROR,
268
- message: e.message
278
+ status: "error",
279
+ error: e.message,
269
280
  });
270
281
  throw e;
271
282
  }
@@ -281,13 +292,13 @@ export class SearchIndexerClient {
281
292
  async createIndexer(indexer, options = {}) {
282
293
  const { span, updatedOptions } = createSpan("SearchIndexerClient-createIndexer", options);
283
294
  try {
284
- const result = await this.client.indexers.create(utils.publicSearchIndexerToGeneratedSearchIndexer(indexer), operationOptionsToRequestOptionsBase(updatedOptions));
295
+ const result = await this.client.indexers.create(utils.publicSearchIndexerToGeneratedSearchIndexer(indexer), updatedOptions);
285
296
  return utils.generatedSearchIndexerToPublicSearchIndexer(result);
286
297
  }
287
298
  catch (e) {
288
299
  span.setStatus({
289
- code: SpanStatusCode.ERROR,
290
- message: e.message
300
+ status: "error",
301
+ error: e.message,
291
302
  });
292
303
  throw e;
293
304
  }
@@ -303,13 +314,13 @@ export class SearchIndexerClient {
303
314
  async createDataSourceConnection(dataSourceConnection, options = {}) {
304
315
  const { span, updatedOptions } = createSpan("SearchIndexerClient-createDataSourceConnection", options);
305
316
  try {
306
- const result = await this.client.dataSources.create(utils.publicDataSourceToGeneratedDataSource(dataSourceConnection), operationOptionsToRequestOptionsBase(updatedOptions));
317
+ const result = await this.client.dataSources.create(utils.publicDataSourceToGeneratedDataSource(dataSourceConnection), updatedOptions);
307
318
  return utils.generatedDataSourceToPublicDataSource(result);
308
319
  }
309
320
  catch (e) {
310
321
  span.setStatus({
311
- code: SpanStatusCode.ERROR,
312
- message: e.message
322
+ status: "error",
323
+ error: e.message,
313
324
  });
314
325
  throw e;
315
326
  }
@@ -325,13 +336,13 @@ export class SearchIndexerClient {
325
336
  async createSkillset(skillset, options = {}) {
326
337
  const { span, updatedOptions } = createSpan("SearchIndexerClient-createSkillset", options);
327
338
  try {
328
- const result = await this.client.skillsets.create(utils.publicSkillsetToGeneratedSkillset(skillset), operationOptionsToRequestOptionsBase(updatedOptions));
339
+ const result = await this.client.skillsets.create(utils.publicSkillsetToGeneratedSkillset(skillset), updatedOptions);
329
340
  return utils.generatedSkillsetToPublicSkillset(result);
330
341
  }
331
342
  catch (e) {
332
343
  span.setStatus({
333
- code: SpanStatusCode.ERROR,
334
- message: e.message
344
+ status: "error",
345
+ error: e.message,
335
346
  });
336
347
  throw e;
337
348
  }
@@ -348,13 +359,13 @@ export class SearchIndexerClient {
348
359
  const { span, updatedOptions } = createSpan("SearchIndexerClient-createOrUpdateIndexer", options);
349
360
  try {
350
361
  const etag = options.onlyIfUnchanged ? indexer.etag : undefined;
351
- const result = await this.client.indexers.createOrUpdate(indexer.name, utils.publicSearchIndexerToGeneratedSearchIndexer(indexer), Object.assign(Object.assign({}, operationOptionsToRequestOptionsBase(updatedOptions)), { ifMatch: etag }));
362
+ const result = await this.client.indexers.createOrUpdate(indexer.name, utils.publicSearchIndexerToGeneratedSearchIndexer(indexer), Object.assign(Object.assign({}, updatedOptions), { ifMatch: etag, skipIndexerResetRequirementForCache: options.skipIndexerResetRequirementForCache, disableCacheReprocessingChangeDetection: options.disableCacheReprocessingChangeDetection }));
352
363
  return utils.generatedSearchIndexerToPublicSearchIndexer(result);
353
364
  }
354
365
  catch (e) {
355
366
  span.setStatus({
356
- code: SpanStatusCode.ERROR,
357
- message: e.message
367
+ status: "error",
368
+ error: e.message,
358
369
  });
359
370
  throw e;
360
371
  }
@@ -371,13 +382,13 @@ export class SearchIndexerClient {
371
382
  const { span, updatedOptions } = createSpan("SearchIndexerClient-createOrUpdateDataSourceConnection", options);
372
383
  try {
373
384
  const etag = options.onlyIfUnchanged ? dataSourceConnection.etag : undefined;
374
- const result = await this.client.dataSources.createOrUpdate(dataSourceConnection.name, utils.publicDataSourceToGeneratedDataSource(dataSourceConnection), Object.assign(Object.assign({}, operationOptionsToRequestOptionsBase(updatedOptions)), { ifMatch: etag }));
385
+ const result = await this.client.dataSources.createOrUpdate(dataSourceConnection.name, utils.publicDataSourceToGeneratedDataSource(dataSourceConnection), Object.assign(Object.assign({}, updatedOptions), { ifMatch: etag, skipIndexerResetRequirementForCache: options.skipIndexerResetRequirementForCache }));
375
386
  return utils.generatedDataSourceToPublicDataSource(result);
376
387
  }
377
388
  catch (e) {
378
389
  span.setStatus({
379
- code: SpanStatusCode.ERROR,
380
- message: e.message
390
+ status: "error",
391
+ error: e.message,
381
392
  });
382
393
  throw e;
383
394
  }
@@ -394,13 +405,13 @@ export class SearchIndexerClient {
394
405
  const { span, updatedOptions } = createSpan("SearchIndexerClient-createOrUpdateSkillset", options);
395
406
  try {
396
407
  const etag = options.onlyIfUnchanged ? skillset.etag : undefined;
397
- const result = await this.client.skillsets.createOrUpdate(skillset.name, utils.publicSkillsetToGeneratedSkillset(skillset), Object.assign(Object.assign({}, operationOptionsToRequestOptionsBase(updatedOptions)), { ifMatch: etag }));
408
+ const result = await this.client.skillsets.createOrUpdate(skillset.name, utils.publicSkillsetToGeneratedSkillset(skillset), Object.assign(Object.assign({}, updatedOptions), { ifMatch: etag, skipIndexerResetRequirementForCache: options.skipIndexerResetRequirementForCache, disableCacheReprocessingChangeDetection: options.disableCacheReprocessingChangeDetection }));
398
409
  return utils.generatedSkillsetToPublicSkillset(result);
399
410
  }
400
411
  catch (e) {
401
412
  span.setStatus({
402
- code: SpanStatusCode.ERROR,
403
- message: e.message
413
+ status: "error",
414
+ error: e.message,
404
415
  });
405
416
  throw e;
406
417
  }
@@ -422,12 +433,12 @@ export class SearchIndexerClient {
422
433
  : options.onlyIfUnchanged
423
434
  ? indexer.etag
424
435
  : undefined;
425
- await this.client.indexers.delete(indexerName, Object.assign(Object.assign({}, operationOptionsToRequestOptionsBase(updatedOptions)), { ifMatch: etag }));
436
+ await this.client.indexers.delete(indexerName, Object.assign(Object.assign({}, updatedOptions), { ifMatch: etag }));
426
437
  }
427
438
  catch (e) {
428
439
  span.setStatus({
429
- code: SpanStatusCode.ERROR,
430
- message: e.message
440
+ status: "error",
441
+ error: e.message,
431
442
  });
432
443
  throw e;
433
444
  }
@@ -449,12 +460,12 @@ export class SearchIndexerClient {
449
460
  : options.onlyIfUnchanged
450
461
  ? dataSourceConnection.etag
451
462
  : undefined;
452
- await this.client.dataSources.delete(dataSourceConnectionName, Object.assign(Object.assign({}, operationOptionsToRequestOptionsBase(updatedOptions)), { ifMatch: etag }));
463
+ await this.client.dataSources.delete(dataSourceConnectionName, Object.assign(Object.assign({}, updatedOptions), { ifMatch: etag }));
453
464
  }
454
465
  catch (e) {
455
466
  span.setStatus({
456
- code: SpanStatusCode.ERROR,
457
- message: e.message
467
+ status: "error",
468
+ error: e.message,
458
469
  });
459
470
  throw e;
460
471
  }
@@ -476,12 +487,12 @@ export class SearchIndexerClient {
476
487
  : options.onlyIfUnchanged
477
488
  ? skillset.etag
478
489
  : undefined;
479
- await this.client.skillsets.delete(skillsetName, Object.assign(Object.assign({}, operationOptionsToRequestOptionsBase(updatedOptions)), { ifMatch: etag }));
490
+ await this.client.skillsets.delete(skillsetName, Object.assign(Object.assign({}, updatedOptions), { ifMatch: etag }));
480
491
  }
481
492
  catch (e) {
482
493
  span.setStatus({
483
- code: SpanStatusCode.ERROR,
484
- message: e.message
494
+ status: "error",
495
+ error: e.message,
485
496
  });
486
497
  throw e;
487
498
  }
@@ -497,13 +508,13 @@ export class SearchIndexerClient {
497
508
  async getIndexerStatus(indexerName, options = {}) {
498
509
  const { span, updatedOptions } = createSpan("SearchIndexerClient-getIndexerStatus", options);
499
510
  try {
500
- const result = await this.client.indexers.getStatus(indexerName, operationOptionsToRequestOptionsBase(updatedOptions));
511
+ const result = await this.client.indexers.getStatus(indexerName, updatedOptions);
501
512
  return result;
502
513
  }
503
514
  catch (e) {
504
515
  span.setStatus({
505
- code: SpanStatusCode.ERROR,
506
- message: e.message
516
+ status: "error",
517
+ error: e.message,
507
518
  });
508
519
  throw e;
509
520
  }
@@ -519,12 +530,12 @@ export class SearchIndexerClient {
519
530
  async resetIndexer(indexerName, options = {}) {
520
531
  const { span, updatedOptions } = createSpan("SearchIndexerClient-resetIndexer", options);
521
532
  try {
522
- await this.client.indexers.reset(indexerName, operationOptionsToRequestOptionsBase(updatedOptions));
533
+ await this.client.indexers.reset(indexerName, updatedOptions);
523
534
  }
524
535
  catch (e) {
525
536
  span.setStatus({
526
- code: SpanStatusCode.ERROR,
527
- message: e.message
537
+ status: "error",
538
+ error: e.message,
528
539
  });
529
540
  throw e;
530
541
  }
@@ -540,12 +551,58 @@ export class SearchIndexerClient {
540
551
  async runIndexer(indexerName, options = {}) {
541
552
  const { span, updatedOptions } = createSpan("SearchIndexerClient-runIndexer", options);
542
553
  try {
543
- await this.client.indexers.run(indexerName, operationOptionsToRequestOptionsBase(updatedOptions));
554
+ await this.client.indexers.run(indexerName, updatedOptions);
555
+ }
556
+ catch (e) {
557
+ span.setStatus({
558
+ status: "error",
559
+ error: e.message,
560
+ });
561
+ throw e;
562
+ }
563
+ finally {
564
+ span.end();
565
+ }
566
+ }
567
+ /**
568
+ * Resets specific documents in the datasource to be selectively re-ingested by the indexer.
569
+ * @param indexerName - The name of the indexer to reset documents for.
570
+ * @param options - Additional optional arguments.
571
+ */
572
+ async resetDocuments(indexerName, options = {}) {
573
+ const { span, updatedOptions } = createSpan("SearchIndexerClient-resetDocs", options);
574
+ try {
575
+ await this.client.indexers.resetDocs(indexerName, Object.assign(Object.assign({}, updatedOptions), { keysOrIds: {
576
+ documentKeys: updatedOptions.documentKeys,
577
+ datasourceDocumentIds: updatedOptions.datasourceDocumentIds,
578
+ } }));
579
+ }
580
+ catch (e) {
581
+ span.setStatus({
582
+ status: "error",
583
+ error: e.message,
584
+ });
585
+ throw e;
586
+ }
587
+ finally {
588
+ span.end();
589
+ }
590
+ }
591
+ /**
592
+ * Reset an existing skillset in a search service.
593
+ * @param skillsetName - The name of the skillset to reset.
594
+ * @param skillNames - The names of skills to reset.
595
+ * @param options - The options parameters.
596
+ */
597
+ async resetSkills(skillsetName, options = {}) {
598
+ const { span, updatedOptions } = createSpan("SearchIndexerClient-resetSkills", options);
599
+ try {
600
+ await this.client.skillsets.resetSkills(skillsetName, { skillNames: options.skillNames }, updatedOptions);
544
601
  }
545
602
  catch (e) {
546
603
  span.setStatus({
547
- code: SpanStatusCode.ERROR,
548
- message: e.message
604
+ status: "error",
605
+ error: e.message,
549
606
  });
550
607
  throw e;
551
608
  }