Skip to content

Commit fc5c0bd

Browse files
Google APIscopybara-github
authored andcommitted
feat: Added Fleet Engine Delete APIs
PiperOrigin-RevId: 731779200
1 parent 8dc944f commit fc5c0bd

4 files changed

Lines changed: 140 additions & 0 deletions

File tree

google/maps/fleetengine/delivery/v1/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ proto_library(
6565
"//google/geo/type:viewport_proto",
6666
"//google/type:latlng_proto",
6767
"@com_google_protobuf//:duration_proto",
68+
"@com_google_protobuf//:empty_proto",
6869
"@com_google_protobuf//:field_mask_proto",
6970
"@com_google_protobuf//:timestamp_proto",
7071
"@com_google_protobuf//:wrappers_proto",

google/maps/fleetengine/delivery/v1/delivery_api.proto

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import "google/maps/fleetengine/delivery/v1/delivery_vehicles.proto";
2626
import "google/maps/fleetengine/delivery/v1/header.proto";
2727
import "google/maps/fleetengine/delivery/v1/task_tracking_info.proto";
2828
import "google/maps/fleetengine/delivery/v1/tasks.proto";
29+
import "google/protobuf/empty.proto";
2930
import "google/protobuf/field_mask.proto";
3031

3132
option csharp_namespace = "Google.Maps.FleetEngine.Delivery.V1";
@@ -78,6 +79,24 @@ service DeliveryService {
7879
option (google.api.method_signature) = "name";
7980
}
8081

82+
// Deletes a DeliveryVehicle from the Fleet Engine.
83+
//
84+
// Returns FAILED_PRECONDITION if the DeliveryVehicle has OPEN Tasks
85+
// assigned to it.
86+
rpc DeleteDeliveryVehicle(DeleteDeliveryVehicleRequest)
87+
returns (google.protobuf.Empty) {
88+
option (google.api.http) = {
89+
delete: "/v1/{name=providers/*/deliveryVehicles/*}"
90+
};
91+
option (google.api.routing) = {
92+
routing_parameters {
93+
field: "name"
94+
path_template: "{provider_id=providers/*}"
95+
}
96+
};
97+
option (google.api.method_signature) = "name";
98+
}
99+
81100
// Writes updated `DeliveryVehicle` data to Fleet Engine, and assigns
82101
// `Tasks` to the `DeliveryVehicle`. You cannot update the name of the
83102
// `DeliveryVehicle`. You *can* update `remaining_vehicle_journey_segments`,
@@ -144,6 +163,23 @@ service DeliveryService {
144163
option (google.api.method_signature) = "name";
145164
}
146165

166+
// Deletes a single Task.
167+
//
168+
// Returns FAILED_PRECONDITION if the Task is OPEN and assigned to a
169+
// DeliveryVehicle.
170+
rpc DeleteTask(DeleteTaskRequest) returns (google.protobuf.Empty) {
171+
option (google.api.http) = {
172+
delete: "/v1/{name=providers/*/tasks/*}"
173+
};
174+
option (google.api.routing) = {
175+
routing_parameters {
176+
field: "name"
177+
path_template: "{provider_id=providers/*}"
178+
}
179+
};
180+
option (google.api.method_signature) = "name";
181+
}
182+
147183
// Updates `Task` data.
148184
rpc UpdateTask(UpdateTaskRequest) returns (Task) {
149185
option (google.api.http) = {
@@ -253,6 +289,23 @@ message GetDeliveryVehicleRequest {
253289
];
254290
}
255291

292+
// DeleteDeliveryVehicle request message.
293+
message DeleteDeliveryVehicleRequest {
294+
// Optional. The standard Delivery API request header.
295+
DeliveryRequestHeader header = 1 [(google.api.field_behavior) = OPTIONAL];
296+
297+
// Required. Must be in the format
298+
// `providers/{provider}/deliveryVehicles/{delivery_vehicle}`.
299+
// The `provider` must be the Google Cloud Project ID. For example,
300+
// `sample-cloud-project`.
301+
string name = 2 [
302+
(google.api.field_behavior) = REQUIRED,
303+
(google.api.resource_reference) = {
304+
type: "fleetengine.googleapis.com/DeliveryVehicle"
305+
}
306+
];
307+
}
308+
256309
// The `ListDeliveryVehicles` request message.
257310
message ListDeliveryVehiclesRequest {
258311
// Optional. The standard Delivery API request header.
@@ -433,6 +486,22 @@ message GetTaskRequest {
433486
];
434487
}
435488

489+
// DeleteTask request message.
490+
message DeleteTaskRequest {
491+
// Optional. The standard Delivery API request header.
492+
DeliveryRequestHeader header = 1 [(google.api.field_behavior) = OPTIONAL];
493+
494+
// Required. Must be in the format `providers/{provider}/tasks/{task}`. The
495+
// `provider` must be the Google Cloud Project ID. For example,
496+
// `sample-cloud-project`.
497+
string name = 2 [
498+
(google.api.field_behavior) = REQUIRED,
499+
(google.api.resource_reference) = {
500+
type: "fleetengine.googleapis.com/Task"
501+
}
502+
];
503+
}
504+
436505
// The `UpdateTask` request message.
437506
message UpdateTaskRequest {
438507
// Optional. The standard Delivery API request header.

google/maps/fleetengine/v1/trip_api.proto

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,23 @@ service TripService {
7171
};
7272
}
7373

74+
// Deletes a single Trip.
75+
//
76+
// Returns FAILED_PRECONDITION if the Trip is active and assigned to a
77+
// vehicle.
78+
rpc DeleteTrip(DeleteTripRequest) returns (google.protobuf.Empty) {
79+
option (google.api.http) = {
80+
delete: "/v1/{name=providers/*/trips/*}"
81+
};
82+
option (google.api.routing) = {
83+
routing_parameters {
84+
field: "name"
85+
path_template: "{provider_id=providers/*}"
86+
}
87+
};
88+
option (google.api.method_signature) = "name";
89+
}
90+
7491
// Report billable trip usage.
7592
rpc ReportBillableTrip(ReportBillableTripRequest)
7693
returns (google.protobuf.Empty) {
@@ -233,6 +250,23 @@ message GetTripRequest {
233250
google.protobuf.Timestamp remaining_waypoints_route_version = 10;
234251
}
235252

253+
// DeleteTrip request message.
254+
message DeleteTripRequest {
255+
// Optional. The standard Fleet Engine request header.
256+
RequestHeader header = 1 [(google.api.field_behavior) = OPTIONAL];
257+
258+
// Required. Must be in the format `providers/{provider}/trips/{trip}`.
259+
// The provider must be the Project ID (for example, `sample-cloud-project`)
260+
// of the Google Cloud Project of which the service account making
261+
// this call is a member.
262+
string name = 2 [
263+
(google.api.field_behavior) = REQUIRED,
264+
(google.api.resource_reference) = {
265+
type: "fleetengine.googleapis.com/Trip"
266+
}
267+
];
268+
}
269+
236270
// ReportBillableTrip request message.
237271
message ReportBillableTripRequest {
238272
// Selector for different solution types of a reported trip.

google/maps/fleetengine/v1/vehicle_api.proto

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import "google/maps/fleetengine/v1/fleetengine.proto";
2626
import "google/maps/fleetengine/v1/header.proto";
2727
import "google/maps/fleetengine/v1/vehicles.proto";
2828
import "google/protobuf/duration.proto";
29+
import "google/protobuf/empty.proto";
2930
import "google/protobuf/field_mask.proto";
3031
import "google/protobuf/timestamp.proto";
3132
import "google/protobuf/wrappers.proto";
@@ -100,6 +101,23 @@ service VehicleService {
100101
};
101102
}
102103

104+
// Deletes a Vehicle from the Fleet Engine.
105+
//
106+
// Returns FAILED_PRECONDITION if the Vehicle has active Trips.
107+
// assigned to it.
108+
rpc DeleteVehicle(DeleteVehicleRequest) returns (google.protobuf.Empty) {
109+
option (google.api.http) = {
110+
delete: "/v1/{name=providers/*/vehicles/*}"
111+
};
112+
option (google.api.routing) = {
113+
routing_parameters {
114+
field: "name"
115+
path_template: "{provider_id=providers/*}"
116+
}
117+
};
118+
option (google.api.method_signature) = "name";
119+
}
120+
103121
// Writes updated vehicle data to the Fleet Engine.
104122
//
105123
// When updating a `Vehicle`, the following fields cannot be updated since
@@ -260,6 +278,24 @@ message GetVehicleRequest {
260278
google.protobuf.Timestamp waypoints_version = 5;
261279
}
262280

281+
// DeleteVehicle request message.
282+
message DeleteVehicleRequest {
283+
// Optional. The standard Fleet Engine request header.
284+
RequestHeader header = 1 [(google.api.field_behavior) = OPTIONAL];
285+
286+
// Required. Must be in the format
287+
// `providers/{provider}/vehicles/{vehicle}`.
288+
// The {provider} must be the Project ID (for example, `sample-cloud-project`)
289+
// of the Google Cloud Project of which the service account making
290+
// this call is a member.
291+
string name = 2 [
292+
(google.api.field_behavior) = REQUIRED,
293+
(google.api.resource_reference) = {
294+
type: "fleetengine.googleapis.com/Vehicle"
295+
}
296+
];
297+
}
298+
263299
// `UpdateVehicle request message.
264300
message UpdateVehicleRequest {
265301
// The standard Fleet Engine request header.

0 commit comments

Comments
 (0)