@googlemaps/fleetengine 0.1.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.
@@ -0,0 +1,1165 @@
1
+ /// <reference types="node" />
2
+ import type * as gax from 'google-gax';
3
+ import type { Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback } from 'google-gax';
4
+ import { Transform } from 'stream';
5
+ import * as protos from '../../protos/protos';
6
+ /**
7
+ * Vehicle management service.
8
+ * @class
9
+ * @memberof v1
10
+ */
11
+ export declare class VehicleServiceClient {
12
+ private _terminated;
13
+ private _opts;
14
+ private _providedCustomServicePath;
15
+ private _gaxModule;
16
+ private _gaxGrpc;
17
+ private _protos;
18
+ private _defaults;
19
+ private _universeDomain;
20
+ private _servicePath;
21
+ auth: gax.GoogleAuth;
22
+ descriptors: Descriptors;
23
+ warn: (code: string, message: string, warnType?: string) => void;
24
+ innerApiCalls: {
25
+ [name: string]: Function;
26
+ };
27
+ pathTemplates: {
28
+ [name: string]: gax.PathTemplate;
29
+ };
30
+ vehicleServiceStub?: Promise<{
31
+ [name: string]: Function;
32
+ }>;
33
+ /**
34
+ * Construct an instance of VehicleServiceClient.
35
+ *
36
+ * @param {object} [options] - The configuration object.
37
+ * The options accepted by the constructor are described in detail
38
+ * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance).
39
+ * The common options are:
40
+ * @param {object} [options.credentials] - Credentials object.
41
+ * @param {string} [options.credentials.client_email]
42
+ * @param {string} [options.credentials.private_key]
43
+ * @param {string} [options.email] - Account email address. Required when
44
+ * using a .pem or .p12 keyFilename.
45
+ * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or
46
+ * .p12 key downloaded from the Google Developers Console. If you provide
47
+ * a path to a JSON file, the projectId option below is not necessary.
48
+ * NOTE: .pem and .p12 require you to specify options.email as well.
49
+ * @param {number} [options.port] - The port on which to connect to
50
+ * the remote host.
51
+ * @param {string} [options.projectId] - The project ID from the Google
52
+ * Developer's Console, e.g. 'grape-spaceship-123'. We will also check
53
+ * the environment variable GCLOUD_PROJECT for your project ID. If your
54
+ * app is running in an environment which supports
55
+ * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials},
56
+ * your project ID will be detected automatically.
57
+ * @param {string} [options.apiEndpoint] - The domain name of the
58
+ * API remote host.
59
+ * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
60
+ * Follows the structure of {@link gapicConfig}.
61
+ * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode.
62
+ * For more information, please check the
63
+ * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}.
64
+ * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you
65
+ * need to avoid loading the default gRPC version and want to use the fallback
66
+ * HTTP implementation. Load only fallback version and pass it to the constructor:
67
+ * ```
68
+ * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC
69
+ * const client = new VehicleServiceClient({fallback: true}, gax);
70
+ * ```
71
+ */
72
+ constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback);
73
+ /**
74
+ * Initialize the client.
75
+ * Performs asynchronous operations (such as authentication) and prepares the client.
76
+ * This function will be called automatically when any class method is called for the
77
+ * first time, but if you need to initialize it before calling an actual method,
78
+ * feel free to call initialize() directly.
79
+ *
80
+ * You can await on this method if you want to make sure the client is initialized.
81
+ *
82
+ * @returns {Promise} A promise that resolves to an authenticated service stub.
83
+ */
84
+ initialize(): Promise<{
85
+ [name: string]: Function;
86
+ }>;
87
+ /**
88
+ * The DNS address for this API service.
89
+ * @deprecated Use the apiEndpoint method of the client instance.
90
+ * @returns {string} The DNS address for this service.
91
+ */
92
+ static get servicePath(): string;
93
+ /**
94
+ * The DNS address for this API service - same as servicePath.
95
+ * @deprecated Use the apiEndpoint method of the client instance.
96
+ * @returns {string} The DNS address for this service.
97
+ */
98
+ static get apiEndpoint(): string;
99
+ /**
100
+ * The DNS address for this API service.
101
+ * @returns {string} The DNS address for this service.
102
+ */
103
+ get apiEndpoint(): string;
104
+ get universeDomain(): string;
105
+ /**
106
+ * The port for this API service.
107
+ * @returns {number} The default port for this service.
108
+ */
109
+ static get port(): number;
110
+ /**
111
+ * The scopes needed to make gRPC calls for every method defined
112
+ * in this service.
113
+ * @returns {string[]} List of default scopes.
114
+ */
115
+ static get scopes(): string[];
116
+ getProjectId(): Promise<string>;
117
+ getProjectId(callback: Callback<string, undefined, undefined>): void;
118
+ /**
119
+ * Instantiates a new vehicle associated with an on-demand rideshare or
120
+ * deliveries provider. Each `Vehicle` must have a unique vehicle ID.
121
+ *
122
+ * The following `Vehicle` fields are required when creating a `Vehicle`:
123
+ *
124
+ * * `vehicleState`
125
+ * * `supportedTripTypes`
126
+ * * `maximumCapacity`
127
+ * * `vehicleType`
128
+ *
129
+ * The following `Vehicle` fields are ignored when creating a `Vehicle`:
130
+ *
131
+ * * `name`
132
+ * * `currentTrips`
133
+ * * `availableCapacity`
134
+ * * `current_route_segment`
135
+ * * `current_route_segment_end_point`
136
+ * * `current_route_segment_version`
137
+ * * `current_route_segment_traffic`
138
+ * * `route`
139
+ * * `waypoints`
140
+ * * `waypoints_version`
141
+ * * `remaining_distance_meters`
142
+ * * `remaining_time_seconds`
143
+ * * `eta_to_next_waypoint`
144
+ * * `navigation_status`
145
+ *
146
+ * All other fields are optional and used if provided.
147
+ *
148
+ * @param {Object} request
149
+ * The request object that will be sent.
150
+ * @param {maps.fleetengine.v1.RequestHeader} request.header
151
+ * The standard Fleet Engine request header.
152
+ * @param {string} request.parent
153
+ * Required. Must be in the format `providers/{provider}`.
154
+ * The provider must be the Project ID (for example, `sample-cloud-project`)
155
+ * of the Google Cloud Project of which the service account making
156
+ * this call is a member.
157
+ * @param {string} request.vehicleId
158
+ * Required. Unique Vehicle ID.
159
+ * Subject to the following restrictions:
160
+ *
161
+ * * Must be a valid Unicode string.
162
+ * * Limited to a maximum length of 64 characters.
163
+ * * Normalized according to [Unicode Normalization Form C]
164
+ * (http://www.unicode.org/reports/tr15/).
165
+ * * May not contain any of the following ASCII characters: '/', ':', '?',
166
+ * ',', or '#'.
167
+ * @param {maps.fleetengine.v1.Vehicle} request.vehicle
168
+ * Required. The Vehicle entity to create. When creating a Vehicle, the
169
+ * following fields are required:
170
+ *
171
+ * * `vehicleState`
172
+ * * `supportedTripTypes`
173
+ * * `maximumCapacity`
174
+ * * `vehicleType`
175
+ *
176
+ * When creating a Vehicle, the following fields are ignored:
177
+ *
178
+ * * `name`
179
+ * * `currentTrips`
180
+ * * `availableCapacity`
181
+ * * `current_route_segment`
182
+ * * `current_route_segment_end_point`
183
+ * * `current_route_segment_version`
184
+ * * `current_route_segment_traffic`
185
+ * * `route`
186
+ * * `waypoints`
187
+ * * `waypoints_version`
188
+ * * `remaining_distance_meters`
189
+ * * `remaining_time_seconds`
190
+ * * `eta_to_next_waypoint`
191
+ * * `navigation_status`
192
+ *
193
+ * All other fields are optional and used if provided.
194
+ * @param {object} [options]
195
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
196
+ * @returns {Promise} - The promise which resolves to an array.
197
+ * The first element of the array is an object representing {@link protos.maps.fleetengine.v1.Vehicle|Vehicle}.
198
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
199
+ * for more details and examples.
200
+ * @example <caption>include:samples/generated/v1/vehicle_service.create_vehicle.js</caption>
201
+ * region_tag:fleetengine_v1_generated_VehicleService_CreateVehicle_async
202
+ */
203
+ createVehicle(request?: protos.maps.fleetengine.v1.ICreateVehicleRequest, options?: CallOptions): Promise<[
204
+ protos.maps.fleetengine.v1.IVehicle,
205
+ protos.maps.fleetengine.v1.ICreateVehicleRequest | undefined,
206
+ {} | undefined
207
+ ]>;
208
+ createVehicle(request: protos.maps.fleetengine.v1.ICreateVehicleRequest, options: CallOptions, callback: Callback<protos.maps.fleetengine.v1.IVehicle, protos.maps.fleetengine.v1.ICreateVehicleRequest | null | undefined, {} | null | undefined>): void;
209
+ createVehicle(request: protos.maps.fleetengine.v1.ICreateVehicleRequest, callback: Callback<protos.maps.fleetengine.v1.IVehicle, protos.maps.fleetengine.v1.ICreateVehicleRequest | null | undefined, {} | null | undefined>): void;
210
+ /**
211
+ * Returns a vehicle from the Fleet Engine.
212
+ *
213
+ * @param {Object} request
214
+ * The request object that will be sent.
215
+ * @param {maps.fleetengine.v1.RequestHeader} request.header
216
+ * The standard Fleet Engine request header.
217
+ * @param {string} request.name
218
+ * Required. Must be in the format
219
+ * `providers/{provider}/vehicles/{vehicle}`.
220
+ * The provider must be the Project ID (for example, `sample-cloud-project`)
221
+ * of the Google Cloud Project of which the service account making
222
+ * this call is a member.
223
+ * @param {google.protobuf.Timestamp} request.currentRouteSegmentVersion
224
+ * Indicates the minimum timestamp (exclusive) for which
225
+ * `Vehicle.current_route_segment` is retrieved.
226
+ * If the route is unchanged since this timestamp, the `current_route_segment`
227
+ * field is not set in the response. If a minimum is unspecified, the
228
+ * `current_route_segment` is always retrieved.
229
+ * @param {google.protobuf.Timestamp} request.waypointsVersion
230
+ * Indicates the minimum timestamp (exclusive) for which `Vehicle.waypoints`
231
+ * data is retrieved. If the waypoints are unchanged since this timestamp, the
232
+ * `vehicle.waypoints` data is not set in the response. If this field is
233
+ * unspecified, `vehicle.waypoints` is always retrieved.
234
+ * @param {object} [options]
235
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
236
+ * @returns {Promise} - The promise which resolves to an array.
237
+ * The first element of the array is an object representing {@link protos.maps.fleetengine.v1.Vehicle|Vehicle}.
238
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
239
+ * for more details and examples.
240
+ * @example <caption>include:samples/generated/v1/vehicle_service.get_vehicle.js</caption>
241
+ * region_tag:fleetengine_v1_generated_VehicleService_GetVehicle_async
242
+ */
243
+ getVehicle(request?: protos.maps.fleetengine.v1.IGetVehicleRequest, options?: CallOptions): Promise<[
244
+ protos.maps.fleetengine.v1.IVehicle,
245
+ protos.maps.fleetengine.v1.IGetVehicleRequest | undefined,
246
+ {} | undefined
247
+ ]>;
248
+ getVehicle(request: protos.maps.fleetengine.v1.IGetVehicleRequest, options: CallOptions, callback: Callback<protos.maps.fleetengine.v1.IVehicle, protos.maps.fleetengine.v1.IGetVehicleRequest | null | undefined, {} | null | undefined>): void;
249
+ getVehicle(request: protos.maps.fleetengine.v1.IGetVehicleRequest, callback: Callback<protos.maps.fleetengine.v1.IVehicle, protos.maps.fleetengine.v1.IGetVehicleRequest | null | undefined, {} | null | undefined>): void;
250
+ /**
251
+ * Writes updated vehicle data to the Fleet Engine.
252
+ *
253
+ * When updating a `Vehicle`, the following fields cannot be updated since
254
+ * they are managed by the server:
255
+ *
256
+ * * `currentTrips`
257
+ * * `availableCapacity`
258
+ * * `current_route_segment_version`
259
+ * * `waypoints_version`
260
+ *
261
+ * The vehicle `name` also cannot be updated.
262
+ *
263
+ * If the `attributes` field is updated, **all** the vehicle's attributes are
264
+ * replaced with the attributes provided in the request. If you want to update
265
+ * only some attributes, see the `UpdateVehicleAttributes` method. Likewise,
266
+ * the `waypoints` field can be updated, but must contain all the waypoints
267
+ * currently on the vehicle, and no other waypoints.
268
+ *
269
+ * @param {Object} request
270
+ * The request object that will be sent.
271
+ * @param {maps.fleetengine.v1.RequestHeader} request.header
272
+ * The standard Fleet Engine request header.
273
+ * @param {string} request.name
274
+ * Required. Must be in the format
275
+ * `providers/{provider}/vehicles/{vehicle}`.
276
+ * The {provider} must be the Project ID (for example, `sample-cloud-project`)
277
+ * of the Google Cloud Project of which the service account making
278
+ * this call is a member.
279
+ * @param {maps.fleetengine.v1.Vehicle} request.vehicle
280
+ * Required. The `Vehicle` entity values to apply. When updating a `Vehicle`,
281
+ * the following fields may not be updated as they are managed by the
282
+ * server.
283
+ *
284
+ * * `available_capacity`
285
+ * * `current_route_segment_version`
286
+ * * `current_trips`
287
+ * * `name`
288
+ * * `waypoints_version`
289
+ *
290
+ * If the `attributes` field is updated, **all** the vehicle's attributes are
291
+ * replaced with the attributes provided in the request. If you want to update
292
+ * only some attributes, see the `UpdateVehicleAttributes` method.
293
+ *
294
+ * Likewise, the `waypoints` field can be updated, but must contain all the
295
+ * waypoints currently on the vehicle, and no other waypoints.
296
+ * @param {google.protobuf.FieldMask} request.updateMask
297
+ * Required. A field mask indicating which fields of the `Vehicle` to update.
298
+ * At least one field name must be provided.
299
+ * @param {object} [options]
300
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
301
+ * @returns {Promise} - The promise which resolves to an array.
302
+ * The first element of the array is an object representing {@link protos.maps.fleetengine.v1.Vehicle|Vehicle}.
303
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
304
+ * for more details and examples.
305
+ * @example <caption>include:samples/generated/v1/vehicle_service.update_vehicle.js</caption>
306
+ * region_tag:fleetengine_v1_generated_VehicleService_UpdateVehicle_async
307
+ */
308
+ updateVehicle(request?: protos.maps.fleetengine.v1.IUpdateVehicleRequest, options?: CallOptions): Promise<[
309
+ protos.maps.fleetengine.v1.IVehicle,
310
+ protos.maps.fleetengine.v1.IUpdateVehicleRequest | undefined,
311
+ {} | undefined
312
+ ]>;
313
+ updateVehicle(request: protos.maps.fleetengine.v1.IUpdateVehicleRequest, options: CallOptions, callback: Callback<protos.maps.fleetengine.v1.IVehicle, protos.maps.fleetengine.v1.IUpdateVehicleRequest | null | undefined, {} | null | undefined>): void;
314
+ updateVehicle(request: protos.maps.fleetengine.v1.IUpdateVehicleRequest, callback: Callback<protos.maps.fleetengine.v1.IVehicle, protos.maps.fleetengine.v1.IUpdateVehicleRequest | null | undefined, {} | null | undefined>): void;
315
+ /**
316
+ * Deprecated: Use the `UpdateVehicle` method instead.
317
+ * UpdateVehicleLocation updates the location of the vehicle.
318
+ *
319
+ * @param {Object} request
320
+ * The request object that will be sent.
321
+ * @param {maps.fleetengine.v1.RequestHeader} request.header
322
+ * The standard Fleet Engine request header.
323
+ * @param {string} request.name
324
+ * Required. Must be in the format
325
+ * `providers/{provider}/vehicles/{vehicle}`.
326
+ * The {provider} must be the Project ID (for example, `sample-cloud-project`)
327
+ * of the Google Cloud Project of which the service account making
328
+ * this call is a member.
329
+ * @param {maps.fleetengine.v1.VehicleLocation} request.currentLocation
330
+ * Required. The vehicle's most recent location. The `location` and
331
+ * `update_time` subfields are required.
332
+ * @param {maps.fleetengine.v1.VehicleState} request.currentState
333
+ * Set the vehicle's state to either `ONLINE` or `OFFLINE`.
334
+ * If set to `UNKNOWN_VEHICLE_STATE`, the vehicle's state will not be altered.
335
+ * @param {object} [options]
336
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
337
+ * @returns {Promise} - The promise which resolves to an array.
338
+ * The first element of the array is an object representing {@link protos.maps.fleetengine.v1.VehicleLocation|VehicleLocation}.
339
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
340
+ * for more details and examples.
341
+ * @example <caption>include:samples/generated/v1/vehicle_service.update_vehicle_location.js</caption>
342
+ * region_tag:fleetengine_v1_generated_VehicleService_UpdateVehicleLocation_async
343
+ * @deprecated UpdateVehicleLocation is deprecated and may be removed in a future version.
344
+ */
345
+ updateVehicleLocation(request?: protos.maps.fleetengine.v1.IUpdateVehicleLocationRequest, options?: CallOptions): Promise<[
346
+ protos.maps.fleetengine.v1.IVehicleLocation,
347
+ protos.maps.fleetengine.v1.IUpdateVehicleLocationRequest | undefined,
348
+ {} | undefined
349
+ ]>;
350
+ updateVehicleLocation(request: protos.maps.fleetengine.v1.IUpdateVehicleLocationRequest, options: CallOptions, callback: Callback<protos.maps.fleetengine.v1.IVehicleLocation, protos.maps.fleetengine.v1.IUpdateVehicleLocationRequest | null | undefined, {} | null | undefined>): void;
351
+ updateVehicleLocation(request: protos.maps.fleetengine.v1.IUpdateVehicleLocationRequest, callback: Callback<protos.maps.fleetengine.v1.IVehicleLocation, protos.maps.fleetengine.v1.IUpdateVehicleLocationRequest | null | undefined, {} | null | undefined>): void;
352
+ /**
353
+ * Partially updates a vehicle's attributes.
354
+ * Only the attributes mentioned in the request will be updated, other
355
+ * attributes will NOT be altered. Note: this is different in `UpdateVehicle`,
356
+ * where the whole `attributes` field will be replaced by the one in
357
+ * `UpdateVehicleRequest`, attributes not in the request would be removed.
358
+ *
359
+ * @param {Object} request
360
+ * The request object that will be sent.
361
+ * @param {maps.fleetengine.v1.RequestHeader} request.header
362
+ * The standard Fleet Engine request header.
363
+ * @param {string} request.name
364
+ * Required. Must be in the format `providers/{provider}/vehicles/{vehicle}`.
365
+ * The provider must be the Project ID (for example, `sample-cloud-project`)
366
+ * of the Google Cloud Project of which the service account making
367
+ * this call is a member.
368
+ * @param {number[]} request.attributes
369
+ * Required. The vehicle attributes to update. Unmentioned attributes are not
370
+ * altered or removed.
371
+ * @param {object} [options]
372
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
373
+ * @returns {Promise} - The promise which resolves to an array.
374
+ * The first element of the array is an object representing {@link protos.maps.fleetengine.v1.UpdateVehicleAttributesResponse|UpdateVehicleAttributesResponse}.
375
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
376
+ * for more details and examples.
377
+ * @example <caption>include:samples/generated/v1/vehicle_service.update_vehicle_attributes.js</caption>
378
+ * region_tag:fleetengine_v1_generated_VehicleService_UpdateVehicleAttributes_async
379
+ */
380
+ updateVehicleAttributes(request?: protos.maps.fleetengine.v1.IUpdateVehicleAttributesRequest, options?: CallOptions): Promise<[
381
+ protos.maps.fleetengine.v1.IUpdateVehicleAttributesResponse,
382
+ protos.maps.fleetengine.v1.IUpdateVehicleAttributesRequest | undefined,
383
+ {} | undefined
384
+ ]>;
385
+ updateVehicleAttributes(request: protos.maps.fleetengine.v1.IUpdateVehicleAttributesRequest, options: CallOptions, callback: Callback<protos.maps.fleetengine.v1.IUpdateVehicleAttributesResponse, protos.maps.fleetengine.v1.IUpdateVehicleAttributesRequest | null | undefined, {} | null | undefined>): void;
386
+ updateVehicleAttributes(request: protos.maps.fleetengine.v1.IUpdateVehicleAttributesRequest, callback: Callback<protos.maps.fleetengine.v1.IUpdateVehicleAttributesResponse, protos.maps.fleetengine.v1.IUpdateVehicleAttributesRequest | null | undefined, {} | null | undefined>): void;
387
+ /**
388
+ * Returns a list of vehicles that match the request options.
389
+ *
390
+ * @param {Object} request
391
+ * The request object that will be sent.
392
+ * @param {maps.fleetengine.v1.RequestHeader} request.header
393
+ * The standard Fleet Engine request header.
394
+ * @param {string} request.parent
395
+ * Required. Must be in the format `providers/{provider}`.
396
+ * The provider must be the Project ID (for example, `sample-cloud-project`)
397
+ * of the Google Cloud Project of which the service account making
398
+ * this call is a member.
399
+ * @param {maps.fleetengine.v1.TerminalLocation} request.pickupPoint
400
+ * Required. The pickup point to search near.
401
+ * @param {maps.fleetengine.v1.TerminalLocation} request.dropoffPoint
402
+ * The customer's intended dropoff location. The field is required if
403
+ * `trip_types` contains `TripType.SHARED`.
404
+ * @param {number} request.pickupRadiusMeters
405
+ * Required. Defines the vehicle search radius around the pickup point. Only
406
+ * vehicles within the search radius will be returned. Value must be between
407
+ * 400 and 10000 meters (inclusive).
408
+ * @param {number} request.count
409
+ * Required. Specifies the maximum number of vehicles to return. The value
410
+ * must be between 1 and 50 (inclusive).
411
+ * @param {number} request.minimumCapacity
412
+ * Required. Specifies the number of passengers being considered for a trip.
413
+ * The value must be greater than or equal to one. The driver is not
414
+ * considered in the capacity value.
415
+ * @param {number[]} request.tripTypes
416
+ * Required. Represents the type of proposed trip. Must include exactly one
417
+ * type. `UNKNOWN_TRIP_TYPE` is not allowed. Restricts the search to only
418
+ * those vehicles that can support that trip type.
419
+ * @param {google.protobuf.Duration} request.maximumStaleness
420
+ * Restricts the search to only those vehicles that have sent location updates
421
+ * to Fleet Engine within the specified duration. Stationary vehicles still
422
+ * transmitting their locations are not considered stale. If this field is not
423
+ * set, the server uses five minutes as the default value.
424
+ * @param {number[]} request.vehicleTypes
425
+ * Required. Restricts the search to vehicles with one of the specified types.
426
+ * At least one vehicle type must be specified. VehicleTypes with a category
427
+ * of `UNKNOWN` are not allowed.
428
+ * @param {number[]} request.requiredAttributes
429
+ * Callers can form complex logical operations using any combination of the
430
+ * `required_attributes`, `required_one_of_attributes`, and
431
+ * `required_one_of_attribute_sets` fields.
432
+ *
433
+ * `required_attributes` is a list; `required_one_of_attributes` uses a
434
+ * message which allows a list of lists. In combination, the two fields allow
435
+ * the composition of this expression:
436
+ *
437
+ * ```
438
+ * (required_attributes[0] AND required_attributes[1] AND ...)
439
+ * AND
440
+ * (required_one_of_attributes{@link protos.0|0} OR required_one_of_attributes{@link protos.1|0} OR
441
+ * ...)
442
+ * AND
443
+ * (required_one_of_attributes{@link protos.0|1} OR required_one_of_attributes{@link protos.1|1} OR
444
+ * ...)
445
+ * ```
446
+ *
447
+ * Restricts the search to only those vehicles with the specified attributes.
448
+ * This field is a conjunction/AND operation. A max of 50 required_attributes
449
+ * is allowed. This matches the maximum number of attributes allowed on a
450
+ * vehicle.
451
+ * @param {number[]} request.requiredOneOfAttributes
452
+ * Restricts the search to only those vehicles with at least one of
453
+ * the specified attributes in each `VehicleAttributeList`. Within each
454
+ * list, a vehicle must match at least one of the attributes. This field is an
455
+ * inclusive disjunction/OR operation in each `VehicleAttributeList` and a
456
+ * conjunction/AND operation across the collection of `VehicleAttributeList`.
457
+ * @param {number[]} request.requiredOneOfAttributeSets
458
+ * `required_one_of_attribute_sets` provides additional functionality.
459
+ *
460
+ * Similar to `required_one_of_attributes`, `required_one_of_attribute_sets`
461
+ * uses a message which allows a list of lists, allowing expressions such as
462
+ * this one:
463
+ *
464
+ * ```
465
+ * (required_attributes[0] AND required_attributes[1] AND ...)
466
+ * AND
467
+ * (
468
+ * (required_one_of_attribute_sets{@link protos.0|0} AND
469
+ * required_one_of_attribute_sets{@link protos.1|0} AND
470
+ * ...)
471
+ * OR
472
+ * (required_one_of_attribute_sets{@link protos.0|1} AND
473
+ * required_one_of_attribute_sets{@link protos.1|1} AND
474
+ * ...)
475
+ * )
476
+ * ```
477
+ *
478
+ * Restricts the search to only those vehicles with all the attributes in a
479
+ * `VehicleAttributeList`. Within each list, a
480
+ * vehicle must match all of the attributes. This field is a conjunction/AND
481
+ * operation in each `VehicleAttributeList` and inclusive disjunction/OR
482
+ * operation across the collection of `VehicleAttributeList`.
483
+ * @param {maps.fleetengine.v1.SearchVehiclesRequest.VehicleMatchOrder} request.orderBy
484
+ * Required. Specifies the desired ordering criterion for results.
485
+ * @param {boolean} request.includeBackToBack
486
+ * This indicates if vehicles with a single active trip are eligible for this
487
+ * search. This field is only used when `current_trips_present` is
488
+ * unspecified. When `current_trips_present` is unspecified and this field
489
+ * is `false`, vehicles with assigned trips are excluded from the search
490
+ * results. When `current_trips_present` is unspecified and this field is
491
+ * `true`, search results can include vehicles with one active trip that has a
492
+ * status of `ENROUTE_TO_DROPOFF`. When `current_trips_present` is specified,
493
+ * this field cannot be set to true.
494
+ *
495
+ * The default value is `false`.
496
+ * @param {string} request.tripId
497
+ * Indicates the trip associated with this `SearchVehicleRequest`.
498
+ * @param {maps.fleetengine.v1.SearchVehiclesRequest.CurrentTripsPresent} request.currentTripsPresent
499
+ * This indicates if vehicles with active trips are eligible for this search.
500
+ * This must be set to something other than
501
+ * `CURRENT_TRIPS_PRESENT_UNSPECIFIED` if `trip_type` includes `SHARED`.
502
+ * @param {string} [request.filter]
503
+ * Optional. A filter query to apply when searching vehicles. See
504
+ * http://aip.dev/160 for examples of the filter syntax.
505
+ *
506
+ * This field is designed to replace the `required_attributes`,
507
+ * `required_one_of_attributes`, and `required_one_of_attributes_sets` fields.
508
+ * If a non-empty value is specified here, the following fields must be empty:
509
+ * `required_attributes`, `required_one_of_attributes`, and
510
+ * `required_one_of_attributes_sets`.
511
+ *
512
+ * This filter functions as an AND clause with other constraints,
513
+ * such as `minimum_capacity` or `vehicle_types`.
514
+ *
515
+ * Note that the only queries supported are on vehicle attributes (for
516
+ * example, `attributes.<key> = <value>` or `attributes.<key1> = <value1> AND
517
+ * attributes.<key2> = <value2>`). The maximum number of restrictions allowed
518
+ * in a filter query is 50.
519
+ *
520
+ * Also, all attributes are stored as strings, so the only supported
521
+ * comparisons against attributes are string comparisons. In order to compare
522
+ * against number or boolean values, the values must be explicitly quoted to
523
+ * be treated as strings (for example, `attributes.<key> = "10"` or
524
+ * `attributes.<key> = "true"`).
525
+ * @param {object} [options]
526
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
527
+ * @returns {Promise} - The promise which resolves to an array.
528
+ * The first element of the array is an object representing {@link protos.maps.fleetengine.v1.SearchVehiclesResponse|SearchVehiclesResponse}.
529
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
530
+ * for more details and examples.
531
+ * @example <caption>include:samples/generated/v1/vehicle_service.search_vehicles.js</caption>
532
+ * region_tag:fleetengine_v1_generated_VehicleService_SearchVehicles_async
533
+ */
534
+ searchVehicles(request?: protos.maps.fleetengine.v1.ISearchVehiclesRequest, options?: CallOptions): Promise<[
535
+ protos.maps.fleetengine.v1.ISearchVehiclesResponse,
536
+ protos.maps.fleetengine.v1.ISearchVehiclesRequest | undefined,
537
+ {} | undefined
538
+ ]>;
539
+ searchVehicles(request: protos.maps.fleetengine.v1.ISearchVehiclesRequest, options: CallOptions, callback: Callback<protos.maps.fleetengine.v1.ISearchVehiclesResponse, protos.maps.fleetengine.v1.ISearchVehiclesRequest | null | undefined, {} | null | undefined>): void;
540
+ searchVehicles(request: protos.maps.fleetengine.v1.ISearchVehiclesRequest, callback: Callback<protos.maps.fleetengine.v1.ISearchVehiclesResponse, protos.maps.fleetengine.v1.ISearchVehiclesRequest | null | undefined, {} | null | undefined>): void;
541
+ /**
542
+ * Deprecated: Use `SearchVehicles` instead.
543
+ *
544
+ * @param {Object} request
545
+ * The request object that will be sent.
546
+ * @param {maps.fleetengine.v1.RequestHeader} request.header
547
+ * The standard Fleet Engine request header.
548
+ * @param {string} request.parent
549
+ * Required. Must be in the format `providers/{provider}`.
550
+ * The provider must be the Project ID (for example, `sample-cloud-project`)
551
+ * of the Google Cloud Project of which the service account making
552
+ * this call is a member.
553
+ * @param {maps.fleetengine.v1.TerminalLocation} request.pickupPoint
554
+ * Required. The pickup point to search near.
555
+ * @param {maps.fleetengine.v1.TerminalLocation} request.dropoffPoint
556
+ * The customer's intended dropoff location. The field is required if
557
+ * `trip_types` contains `TripType.SHARED`.
558
+ * @param {number} request.pickupRadiusMeters
559
+ * Required. Defines the vehicle search radius around the pickup point. Only
560
+ * vehicles within the search radius will be returned. Value must be between
561
+ * 400 and 10000 meters (inclusive).
562
+ * @param {number} request.count
563
+ * Required. Specifies the maximum number of vehicles to return. The value
564
+ * must be between 1 and 50 (inclusive).
565
+ * @param {number} request.minimumCapacity
566
+ * Required. Specifies the number of passengers being considered for a trip.
567
+ * The value must be greater than or equal to one. The driver is not
568
+ * considered in the capacity value.
569
+ * @param {number[]} request.tripTypes
570
+ * Required. Represents the type of proposed trip. Must include exactly one
571
+ * type. `UNKNOWN_TRIP_TYPE` is not allowed. Restricts the search to only
572
+ * those vehicles that can support that trip type.
573
+ * @param {google.protobuf.Duration} request.maximumStaleness
574
+ * Restricts the search to only those vehicles that have sent location updates
575
+ * to Fleet Engine within the specified duration. Stationary vehicles still
576
+ * transmitting their locations are not considered stale. If this field is not
577
+ * set, the server uses five minutes as the default value.
578
+ * @param {number[]} request.vehicleTypes
579
+ * Required. Restricts the search to vehicles with one of the specified types.
580
+ * At least one vehicle type must be specified. VehicleTypes with a category
581
+ * of `UNKNOWN` are not allowed.
582
+ * @param {number[]} request.requiredAttributes
583
+ * Callers can form complex logical operations using any combination of the
584
+ * `required_attributes`, `required_one_of_attributes`, and
585
+ * `required_one_of_attribute_sets` fields.
586
+ *
587
+ * `required_attributes` is a list; `required_one_of_attributes` uses a
588
+ * message which allows a list of lists. In combination, the two fields allow
589
+ * the composition of this expression:
590
+ *
591
+ * ```
592
+ * (required_attributes[0] AND required_attributes[1] AND ...)
593
+ * AND
594
+ * (required_one_of_attributes{@link protos.0|0} OR required_one_of_attributes{@link protos.1|0} OR
595
+ * ...)
596
+ * AND
597
+ * (required_one_of_attributes{@link protos.0|1} OR required_one_of_attributes{@link protos.1|1} OR
598
+ * ...)
599
+ * ```
600
+ *
601
+ * Restricts the search to only those vehicles with the specified attributes.
602
+ * This field is a conjunction/AND operation. A max of 50 required_attributes
603
+ * is allowed. This matches the maximum number of attributes allowed on a
604
+ * vehicle.
605
+ * @param {number[]} request.requiredOneOfAttributes
606
+ * Restricts the search to only those vehicles with at least one of
607
+ * the specified attributes in each `VehicleAttributeList`. Within each
608
+ * list, a vehicle must match at least one of the attributes. This field is an
609
+ * inclusive disjunction/OR operation in each `VehicleAttributeList` and a
610
+ * conjunction/AND operation across the collection of `VehicleAttributeList`.
611
+ * @param {number[]} request.requiredOneOfAttributeSets
612
+ * `required_one_of_attribute_sets` provides additional functionality.
613
+ *
614
+ * Similar to `required_one_of_attributes`, `required_one_of_attribute_sets`
615
+ * uses a message which allows a list of lists, allowing expressions such as
616
+ * this one:
617
+ *
618
+ * ```
619
+ * (required_attributes[0] AND required_attributes[1] AND ...)
620
+ * AND
621
+ * (
622
+ * (required_one_of_attribute_sets{@link protos.0|0} AND
623
+ * required_one_of_attribute_sets{@link protos.1|0} AND
624
+ * ...)
625
+ * OR
626
+ * (required_one_of_attribute_sets{@link protos.0|1} AND
627
+ * required_one_of_attribute_sets{@link protos.1|1} AND
628
+ * ...)
629
+ * )
630
+ * ```
631
+ *
632
+ * Restricts the search to only those vehicles with all the attributes in a
633
+ * `VehicleAttributeList`. Within each list, a
634
+ * vehicle must match all of the attributes. This field is a conjunction/AND
635
+ * operation in each `VehicleAttributeList` and inclusive disjunction/OR
636
+ * operation across the collection of `VehicleAttributeList`.
637
+ * @param {maps.fleetengine.v1.SearchVehiclesRequest.VehicleMatchOrder} request.orderBy
638
+ * Required. Specifies the desired ordering criterion for results.
639
+ * @param {boolean} request.includeBackToBack
640
+ * This indicates if vehicles with a single active trip are eligible for this
641
+ * search. This field is only used when `current_trips_present` is
642
+ * unspecified. When `current_trips_present` is unspecified and this field
643
+ * is `false`, vehicles with assigned trips are excluded from the search
644
+ * results. When `current_trips_present` is unspecified and this field is
645
+ * `true`, search results can include vehicles with one active trip that has a
646
+ * status of `ENROUTE_TO_DROPOFF`. When `current_trips_present` is specified,
647
+ * this field cannot be set to true.
648
+ *
649
+ * The default value is `false`.
650
+ * @param {string} request.tripId
651
+ * Indicates the trip associated with this `SearchVehicleRequest`.
652
+ * @param {maps.fleetengine.v1.SearchVehiclesRequest.CurrentTripsPresent} request.currentTripsPresent
653
+ * This indicates if vehicles with active trips are eligible for this search.
654
+ * This must be set to something other than
655
+ * `CURRENT_TRIPS_PRESENT_UNSPECIFIED` if `trip_type` includes `SHARED`.
656
+ * @param {string} [request.filter]
657
+ * Optional. A filter query to apply when searching vehicles. See
658
+ * http://aip.dev/160 for examples of the filter syntax.
659
+ *
660
+ * This field is designed to replace the `required_attributes`,
661
+ * `required_one_of_attributes`, and `required_one_of_attributes_sets` fields.
662
+ * If a non-empty value is specified here, the following fields must be empty:
663
+ * `required_attributes`, `required_one_of_attributes`, and
664
+ * `required_one_of_attributes_sets`.
665
+ *
666
+ * This filter functions as an AND clause with other constraints,
667
+ * such as `minimum_capacity` or `vehicle_types`.
668
+ *
669
+ * Note that the only queries supported are on vehicle attributes (for
670
+ * example, `attributes.<key> = <value>` or `attributes.<key1> = <value1> AND
671
+ * attributes.<key2> = <value2>`). The maximum number of restrictions allowed
672
+ * in a filter query is 50.
673
+ *
674
+ * Also, all attributes are stored as strings, so the only supported
675
+ * comparisons against attributes are string comparisons. In order to compare
676
+ * against number or boolean values, the values must be explicitly quoted to
677
+ * be treated as strings (for example, `attributes.<key> = "10"` or
678
+ * `attributes.<key> = "true"`).
679
+ * @param {object} [options]
680
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
681
+ * @returns {Promise} - The promise which resolves to an array.
682
+ * The first element of the array is an object representing {@link protos.maps.fleetengine.v1.SearchVehiclesResponse|SearchVehiclesResponse}.
683
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
684
+ * for more details and examples.
685
+ * @example <caption>include:samples/generated/v1/vehicle_service.search_fuzzed_vehicles.js</caption>
686
+ * region_tag:fleetengine_v1_generated_VehicleService_SearchFuzzedVehicles_async
687
+ * @deprecated SearchFuzzedVehicles is deprecated and may be removed in a future version.
688
+ */
689
+ searchFuzzedVehicles(request?: protos.maps.fleetengine.v1.ISearchVehiclesRequest, options?: CallOptions): Promise<[
690
+ protos.maps.fleetengine.v1.ISearchVehiclesResponse,
691
+ protos.maps.fleetengine.v1.ISearchVehiclesRequest | undefined,
692
+ {} | undefined
693
+ ]>;
694
+ searchFuzzedVehicles(request: protos.maps.fleetengine.v1.ISearchVehiclesRequest, options: CallOptions, callback: Callback<protos.maps.fleetengine.v1.ISearchVehiclesResponse, protos.maps.fleetengine.v1.ISearchVehiclesRequest | null | undefined, {} | null | undefined>): void;
695
+ searchFuzzedVehicles(request: protos.maps.fleetengine.v1.ISearchVehiclesRequest, callback: Callback<protos.maps.fleetengine.v1.ISearchVehiclesResponse, protos.maps.fleetengine.v1.ISearchVehiclesRequest | null | undefined, {} | null | undefined>): void;
696
+ /**
697
+ * Returns a paginated list of vehicles associated with
698
+ * a provider that match the request options.
699
+ *
700
+ * @param {Object} request
701
+ * The request object that will be sent.
702
+ * @param {maps.fleetengine.v1.RequestHeader} request.header
703
+ * The standard Fleet Engine request header.
704
+ * @param {string} request.parent
705
+ * Required. Must be in the format `providers/{provider}`.
706
+ * The provider must be the Project ID (for example, `sample-cloud-project`)
707
+ * of the Google Cloud Project of which the service account making
708
+ * this call is a member.
709
+ * @param {number} request.pageSize
710
+ * The maximum number of vehicles to return.
711
+ * Default value: 100.
712
+ * @param {string} request.pageToken
713
+ * The value of the `next_page_token` provided by a previous call to
714
+ * `ListVehicles` so that you can paginate through groups of vehicles. The
715
+ * value is undefined if the filter criteria of the request is not the same as
716
+ * the filter criteria for the previous call to `ListVehicles`.
717
+ * @param {google.protobuf.Int32Value} request.minimumCapacity
718
+ * Specifies the required minimum capacity of the vehicle. All vehicles
719
+ * returned will have a `maximum_capacity` greater than or equal to this
720
+ * value. If set, must be greater or equal to 0.
721
+ * @param {number[]} request.tripTypes
722
+ * Restricts the response to vehicles that support at least one of the
723
+ * specified trip types.
724
+ * @param {google.protobuf.Duration} request.maximumStaleness
725
+ * Restricts the response to vehicles that have sent location updates to Fleet
726
+ * Engine within the specified duration. Stationary vehicles still
727
+ * transmitting their locations are not considered stale. If present, must be
728
+ * a valid positive duration.
729
+ * @param {number[]} request.vehicleTypeCategories
730
+ * Required. Restricts the response to vehicles with one of the specified type
731
+ * categories. `UNKNOWN` is not allowed.
732
+ * @param {string[]} request.requiredAttributes
733
+ * Callers can form complex logical operations using any combination of the
734
+ * `required_attributes`, `required_one_of_attributes`, and
735
+ * `required_one_of_attribute_sets` fields.
736
+ *
737
+ * `required_attributes` is a list; `required_one_of_attributes` uses a
738
+ * message which allows a list of lists. In combination, the two fields allow
739
+ * the composition of this expression:
740
+ *
741
+ * ```
742
+ * (required_attributes[0] AND required_attributes[1] AND ...)
743
+ * AND
744
+ * (required_one_of_attributes{@link protos.0|0} OR required_one_of_attributes{@link protos.1|0} OR
745
+ * ...)
746
+ * AND
747
+ * (required_one_of_attributes{@link protos.0|1} OR required_one_of_attributes{@link protos.1|1} OR
748
+ * ...)
749
+ * ```
750
+ *
751
+ * Restricts the response to vehicles with the specified attributes. This
752
+ * field is a conjunction/AND operation. A max of 50 required_attributes is
753
+ * allowed. This matches the maximum number of attributes allowed on a
754
+ * vehicle. Each repeated string should be of the format "key:value".
755
+ * @param {string[]} request.requiredOneOfAttributes
756
+ * Restricts the response to vehicles with at least one of the specified
757
+ * attributes in each `VehicleAttributeList`. Within each list, a vehicle must
758
+ * match at least one of the attributes. This field is an inclusive
759
+ * disjunction/OR operation in each `VehicleAttributeList` and a
760
+ * conjunction/AND operation across the collection of `VehicleAttributeList`.
761
+ * Each repeated string should be of the format
762
+ * "key1:value1|key2:value2|key3:value3".
763
+ * @param {string[]} request.requiredOneOfAttributeSets
764
+ * `required_one_of_attribute_sets` provides additional functionality.
765
+ *
766
+ * Similar to `required_one_of_attributes`, `required_one_of_attribute_sets`
767
+ * uses a message which allows a list of lists, allowing expressions such as
768
+ * this one:
769
+ *
770
+ * ```
771
+ * (required_attributes[0] AND required_attributes[1] AND ...)
772
+ * AND
773
+ * (
774
+ * (required_one_of_attribute_sets{@link protos.0|0} AND
775
+ * required_one_of_attribute_sets{@link protos.1|0} AND
776
+ * ...)
777
+ * OR
778
+ * (required_one_of_attribute_sets{@link protos.0|1} AND
779
+ * required_one_of_attribute_sets{@link protos.1|1} AND
780
+ * ...)
781
+ * )
782
+ * ```
783
+ *
784
+ * Restricts the response to vehicles that match all the attributes in a
785
+ * `VehicleAttributeList`. Within each list, a vehicle must match all of the
786
+ * attributes. This field is a conjunction/AND operation in each
787
+ * `VehicleAttributeList` and inclusive disjunction/OR operation across the
788
+ * collection of `VehicleAttributeList`. Each repeated string should be of the
789
+ * format "key1:value1|key2:value2|key3:value3".
790
+ * @param {maps.fleetengine.v1.VehicleState} request.vehicleState
791
+ * Restricts the response to vehicles that have this vehicle state.
792
+ * @param {boolean} request.onTripOnly
793
+ * Only return the vehicles with current trip(s).
794
+ * @param {string} [request.filter]
795
+ * Optional. A filter query to apply when listing vehicles. See
796
+ * http://aip.dev/160 for examples of the filter syntax.
797
+ *
798
+ * This field is designed to replace the `required_attributes`,
799
+ * `required_one_of_attributes`, and `required_one_of_attributes_sets` fields.
800
+ * If a non-empty value is specified here, the following fields must be empty:
801
+ * `required_attributes`, `required_one_of_attributes`, and
802
+ * `required_one_of_attributes_sets`.
803
+ *
804
+ * This filter functions as an AND clause with other constraints,
805
+ * such as `vehicle_state` or `on_trip_only`.
806
+ *
807
+ * Note that the only queries supported are on vehicle attributes (for
808
+ * example, `attributes.<key> = <value>` or `attributes.<key1> = <value1> AND
809
+ * attributes.<key2> = <value2>`). The maximum number of restrictions allowed
810
+ * in a filter query is 50.
811
+ *
812
+ * Also, all attributes are stored as strings, so the only supported
813
+ * comparisons against attributes are string comparisons. In order to compare
814
+ * against number or boolean values, the values must be explicitly quoted to
815
+ * be treated as strings (for example, `attributes.<key> = "10"` or
816
+ * `attributes.<key> = "true"`).
817
+ * @param {google.geo.type.Viewport} [request.viewport]
818
+ * Optional. A filter that limits the vehicles returned to those whose last
819
+ * known location was in the rectangular area defined by the viewport.
820
+ * @param {object} [options]
821
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
822
+ * @returns {Promise} - The promise which resolves to an array.
823
+ * The first element of the array is Array of {@link protos.maps.fleetengine.v1.Vehicle|Vehicle}.
824
+ * The client library will perform auto-pagination by default: it will call the API as many
825
+ * times as needed and will merge results from all the pages into this array.
826
+ * Note that it can affect your quota.
827
+ * We recommend using `listVehiclesAsync()`
828
+ * method described below for async iteration which you can stop as needed.
829
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
830
+ * for more details and examples.
831
+ */
832
+ listVehicles(request?: protos.maps.fleetengine.v1.IListVehiclesRequest, options?: CallOptions): Promise<[
833
+ protos.maps.fleetengine.v1.IVehicle[],
834
+ protos.maps.fleetengine.v1.IListVehiclesRequest | null,
835
+ protos.maps.fleetengine.v1.IListVehiclesResponse
836
+ ]>;
837
+ listVehicles(request: protos.maps.fleetengine.v1.IListVehiclesRequest, options: CallOptions, callback: PaginationCallback<protos.maps.fleetengine.v1.IListVehiclesRequest, protos.maps.fleetengine.v1.IListVehiclesResponse | null | undefined, protos.maps.fleetengine.v1.IVehicle>): void;
838
+ listVehicles(request: protos.maps.fleetengine.v1.IListVehiclesRequest, callback: PaginationCallback<protos.maps.fleetengine.v1.IListVehiclesRequest, protos.maps.fleetengine.v1.IListVehiclesResponse | null | undefined, protos.maps.fleetengine.v1.IVehicle>): void;
839
+ /**
840
+ * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
841
+ * @param {Object} request
842
+ * The request object that will be sent.
843
+ * @param {maps.fleetengine.v1.RequestHeader} request.header
844
+ * The standard Fleet Engine request header.
845
+ * @param {string} request.parent
846
+ * Required. Must be in the format `providers/{provider}`.
847
+ * The provider must be the Project ID (for example, `sample-cloud-project`)
848
+ * of the Google Cloud Project of which the service account making
849
+ * this call is a member.
850
+ * @param {number} request.pageSize
851
+ * The maximum number of vehicles to return.
852
+ * Default value: 100.
853
+ * @param {string} request.pageToken
854
+ * The value of the `next_page_token` provided by a previous call to
855
+ * `ListVehicles` so that you can paginate through groups of vehicles. The
856
+ * value is undefined if the filter criteria of the request is not the same as
857
+ * the filter criteria for the previous call to `ListVehicles`.
858
+ * @param {google.protobuf.Int32Value} request.minimumCapacity
859
+ * Specifies the required minimum capacity of the vehicle. All vehicles
860
+ * returned will have a `maximum_capacity` greater than or equal to this
861
+ * value. If set, must be greater or equal to 0.
862
+ * @param {number[]} request.tripTypes
863
+ * Restricts the response to vehicles that support at least one of the
864
+ * specified trip types.
865
+ * @param {google.protobuf.Duration} request.maximumStaleness
866
+ * Restricts the response to vehicles that have sent location updates to Fleet
867
+ * Engine within the specified duration. Stationary vehicles still
868
+ * transmitting their locations are not considered stale. If present, must be
869
+ * a valid positive duration.
870
+ * @param {number[]} request.vehicleTypeCategories
871
+ * Required. Restricts the response to vehicles with one of the specified type
872
+ * categories. `UNKNOWN` is not allowed.
873
+ * @param {string[]} request.requiredAttributes
874
+ * Callers can form complex logical operations using any combination of the
875
+ * `required_attributes`, `required_one_of_attributes`, and
876
+ * `required_one_of_attribute_sets` fields.
877
+ *
878
+ * `required_attributes` is a list; `required_one_of_attributes` uses a
879
+ * message which allows a list of lists. In combination, the two fields allow
880
+ * the composition of this expression:
881
+ *
882
+ * ```
883
+ * (required_attributes[0] AND required_attributes[1] AND ...)
884
+ * AND
885
+ * (required_one_of_attributes{@link protos.0|0} OR required_one_of_attributes{@link protos.1|0} OR
886
+ * ...)
887
+ * AND
888
+ * (required_one_of_attributes{@link protos.0|1} OR required_one_of_attributes{@link protos.1|1} OR
889
+ * ...)
890
+ * ```
891
+ *
892
+ * Restricts the response to vehicles with the specified attributes. This
893
+ * field is a conjunction/AND operation. A max of 50 required_attributes is
894
+ * allowed. This matches the maximum number of attributes allowed on a
895
+ * vehicle. Each repeated string should be of the format "key:value".
896
+ * @param {string[]} request.requiredOneOfAttributes
897
+ * Restricts the response to vehicles with at least one of the specified
898
+ * attributes in each `VehicleAttributeList`. Within each list, a vehicle must
899
+ * match at least one of the attributes. This field is an inclusive
900
+ * disjunction/OR operation in each `VehicleAttributeList` and a
901
+ * conjunction/AND operation across the collection of `VehicleAttributeList`.
902
+ * Each repeated string should be of the format
903
+ * "key1:value1|key2:value2|key3:value3".
904
+ * @param {string[]} request.requiredOneOfAttributeSets
905
+ * `required_one_of_attribute_sets` provides additional functionality.
906
+ *
907
+ * Similar to `required_one_of_attributes`, `required_one_of_attribute_sets`
908
+ * uses a message which allows a list of lists, allowing expressions such as
909
+ * this one:
910
+ *
911
+ * ```
912
+ * (required_attributes[0] AND required_attributes[1] AND ...)
913
+ * AND
914
+ * (
915
+ * (required_one_of_attribute_sets{@link protos.0|0} AND
916
+ * required_one_of_attribute_sets{@link protos.1|0} AND
917
+ * ...)
918
+ * OR
919
+ * (required_one_of_attribute_sets{@link protos.0|1} AND
920
+ * required_one_of_attribute_sets{@link protos.1|1} AND
921
+ * ...)
922
+ * )
923
+ * ```
924
+ *
925
+ * Restricts the response to vehicles that match all the attributes in a
926
+ * `VehicleAttributeList`. Within each list, a vehicle must match all of the
927
+ * attributes. This field is a conjunction/AND operation in each
928
+ * `VehicleAttributeList` and inclusive disjunction/OR operation across the
929
+ * collection of `VehicleAttributeList`. Each repeated string should be of the
930
+ * format "key1:value1|key2:value2|key3:value3".
931
+ * @param {maps.fleetengine.v1.VehicleState} request.vehicleState
932
+ * Restricts the response to vehicles that have this vehicle state.
933
+ * @param {boolean} request.onTripOnly
934
+ * Only return the vehicles with current trip(s).
935
+ * @param {string} [request.filter]
936
+ * Optional. A filter query to apply when listing vehicles. See
937
+ * http://aip.dev/160 for examples of the filter syntax.
938
+ *
939
+ * This field is designed to replace the `required_attributes`,
940
+ * `required_one_of_attributes`, and `required_one_of_attributes_sets` fields.
941
+ * If a non-empty value is specified here, the following fields must be empty:
942
+ * `required_attributes`, `required_one_of_attributes`, and
943
+ * `required_one_of_attributes_sets`.
944
+ *
945
+ * This filter functions as an AND clause with other constraints,
946
+ * such as `vehicle_state` or `on_trip_only`.
947
+ *
948
+ * Note that the only queries supported are on vehicle attributes (for
949
+ * example, `attributes.<key> = <value>` or `attributes.<key1> = <value1> AND
950
+ * attributes.<key2> = <value2>`). The maximum number of restrictions allowed
951
+ * in a filter query is 50.
952
+ *
953
+ * Also, all attributes are stored as strings, so the only supported
954
+ * comparisons against attributes are string comparisons. In order to compare
955
+ * against number or boolean values, the values must be explicitly quoted to
956
+ * be treated as strings (for example, `attributes.<key> = "10"` or
957
+ * `attributes.<key> = "true"`).
958
+ * @param {google.geo.type.Viewport} [request.viewport]
959
+ * Optional. A filter that limits the vehicles returned to those whose last
960
+ * known location was in the rectangular area defined by the viewport.
961
+ * @param {object} [options]
962
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
963
+ * @returns {Stream}
964
+ * An object stream which emits an object representing {@link protos.maps.fleetengine.v1.Vehicle|Vehicle} on 'data' event.
965
+ * The client library will perform auto-pagination by default: it will call the API as many
966
+ * times as needed. Note that it can affect your quota.
967
+ * We recommend using `listVehiclesAsync()`
968
+ * method described below for async iteration which you can stop as needed.
969
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
970
+ * for more details and examples.
971
+ */
972
+ listVehiclesStream(request?: protos.maps.fleetengine.v1.IListVehiclesRequest, options?: CallOptions): Transform;
973
+ /**
974
+ * Equivalent to `listVehicles`, but returns an iterable object.
975
+ *
976
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
977
+ * @param {Object} request
978
+ * The request object that will be sent.
979
+ * @param {maps.fleetengine.v1.RequestHeader} request.header
980
+ * The standard Fleet Engine request header.
981
+ * @param {string} request.parent
982
+ * Required. Must be in the format `providers/{provider}`.
983
+ * The provider must be the Project ID (for example, `sample-cloud-project`)
984
+ * of the Google Cloud Project of which the service account making
985
+ * this call is a member.
986
+ * @param {number} request.pageSize
987
+ * The maximum number of vehicles to return.
988
+ * Default value: 100.
989
+ * @param {string} request.pageToken
990
+ * The value of the `next_page_token` provided by a previous call to
991
+ * `ListVehicles` so that you can paginate through groups of vehicles. The
992
+ * value is undefined if the filter criteria of the request is not the same as
993
+ * the filter criteria for the previous call to `ListVehicles`.
994
+ * @param {google.protobuf.Int32Value} request.minimumCapacity
995
+ * Specifies the required minimum capacity of the vehicle. All vehicles
996
+ * returned will have a `maximum_capacity` greater than or equal to this
997
+ * value. If set, must be greater or equal to 0.
998
+ * @param {number[]} request.tripTypes
999
+ * Restricts the response to vehicles that support at least one of the
1000
+ * specified trip types.
1001
+ * @param {google.protobuf.Duration} request.maximumStaleness
1002
+ * Restricts the response to vehicles that have sent location updates to Fleet
1003
+ * Engine within the specified duration. Stationary vehicles still
1004
+ * transmitting their locations are not considered stale. If present, must be
1005
+ * a valid positive duration.
1006
+ * @param {number[]} request.vehicleTypeCategories
1007
+ * Required. Restricts the response to vehicles with one of the specified type
1008
+ * categories. `UNKNOWN` is not allowed.
1009
+ * @param {string[]} request.requiredAttributes
1010
+ * Callers can form complex logical operations using any combination of the
1011
+ * `required_attributes`, `required_one_of_attributes`, and
1012
+ * `required_one_of_attribute_sets` fields.
1013
+ *
1014
+ * `required_attributes` is a list; `required_one_of_attributes` uses a
1015
+ * message which allows a list of lists. In combination, the two fields allow
1016
+ * the composition of this expression:
1017
+ *
1018
+ * ```
1019
+ * (required_attributes[0] AND required_attributes[1] AND ...)
1020
+ * AND
1021
+ * (required_one_of_attributes{@link protos.0|0} OR required_one_of_attributes{@link protos.1|0} OR
1022
+ * ...)
1023
+ * AND
1024
+ * (required_one_of_attributes{@link protos.0|1} OR required_one_of_attributes{@link protos.1|1} OR
1025
+ * ...)
1026
+ * ```
1027
+ *
1028
+ * Restricts the response to vehicles with the specified attributes. This
1029
+ * field is a conjunction/AND operation. A max of 50 required_attributes is
1030
+ * allowed. This matches the maximum number of attributes allowed on a
1031
+ * vehicle. Each repeated string should be of the format "key:value".
1032
+ * @param {string[]} request.requiredOneOfAttributes
1033
+ * Restricts the response to vehicles with at least one of the specified
1034
+ * attributes in each `VehicleAttributeList`. Within each list, a vehicle must
1035
+ * match at least one of the attributes. This field is an inclusive
1036
+ * disjunction/OR operation in each `VehicleAttributeList` and a
1037
+ * conjunction/AND operation across the collection of `VehicleAttributeList`.
1038
+ * Each repeated string should be of the format
1039
+ * "key1:value1|key2:value2|key3:value3".
1040
+ * @param {string[]} request.requiredOneOfAttributeSets
1041
+ * `required_one_of_attribute_sets` provides additional functionality.
1042
+ *
1043
+ * Similar to `required_one_of_attributes`, `required_one_of_attribute_sets`
1044
+ * uses a message which allows a list of lists, allowing expressions such as
1045
+ * this one:
1046
+ *
1047
+ * ```
1048
+ * (required_attributes[0] AND required_attributes[1] AND ...)
1049
+ * AND
1050
+ * (
1051
+ * (required_one_of_attribute_sets{@link protos.0|0} AND
1052
+ * required_one_of_attribute_sets{@link protos.1|0} AND
1053
+ * ...)
1054
+ * OR
1055
+ * (required_one_of_attribute_sets{@link protos.0|1} AND
1056
+ * required_one_of_attribute_sets{@link protos.1|1} AND
1057
+ * ...)
1058
+ * )
1059
+ * ```
1060
+ *
1061
+ * Restricts the response to vehicles that match all the attributes in a
1062
+ * `VehicleAttributeList`. Within each list, a vehicle must match all of the
1063
+ * attributes. This field is a conjunction/AND operation in each
1064
+ * `VehicleAttributeList` and inclusive disjunction/OR operation across the
1065
+ * collection of `VehicleAttributeList`. Each repeated string should be of the
1066
+ * format "key1:value1|key2:value2|key3:value3".
1067
+ * @param {maps.fleetengine.v1.VehicleState} request.vehicleState
1068
+ * Restricts the response to vehicles that have this vehicle state.
1069
+ * @param {boolean} request.onTripOnly
1070
+ * Only return the vehicles with current trip(s).
1071
+ * @param {string} [request.filter]
1072
+ * Optional. A filter query to apply when listing vehicles. See
1073
+ * http://aip.dev/160 for examples of the filter syntax.
1074
+ *
1075
+ * This field is designed to replace the `required_attributes`,
1076
+ * `required_one_of_attributes`, and `required_one_of_attributes_sets` fields.
1077
+ * If a non-empty value is specified here, the following fields must be empty:
1078
+ * `required_attributes`, `required_one_of_attributes`, and
1079
+ * `required_one_of_attributes_sets`.
1080
+ *
1081
+ * This filter functions as an AND clause with other constraints,
1082
+ * such as `vehicle_state` or `on_trip_only`.
1083
+ *
1084
+ * Note that the only queries supported are on vehicle attributes (for
1085
+ * example, `attributes.<key> = <value>` or `attributes.<key1> = <value1> AND
1086
+ * attributes.<key2> = <value2>`). The maximum number of restrictions allowed
1087
+ * in a filter query is 50.
1088
+ *
1089
+ * Also, all attributes are stored as strings, so the only supported
1090
+ * comparisons against attributes are string comparisons. In order to compare
1091
+ * against number or boolean values, the values must be explicitly quoted to
1092
+ * be treated as strings (for example, `attributes.<key> = "10"` or
1093
+ * `attributes.<key> = "true"`).
1094
+ * @param {google.geo.type.Viewport} [request.viewport]
1095
+ * Optional. A filter that limits the vehicles returned to those whose last
1096
+ * known location was in the rectangular area defined by the viewport.
1097
+ * @param {object} [options]
1098
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1099
+ * @returns {Object}
1100
+ * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
1101
+ * When you iterate the returned iterable, each element will be an object representing
1102
+ * {@link protos.maps.fleetengine.v1.Vehicle|Vehicle}. The API will be called under the hood as needed, once per the page,
1103
+ * so you can stop the iteration when you don't need more results.
1104
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1105
+ * for more details and examples.
1106
+ * @example <caption>include:samples/generated/v1/vehicle_service.list_vehicles.js</caption>
1107
+ * region_tag:fleetengine_v1_generated_VehicleService_ListVehicles_async
1108
+ */
1109
+ listVehiclesAsync(request?: protos.maps.fleetengine.v1.IListVehiclesRequest, options?: CallOptions): AsyncIterable<protos.maps.fleetengine.v1.IVehicle>;
1110
+ /**
1111
+ * Return a fully-qualified trip resource name string.
1112
+ *
1113
+ * @param {string} provider
1114
+ * @param {string} trip
1115
+ * @returns {string} Resource name string.
1116
+ */
1117
+ tripPath(provider: string, trip: string): string;
1118
+ /**
1119
+ * Parse the provider from Trip resource.
1120
+ *
1121
+ * @param {string} tripName
1122
+ * A fully-qualified path representing Trip resource.
1123
+ * @returns {string} A string representing the provider.
1124
+ */
1125
+ matchProviderFromTripName(tripName: string): string | number;
1126
+ /**
1127
+ * Parse the trip from Trip resource.
1128
+ *
1129
+ * @param {string} tripName
1130
+ * A fully-qualified path representing Trip resource.
1131
+ * @returns {string} A string representing the trip.
1132
+ */
1133
+ matchTripFromTripName(tripName: string): string | number;
1134
+ /**
1135
+ * Return a fully-qualified vehicle resource name string.
1136
+ *
1137
+ * @param {string} provider
1138
+ * @param {string} vehicle
1139
+ * @returns {string} Resource name string.
1140
+ */
1141
+ vehiclePath(provider: string, vehicle: string): string;
1142
+ /**
1143
+ * Parse the provider from Vehicle resource.
1144
+ *
1145
+ * @param {string} vehicleName
1146
+ * A fully-qualified path representing Vehicle resource.
1147
+ * @returns {string} A string representing the provider.
1148
+ */
1149
+ matchProviderFromVehicleName(vehicleName: string): string | number;
1150
+ /**
1151
+ * Parse the vehicle from Vehicle resource.
1152
+ *
1153
+ * @param {string} vehicleName
1154
+ * A fully-qualified path representing Vehicle resource.
1155
+ * @returns {string} A string representing the vehicle.
1156
+ */
1157
+ matchVehicleFromVehicleName(vehicleName: string): string | number;
1158
+ /**
1159
+ * Terminate the gRPC channel and close the client.
1160
+ *
1161
+ * The client will no longer be usable and all future behavior is undefined.
1162
+ * @returns {Promise} A promise that resolves when the client is closed.
1163
+ */
1164
+ close(): Promise<void>;
1165
+ }