google-maps-fleet_engine-v1 0.a → 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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/maps/fleet_engine/v1/rest.rb +38 -0
  6. data/lib/google/maps/fleet_engine/v1/trip_service/client.rb +996 -0
  7. data/lib/google/maps/fleet_engine/v1/trip_service/credentials.rb +47 -0
  8. data/lib/google/maps/fleet_engine/v1/trip_service/paths.rb +50 -0
  9. data/lib/google/maps/fleet_engine/v1/trip_service/rest/client.rb +930 -0
  10. data/lib/google/maps/fleet_engine/v1/trip_service/rest/service_stub.rb +368 -0
  11. data/lib/google/maps/fleet_engine/v1/trip_service/rest.rb +52 -0
  12. data/lib/google/maps/fleet_engine/v1/trip_service.rb +55 -0
  13. data/lib/google/maps/fleet_engine/v1/vehicle_service/client.rb +1639 -0
  14. data/lib/google/maps/fleet_engine/v1/vehicle_service/credentials.rb +47 -0
  15. data/lib/google/maps/fleet_engine/v1/vehicle_service/paths.rb +50 -0
  16. data/lib/google/maps/fleet_engine/v1/vehicle_service/rest/client.rb +1545 -0
  17. data/lib/google/maps/fleet_engine/v1/vehicle_service/rest/service_stub.rb +547 -0
  18. data/lib/google/maps/fleet_engine/v1/vehicle_service/rest.rb +52 -0
  19. data/lib/google/maps/fleet_engine/v1/vehicle_service.rb +55 -0
  20. data/lib/google/maps/fleet_engine/v1/version.rb +8 -3
  21. data/lib/google/maps/fleet_engine/v1.rb +46 -0
  22. data/lib/google/maps/fleetengine/v1/fleetengine_pb.rb +63 -0
  23. data/lib/google/maps/fleetengine/v1/header_pb.rb +46 -0
  24. data/lib/google/maps/fleetengine/v1/traffic_pb.rb +44 -0
  25. data/lib/google/maps/fleetengine/v1/trip_api_pb.rb +66 -0
  26. data/lib/google/maps/fleetengine/v1/trip_api_services_pb.rb +53 -0
  27. data/lib/google/maps/fleetengine/v1/trips_pb.rb +61 -0
  28. data/lib/google/maps/fleetengine/v1/vehicle_api_pb.rb +81 -0
  29. data/lib/google/maps/fleetengine/v1/vehicle_api_services_pb.rb +108 -0
  30. data/lib/google/maps/fleetengine/v1/vehicles_pb.rb +64 -0
  31. data/lib/google-maps-fleet_engine-v1.rb +21 -0
  32. data/proto_docs/README.md +4 -0
  33. data/proto_docs/google/api/client.rb +399 -0
  34. data/proto_docs/google/api/field_behavior.rb +85 -0
  35. data/proto_docs/google/api/launch_stage.rb +71 -0
  36. data/proto_docs/google/api/resource.rb +222 -0
  37. data/proto_docs/google/api/routing.rb +459 -0
  38. data/proto_docs/google/geo/type/viewport.rb +70 -0
  39. data/proto_docs/google/maps/fleetengine/v1/fleetengine.rb +342 -0
  40. data/proto_docs/google/maps/fleetengine/v1/header.rb +111 -0
  41. data/proto_docs/google/maps/fleetengine/v1/traffic.rb +76 -0
  42. data/proto_docs/google/maps/fleetengine/v1/trip_api.rb +296 -0
  43. data/proto_docs/google/maps/fleetengine/v1/trips.rb +286 -0
  44. data/proto_docs/google/maps/fleetengine/v1/vehicle_api.rb +684 -0
  45. data/proto_docs/google/maps/fleetengine/v1/vehicles.rb +358 -0
  46. data/proto_docs/google/protobuf/duration.rb +98 -0
  47. data/proto_docs/google/protobuf/empty.rb +34 -0
  48. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  49. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  50. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  51. data/proto_docs/google/type/latlng.rb +38 -0
  52. metadata +119 -13
@@ -0,0 +1,684 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Maps
22
+ module FleetEngine
23
+ module V1
24
+ # `CreateVehicle` request message.
25
+ # @!attribute [rw] header
26
+ # @return [::Google::Maps::FleetEngine::V1::RequestHeader]
27
+ # The standard Fleet Engine request header.
28
+ # @!attribute [rw] parent
29
+ # @return [::String]
30
+ # Required. Must be in the format `providers/{provider}`.
31
+ # The provider must be the Project ID (for example, `sample-cloud-project`)
32
+ # of the Google Cloud Project of which the service account making
33
+ # this call is a member.
34
+ # @!attribute [rw] vehicle_id
35
+ # @return [::String]
36
+ # Required. Unique Vehicle ID.
37
+ # Subject to the following restrictions:
38
+ #
39
+ # * Must be a valid Unicode string.
40
+ # * Limited to a maximum length of 64 characters.
41
+ # * Normalized according to [Unicode Normalization Form C]
42
+ # (http://www.unicode.org/reports/tr15/).
43
+ # * May not contain any of the following ASCII characters: '/', ':', '?',
44
+ # ',', or '#'.
45
+ # @!attribute [rw] vehicle
46
+ # @return [::Google::Maps::FleetEngine::V1::Vehicle]
47
+ # Required. The Vehicle entity to create. When creating a Vehicle, the
48
+ # following fields are required:
49
+ #
50
+ # * `vehicleState`
51
+ # * `supportedTripTypes`
52
+ # * `maximumCapacity`
53
+ # * `vehicleType`
54
+ #
55
+ # When creating a Vehicle, the following fields are ignored:
56
+ #
57
+ # * `name`
58
+ # * `currentTrips`
59
+ # * `availableCapacity`
60
+ # * `current_route_segment`
61
+ # * `current_route_segment_end_point`
62
+ # * `current_route_segment_version`
63
+ # * `current_route_segment_traffic`
64
+ # * `route`
65
+ # * `waypoints`
66
+ # * `waypoints_version`
67
+ # * `remaining_distance_meters`
68
+ # * `remaining_time_seconds`
69
+ # * `eta_to_next_waypoint`
70
+ # * `navigation_status`
71
+ #
72
+ # All other fields are optional and used if provided.
73
+ class CreateVehicleRequest
74
+ include ::Google::Protobuf::MessageExts
75
+ extend ::Google::Protobuf::MessageExts::ClassMethods
76
+ end
77
+
78
+ # `GetVehicle` request message.
79
+ # @!attribute [rw] header
80
+ # @return [::Google::Maps::FleetEngine::V1::RequestHeader]
81
+ # The standard Fleet Engine request header.
82
+ # @!attribute [rw] name
83
+ # @return [::String]
84
+ # Required. Must be in the format
85
+ # `providers/{provider}/vehicles/{vehicle}`.
86
+ # The provider must be the Project ID (for example, `sample-cloud-project`)
87
+ # of the Google Cloud Project of which the service account making
88
+ # this call is a member.
89
+ # @!attribute [rw] current_route_segment_version
90
+ # @return [::Google::Protobuf::Timestamp]
91
+ # Indicates the minimum timestamp (exclusive) for which
92
+ # `Vehicle.current_route_segment` is retrieved.
93
+ # If the route is unchanged since this timestamp, the `current_route_segment`
94
+ # field is not set in the response. If a minimum is unspecified, the
95
+ # `current_route_segment` is always retrieved.
96
+ # @!attribute [rw] waypoints_version
97
+ # @return [::Google::Protobuf::Timestamp]
98
+ # Indicates the minimum timestamp (exclusive) for which `Vehicle.waypoints`
99
+ # data is retrieved. If the waypoints are unchanged since this timestamp, the
100
+ # `vehicle.waypoints` data is not set in the response. If this field is
101
+ # unspecified, `vehicle.waypoints` is always retrieved.
102
+ class GetVehicleRequest
103
+ include ::Google::Protobuf::MessageExts
104
+ extend ::Google::Protobuf::MessageExts::ClassMethods
105
+ end
106
+
107
+ # `UpdateVehicle request message.
108
+ # @!attribute [rw] header
109
+ # @return [::Google::Maps::FleetEngine::V1::RequestHeader]
110
+ # The standard Fleet Engine request header.
111
+ # @!attribute [rw] name
112
+ # @return [::String]
113
+ # Required. Must be in the format
114
+ # `providers/{provider}/vehicles/{vehicle}`.
115
+ # The \\{provider} must be the Project ID (for example, `sample-cloud-project`)
116
+ # of the Google Cloud Project of which the service account making
117
+ # this call is a member.
118
+ # @!attribute [rw] vehicle
119
+ # @return [::Google::Maps::FleetEngine::V1::Vehicle]
120
+ # Required. The `Vehicle` entity values to apply. When updating a `Vehicle`,
121
+ # the following fields may not be updated as they are managed by the
122
+ # server.
123
+ #
124
+ # * `available_capacity`
125
+ # * `current_route_segment_version`
126
+ # * `current_trips`
127
+ # * `name`
128
+ # * `waypoints_version`
129
+ #
130
+ # If the `attributes` field is updated, **all** the vehicle's attributes are
131
+ # replaced with the attributes provided in the request. If you want to update
132
+ # only some attributes, see the `UpdateVehicleAttributes` method.
133
+ #
134
+ # Likewise, the `waypoints` field can be updated, but must contain all the
135
+ # waypoints currently on the vehicle, and no other waypoints.
136
+ # @!attribute [rw] update_mask
137
+ # @return [::Google::Protobuf::FieldMask]
138
+ # Required. A field mask indicating which fields of the `Vehicle` to update.
139
+ # At least one field name must be provided.
140
+ class UpdateVehicleRequest
141
+ include ::Google::Protobuf::MessageExts
142
+ extend ::Google::Protobuf::MessageExts::ClassMethods
143
+ end
144
+
145
+ # `UpdateVehicleLocation` request message.
146
+ # @deprecated This message is deprecated and may be removed in the next major version update.
147
+ # @!attribute [rw] header
148
+ # @return [::Google::Maps::FleetEngine::V1::RequestHeader]
149
+ # The standard Fleet Engine request header.
150
+ # @!attribute [rw] name
151
+ # @return [::String]
152
+ # Required. Must be in the format
153
+ # `providers/{provider}/vehicles/{vehicle}`.
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
+ # @!attribute [rw] current_location
158
+ # @return [::Google::Maps::FleetEngine::V1::VehicleLocation]
159
+ # Required. The vehicle's most recent location. The `location` and
160
+ # `update_time` subfields are required.
161
+ # @!attribute [rw] current_state
162
+ # @return [::Google::Maps::FleetEngine::V1::VehicleState]
163
+ # Set the vehicle's state to either `ONLINE` or `OFFLINE`.
164
+ # If set to `UNKNOWN_VEHICLE_STATE`, the vehicle's state will not be altered.
165
+ class UpdateVehicleLocationRequest
166
+ include ::Google::Protobuf::MessageExts
167
+ extend ::Google::Protobuf::MessageExts::ClassMethods
168
+ end
169
+
170
+ # `UpdateVehicleAttributes` request message.
171
+ # @!attribute [rw] header
172
+ # @return [::Google::Maps::FleetEngine::V1::RequestHeader]
173
+ # The standard Fleet Engine request header.
174
+ # @!attribute [rw] name
175
+ # @return [::String]
176
+ # Required. Must be in the format `providers/{provider}/vehicles/{vehicle}`.
177
+ # The provider must be the Project ID (for example, `sample-cloud-project`)
178
+ # of the Google Cloud Project of which the service account making
179
+ # this call is a member.
180
+ # @!attribute [rw] attributes
181
+ # @return [::Array<::Google::Maps::FleetEngine::V1::VehicleAttribute>]
182
+ # Required. The vehicle attributes to update. Unmentioned attributes are not
183
+ # altered or removed.
184
+ class UpdateVehicleAttributesRequest
185
+ include ::Google::Protobuf::MessageExts
186
+ extend ::Google::Protobuf::MessageExts::ClassMethods
187
+ end
188
+
189
+ # `UpdateVehicleAttributes` response message.
190
+ # @!attribute [rw] attributes
191
+ # @return [::Array<::Google::Maps::FleetEngine::V1::VehicleAttribute>]
192
+ # Required. The updated full list of vehicle attributes, including new,
193
+ # altered, and untouched attributes.
194
+ class UpdateVehicleAttributesResponse
195
+ include ::Google::Protobuf::MessageExts
196
+ extend ::Google::Protobuf::MessageExts::ClassMethods
197
+ end
198
+
199
+ # `SearchVehicles` request message.
200
+ # @!attribute [rw] header
201
+ # @return [::Google::Maps::FleetEngine::V1::RequestHeader]
202
+ # The standard Fleet Engine request header.
203
+ # @!attribute [rw] parent
204
+ # @return [::String]
205
+ # Required. Must be in the format `providers/{provider}`.
206
+ # The provider must be the Project ID (for example, `sample-cloud-project`)
207
+ # of the Google Cloud Project of which the service account making
208
+ # this call is a member.
209
+ # @!attribute [rw] pickup_point
210
+ # @return [::Google::Maps::FleetEngine::V1::TerminalLocation]
211
+ # Required. The pickup point to search near.
212
+ # @!attribute [rw] dropoff_point
213
+ # @return [::Google::Maps::FleetEngine::V1::TerminalLocation]
214
+ # The customer's intended dropoff location. The field is required if
215
+ # `trip_types` contains `TripType.SHARED`.
216
+ # @!attribute [rw] pickup_radius_meters
217
+ # @return [::Integer]
218
+ # Required. Defines the vehicle search radius around the pickup point. Only
219
+ # vehicles within the search radius will be returned. Value must be between
220
+ # 400 and 10000 meters (inclusive).
221
+ # @!attribute [rw] count
222
+ # @return [::Integer]
223
+ # Required. Specifies the maximum number of vehicles to return. The value
224
+ # must be between 1 and 50 (inclusive).
225
+ # @!attribute [rw] minimum_capacity
226
+ # @return [::Integer]
227
+ # Required. Specifies the number of passengers being considered for a trip.
228
+ # The value must be greater than or equal to one. The driver is not
229
+ # considered in the capacity value.
230
+ # @!attribute [rw] trip_types
231
+ # @return [::Array<::Google::Maps::FleetEngine::V1::TripType>]
232
+ # Required. Represents the type of proposed trip. Must include exactly one
233
+ # type. `UNKNOWN_TRIP_TYPE` is not allowed. Restricts the search to only
234
+ # those vehicles that can support that trip type.
235
+ # @!attribute [rw] maximum_staleness
236
+ # @return [::Google::Protobuf::Duration]
237
+ # Restricts the search to only those vehicles that have sent location updates
238
+ # to Fleet Engine within the specified duration. Stationary vehicles still
239
+ # transmitting their locations are not considered stale. If this field is not
240
+ # set, the server uses five minutes as the default value.
241
+ # @!attribute [rw] vehicle_types
242
+ # @return [::Array<::Google::Maps::FleetEngine::V1::Vehicle::VehicleType>]
243
+ # Required. Restricts the search to vehicles with one of the specified types.
244
+ # At least one vehicle type must be specified. VehicleTypes with a category
245
+ # of `UNKNOWN` are not allowed.
246
+ # @!attribute [rw] required_attributes
247
+ # @return [::Array<::Google::Maps::FleetEngine::V1::VehicleAttribute>]
248
+ # Callers can form complex logical operations using any combination of the
249
+ # `required_attributes`, `required_one_of_attributes`, and
250
+ # `required_one_of_attribute_sets` fields.
251
+ #
252
+ # `required_attributes` is a list; `required_one_of_attributes` uses a
253
+ # message which allows a list of lists. In combination, the two fields allow
254
+ # the composition of this expression:
255
+ #
256
+ # ```
257
+ # (required_attributes[0] AND required_attributes[1] AND ...)
258
+ # AND
259
+ # (required_one_of_attributes[0][0] OR required_one_of_attributes[0][1] OR
260
+ # ...)
261
+ # AND
262
+ # (required_one_of_attributes[1][0] OR required_one_of_attributes[1][1] OR
263
+ # ...)
264
+ # ```
265
+ #
266
+ # Restricts the search to only those vehicles with the specified attributes.
267
+ # This field is a conjunction/AND operation. A max of 50 required_attributes
268
+ # is allowed. This matches the maximum number of attributes allowed on a
269
+ # vehicle.
270
+ # @!attribute [rw] required_one_of_attributes
271
+ # @return [::Array<::Google::Maps::FleetEngine::V1::VehicleAttributeList>]
272
+ # Restricts the search to only those vehicles with at least one of
273
+ # the specified attributes in each `VehicleAttributeList`. Within each
274
+ # list, a vehicle must match at least one of the attributes. This field is an
275
+ # inclusive disjunction/OR operation in each `VehicleAttributeList` and a
276
+ # conjunction/AND operation across the collection of `VehicleAttributeList`.
277
+ # @!attribute [rw] required_one_of_attribute_sets
278
+ # @return [::Array<::Google::Maps::FleetEngine::V1::VehicleAttributeList>]
279
+ # `required_one_of_attribute_sets` provides additional functionality.
280
+ #
281
+ # Similar to `required_one_of_attributes`, `required_one_of_attribute_sets`
282
+ # uses a message which allows a list of lists, allowing expressions such as
283
+ # this one:
284
+ #
285
+ # ```
286
+ # (required_attributes[0] AND required_attributes[1] AND ...)
287
+ # AND
288
+ # (
289
+ # (required_one_of_attribute_sets[0][0] AND
290
+ # required_one_of_attribute_sets[0][1] AND
291
+ # ...)
292
+ # OR
293
+ # (required_one_of_attribute_sets[1][0] AND
294
+ # required_one_of_attribute_sets[1][1] AND
295
+ # ...)
296
+ # )
297
+ # ```
298
+ #
299
+ # Restricts the search to only those vehicles with all the attributes in a
300
+ # `VehicleAttributeList`. Within each list, a
301
+ # vehicle must match all of the attributes. This field is a conjunction/AND
302
+ # operation in each `VehicleAttributeList` and inclusive disjunction/OR
303
+ # operation across the collection of `VehicleAttributeList`.
304
+ # @!attribute [rw] order_by
305
+ # @return [::Google::Maps::FleetEngine::V1::SearchVehiclesRequest::VehicleMatchOrder]
306
+ # Required. Specifies the desired ordering criterion for results.
307
+ # @!attribute [rw] include_back_to_back
308
+ # @return [::Boolean]
309
+ # This indicates if vehicles with a single active trip are eligible for this
310
+ # search. This field is only used when `current_trips_present` is
311
+ # unspecified. When `current_trips_present` is unspecified and this field
312
+ # is `false`, vehicles with assigned trips are excluded from the search
313
+ # results. When `current_trips_present` is unspecified and this field is
314
+ # `true`, search results can include vehicles with one active trip that has a
315
+ # status of `ENROUTE_TO_DROPOFF`. When `current_trips_present` is specified,
316
+ # this field cannot be set to true.
317
+ #
318
+ # The default value is `false`.
319
+ # @!attribute [rw] trip_id
320
+ # @return [::String]
321
+ # Indicates the trip associated with this `SearchVehicleRequest`.
322
+ # @!attribute [rw] current_trips_present
323
+ # @return [::Google::Maps::FleetEngine::V1::SearchVehiclesRequest::CurrentTripsPresent]
324
+ # This indicates if vehicles with active trips are eligible for this search.
325
+ # This must be set to something other than
326
+ # `CURRENT_TRIPS_PRESENT_UNSPECIFIED` if `trip_type` includes `SHARED`.
327
+ # @!attribute [rw] filter
328
+ # @return [::String]
329
+ # Optional. A filter query to apply when searching vehicles. See
330
+ # http://aip.dev/160 for examples of the filter syntax.
331
+ #
332
+ # This field is designed to replace the `required_attributes`,
333
+ # `required_one_of_attributes`, and `required_one_of_attributes_sets` fields.
334
+ # If a non-empty value is specified here, the following fields must be empty:
335
+ # `required_attributes`, `required_one_of_attributes`, and
336
+ # `required_one_of_attributes_sets`.
337
+ #
338
+ # This filter functions as an AND clause with other constraints,
339
+ # such as `minimum_capacity` or `vehicle_types`.
340
+ #
341
+ # Note that the only queries supported are on vehicle attributes (for
342
+ # example, `attributes.<key> = <value>` or `attributes.<key1> = <value1> AND
343
+ # attributes.<key2> = <value2>`). The maximum number of restrictions allowed
344
+ # in a filter query is 50.
345
+ #
346
+ # Also, all attributes are stored as strings, so the only supported
347
+ # comparisons against attributes are string comparisons. In order to compare
348
+ # against number or boolean values, the values must be explicitly quoted to
349
+ # be treated as strings (for example, `attributes.<key> = "10"` or
350
+ # `attributes.<key> = "true"`).
351
+ class SearchVehiclesRequest
352
+ include ::Google::Protobuf::MessageExts
353
+ extend ::Google::Protobuf::MessageExts::ClassMethods
354
+
355
+ # Specifies the order of the vehicle matches in the response.
356
+ module VehicleMatchOrder
357
+ # Default, used for unspecified or unrecognized vehicle matches order.
358
+ UNKNOWN_VEHICLE_MATCH_ORDER = 0
359
+
360
+ # Ascending order by vehicle driving time to the pickup point.
361
+ PICKUP_POINT_ETA = 1
362
+
363
+ # Ascending order by vehicle driving distance to the pickup point.
364
+ PICKUP_POINT_DISTANCE = 2
365
+
366
+ # Ascending order by vehicle driving time to the dropoff point. This order
367
+ # can only be used if the dropoff point is specified in the request.
368
+ DROPOFF_POINT_ETA = 3
369
+
370
+ # Ascending order by straight-line distance from the vehicle's last
371
+ # reported location to the pickup point.
372
+ PICKUP_POINT_STRAIGHT_DISTANCE = 4
373
+
374
+ # Ascending order by the configured match cost. Match cost is defined as a
375
+ # weighted calculation between straight-line distance and ETA. Weights are
376
+ # set with default values and can be modified per customer. Please contact
377
+ # Google support if these weights need to be modified for your project.
378
+ COST = 5
379
+ end
380
+
381
+ # Specifies the types of restrictions on a vehicle's current trips.
382
+ module CurrentTripsPresent
383
+ # The availability of vehicles with trips present is governed by the
384
+ # `include_back_to_back` field.
385
+ CURRENT_TRIPS_PRESENT_UNSPECIFIED = 0
386
+
387
+ # Vehicles without trips can appear in search results. When this value is
388
+ # used, `include_back_to_back` cannot be `true`.
389
+ NONE = 1
390
+
391
+ # Vehicles with at most 5 current trips and 10 waypoints are included
392
+ # in the search results. When this value is used, `include_back_to_back`
393
+ # cannot be `true`.
394
+ ANY = 2
395
+ end
396
+ end
397
+
398
+ # `SearchVehicles` response message.
399
+ # @!attribute [rw] matches
400
+ # @return [::Array<::Google::Maps::FleetEngine::V1::VehicleMatch>]
401
+ # List of vehicles that match the `SearchVehiclesRequest` criteria, ordered
402
+ # according to `SearchVehiclesRequest.order_by` field.
403
+ class SearchVehiclesResponse
404
+ include ::Google::Protobuf::MessageExts
405
+ extend ::Google::Protobuf::MessageExts::ClassMethods
406
+ end
407
+
408
+ # `ListVehicles` request message.
409
+ # @!attribute [rw] header
410
+ # @return [::Google::Maps::FleetEngine::V1::RequestHeader]
411
+ # The standard Fleet Engine request header.
412
+ # @!attribute [rw] parent
413
+ # @return [::String]
414
+ # Required. Must be in the format `providers/{provider}`.
415
+ # The provider must be the Project ID (for example, `sample-cloud-project`)
416
+ # of the Google Cloud Project of which the service account making
417
+ # this call is a member.
418
+ # @!attribute [rw] page_size
419
+ # @return [::Integer]
420
+ # The maximum number of vehicles to return.
421
+ # Default value: 100.
422
+ # @!attribute [rw] page_token
423
+ # @return [::String]
424
+ # The value of the `next_page_token` provided by a previous call to
425
+ # `ListVehicles` so that you can paginate through groups of vehicles. The
426
+ # value is undefined if the filter criteria of the request is not the same as
427
+ # the filter criteria for the previous call to `ListVehicles`.
428
+ # @!attribute [rw] minimum_capacity
429
+ # @return [::Google::Protobuf::Int32Value]
430
+ # Specifies the required minimum capacity of the vehicle. All vehicles
431
+ # returned will have a `maximum_capacity` greater than or equal to this
432
+ # value. If set, must be greater or equal to 0.
433
+ # @!attribute [rw] trip_types
434
+ # @return [::Array<::Google::Maps::FleetEngine::V1::TripType>]
435
+ # Restricts the response to vehicles that support at least one of the
436
+ # specified trip types.
437
+ # @!attribute [rw] maximum_staleness
438
+ # @return [::Google::Protobuf::Duration]
439
+ # Restricts the response to vehicles that have sent location updates to Fleet
440
+ # Engine within the specified duration. Stationary vehicles still
441
+ # transmitting their locations are not considered stale. If present, must be
442
+ # a valid positive duration.
443
+ # @!attribute [rw] vehicle_type_categories
444
+ # @return [::Array<::Google::Maps::FleetEngine::V1::Vehicle::VehicleType::Category>]
445
+ # Required. Restricts the response to vehicles with one of the specified type
446
+ # categories. `UNKNOWN` is not allowed.
447
+ # @!attribute [rw] required_attributes
448
+ # @return [::Array<::String>]
449
+ # Callers can form complex logical operations using any combination of the
450
+ # `required_attributes`, `required_one_of_attributes`, and
451
+ # `required_one_of_attribute_sets` fields.
452
+ #
453
+ # `required_attributes` is a list; `required_one_of_attributes` uses a
454
+ # message which allows a list of lists. In combination, the two fields allow
455
+ # the composition of this expression:
456
+ #
457
+ # ```
458
+ # (required_attributes[0] AND required_attributes[1] AND ...)
459
+ # AND
460
+ # (required_one_of_attributes[0][0] OR required_one_of_attributes[0][1] OR
461
+ # ...)
462
+ # AND
463
+ # (required_one_of_attributes[1][0] OR required_one_of_attributes[1][1] OR
464
+ # ...)
465
+ # ```
466
+ #
467
+ # Restricts the response to vehicles with the specified attributes. This
468
+ # field is a conjunction/AND operation. A max of 50 required_attributes is
469
+ # allowed. This matches the maximum number of attributes allowed on a
470
+ # vehicle. Each repeated string should be of the format "key:value".
471
+ # @!attribute [rw] required_one_of_attributes
472
+ # @return [::Array<::String>]
473
+ # Restricts the response to vehicles with at least one of the specified
474
+ # attributes in each `VehicleAttributeList`. Within each list, a vehicle must
475
+ # match at least one of the attributes. This field is an inclusive
476
+ # disjunction/OR operation in each `VehicleAttributeList` and a
477
+ # conjunction/AND operation across the collection of `VehicleAttributeList`.
478
+ # Each repeated string should be of the format
479
+ # "key1:value1|key2:value2|key3:value3".
480
+ # @!attribute [rw] required_one_of_attribute_sets
481
+ # @return [::Array<::String>]
482
+ # `required_one_of_attribute_sets` provides additional functionality.
483
+ #
484
+ # Similar to `required_one_of_attributes`, `required_one_of_attribute_sets`
485
+ # uses a message which allows a list of lists, allowing expressions such as
486
+ # this one:
487
+ #
488
+ # ```
489
+ # (required_attributes[0] AND required_attributes[1] AND ...)
490
+ # AND
491
+ # (
492
+ # (required_one_of_attribute_sets[0][0] AND
493
+ # required_one_of_attribute_sets[0][1] AND
494
+ # ...)
495
+ # OR
496
+ # (required_one_of_attribute_sets[1][0] AND
497
+ # required_one_of_attribute_sets[1][1] AND
498
+ # ...)
499
+ # )
500
+ # ```
501
+ #
502
+ # Restricts the response to vehicles that match all the attributes in a
503
+ # `VehicleAttributeList`. Within each list, a vehicle must match all of the
504
+ # attributes. This field is a conjunction/AND operation in each
505
+ # `VehicleAttributeList` and inclusive disjunction/OR operation across the
506
+ # collection of `VehicleAttributeList`. Each repeated string should be of the
507
+ # format "key1:value1|key2:value2|key3:value3".
508
+ # @!attribute [rw] vehicle_state
509
+ # @return [::Google::Maps::FleetEngine::V1::VehicleState]
510
+ # Restricts the response to vehicles that have this vehicle state.
511
+ # @!attribute [rw] on_trip_only
512
+ # @return [::Boolean]
513
+ # Only return the vehicles with current trip(s).
514
+ # @!attribute [rw] filter
515
+ # @return [::String]
516
+ # Optional. A filter query to apply when listing vehicles. See
517
+ # http://aip.dev/160 for examples of the filter syntax.
518
+ #
519
+ # This field is designed to replace the `required_attributes`,
520
+ # `required_one_of_attributes`, and `required_one_of_attributes_sets` fields.
521
+ # If a non-empty value is specified here, the following fields must be empty:
522
+ # `required_attributes`, `required_one_of_attributes`, and
523
+ # `required_one_of_attributes_sets`.
524
+ #
525
+ # This filter functions as an AND clause with other constraints,
526
+ # such as `vehicle_state` or `on_trip_only`.
527
+ #
528
+ # Note that the only queries supported are on vehicle attributes (for
529
+ # example, `attributes.<key> = <value>` or `attributes.<key1> = <value1> AND
530
+ # attributes.<key2> = <value2>`). The maximum number of restrictions allowed
531
+ # in a filter query is 50.
532
+ #
533
+ # Also, all attributes are stored as strings, so the only supported
534
+ # comparisons against attributes are string comparisons. In order to compare
535
+ # against number or boolean values, the values must be explicitly quoted to
536
+ # be treated as strings (for example, `attributes.<key> = "10"` or
537
+ # `attributes.<key> = "true"`).
538
+ # @!attribute [rw] viewport
539
+ # @return [::Google::Geo::Type::Viewport]
540
+ # Optional. A filter that limits the vehicles returned to those whose last
541
+ # known location was in the rectangular area defined by the viewport.
542
+ class ListVehiclesRequest
543
+ include ::Google::Protobuf::MessageExts
544
+ extend ::Google::Protobuf::MessageExts::ClassMethods
545
+ end
546
+
547
+ # `ListVehicles` response message.
548
+ # @!attribute [rw] vehicles
549
+ # @return [::Array<::Google::Maps::FleetEngine::V1::Vehicle>]
550
+ # Vehicles matching the criteria in the request.
551
+ # The maximum number of vehicles returned is determined by the `page_size`
552
+ # field in the request.
553
+ # @!attribute [rw] next_page_token
554
+ # @return [::String]
555
+ # Token to retrieve the next page of vehicles, or empty if there are no
556
+ # more vehicles that meet the request criteria.
557
+ # @!attribute [rw] total_size
558
+ # @return [::Integer]
559
+ # Required. Total number of vehicles matching the request criteria across all
560
+ # pages.
561
+ class ListVehiclesResponse
562
+ include ::Google::Protobuf::MessageExts
563
+ extend ::Google::Protobuf::MessageExts::ClassMethods
564
+ end
565
+
566
+ # Describes intermediate points along a route for a `VehicleMatch` in a
567
+ # `SearchVehiclesResponse`. This concept is represented as a `TripWaypoint` in
568
+ # all other endpoints.
569
+ # @!attribute [rw] lat_lng
570
+ # @return [::Google::Type::LatLng]
571
+ # The location of this waypoint.
572
+ # @!attribute [rw] eta
573
+ # @return [::Google::Protobuf::Timestamp]
574
+ # The estimated time that the vehicle will arrive at this waypoint.
575
+ class Waypoint
576
+ include ::Google::Protobuf::MessageExts
577
+ extend ::Google::Protobuf::MessageExts::ClassMethods
578
+ end
579
+
580
+ # Contains the vehicle and related estimates for a vehicle that match the
581
+ # points of active trips for the vehicle `SearchVehiclesRequest`.
582
+ # @!attribute [rw] vehicle
583
+ # @return [::Google::Maps::FleetEngine::V1::Vehicle]
584
+ # Required. A vehicle that matches the request.
585
+ # @!attribute [rw] vehicle_pickup_eta
586
+ # @return [::Google::Protobuf::Timestamp]
587
+ # The vehicle's driving ETA to the pickup point specified in the
588
+ # request. An empty value indicates a failure in calculating ETA for the
589
+ # vehicle. If `SearchVehiclesRequest.include_back_to_back` was `true` and
590
+ # this vehicle has an active trip, `vehicle_pickup_eta` includes the time
591
+ # required to complete the current active trip.
592
+ # @!attribute [rw] vehicle_pickup_distance_meters
593
+ # @return [::Google::Protobuf::Int32Value]
594
+ # The distance from the Vehicle's current location to the pickup point
595
+ # specified in the request, including any intermediate pickup or dropoff
596
+ # points for existing trips. This distance comprises the calculated driving
597
+ # (route) distance, plus the straight line distance between the navigation
598
+ # end point and the requested pickup point. (The distance between the
599
+ # navigation end point and the requested pickup point is typically small.) An
600
+ # empty value indicates an error in calculating the distance.
601
+ # @!attribute [rw] vehicle_pickup_straight_line_distance_meters
602
+ # @return [::Google::Protobuf::Int32Value]
603
+ # Required. The straight-line distance between the vehicle and the pickup
604
+ # point specified in the request.
605
+ # @!attribute [rw] vehicle_dropoff_eta
606
+ # @return [::Google::Protobuf::Timestamp]
607
+ # The complete vehicle's driving ETA to the drop off point specified in the
608
+ # request. The ETA includes stopping at any waypoints before the
609
+ # `dropoff_point` specified in the request. The value will only be populated
610
+ # when a drop off point is specified in the request. An empty value indicates
611
+ # an error calculating the ETA.
612
+ # @!attribute [rw] vehicle_pickup_to_dropoff_distance_meters
613
+ # @return [::Google::Protobuf::Int32Value]
614
+ # The vehicle's driving distance (in meters) from the pickup point
615
+ # to the drop off point specified in the request. The distance is only
616
+ # between the two points and does not include the vehicle location or any
617
+ # other points that must be visited before the vehicle visits either the
618
+ # pickup point or dropoff point. The value will only be populated when a
619
+ # `dropoff_point` is specified in the request. An empty value indicates
620
+ # a failure in calculating the distance from the pickup to
621
+ # drop off point specified in the request.
622
+ # @!attribute [rw] trip_type
623
+ # @return [::Google::Maps::FleetEngine::V1::TripType]
624
+ # Required. The trip type of the request that was used to calculate the ETA
625
+ # to the pickup point.
626
+ # @!attribute [rw] vehicle_trips_waypoints
627
+ # @return [::Array<::Google::Maps::FleetEngine::V1::Waypoint>]
628
+ # The ordered list of waypoints used to calculate the ETA. The list
629
+ # includes vehicle location, the pickup points of active
630
+ # trips for the vehicle, and the pickup points provided in the
631
+ # request. An empty list indicates a failure in calculating ETA for the
632
+ # vehicle.
633
+ # @!attribute [rw] vehicle_match_type
634
+ # @return [::Google::Maps::FleetEngine::V1::VehicleMatch::VehicleMatchType]
635
+ # Type of the vehicle match.
636
+ # @!attribute [rw] requested_ordered_by
637
+ # @return [::Google::Maps::FleetEngine::V1::SearchVehiclesRequest::VehicleMatchOrder]
638
+ # The order requested for sorting vehicle matches.
639
+ # @!attribute [rw] ordered_by
640
+ # @return [::Google::Maps::FleetEngine::V1::SearchVehiclesRequest::VehicleMatchOrder]
641
+ # The actual order that was used for this vehicle. Normally this
642
+ # will match the 'order_by' field from the request; however, in certain
643
+ # circumstances such as an internal server error, a different method
644
+ # may be used (such as `PICKUP_POINT_STRAIGHT_DISTANCE`).
645
+ class VehicleMatch
646
+ include ::Google::Protobuf::MessageExts
647
+ extend ::Google::Protobuf::MessageExts::ClassMethods
648
+
649
+ # Type of vehicle match.
650
+ module VehicleMatchType
651
+ # Unknown vehicle match type
652
+ UNKNOWN = 0
653
+
654
+ # The vehicle currently has no trip assigned to it and can proceed to the
655
+ # pickup point.
656
+ EXCLUSIVE = 1
657
+
658
+ # The vehicle is currently assigned to a trip, but can proceed to the
659
+ # pickup point after completing the in-progress trip. ETA and distance
660
+ # calculations take the existing trip into account.
661
+ BACK_TO_BACK = 2
662
+
663
+ # The vehicle has sufficient capacity for a shared ride.
664
+ CARPOOL = 3
665
+
666
+ # The vehicle will finish its current, active trip before proceeding to the
667
+ # pickup point. ETA and distance calculations take the existing trip into
668
+ # account.
669
+ CARPOOL_BACK_TO_BACK = 4
670
+ end
671
+ end
672
+
673
+ # A list-of-lists datatype for vehicle attributes.
674
+ # @!attribute [rw] attributes
675
+ # @return [::Array<::Google::Maps::FleetEngine::V1::VehicleAttribute>]
676
+ # A list of attributes in this collection.
677
+ class VehicleAttributeList
678
+ include ::Google::Protobuf::MessageExts
679
+ extend ::Google::Protobuf::MessageExts::ClassMethods
680
+ end
681
+ end
682
+ end
683
+ end
684
+ end