xref: /aosp_15_r20/external/googleapis/google/cloud/pubsublite/v1/admin.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2022 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.pubsublite.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/pubsublite/v1/common.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
27*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
28*d5c09012SAndroid Build Coastguard Worker
29*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.PubSubLite.V1";
30*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/pubsublite/apiv1/pubsublitepb;pubsublitepb";
31*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
32*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "AdminProto";
33*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.pubsublite.proto";
34*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\PubSubLite\\V1";
35*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::PubSubLite::V1";
36*d5c09012SAndroid Build Coastguard Worker
37*d5c09012SAndroid Build Coastguard Worker// The service that a client application uses to manage topics and
38*d5c09012SAndroid Build Coastguard Worker// subscriptions, such creating, listing, and deleting topics and subscriptions.
39*d5c09012SAndroid Build Coastguard Workerservice AdminService {
40*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "pubsublite.googleapis.com";
41*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
42*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform";
43*d5c09012SAndroid Build Coastguard Worker
44*d5c09012SAndroid Build Coastguard Worker  // Creates a new topic.
45*d5c09012SAndroid Build Coastguard Worker  rpc CreateTopic(CreateTopicRequest) returns (Topic) {
46*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
47*d5c09012SAndroid Build Coastguard Worker      post: "/v1/admin/{parent=projects/*/locations/*}/topics"
48*d5c09012SAndroid Build Coastguard Worker      body: "topic"
49*d5c09012SAndroid Build Coastguard Worker    };
50*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,topic,topic_id";
51*d5c09012SAndroid Build Coastguard Worker  }
52*d5c09012SAndroid Build Coastguard Worker
53*d5c09012SAndroid Build Coastguard Worker  // Returns the topic configuration.
54*d5c09012SAndroid Build Coastguard Worker  rpc GetTopic(GetTopicRequest) returns (Topic) {
55*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
56*d5c09012SAndroid Build Coastguard Worker      get: "/v1/admin/{name=projects/*/locations/*/topics/*}"
57*d5c09012SAndroid Build Coastguard Worker    };
58*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
59*d5c09012SAndroid Build Coastguard Worker  }
60*d5c09012SAndroid Build Coastguard Worker
61*d5c09012SAndroid Build Coastguard Worker  // Returns the partition information for the requested topic.
62*d5c09012SAndroid Build Coastguard Worker  rpc GetTopicPartitions(GetTopicPartitionsRequest) returns (TopicPartitions) {
63*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
64*d5c09012SAndroid Build Coastguard Worker      get: "/v1/admin/{name=projects/*/locations/*/topics/*}/partitions"
65*d5c09012SAndroid Build Coastguard Worker    };
66*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
67*d5c09012SAndroid Build Coastguard Worker  }
68*d5c09012SAndroid Build Coastguard Worker
69*d5c09012SAndroid Build Coastguard Worker  // Returns the list of topics for the given project.
70*d5c09012SAndroid Build Coastguard Worker  rpc ListTopics(ListTopicsRequest) returns (ListTopicsResponse) {
71*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
72*d5c09012SAndroid Build Coastguard Worker      get: "/v1/admin/{parent=projects/*/locations/*}/topics"
73*d5c09012SAndroid Build Coastguard Worker    };
74*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
75*d5c09012SAndroid Build Coastguard Worker  }
76*d5c09012SAndroid Build Coastguard Worker
77*d5c09012SAndroid Build Coastguard Worker  // Updates properties of the specified topic.
78*d5c09012SAndroid Build Coastguard Worker  rpc UpdateTopic(UpdateTopicRequest) returns (Topic) {
79*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
80*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/admin/{topic.name=projects/*/locations/*/topics/*}"
81*d5c09012SAndroid Build Coastguard Worker      body: "topic"
82*d5c09012SAndroid Build Coastguard Worker    };
83*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "topic,update_mask";
84*d5c09012SAndroid Build Coastguard Worker  }
85*d5c09012SAndroid Build Coastguard Worker
86*d5c09012SAndroid Build Coastguard Worker  // Deletes the specified topic.
87*d5c09012SAndroid Build Coastguard Worker  rpc DeleteTopic(DeleteTopicRequest) returns (google.protobuf.Empty) {
88*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
89*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/admin/{name=projects/*/locations/*/topics/*}"
90*d5c09012SAndroid Build Coastguard Worker    };
91*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
92*d5c09012SAndroid Build Coastguard Worker  }
93*d5c09012SAndroid Build Coastguard Worker
94*d5c09012SAndroid Build Coastguard Worker  // Lists the subscriptions attached to the specified topic.
95*d5c09012SAndroid Build Coastguard Worker  rpc ListTopicSubscriptions(ListTopicSubscriptionsRequest)
96*d5c09012SAndroid Build Coastguard Worker      returns (ListTopicSubscriptionsResponse) {
97*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
98*d5c09012SAndroid Build Coastguard Worker      get: "/v1/admin/{name=projects/*/locations/*/topics/*}/subscriptions"
99*d5c09012SAndroid Build Coastguard Worker    };
100*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
101*d5c09012SAndroid Build Coastguard Worker  }
102*d5c09012SAndroid Build Coastguard Worker
103*d5c09012SAndroid Build Coastguard Worker  // Creates a new subscription.
104*d5c09012SAndroid Build Coastguard Worker  rpc CreateSubscription(CreateSubscriptionRequest) returns (Subscription) {
105*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
106*d5c09012SAndroid Build Coastguard Worker      post: "/v1/admin/{parent=projects/*/locations/*}/subscriptions"
107*d5c09012SAndroid Build Coastguard Worker      body: "subscription"
108*d5c09012SAndroid Build Coastguard Worker    };
109*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
110*d5c09012SAndroid Build Coastguard Worker        "parent,subscription,subscription_id";
111*d5c09012SAndroid Build Coastguard Worker  }
112*d5c09012SAndroid Build Coastguard Worker
113*d5c09012SAndroid Build Coastguard Worker  // Returns the subscription configuration.
114*d5c09012SAndroid Build Coastguard Worker  rpc GetSubscription(GetSubscriptionRequest) returns (Subscription) {
115*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
116*d5c09012SAndroid Build Coastguard Worker      get: "/v1/admin/{name=projects/*/locations/*/subscriptions/*}"
117*d5c09012SAndroid Build Coastguard Worker    };
118*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
119*d5c09012SAndroid Build Coastguard Worker  }
120*d5c09012SAndroid Build Coastguard Worker
121*d5c09012SAndroid Build Coastguard Worker  // Returns the list of subscriptions for the given project.
122*d5c09012SAndroid Build Coastguard Worker  rpc ListSubscriptions(ListSubscriptionsRequest)
123*d5c09012SAndroid Build Coastguard Worker      returns (ListSubscriptionsResponse) {
124*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
125*d5c09012SAndroid Build Coastguard Worker      get: "/v1/admin/{parent=projects/*/locations/*}/subscriptions"
126*d5c09012SAndroid Build Coastguard Worker    };
127*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
128*d5c09012SAndroid Build Coastguard Worker  }
129*d5c09012SAndroid Build Coastguard Worker
130*d5c09012SAndroid Build Coastguard Worker  // Updates properties of the specified subscription.
131*d5c09012SAndroid Build Coastguard Worker  rpc UpdateSubscription(UpdateSubscriptionRequest) returns (Subscription) {
132*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
133*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/admin/{subscription.name=projects/*/locations/*/subscriptions/*}"
134*d5c09012SAndroid Build Coastguard Worker      body: "subscription"
135*d5c09012SAndroid Build Coastguard Worker    };
136*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "subscription,update_mask";
137*d5c09012SAndroid Build Coastguard Worker  }
138*d5c09012SAndroid Build Coastguard Worker
139*d5c09012SAndroid Build Coastguard Worker  // Deletes the specified subscription.
140*d5c09012SAndroid Build Coastguard Worker  rpc DeleteSubscription(DeleteSubscriptionRequest)
141*d5c09012SAndroid Build Coastguard Worker      returns (google.protobuf.Empty) {
142*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
143*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/admin/{name=projects/*/locations/*/subscriptions/*}"
144*d5c09012SAndroid Build Coastguard Worker    };
145*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
146*d5c09012SAndroid Build Coastguard Worker  }
147*d5c09012SAndroid Build Coastguard Worker
148*d5c09012SAndroid Build Coastguard Worker  // Performs an out-of-band seek for a subscription to a specified target,
149*d5c09012SAndroid Build Coastguard Worker  // which may be timestamps or named positions within the message backlog.
150*d5c09012SAndroid Build Coastguard Worker  // Seek translates these targets to cursors for each partition and
151*d5c09012SAndroid Build Coastguard Worker  // orchestrates subscribers to start consuming messages from these seek
152*d5c09012SAndroid Build Coastguard Worker  // cursors.
153*d5c09012SAndroid Build Coastguard Worker  //
154*d5c09012SAndroid Build Coastguard Worker  // If an operation is returned, the seek has been registered and subscribers
155*d5c09012SAndroid Build Coastguard Worker  // will eventually receive messages from the seek cursors (i.e. eventual
156*d5c09012SAndroid Build Coastguard Worker  // consistency), as long as they are using a minimum supported client library
157*d5c09012SAndroid Build Coastguard Worker  // version and not a system that tracks cursors independently of Pub/Sub Lite
158*d5c09012SAndroid Build Coastguard Worker  // (e.g. Apache Beam, Dataflow, Spark). The seek operation will fail for
159*d5c09012SAndroid Build Coastguard Worker  // unsupported clients.
160*d5c09012SAndroid Build Coastguard Worker  //
161*d5c09012SAndroid Build Coastguard Worker  // If clients would like to know when subscribers react to the seek (or not),
162*d5c09012SAndroid Build Coastguard Worker  // they can poll the operation. The seek operation will succeed and complete
163*d5c09012SAndroid Build Coastguard Worker  // once subscribers are ready to receive messages from the seek cursors for
164*d5c09012SAndroid Build Coastguard Worker  // all partitions of the topic. This means that the seek operation will not
165*d5c09012SAndroid Build Coastguard Worker  // complete until all subscribers come online.
166*d5c09012SAndroid Build Coastguard Worker  //
167*d5c09012SAndroid Build Coastguard Worker  // If the previous seek operation has not yet completed, it will be aborted
168*d5c09012SAndroid Build Coastguard Worker  // and the new invocation of seek will supersede it.
169*d5c09012SAndroid Build Coastguard Worker  rpc SeekSubscription(SeekSubscriptionRequest)
170*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
171*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
172*d5c09012SAndroid Build Coastguard Worker      post: "/v1/admin/{name=projects/*/locations/*/subscriptions/*}:seek"
173*d5c09012SAndroid Build Coastguard Worker      body: "*"
174*d5c09012SAndroid Build Coastguard Worker    };
175*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
176*d5c09012SAndroid Build Coastguard Worker      response_type: "SeekSubscriptionResponse"
177*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
178*d5c09012SAndroid Build Coastguard Worker    };
179*d5c09012SAndroid Build Coastguard Worker  }
180*d5c09012SAndroid Build Coastguard Worker
181*d5c09012SAndroid Build Coastguard Worker  // Creates a new reservation.
182*d5c09012SAndroid Build Coastguard Worker  rpc CreateReservation(CreateReservationRequest) returns (Reservation) {
183*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
184*d5c09012SAndroid Build Coastguard Worker      post: "/v1/admin/{parent=projects/*/locations/*}/reservations"
185*d5c09012SAndroid Build Coastguard Worker      body: "reservation"
186*d5c09012SAndroid Build Coastguard Worker    };
187*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,reservation,reservation_id";
188*d5c09012SAndroid Build Coastguard Worker  }
189*d5c09012SAndroid Build Coastguard Worker
190*d5c09012SAndroid Build Coastguard Worker  // Returns the reservation configuration.
191*d5c09012SAndroid Build Coastguard Worker  rpc GetReservation(GetReservationRequest) returns (Reservation) {
192*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
193*d5c09012SAndroid Build Coastguard Worker      get: "/v1/admin/{name=projects/*/locations/*/reservations/*}"
194*d5c09012SAndroid Build Coastguard Worker    };
195*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
196*d5c09012SAndroid Build Coastguard Worker  }
197*d5c09012SAndroid Build Coastguard Worker
198*d5c09012SAndroid Build Coastguard Worker  // Returns the list of reservations for the given project.
199*d5c09012SAndroid Build Coastguard Worker  rpc ListReservations(ListReservationsRequest)
200*d5c09012SAndroid Build Coastguard Worker      returns (ListReservationsResponse) {
201*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
202*d5c09012SAndroid Build Coastguard Worker      get: "/v1/admin/{parent=projects/*/locations/*}/reservations"
203*d5c09012SAndroid Build Coastguard Worker    };
204*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
205*d5c09012SAndroid Build Coastguard Worker  }
206*d5c09012SAndroid Build Coastguard Worker
207*d5c09012SAndroid Build Coastguard Worker  // Updates properties of the specified reservation.
208*d5c09012SAndroid Build Coastguard Worker  rpc UpdateReservation(UpdateReservationRequest) returns (Reservation) {
209*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
210*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/admin/{reservation.name=projects/*/locations/*/reservations/*}"
211*d5c09012SAndroid Build Coastguard Worker      body: "reservation"
212*d5c09012SAndroid Build Coastguard Worker    };
213*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "reservation,update_mask";
214*d5c09012SAndroid Build Coastguard Worker  }
215*d5c09012SAndroid Build Coastguard Worker
216*d5c09012SAndroid Build Coastguard Worker  // Deletes the specified reservation.
217*d5c09012SAndroid Build Coastguard Worker  rpc DeleteReservation(DeleteReservationRequest)
218*d5c09012SAndroid Build Coastguard Worker      returns (google.protobuf.Empty) {
219*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
220*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/admin/{name=projects/*/locations/*/reservations/*}"
221*d5c09012SAndroid Build Coastguard Worker    };
222*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
223*d5c09012SAndroid Build Coastguard Worker  }
224*d5c09012SAndroid Build Coastguard Worker
225*d5c09012SAndroid Build Coastguard Worker  // Lists the topics attached to the specified reservation.
226*d5c09012SAndroid Build Coastguard Worker  rpc ListReservationTopics(ListReservationTopicsRequest)
227*d5c09012SAndroid Build Coastguard Worker      returns (ListReservationTopicsResponse) {
228*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
229*d5c09012SAndroid Build Coastguard Worker      get: "/v1/admin/{name=projects/*/locations/*/reservations/*}/topics"
230*d5c09012SAndroid Build Coastguard Worker    };
231*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
232*d5c09012SAndroid Build Coastguard Worker  }
233*d5c09012SAndroid Build Coastguard Worker}
234*d5c09012SAndroid Build Coastguard Worker
235*d5c09012SAndroid Build Coastguard Worker// Request for CreateTopic.
236*d5c09012SAndroid Build Coastguard Workermessage CreateTopicRequest {
237*d5c09012SAndroid Build Coastguard Worker  // Required. The parent location in which to create the topic.
238*d5c09012SAndroid Build Coastguard Worker  // Structured like `projects/{project_number}/locations/{location}`.
239*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
240*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
241*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
242*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
243*d5c09012SAndroid Build Coastguard Worker    }
244*d5c09012SAndroid Build Coastguard Worker  ];
245*d5c09012SAndroid Build Coastguard Worker
246*d5c09012SAndroid Build Coastguard Worker  // Required. Configuration of the topic to create. Its `name` field is
247*d5c09012SAndroid Build Coastguard Worker  // ignored.
248*d5c09012SAndroid Build Coastguard Worker  Topic topic = 2 [(google.api.field_behavior) = REQUIRED];
249*d5c09012SAndroid Build Coastguard Worker
250*d5c09012SAndroid Build Coastguard Worker  // Required. The ID to use for the topic, which will become the final
251*d5c09012SAndroid Build Coastguard Worker  // component of the topic's name.
252*d5c09012SAndroid Build Coastguard Worker  //
253*d5c09012SAndroid Build Coastguard Worker  // This value is structured like: `my-topic-name`.
254*d5c09012SAndroid Build Coastguard Worker  string topic_id = 3 [(google.api.field_behavior) = REQUIRED];
255*d5c09012SAndroid Build Coastguard Worker}
256*d5c09012SAndroid Build Coastguard Worker
257*d5c09012SAndroid Build Coastguard Worker// Request for GetTopic.
258*d5c09012SAndroid Build Coastguard Workermessage GetTopicRequest {
259*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the topic whose configuration to return.
260*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
261*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
262*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
263*d5c09012SAndroid Build Coastguard Worker      type: "pubsublite.googleapis.com/Topic"
264*d5c09012SAndroid Build Coastguard Worker    }
265*d5c09012SAndroid Build Coastguard Worker  ];
266*d5c09012SAndroid Build Coastguard Worker}
267*d5c09012SAndroid Build Coastguard Worker
268*d5c09012SAndroid Build Coastguard Worker// Request for GetTopicPartitions.
269*d5c09012SAndroid Build Coastguard Workermessage GetTopicPartitionsRequest {
270*d5c09012SAndroid Build Coastguard Worker  // Required. The topic whose partition information to return.
271*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
272*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
273*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
274*d5c09012SAndroid Build Coastguard Worker      type: "pubsublite.googleapis.com/Topic"
275*d5c09012SAndroid Build Coastguard Worker    }
276*d5c09012SAndroid Build Coastguard Worker  ];
277*d5c09012SAndroid Build Coastguard Worker}
278*d5c09012SAndroid Build Coastguard Worker
279*d5c09012SAndroid Build Coastguard Worker// Response for GetTopicPartitions.
280*d5c09012SAndroid Build Coastguard Workermessage TopicPartitions {
281*d5c09012SAndroid Build Coastguard Worker  // The number of partitions in the topic.
282*d5c09012SAndroid Build Coastguard Worker  int64 partition_count = 1;
283*d5c09012SAndroid Build Coastguard Worker}
284*d5c09012SAndroid Build Coastguard Worker
285*d5c09012SAndroid Build Coastguard Worker// Request for ListTopics.
286*d5c09012SAndroid Build Coastguard Workermessage ListTopicsRequest {
287*d5c09012SAndroid Build Coastguard Worker  // Required. The parent whose topics are to be listed.
288*d5c09012SAndroid Build Coastguard Worker  // Structured like `projects/{project_number}/locations/{location}`.
289*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
290*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
291*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
292*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
293*d5c09012SAndroid Build Coastguard Worker    }
294*d5c09012SAndroid Build Coastguard Worker  ];
295*d5c09012SAndroid Build Coastguard Worker
296*d5c09012SAndroid Build Coastguard Worker  // The maximum number of topics to return. The service may return fewer than
297*d5c09012SAndroid Build Coastguard Worker  // this value.
298*d5c09012SAndroid Build Coastguard Worker  // If unset or zero, all topics for the parent will be returned.
299*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
300*d5c09012SAndroid Build Coastguard Worker
301*d5c09012SAndroid Build Coastguard Worker  // A page token, received from a previous `ListTopics` call.
302*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
303*d5c09012SAndroid Build Coastguard Worker  //
304*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListTopics` must match
305*d5c09012SAndroid Build Coastguard Worker  // the call that provided the page token.
306*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
307*d5c09012SAndroid Build Coastguard Worker}
308*d5c09012SAndroid Build Coastguard Worker
309*d5c09012SAndroid Build Coastguard Worker// Response for ListTopics.
310*d5c09012SAndroid Build Coastguard Workermessage ListTopicsResponse {
311*d5c09012SAndroid Build Coastguard Worker  // The list of topic in the requested parent. The order of the topics is
312*d5c09012SAndroid Build Coastguard Worker  // unspecified.
313*d5c09012SAndroid Build Coastguard Worker  repeated Topic topics = 1;
314*d5c09012SAndroid Build Coastguard Worker
315*d5c09012SAndroid Build Coastguard Worker  // A token that can be sent as `page_token` to retrieve the next page of
316*d5c09012SAndroid Build Coastguard Worker  // results. If this field is omitted, there are no more results.
317*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
318*d5c09012SAndroid Build Coastguard Worker}
319*d5c09012SAndroid Build Coastguard Worker
320*d5c09012SAndroid Build Coastguard Worker// Request for UpdateTopic.
321*d5c09012SAndroid Build Coastguard Workermessage UpdateTopicRequest {
322*d5c09012SAndroid Build Coastguard Worker  // Required. The topic to update. Its `name` field must be populated.
323*d5c09012SAndroid Build Coastguard Worker  Topic topic = 1 [(google.api.field_behavior) = REQUIRED];
324*d5c09012SAndroid Build Coastguard Worker
325*d5c09012SAndroid Build Coastguard Worker  // Required. A mask specifying the topic fields to change.
326*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2
327*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
328*d5c09012SAndroid Build Coastguard Worker}
329*d5c09012SAndroid Build Coastguard Worker
330*d5c09012SAndroid Build Coastguard Worker// Request for DeleteTopic.
331*d5c09012SAndroid Build Coastguard Workermessage DeleteTopicRequest {
332*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the topic to delete.
333*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
334*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
335*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
336*d5c09012SAndroid Build Coastguard Worker      type: "pubsublite.googleapis.com/Topic"
337*d5c09012SAndroid Build Coastguard Worker    }
338*d5c09012SAndroid Build Coastguard Worker  ];
339*d5c09012SAndroid Build Coastguard Worker}
340*d5c09012SAndroid Build Coastguard Worker
341*d5c09012SAndroid Build Coastguard Worker// Request for ListTopicSubscriptions.
342*d5c09012SAndroid Build Coastguard Workermessage ListTopicSubscriptionsRequest {
343*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the topic whose subscriptions to list.
344*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
345*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
346*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
347*d5c09012SAndroid Build Coastguard Worker      type: "pubsublite.googleapis.com/Topic"
348*d5c09012SAndroid Build Coastguard Worker    }
349*d5c09012SAndroid Build Coastguard Worker  ];
350*d5c09012SAndroid Build Coastguard Worker
351*d5c09012SAndroid Build Coastguard Worker  // The maximum number of subscriptions to return. The service may return fewer
352*d5c09012SAndroid Build Coastguard Worker  // than this value.
353*d5c09012SAndroid Build Coastguard Worker  // If unset or zero, all subscriptions for the given topic will be returned.
354*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
355*d5c09012SAndroid Build Coastguard Worker
356*d5c09012SAndroid Build Coastguard Worker  // A page token, received from a previous `ListTopicSubscriptions` call.
357*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
358*d5c09012SAndroid Build Coastguard Worker  //
359*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListTopicSubscriptions`
360*d5c09012SAndroid Build Coastguard Worker  // must match the call that provided the page token.
361*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
362*d5c09012SAndroid Build Coastguard Worker}
363*d5c09012SAndroid Build Coastguard Worker
364*d5c09012SAndroid Build Coastguard Worker// Response for ListTopicSubscriptions.
365*d5c09012SAndroid Build Coastguard Workermessage ListTopicSubscriptionsResponse {
366*d5c09012SAndroid Build Coastguard Worker  // The names of subscriptions attached to the topic. The order of the
367*d5c09012SAndroid Build Coastguard Worker  // subscriptions is unspecified.
368*d5c09012SAndroid Build Coastguard Worker  repeated string subscriptions = 1;
369*d5c09012SAndroid Build Coastguard Worker
370*d5c09012SAndroid Build Coastguard Worker  // A token that can be sent as `page_token` to retrieve the next page of
371*d5c09012SAndroid Build Coastguard Worker  // results. If this field is omitted, there are no more results.
372*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
373*d5c09012SAndroid Build Coastguard Worker}
374*d5c09012SAndroid Build Coastguard Worker
375*d5c09012SAndroid Build Coastguard Worker// Request for CreateSubscription.
376*d5c09012SAndroid Build Coastguard Workermessage CreateSubscriptionRequest {
377*d5c09012SAndroid Build Coastguard Worker  // Required. The parent location in which to create the subscription.
378*d5c09012SAndroid Build Coastguard Worker  // Structured like `projects/{project_number}/locations/{location}`.
379*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
380*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
381*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
382*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
383*d5c09012SAndroid Build Coastguard Worker    }
384*d5c09012SAndroid Build Coastguard Worker  ];
385*d5c09012SAndroid Build Coastguard Worker
386*d5c09012SAndroid Build Coastguard Worker  // Required. Configuration of the subscription to create. Its `name` field is
387*d5c09012SAndroid Build Coastguard Worker  // ignored.
388*d5c09012SAndroid Build Coastguard Worker  Subscription subscription = 2 [(google.api.field_behavior) = REQUIRED];
389*d5c09012SAndroid Build Coastguard Worker
390*d5c09012SAndroid Build Coastguard Worker  // Required. The ID to use for the subscription, which will become the final
391*d5c09012SAndroid Build Coastguard Worker  // component of the subscription's name.
392*d5c09012SAndroid Build Coastguard Worker  //
393*d5c09012SAndroid Build Coastguard Worker  // This value is structured like: `my-sub-name`.
394*d5c09012SAndroid Build Coastguard Worker  string subscription_id = 3 [(google.api.field_behavior) = REQUIRED];
395*d5c09012SAndroid Build Coastguard Worker
396*d5c09012SAndroid Build Coastguard Worker  // If true, the newly created subscription will only receive messages
397*d5c09012SAndroid Build Coastguard Worker  // published after the subscription was created. Otherwise, the entire
398*d5c09012SAndroid Build Coastguard Worker  // message backlog will be received on the subscription. Defaults to false.
399*d5c09012SAndroid Build Coastguard Worker  bool skip_backlog = 4;
400*d5c09012SAndroid Build Coastguard Worker}
401*d5c09012SAndroid Build Coastguard Worker
402*d5c09012SAndroid Build Coastguard Worker// Request for GetSubscription.
403*d5c09012SAndroid Build Coastguard Workermessage GetSubscriptionRequest {
404*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the subscription whose configuration to return.
405*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
406*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
407*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
408*d5c09012SAndroid Build Coastguard Worker      type: "pubsublite.googleapis.com/Subscription"
409*d5c09012SAndroid Build Coastguard Worker    }
410*d5c09012SAndroid Build Coastguard Worker  ];
411*d5c09012SAndroid Build Coastguard Worker}
412*d5c09012SAndroid Build Coastguard Worker
413*d5c09012SAndroid Build Coastguard Worker// Request for ListSubscriptions.
414*d5c09012SAndroid Build Coastguard Workermessage ListSubscriptionsRequest {
415*d5c09012SAndroid Build Coastguard Worker  // Required. The parent whose subscriptions are to be listed.
416*d5c09012SAndroid Build Coastguard Worker  // Structured like `projects/{project_number}/locations/{location}`.
417*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
418*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
419*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
420*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
421*d5c09012SAndroid Build Coastguard Worker    }
422*d5c09012SAndroid Build Coastguard Worker  ];
423*d5c09012SAndroid Build Coastguard Worker
424*d5c09012SAndroid Build Coastguard Worker  // The maximum number of subscriptions to return. The service may return fewer
425*d5c09012SAndroid Build Coastguard Worker  // than this value.
426*d5c09012SAndroid Build Coastguard Worker  // If unset or zero, all subscriptions for the parent will be returned.
427*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
428*d5c09012SAndroid Build Coastguard Worker
429*d5c09012SAndroid Build Coastguard Worker  // A page token, received from a previous `ListSubscriptions` call.
430*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
431*d5c09012SAndroid Build Coastguard Worker  //
432*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListSubscriptions` must
433*d5c09012SAndroid Build Coastguard Worker  // match the call that provided the page token.
434*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
435*d5c09012SAndroid Build Coastguard Worker}
436*d5c09012SAndroid Build Coastguard Worker
437*d5c09012SAndroid Build Coastguard Worker// Response for ListSubscriptions.
438*d5c09012SAndroid Build Coastguard Workermessage ListSubscriptionsResponse {
439*d5c09012SAndroid Build Coastguard Worker  // The list of subscriptions in the requested parent. The order of the
440*d5c09012SAndroid Build Coastguard Worker  // subscriptions is unspecified.
441*d5c09012SAndroid Build Coastguard Worker  repeated Subscription subscriptions = 1;
442*d5c09012SAndroid Build Coastguard Worker
443*d5c09012SAndroid Build Coastguard Worker  // A token that can be sent as `page_token` to retrieve the next page of
444*d5c09012SAndroid Build Coastguard Worker  // results. If this field is omitted, there are no more results.
445*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
446*d5c09012SAndroid Build Coastguard Worker}
447*d5c09012SAndroid Build Coastguard Worker
448*d5c09012SAndroid Build Coastguard Worker// Request for UpdateSubscription.
449*d5c09012SAndroid Build Coastguard Workermessage UpdateSubscriptionRequest {
450*d5c09012SAndroid Build Coastguard Worker  // Required. The subscription to update. Its `name` field must be populated.
451*d5c09012SAndroid Build Coastguard Worker  // Topic field must not be populated.
452*d5c09012SAndroid Build Coastguard Worker  Subscription subscription = 1 [(google.api.field_behavior) = REQUIRED];
453*d5c09012SAndroid Build Coastguard Worker
454*d5c09012SAndroid Build Coastguard Worker  // Required. A mask specifying the subscription fields to change.
455*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2
456*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
457*d5c09012SAndroid Build Coastguard Worker}
458*d5c09012SAndroid Build Coastguard Worker
459*d5c09012SAndroid Build Coastguard Worker// Request for DeleteSubscription.
460*d5c09012SAndroid Build Coastguard Workermessage DeleteSubscriptionRequest {
461*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the subscription to delete.
462*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
463*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
464*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
465*d5c09012SAndroid Build Coastguard Worker      type: "pubsublite.googleapis.com/Subscription"
466*d5c09012SAndroid Build Coastguard Worker    }
467*d5c09012SAndroid Build Coastguard Worker  ];
468*d5c09012SAndroid Build Coastguard Worker}
469*d5c09012SAndroid Build Coastguard Worker
470*d5c09012SAndroid Build Coastguard Worker// Request for SeekSubscription.
471*d5c09012SAndroid Build Coastguard Workermessage SeekSubscriptionRequest {
472*d5c09012SAndroid Build Coastguard Worker  // A named position with respect to the message backlog.
473*d5c09012SAndroid Build Coastguard Worker  enum NamedTarget {
474*d5c09012SAndroid Build Coastguard Worker    // Unspecified named target. Do not use.
475*d5c09012SAndroid Build Coastguard Worker    NAMED_TARGET_UNSPECIFIED = 0;
476*d5c09012SAndroid Build Coastguard Worker
477*d5c09012SAndroid Build Coastguard Worker    // Seek to the oldest retained message.
478*d5c09012SAndroid Build Coastguard Worker    TAIL = 1;
479*d5c09012SAndroid Build Coastguard Worker
480*d5c09012SAndroid Build Coastguard Worker    // Seek past all recently published messages, skipping the entire message
481*d5c09012SAndroid Build Coastguard Worker    // backlog.
482*d5c09012SAndroid Build Coastguard Worker    HEAD = 2;
483*d5c09012SAndroid Build Coastguard Worker  }
484*d5c09012SAndroid Build Coastguard Worker
485*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the subscription to seek.
486*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
487*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
488*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
489*d5c09012SAndroid Build Coastguard Worker      type: "pubsublite.googleapis.com/Subscription"
490*d5c09012SAndroid Build Coastguard Worker    }
491*d5c09012SAndroid Build Coastguard Worker  ];
492*d5c09012SAndroid Build Coastguard Worker
493*d5c09012SAndroid Build Coastguard Worker  // The target to seek to. Must be set.
494*d5c09012SAndroid Build Coastguard Worker  oneof target {
495*d5c09012SAndroid Build Coastguard Worker    // Seek to a named position with respect to the message backlog.
496*d5c09012SAndroid Build Coastguard Worker    NamedTarget named_target = 2;
497*d5c09012SAndroid Build Coastguard Worker
498*d5c09012SAndroid Build Coastguard Worker    // Seek to the first message whose publish or event time is greater than or
499*d5c09012SAndroid Build Coastguard Worker    // equal to the specified query time. If no such message can be located,
500*d5c09012SAndroid Build Coastguard Worker    // will seek to the end of the message backlog.
501*d5c09012SAndroid Build Coastguard Worker    TimeTarget time_target = 3;
502*d5c09012SAndroid Build Coastguard Worker  }
503*d5c09012SAndroid Build Coastguard Worker}
504*d5c09012SAndroid Build Coastguard Worker
505*d5c09012SAndroid Build Coastguard Worker// Response for SeekSubscription long running operation.
506*d5c09012SAndroid Build Coastguard Workermessage SeekSubscriptionResponse {}
507*d5c09012SAndroid Build Coastguard Worker
508*d5c09012SAndroid Build Coastguard Worker// Metadata for long running operations.
509*d5c09012SAndroid Build Coastguard Workermessage OperationMetadata {
510*d5c09012SAndroid Build Coastguard Worker  // The time the operation was created.
511*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 1;
512*d5c09012SAndroid Build Coastguard Worker
513*d5c09012SAndroid Build Coastguard Worker  // The time the operation finished running. Not set if the operation has not
514*d5c09012SAndroid Build Coastguard Worker  // completed.
515*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 2;
516*d5c09012SAndroid Build Coastguard Worker
517*d5c09012SAndroid Build Coastguard Worker  // Resource path for the target of the operation. For example, targets of
518*d5c09012SAndroid Build Coastguard Worker  // seeks are subscription resources, structured like:
519*d5c09012SAndroid Build Coastguard Worker  // projects/{project_number}/locations/{location}/subscriptions/{subscription_id}
520*d5c09012SAndroid Build Coastguard Worker  string target = 3;
521*d5c09012SAndroid Build Coastguard Worker
522*d5c09012SAndroid Build Coastguard Worker  // Name of the verb executed by the operation.
523*d5c09012SAndroid Build Coastguard Worker  string verb = 4;
524*d5c09012SAndroid Build Coastguard Worker}
525*d5c09012SAndroid Build Coastguard Worker
526*d5c09012SAndroid Build Coastguard Worker// Request for CreateReservation.
527*d5c09012SAndroid Build Coastguard Workermessage CreateReservationRequest {
528*d5c09012SAndroid Build Coastguard Worker  // Required. The parent location in which to create the reservation.
529*d5c09012SAndroid Build Coastguard Worker  // Structured like `projects/{project_number}/locations/{location}`.
530*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
531*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
532*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
533*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
534*d5c09012SAndroid Build Coastguard Worker    }
535*d5c09012SAndroid Build Coastguard Worker  ];
536*d5c09012SAndroid Build Coastguard Worker
537*d5c09012SAndroid Build Coastguard Worker  // Required. Configuration of the reservation to create. Its `name` field is
538*d5c09012SAndroid Build Coastguard Worker  // ignored.
539*d5c09012SAndroid Build Coastguard Worker  Reservation reservation = 2 [(google.api.field_behavior) = REQUIRED];
540*d5c09012SAndroid Build Coastguard Worker
541*d5c09012SAndroid Build Coastguard Worker  // Required. The ID to use for the reservation, which will become the final
542*d5c09012SAndroid Build Coastguard Worker  // component of the reservation's name.
543*d5c09012SAndroid Build Coastguard Worker  //
544*d5c09012SAndroid Build Coastguard Worker  // This value is structured like: `my-reservation-name`.
545*d5c09012SAndroid Build Coastguard Worker  string reservation_id = 3 [(google.api.field_behavior) = REQUIRED];
546*d5c09012SAndroid Build Coastguard Worker}
547*d5c09012SAndroid Build Coastguard Worker
548*d5c09012SAndroid Build Coastguard Worker// Request for GetReservation.
549*d5c09012SAndroid Build Coastguard Workermessage GetReservationRequest {
550*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the reservation whose configuration to return.
551*d5c09012SAndroid Build Coastguard Worker  // Structured like:
552*d5c09012SAndroid Build Coastguard Worker  // projects/{project_number}/locations/{location}/reservations/{reservation_id}
553*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
554*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
555*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
556*d5c09012SAndroid Build Coastguard Worker      type: "pubsublite.googleapis.com/Reservation"
557*d5c09012SAndroid Build Coastguard Worker    }
558*d5c09012SAndroid Build Coastguard Worker  ];
559*d5c09012SAndroid Build Coastguard Worker}
560*d5c09012SAndroid Build Coastguard Worker
561*d5c09012SAndroid Build Coastguard Worker// Request for ListReservations.
562*d5c09012SAndroid Build Coastguard Workermessage ListReservationsRequest {
563*d5c09012SAndroid Build Coastguard Worker  // Required. The parent whose reservations are to be listed.
564*d5c09012SAndroid Build Coastguard Worker  // Structured like `projects/{project_number}/locations/{location}`.
565*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
566*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
567*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
568*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
569*d5c09012SAndroid Build Coastguard Worker    }
570*d5c09012SAndroid Build Coastguard Worker  ];
571*d5c09012SAndroid Build Coastguard Worker
572*d5c09012SAndroid Build Coastguard Worker  // The maximum number of reservations to return. The service may return fewer
573*d5c09012SAndroid Build Coastguard Worker  // than this value. If unset or zero, all reservations for the parent will be
574*d5c09012SAndroid Build Coastguard Worker  // returned.
575*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
576*d5c09012SAndroid Build Coastguard Worker
577*d5c09012SAndroid Build Coastguard Worker  // A page token, received from a previous `ListReservations` call.
578*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
579*d5c09012SAndroid Build Coastguard Worker  //
580*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListReservations` must
581*d5c09012SAndroid Build Coastguard Worker  // match the call that provided the page token.
582*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
583*d5c09012SAndroid Build Coastguard Worker}
584*d5c09012SAndroid Build Coastguard Worker
585*d5c09012SAndroid Build Coastguard Worker// Response for ListReservations.
586*d5c09012SAndroid Build Coastguard Workermessage ListReservationsResponse {
587*d5c09012SAndroid Build Coastguard Worker  // The list of reservation in the requested parent. The order of the
588*d5c09012SAndroid Build Coastguard Worker  // reservations is unspecified.
589*d5c09012SAndroid Build Coastguard Worker  repeated Reservation reservations = 1;
590*d5c09012SAndroid Build Coastguard Worker
591*d5c09012SAndroid Build Coastguard Worker  // A token that can be sent as `page_token` to retrieve the next page of
592*d5c09012SAndroid Build Coastguard Worker  // results. If this field is omitted, there are no more results.
593*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
594*d5c09012SAndroid Build Coastguard Worker}
595*d5c09012SAndroid Build Coastguard Worker
596*d5c09012SAndroid Build Coastguard Worker// Request for UpdateReservation.
597*d5c09012SAndroid Build Coastguard Workermessage UpdateReservationRequest {
598*d5c09012SAndroid Build Coastguard Worker  // Required. The reservation to update. Its `name` field must be populated.
599*d5c09012SAndroid Build Coastguard Worker  Reservation reservation = 1 [(google.api.field_behavior) = REQUIRED];
600*d5c09012SAndroid Build Coastguard Worker
601*d5c09012SAndroid Build Coastguard Worker  // Required. A mask specifying the reservation fields to change.
602*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2
603*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
604*d5c09012SAndroid Build Coastguard Worker}
605*d5c09012SAndroid Build Coastguard Worker
606*d5c09012SAndroid Build Coastguard Worker// Request for DeleteReservation.
607*d5c09012SAndroid Build Coastguard Workermessage DeleteReservationRequest {
608*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the reservation to delete.
609*d5c09012SAndroid Build Coastguard Worker  // Structured like:
610*d5c09012SAndroid Build Coastguard Worker  // projects/{project_number}/locations/{location}/reservations/{reservation_id}
611*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
612*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
613*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
614*d5c09012SAndroid Build Coastguard Worker      type: "pubsublite.googleapis.com/Reservation"
615*d5c09012SAndroid Build Coastguard Worker    }
616*d5c09012SAndroid Build Coastguard Worker  ];
617*d5c09012SAndroid Build Coastguard Worker}
618*d5c09012SAndroid Build Coastguard Worker
619*d5c09012SAndroid Build Coastguard Worker// Request for ListReservationTopics.
620*d5c09012SAndroid Build Coastguard Workermessage ListReservationTopicsRequest {
621*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the reservation whose topics to list.
622*d5c09012SAndroid Build Coastguard Worker  // Structured like:
623*d5c09012SAndroid Build Coastguard Worker  // projects/{project_number}/locations/{location}/reservations/{reservation_id}
624*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
625*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
626*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
627*d5c09012SAndroid Build Coastguard Worker      type: "pubsublite.googleapis.com/Reservation"
628*d5c09012SAndroid Build Coastguard Worker    }
629*d5c09012SAndroid Build Coastguard Worker  ];
630*d5c09012SAndroid Build Coastguard Worker
631*d5c09012SAndroid Build Coastguard Worker  // The maximum number of topics to return. The service may return fewer
632*d5c09012SAndroid Build Coastguard Worker  // than this value.
633*d5c09012SAndroid Build Coastguard Worker  // If unset or zero, all topics for the given reservation will be returned.
634*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
635*d5c09012SAndroid Build Coastguard Worker
636*d5c09012SAndroid Build Coastguard Worker  // A page token, received from a previous `ListReservationTopics` call.
637*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
638*d5c09012SAndroid Build Coastguard Worker  //
639*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListReservationTopics`
640*d5c09012SAndroid Build Coastguard Worker  // must match the call that provided the page token.
641*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
642*d5c09012SAndroid Build Coastguard Worker}
643*d5c09012SAndroid Build Coastguard Worker
644*d5c09012SAndroid Build Coastguard Worker// Response for ListReservationTopics.
645*d5c09012SAndroid Build Coastguard Workermessage ListReservationTopicsResponse {
646*d5c09012SAndroid Build Coastguard Worker  // The names of topics attached to the reservation. The order of the
647*d5c09012SAndroid Build Coastguard Worker  // topics is unspecified.
648*d5c09012SAndroid Build Coastguard Worker  repeated string topics = 1;
649*d5c09012SAndroid Build Coastguard Worker
650*d5c09012SAndroid Build Coastguard Worker  // A token that can be sent as `page_token` to retrieve the next page of
651*d5c09012SAndroid Build Coastguard Worker  // results. If this field is omitted, there are no more results.
652*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
653*d5c09012SAndroid Build Coastguard Worker}
654