@google-cloud/discoveryengine 1.0.0 → 1.2.0

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 (94) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +33 -1
  3. package/build/protos/google/cloud/discoveryengine/v1/common.proto +30 -2
  4. package/build/protos/google/cloud/discoveryengine/v1/completion_service.proto +15 -2
  5. package/build/protos/google/cloud/discoveryengine/v1/conversation.proto +114 -0
  6. package/build/protos/google/cloud/discoveryengine/v1/conversational_search_service.proto +303 -0
  7. package/build/protos/google/cloud/discoveryengine/v1/document.proto +8 -5
  8. package/build/protos/google/cloud/discoveryengine/v1/document_service.proto +4 -3
  9. package/build/protos/google/cloud/discoveryengine/v1/import_config.proto +27 -23
  10. package/build/protos/google/cloud/discoveryengine/v1/schema.proto +1 -1
  11. package/build/protos/google/cloud/discoveryengine/v1/search_service.proto +428 -20
  12. package/build/protos/google/cloud/discoveryengine/v1/user_event.proto +48 -39
  13. package/build/protos/google/cloud/discoveryengine/v1/user_event_service.proto +2 -2
  14. package/build/protos/google/cloud/discoveryengine/v1alpha/common.proto +155 -0
  15. package/build/protos/google/cloud/discoveryengine/v1alpha/completion_service.proto +134 -0
  16. package/build/protos/google/cloud/discoveryengine/v1alpha/conversation.proto +138 -0
  17. package/build/protos/google/cloud/discoveryengine/v1alpha/conversational_search_service.proto +306 -0
  18. package/build/protos/google/cloud/discoveryengine/v1alpha/document.proto +121 -0
  19. package/build/protos/google/cloud/discoveryengine/v1alpha/document_service.proto +318 -0
  20. package/build/protos/google/cloud/discoveryengine/v1alpha/import_config.proto +343 -0
  21. package/build/protos/google/cloud/discoveryengine/v1alpha/purge_config.proto +159 -0
  22. package/build/protos/google/cloud/discoveryengine/v1alpha/recommendation_service.proto +221 -0
  23. package/build/protos/google/cloud/discoveryengine/v1alpha/schema.proto +312 -0
  24. package/build/protos/google/cloud/discoveryengine/v1alpha/schema_service.proto +260 -0
  25. package/build/protos/google/cloud/discoveryengine/v1alpha/search_service.proto +851 -0
  26. package/build/protos/google/cloud/discoveryengine/v1alpha/site_search_engine_service.proto +152 -0
  27. package/build/protos/google/cloud/discoveryengine/v1alpha/user_event.proto +475 -0
  28. package/build/protos/google/cloud/discoveryengine/v1alpha/user_event_service.proto +154 -0
  29. package/build/protos/google/cloud/discoveryengine/v1beta/common.proto +6 -0
  30. package/build/protos/google/cloud/discoveryengine/v1beta/conversation.proto +9 -2
  31. package/build/protos/google/cloud/discoveryengine/v1beta/conversational_search_service.proto +25 -0
  32. package/build/protos/google/cloud/discoveryengine/v1beta/search_service.proto +115 -3
  33. package/build/protos/google/cloud/discoveryengine/v1beta/user_event.proto +4 -0
  34. package/build/protos/protos.d.ts +22864 -6680
  35. package/build/protos/protos.js +57205 -16191
  36. package/build/protos/protos.json +5548 -1224
  37. package/build/src/index.d.ts +6 -1
  38. package/build/src/index.js +7 -1
  39. package/build/src/v1/completion_service_client.d.ts +156 -6
  40. package/build/src/v1/completion_service_client.js +188 -4
  41. package/build/src/v1/conversational_search_service_client.d.ts +947 -0
  42. package/build/src/v1/conversational_search_service_client.js +1205 -0
  43. package/build/src/v1/conversational_search_service_client_config.json +68 -0
  44. package/build/src/v1/document_service_client.d.ts +165 -18
  45. package/build/src/v1/document_service_client.js +215 -11
  46. package/build/src/v1/index.d.ts +1 -0
  47. package/build/src/v1/index.js +3 -1
  48. package/build/src/v1/schema_service_client.d.ts +148 -4
  49. package/build/src/v1/schema_service_client.js +207 -5
  50. package/build/src/v1/search_service_client.d.ts +238 -28
  51. package/build/src/v1/search_service_client.js +248 -20
  52. package/build/src/v1/user_event_service_client.d.ts +153 -9
  53. package/build/src/v1/user_event_service_client.js +207 -5
  54. package/build/src/v1alpha/completion_service_client.d.ts +603 -0
  55. package/build/src/v1alpha/completion_service_client.js +843 -0
  56. package/build/src/v1alpha/completion_service_client_config.json +43 -0
  57. package/build/src/v1alpha/conversational_search_service_client.d.ts +998 -0
  58. package/build/src/v1alpha/conversational_search_service_client.js +1275 -0
  59. package/build/src/v1alpha/conversational_search_service_client_config.json +68 -0
  60. package/build/src/v1alpha/document_service_client.d.ts +1140 -0
  61. package/build/src/v1alpha/document_service_client.js +1393 -0
  62. package/build/src/v1alpha/document_service_client_config.json +82 -0
  63. package/build/src/v1alpha/index.d.ts +8 -0
  64. package/build/src/v1alpha/index.js +37 -0
  65. package/build/src/v1alpha/recommendation_service_client.d.ts +735 -0
  66. package/build/src/v1alpha/recommendation_service_client.js +938 -0
  67. package/build/src/v1alpha/recommendation_service_client_config.json +43 -0
  68. package/build/src/v1alpha/schema_service_client.d.ts +935 -0
  69. package/build/src/v1alpha/schema_service_client.js +1327 -0
  70. package/build/src/v1alpha/schema_service_client_config.json +63 -0
  71. package/build/src/v1alpha/search_service_client.d.ts +1208 -0
  72. package/build/src/v1alpha/search_service_client.js +1432 -0
  73. package/build/src/v1alpha/search_service_client_config.json +43 -0
  74. package/build/src/v1alpha/site_search_engine_service_client.d.ts +704 -0
  75. package/build/src/v1alpha/site_search_engine_service_client.js +1087 -0
  76. package/build/src/v1alpha/site_search_engine_service_client_config.json +30 -0
  77. package/build/src/v1alpha/user_event_service_client.d.ts +853 -0
  78. package/build/src/v1alpha/user_event_service_client.js +1174 -0
  79. package/build/src/v1alpha/user_event_service_client_config.json +67 -0
  80. package/build/src/v1beta/completion_service_client.d.ts +55 -4
  81. package/build/src/v1beta/completion_service_client.js +60 -4
  82. package/build/src/v1beta/conversational_search_service_client.d.ts +75 -4
  83. package/build/src/v1beta/conversational_search_service_client.js +60 -4
  84. package/build/src/v1beta/document_service_client.d.ts +55 -4
  85. package/build/src/v1beta/document_service_client.js +61 -5
  86. package/build/src/v1beta/recommendation_service_client.d.ts +55 -4
  87. package/build/src/v1beta/recommendation_service_client.js +60 -4
  88. package/build/src/v1beta/schema_service_client.d.ts +55 -4
  89. package/build/src/v1beta/schema_service_client.js +61 -5
  90. package/build/src/v1beta/search_service_client.d.ts +142 -4
  91. package/build/src/v1beta/search_service_client.js +118 -4
  92. package/build/src/v1beta/user_event_service_client.d.ts +55 -4
  93. package/build/src/v1beta/user_event_service_client.js +61 -5
  94. package/package.json +5 -5
@@ -60,8 +60,7 @@ class UserEventServiceClient {
60
60
  * API remote host.
61
61
  * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
62
62
  * Follows the structure of {@link gapicConfig}.
63
- * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode.
64
- * Pass "rest" to use HTTP/1.1 REST API instead of gRPC.
63
+ * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode.
65
64
  * For more information, please check the
66
65
  * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}.
67
66
  * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you
@@ -69,7 +68,7 @@ class UserEventServiceClient {
69
68
  * HTTP implementation. Load only fallback version and pass it to the constructor:
70
69
  * ```
71
70
  * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC
72
- * const client = new UserEventServiceClient({fallback: 'rest'}, gax);
71
+ * const client = new UserEventServiceClient({fallback: true}, gax);
73
72
  * ```
74
73
  */
75
74
  constructor(opts, gaxInstance) {
@@ -115,6 +114,7 @@ class UserEventServiceClient {
115
114
  if (servicePath === staticMembers.servicePath) {
116
115
  this.auth.defaultScopes = staticMembers.scopes;
117
116
  }
117
+ this.locationsClient = new this._gaxModule.LocationsClient(this._gaxGrpc, opts);
118
118
  // Determine the client header string.
119
119
  const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
120
120
  if (typeof process !== 'undefined' && 'versions' in process) {
@@ -126,7 +126,7 @@ class UserEventServiceClient {
126
126
  if (!opts.fallback) {
127
127
  clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`);
128
128
  }
129
- else if (opts.fallback === 'rest') {
129
+ else {
130
130
  clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`);
131
131
  }
132
132
  if (opts.libName && opts.libVersion) {
@@ -140,9 +140,11 @@ class UserEventServiceClient {
140
140
  this.pathTemplates = {
141
141
  projectLocationCollectionDataStorePathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}'),
142
142
  projectLocationCollectionDataStoreBranchDocumentPathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}'),
143
+ projectLocationCollectionDataStoreConversationPathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/conversations/{conversation}'),
143
144
  projectLocationCollectionDataStoreSchemaPathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}'),
144
145
  projectLocationDataStorePathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/dataStores/{data_store}'),
145
146
  projectLocationDataStoreBranchDocumentPathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/dataStores/{data_store}/branches/{branch}/documents/{document}'),
147
+ projectLocationDataStoreConversationPathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/dataStores/{data_store}/conversations/{conversation}'),
146
148
  projectLocationDataStoreSchemaPathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/dataStores/{data_store}/schemas/{schema}'),
147
149
  };
148
150
  const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos);
@@ -153,7 +155,7 @@ class UserEventServiceClient {
153
155
  auth: this.auth,
154
156
  grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined,
155
157
  };
156
- if (opts.fallback === 'rest') {
158
+ if (opts.fallback) {
157
159
  lroOptions.protoJson = protoFilesRoot;
158
160
  lroOptions.httpRules = [
159
161
  {
@@ -172,6 +174,15 @@ class UserEventServiceClient {
172
174
  {
173
175
  get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*/operations/*}',
174
176
  },
177
+ {
178
+ get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/operations/*}',
179
+ },
180
+ {
181
+ get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/operations/*}',
182
+ },
183
+ {
184
+ get: '/v1/{name=projects/*/locations/*/collections/*/engines/*/operations/*}',
185
+ },
175
186
  {
176
187
  get: '/v1/{name=projects/*/locations/*/collections/*/operations/*}',
177
188
  },
@@ -201,9 +212,18 @@ class UserEventServiceClient {
201
212
  {
202
213
  get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*}/operations',
203
214
  },
215
+ {
216
+ get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites}/operations',
217
+ },
218
+ {
219
+ get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/operations',
220
+ },
204
221
  {
205
222
  get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*}/operations',
206
223
  },
224
+ {
225
+ get: '/v1/{name=projects/*/locations/*/collections/*/engines/*}/operations',
226
+ },
207
227
  { get: '/v1/{name=projects/*/locations/*/collections/*}/operations' },
208
228
  {
209
229
  get: '/v1/{name=projects/*/locations/*/dataStores/*/branches/*}/operations',
@@ -402,6 +422,61 @@ class UserEventServiceClient {
402
422
  const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.importUserEvents, this._gaxModule.createDefaultBackoffSettings());
403
423
  return decodeOperation;
404
424
  }
425
+ /**
426
+ * Gets information about a location.
427
+ *
428
+ * @param {Object} request
429
+ * The request object that will be sent.
430
+ * @param {string} request.name
431
+ * Resource name for the location.
432
+ * @param {object} [options]
433
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html | CallOptions} for more details.
434
+ * @returns {Promise} - The promise which resolves to an array.
435
+ * The first element of the array is an object representing {@link google.cloud.location.Location | Location}.
436
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
437
+ * for more details and examples.
438
+ * @example
439
+ * ```
440
+ * const [response] = await client.getLocation(request);
441
+ * ```
442
+ */
443
+ getLocation(request, options, callback) {
444
+ return this.locationsClient.getLocation(request, options, callback);
445
+ }
446
+ /**
447
+ * Lists information about the supported locations for this service. Returns an iterable object.
448
+ *
449
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
450
+ * @param {Object} request
451
+ * The request object that will be sent.
452
+ * @param {string} request.name
453
+ * The resource that owns the locations collection, if applicable.
454
+ * @param {string} request.filter
455
+ * The standard list filter.
456
+ * @param {number} request.pageSize
457
+ * The standard list page size.
458
+ * @param {string} request.pageToken
459
+ * The standard list page token.
460
+ * @param {object} [options]
461
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
462
+ * @returns {Object}
463
+ * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
464
+ * When you iterate the returned iterable, each element will be an object representing
465
+ * {@link google.cloud.location.Location | Location}. The API will be called under the hood as needed, once per the page,
466
+ * so you can stop the iteration when you don't need more results.
467
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
468
+ * for more details and examples.
469
+ * @example
470
+ * ```
471
+ * const iterable = client.listLocationsAsync(request);
472
+ * for await (const response of iterable) {
473
+ * // process response
474
+ * }
475
+ * ```
476
+ */
477
+ listLocationsAsync(request, options) {
478
+ return this.locationsClient.listLocationsAsync(request, options);
479
+ }
405
480
  /**
406
481
  * Gets the latest state of a long-running operation. Clients can use this
407
482
  * method to poll the operation result at intervals as recommended by the API
@@ -671,6 +746,75 @@ class UserEventServiceClient {
671
746
  matchDocumentFromProjectLocationCollectionDataStoreBranchDocumentName(projectLocationCollectionDataStoreBranchDocumentName) {
672
747
  return this.pathTemplates.projectLocationCollectionDataStoreBranchDocumentPathTemplate.match(projectLocationCollectionDataStoreBranchDocumentName).document;
673
748
  }
749
+ /**
750
+ * Return a fully-qualified projectLocationCollectionDataStoreConversation resource name string.
751
+ *
752
+ * @param {string} project
753
+ * @param {string} location
754
+ * @param {string} collection
755
+ * @param {string} data_store
756
+ * @param {string} conversation
757
+ * @returns {string} Resource name string.
758
+ */
759
+ projectLocationCollectionDataStoreConversationPath(project, location, collection, dataStore, conversation) {
760
+ return this.pathTemplates.projectLocationCollectionDataStoreConversationPathTemplate.render({
761
+ project: project,
762
+ location: location,
763
+ collection: collection,
764
+ data_store: dataStore,
765
+ conversation: conversation,
766
+ });
767
+ }
768
+ /**
769
+ * Parse the project from ProjectLocationCollectionDataStoreConversation resource.
770
+ *
771
+ * @param {string} projectLocationCollectionDataStoreConversationName
772
+ * A fully-qualified path representing project_location_collection_data_store_conversation resource.
773
+ * @returns {string} A string representing the project.
774
+ */
775
+ matchProjectFromProjectLocationCollectionDataStoreConversationName(projectLocationCollectionDataStoreConversationName) {
776
+ return this.pathTemplates.projectLocationCollectionDataStoreConversationPathTemplate.match(projectLocationCollectionDataStoreConversationName).project;
777
+ }
778
+ /**
779
+ * Parse the location from ProjectLocationCollectionDataStoreConversation resource.
780
+ *
781
+ * @param {string} projectLocationCollectionDataStoreConversationName
782
+ * A fully-qualified path representing project_location_collection_data_store_conversation resource.
783
+ * @returns {string} A string representing the location.
784
+ */
785
+ matchLocationFromProjectLocationCollectionDataStoreConversationName(projectLocationCollectionDataStoreConversationName) {
786
+ return this.pathTemplates.projectLocationCollectionDataStoreConversationPathTemplate.match(projectLocationCollectionDataStoreConversationName).location;
787
+ }
788
+ /**
789
+ * Parse the collection from ProjectLocationCollectionDataStoreConversation resource.
790
+ *
791
+ * @param {string} projectLocationCollectionDataStoreConversationName
792
+ * A fully-qualified path representing project_location_collection_data_store_conversation resource.
793
+ * @returns {string} A string representing the collection.
794
+ */
795
+ matchCollectionFromProjectLocationCollectionDataStoreConversationName(projectLocationCollectionDataStoreConversationName) {
796
+ return this.pathTemplates.projectLocationCollectionDataStoreConversationPathTemplate.match(projectLocationCollectionDataStoreConversationName).collection;
797
+ }
798
+ /**
799
+ * Parse the data_store from ProjectLocationCollectionDataStoreConversation resource.
800
+ *
801
+ * @param {string} projectLocationCollectionDataStoreConversationName
802
+ * A fully-qualified path representing project_location_collection_data_store_conversation resource.
803
+ * @returns {string} A string representing the data_store.
804
+ */
805
+ matchDataStoreFromProjectLocationCollectionDataStoreConversationName(projectLocationCollectionDataStoreConversationName) {
806
+ return this.pathTemplates.projectLocationCollectionDataStoreConversationPathTemplate.match(projectLocationCollectionDataStoreConversationName).data_store;
807
+ }
808
+ /**
809
+ * Parse the conversation from ProjectLocationCollectionDataStoreConversation resource.
810
+ *
811
+ * @param {string} projectLocationCollectionDataStoreConversationName
812
+ * A fully-qualified path representing project_location_collection_data_store_conversation resource.
813
+ * @returns {string} A string representing the conversation.
814
+ */
815
+ matchConversationFromProjectLocationCollectionDataStoreConversationName(projectLocationCollectionDataStoreConversationName) {
816
+ return this.pathTemplates.projectLocationCollectionDataStoreConversationPathTemplate.match(projectLocationCollectionDataStoreConversationName).conversation;
817
+ }
674
818
  /**
675
819
  * Return a fully-qualified projectLocationCollectionDataStoreSchema resource name string.
676
820
  *
@@ -854,6 +998,63 @@ class UserEventServiceClient {
854
998
  matchDocumentFromProjectLocationDataStoreBranchDocumentName(projectLocationDataStoreBranchDocumentName) {
855
999
  return this.pathTemplates.projectLocationDataStoreBranchDocumentPathTemplate.match(projectLocationDataStoreBranchDocumentName).document;
856
1000
  }
1001
+ /**
1002
+ * Return a fully-qualified projectLocationDataStoreConversation resource name string.
1003
+ *
1004
+ * @param {string} project
1005
+ * @param {string} location
1006
+ * @param {string} data_store
1007
+ * @param {string} conversation
1008
+ * @returns {string} Resource name string.
1009
+ */
1010
+ projectLocationDataStoreConversationPath(project, location, dataStore, conversation) {
1011
+ return this.pathTemplates.projectLocationDataStoreConversationPathTemplate.render({
1012
+ project: project,
1013
+ location: location,
1014
+ data_store: dataStore,
1015
+ conversation: conversation,
1016
+ });
1017
+ }
1018
+ /**
1019
+ * Parse the project from ProjectLocationDataStoreConversation resource.
1020
+ *
1021
+ * @param {string} projectLocationDataStoreConversationName
1022
+ * A fully-qualified path representing project_location_data_store_conversation resource.
1023
+ * @returns {string} A string representing the project.
1024
+ */
1025
+ matchProjectFromProjectLocationDataStoreConversationName(projectLocationDataStoreConversationName) {
1026
+ return this.pathTemplates.projectLocationDataStoreConversationPathTemplate.match(projectLocationDataStoreConversationName).project;
1027
+ }
1028
+ /**
1029
+ * Parse the location from ProjectLocationDataStoreConversation resource.
1030
+ *
1031
+ * @param {string} projectLocationDataStoreConversationName
1032
+ * A fully-qualified path representing project_location_data_store_conversation resource.
1033
+ * @returns {string} A string representing the location.
1034
+ */
1035
+ matchLocationFromProjectLocationDataStoreConversationName(projectLocationDataStoreConversationName) {
1036
+ return this.pathTemplates.projectLocationDataStoreConversationPathTemplate.match(projectLocationDataStoreConversationName).location;
1037
+ }
1038
+ /**
1039
+ * Parse the data_store from ProjectLocationDataStoreConversation resource.
1040
+ *
1041
+ * @param {string} projectLocationDataStoreConversationName
1042
+ * A fully-qualified path representing project_location_data_store_conversation resource.
1043
+ * @returns {string} A string representing the data_store.
1044
+ */
1045
+ matchDataStoreFromProjectLocationDataStoreConversationName(projectLocationDataStoreConversationName) {
1046
+ return this.pathTemplates.projectLocationDataStoreConversationPathTemplate.match(projectLocationDataStoreConversationName).data_store;
1047
+ }
1048
+ /**
1049
+ * Parse the conversation from ProjectLocationDataStoreConversation resource.
1050
+ *
1051
+ * @param {string} projectLocationDataStoreConversationName
1052
+ * A fully-qualified path representing project_location_data_store_conversation resource.
1053
+ * @returns {string} A string representing the conversation.
1054
+ */
1055
+ matchConversationFromProjectLocationDataStoreConversationName(projectLocationDataStoreConversationName) {
1056
+ return this.pathTemplates.projectLocationDataStoreConversationPathTemplate.match(projectLocationDataStoreConversationName).conversation;
1057
+ }
857
1058
  /**
858
1059
  * Return a fully-qualified projectLocationDataStoreSchema resource name string.
859
1060
  *
@@ -922,6 +1123,7 @@ class UserEventServiceClient {
922
1123
  return this.userEventServiceStub.then(stub => {
923
1124
  this._terminated = true;
924
1125
  stub.close();
1126
+ this.locationsClient.close();
925
1127
  this.operationsClient.close();
926
1128
  });
927
1129
  }