google-maps-fleet_engine-v1 0.a → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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