xref: /aosp_15_r20/external/googleapis/google/api/serviceusage/v1/serviceusage.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 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.api.serviceusage.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/serviceusage/v1/resources.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto";
23*d5c09012SAndroid Build Coastguard Worker
24*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.ServiceUsage.V1";
25*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/serviceusage/apiv1/serviceusagepb;serviceusagepb";
26*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
27*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ServiceUsageProto";
28*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.api.serviceusage.v1";
29*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\ServiceUsage\\V1";
30*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::ServiceUsage::V1";
31*d5c09012SAndroid Build Coastguard Worker
32*d5c09012SAndroid Build Coastguard Worker// Enables services that service consumers want to use on Google Cloud Platform,
33*d5c09012SAndroid Build Coastguard Worker// lists the available or enabled services, or disables services that service
34*d5c09012SAndroid Build Coastguard Worker// consumers no longer use.
35*d5c09012SAndroid Build Coastguard Worker//
36*d5c09012SAndroid Build Coastguard Worker// See [Service Usage API](https://cloud.google.com/service-usage/docs/overview)
37*d5c09012SAndroid Build Coastguard Workerservice ServiceUsage {
38*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "serviceusage.googleapis.com";
39*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
40*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform,"
41*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform.read-only,"
42*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/service.management";
43*d5c09012SAndroid Build Coastguard Worker
44*d5c09012SAndroid Build Coastguard Worker  // Enable a service so that it can be used with a project.
45*d5c09012SAndroid Build Coastguard Worker  rpc EnableService(EnableServiceRequest)
46*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
47*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
48*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{name=*/*/services/*}:enable"
49*d5c09012SAndroid Build Coastguard Worker      body: "*"
50*d5c09012SAndroid Build Coastguard Worker    };
51*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
52*d5c09012SAndroid Build Coastguard Worker      response_type: "EnableServiceResponse"
53*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
54*d5c09012SAndroid Build Coastguard Worker    };
55*d5c09012SAndroid Build Coastguard Worker  }
56*d5c09012SAndroid Build Coastguard Worker
57*d5c09012SAndroid Build Coastguard Worker  // Disable a service so that it can no longer be used with a project.
58*d5c09012SAndroid Build Coastguard Worker  // This prevents unintended usage that may cause unexpected billing
59*d5c09012SAndroid Build Coastguard Worker  // charges or security leaks.
60*d5c09012SAndroid Build Coastguard Worker  //
61*d5c09012SAndroid Build Coastguard Worker  // It is not valid to call the disable method on a service that is not
62*d5c09012SAndroid Build Coastguard Worker  // currently enabled. Callers will receive a `FAILED_PRECONDITION` status if
63*d5c09012SAndroid Build Coastguard Worker  // the target service is not currently enabled.
64*d5c09012SAndroid Build Coastguard Worker  rpc DisableService(DisableServiceRequest)
65*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
66*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
67*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{name=*/*/services/*}:disable"
68*d5c09012SAndroid Build Coastguard Worker      body: "*"
69*d5c09012SAndroid Build Coastguard Worker    };
70*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
71*d5c09012SAndroid Build Coastguard Worker      response_type: "DisableServiceResponse"
72*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
73*d5c09012SAndroid Build Coastguard Worker    };
74*d5c09012SAndroid Build Coastguard Worker  }
75*d5c09012SAndroid Build Coastguard Worker
76*d5c09012SAndroid Build Coastguard Worker  // Returns the service configuration and enabled state for a given service.
77*d5c09012SAndroid Build Coastguard Worker  rpc GetService(GetServiceRequest) returns (Service) {
78*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
79*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=*/*/services/*}"
80*d5c09012SAndroid Build Coastguard Worker    };
81*d5c09012SAndroid Build Coastguard Worker  }
82*d5c09012SAndroid Build Coastguard Worker
83*d5c09012SAndroid Build Coastguard Worker  // List all services available to the specified project, and the current
84*d5c09012SAndroid Build Coastguard Worker  // state of those services with respect to the project. The list includes
85*d5c09012SAndroid Build Coastguard Worker  // all public services, all services for which the calling user has the
86*d5c09012SAndroid Build Coastguard Worker  // `servicemanagement.services.bind` permission, and all services that have
87*d5c09012SAndroid Build Coastguard Worker  // already been enabled on the project. The list can be filtered to
88*d5c09012SAndroid Build Coastguard Worker  // only include services in a specific state, for example to only include
89*d5c09012SAndroid Build Coastguard Worker  // services enabled on the project.
90*d5c09012SAndroid Build Coastguard Worker  //
91*d5c09012SAndroid Build Coastguard Worker  // WARNING: If you need to query enabled services frequently or across
92*d5c09012SAndroid Build Coastguard Worker  // an organization, you should use
93*d5c09012SAndroid Build Coastguard Worker  // [Cloud Asset Inventory
94*d5c09012SAndroid Build Coastguard Worker  // API](https://cloud.google.com/asset-inventory/docs/apis), which provides
95*d5c09012SAndroid Build Coastguard Worker  // higher throughput and richer filtering capability.
96*d5c09012SAndroid Build Coastguard Worker  rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
97*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
98*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=*/*}/services"
99*d5c09012SAndroid Build Coastguard Worker    };
100*d5c09012SAndroid Build Coastguard Worker  }
101*d5c09012SAndroid Build Coastguard Worker
102*d5c09012SAndroid Build Coastguard Worker  // Enable multiple services on a project. The operation is atomic: if enabling
103*d5c09012SAndroid Build Coastguard Worker  // any service fails, then the entire batch fails, and no state changes occur.
104*d5c09012SAndroid Build Coastguard Worker  // To enable a single service, use the `EnableService` method instead.
105*d5c09012SAndroid Build Coastguard Worker  rpc BatchEnableServices(BatchEnableServicesRequest)
106*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
107*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
108*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=*/*}/services:batchEnable"
109*d5c09012SAndroid Build Coastguard Worker      body: "*"
110*d5c09012SAndroid Build Coastguard Worker    };
111*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
112*d5c09012SAndroid Build Coastguard Worker      response_type: "BatchEnableServicesResponse"
113*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
114*d5c09012SAndroid Build Coastguard Worker    };
115*d5c09012SAndroid Build Coastguard Worker  }
116*d5c09012SAndroid Build Coastguard Worker
117*d5c09012SAndroid Build Coastguard Worker  // Returns the service configurations and enabled states for a given list of
118*d5c09012SAndroid Build Coastguard Worker  // services.
119*d5c09012SAndroid Build Coastguard Worker  rpc BatchGetServices(BatchGetServicesRequest)
120*d5c09012SAndroid Build Coastguard Worker      returns (BatchGetServicesResponse) {
121*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
122*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=*/*}/services:batchGet"
123*d5c09012SAndroid Build Coastguard Worker    };
124*d5c09012SAndroid Build Coastguard Worker  }
125*d5c09012SAndroid Build Coastguard Worker}
126*d5c09012SAndroid Build Coastguard Worker
127*d5c09012SAndroid Build Coastguard Worker// Request message for the `EnableService` method.
128*d5c09012SAndroid Build Coastguard Workermessage EnableServiceRequest {
129*d5c09012SAndroid Build Coastguard Worker  // Name of the consumer and service to enable the service on.
130*d5c09012SAndroid Build Coastguard Worker  //
131*d5c09012SAndroid Build Coastguard Worker  // The `EnableService` and `DisableService` methods currently only support
132*d5c09012SAndroid Build Coastguard Worker  // projects.
133*d5c09012SAndroid Build Coastguard Worker  //
134*d5c09012SAndroid Build Coastguard Worker  // Enabling a service requires that the service is public or is shared with
135*d5c09012SAndroid Build Coastguard Worker  // the user enabling the service.
136*d5c09012SAndroid Build Coastguard Worker  //
137*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
138*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/serviceusage.googleapis.com` where `123` is the
139*d5c09012SAndroid Build Coastguard Worker  // project number.
140*d5c09012SAndroid Build Coastguard Worker  string name = 1;
141*d5c09012SAndroid Build Coastguard Worker}
142*d5c09012SAndroid Build Coastguard Worker
143*d5c09012SAndroid Build Coastguard Worker// Response message for the `EnableService` method.
144*d5c09012SAndroid Build Coastguard Worker// This response message is assigned to the `response` field of the returned
145*d5c09012SAndroid Build Coastguard Worker// Operation when that operation is done.
146*d5c09012SAndroid Build Coastguard Workermessage EnableServiceResponse {
147*d5c09012SAndroid Build Coastguard Worker  // The new state of the service after enabling.
148*d5c09012SAndroid Build Coastguard Worker  Service service = 1;
149*d5c09012SAndroid Build Coastguard Worker}
150*d5c09012SAndroid Build Coastguard Worker
151*d5c09012SAndroid Build Coastguard Worker// Request message for the `DisableService` method.
152*d5c09012SAndroid Build Coastguard Workermessage DisableServiceRequest {
153*d5c09012SAndroid Build Coastguard Worker  // Enum to determine if service usage should be checked when disabling a
154*d5c09012SAndroid Build Coastguard Worker  // service.
155*d5c09012SAndroid Build Coastguard Worker  enum CheckIfServiceHasUsage {
156*d5c09012SAndroid Build Coastguard Worker    // When unset, the default behavior is used, which is SKIP.
157*d5c09012SAndroid Build Coastguard Worker    CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED = 0;
158*d5c09012SAndroid Build Coastguard Worker
159*d5c09012SAndroid Build Coastguard Worker    // If set, skip checking service usage when disabling a service.
160*d5c09012SAndroid Build Coastguard Worker    SKIP = 1;
161*d5c09012SAndroid Build Coastguard Worker
162*d5c09012SAndroid Build Coastguard Worker    // If set, service usage is checked when disabling the service. If a
163*d5c09012SAndroid Build Coastguard Worker    // service, or its dependents, has usage in the last 30 days, the request
164*d5c09012SAndroid Build Coastguard Worker    // returns a FAILED_PRECONDITION error.
165*d5c09012SAndroid Build Coastguard Worker    CHECK = 2;
166*d5c09012SAndroid Build Coastguard Worker  }
167*d5c09012SAndroid Build Coastguard Worker
168*d5c09012SAndroid Build Coastguard Worker  // Name of the consumer and service to disable the service on.
169*d5c09012SAndroid Build Coastguard Worker  //
170*d5c09012SAndroid Build Coastguard Worker  // The enable and disable methods currently only support projects.
171*d5c09012SAndroid Build Coastguard Worker  //
172*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
173*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/serviceusage.googleapis.com` where `123` is the
174*d5c09012SAndroid Build Coastguard Worker  // project number.
175*d5c09012SAndroid Build Coastguard Worker  string name = 1;
176*d5c09012SAndroid Build Coastguard Worker
177*d5c09012SAndroid Build Coastguard Worker  // Indicates if services that are enabled and which depend on this service
178*d5c09012SAndroid Build Coastguard Worker  // should also be disabled. If not set, an error will be generated if any
179*d5c09012SAndroid Build Coastguard Worker  // enabled services depend on the service to be disabled. When set, the
180*d5c09012SAndroid Build Coastguard Worker  // service, and any enabled services that depend on it, will be disabled
181*d5c09012SAndroid Build Coastguard Worker  // together.
182*d5c09012SAndroid Build Coastguard Worker  bool disable_dependent_services = 2;
183*d5c09012SAndroid Build Coastguard Worker
184*d5c09012SAndroid Build Coastguard Worker  // Defines the behavior for checking service usage when disabling a service.
185*d5c09012SAndroid Build Coastguard Worker  CheckIfServiceHasUsage check_if_service_has_usage = 3;
186*d5c09012SAndroid Build Coastguard Worker}
187*d5c09012SAndroid Build Coastguard Worker
188*d5c09012SAndroid Build Coastguard Worker// Response message for the `DisableService` method.
189*d5c09012SAndroid Build Coastguard Worker// This response message is assigned to the `response` field of the returned
190*d5c09012SAndroid Build Coastguard Worker// Operation when that operation is done.
191*d5c09012SAndroid Build Coastguard Workermessage DisableServiceResponse {
192*d5c09012SAndroid Build Coastguard Worker  // The new state of the service after disabling.
193*d5c09012SAndroid Build Coastguard Worker  Service service = 1;
194*d5c09012SAndroid Build Coastguard Worker}
195*d5c09012SAndroid Build Coastguard Worker
196*d5c09012SAndroid Build Coastguard Worker// Request message for the `GetService` method.
197*d5c09012SAndroid Build Coastguard Workermessage GetServiceRequest {
198*d5c09012SAndroid Build Coastguard Worker  // Name of the consumer and service to get the `ConsumerState` for.
199*d5c09012SAndroid Build Coastguard Worker  //
200*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
201*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/serviceusage.googleapis.com` where `123` is the
202*d5c09012SAndroid Build Coastguard Worker  // project number.
203*d5c09012SAndroid Build Coastguard Worker  string name = 1;
204*d5c09012SAndroid Build Coastguard Worker}
205*d5c09012SAndroid Build Coastguard Worker
206*d5c09012SAndroid Build Coastguard Worker// Request message for the `ListServices` method.
207*d5c09012SAndroid Build Coastguard Workermessage ListServicesRequest {
208*d5c09012SAndroid Build Coastguard Worker  // Parent to search for services on.
209*d5c09012SAndroid Build Coastguard Worker  //
210*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
211*d5c09012SAndroid Build Coastguard Worker  // `projects/123` where `123` is the project number.
212*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
213*d5c09012SAndroid Build Coastguard Worker
214*d5c09012SAndroid Build Coastguard Worker  // Requested size of the next page of data.
215*d5c09012SAndroid Build Coastguard Worker  // Requested page size cannot exceed 200.
216*d5c09012SAndroid Build Coastguard Worker  // If not set, the default page size is 50.
217*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
218*d5c09012SAndroid Build Coastguard Worker
219*d5c09012SAndroid Build Coastguard Worker  // Token identifying which result to start with, which is returned by a
220*d5c09012SAndroid Build Coastguard Worker  // previous list call.
221*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
222*d5c09012SAndroid Build Coastguard Worker
223*d5c09012SAndroid Build Coastguard Worker  // Only list services that conform to the given filter.
224*d5c09012SAndroid Build Coastguard Worker  // The allowed filter strings are `state:ENABLED` and `state:DISABLED`.
225*d5c09012SAndroid Build Coastguard Worker  string filter = 4;
226*d5c09012SAndroid Build Coastguard Worker}
227*d5c09012SAndroid Build Coastguard Worker
228*d5c09012SAndroid Build Coastguard Worker// Response message for the `ListServices` method.
229*d5c09012SAndroid Build Coastguard Workermessage ListServicesResponse {
230*d5c09012SAndroid Build Coastguard Worker  // The available services for the requested project.
231*d5c09012SAndroid Build Coastguard Worker  repeated Service services = 1;
232*d5c09012SAndroid Build Coastguard Worker
233*d5c09012SAndroid Build Coastguard Worker  // Token that can be passed to `ListServices` to resume a paginated
234*d5c09012SAndroid Build Coastguard Worker  // query.
235*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
236*d5c09012SAndroid Build Coastguard Worker}
237*d5c09012SAndroid Build Coastguard Worker
238*d5c09012SAndroid Build Coastguard Worker// Request message for the `BatchEnableServices` method.
239*d5c09012SAndroid Build Coastguard Workermessage BatchEnableServicesRequest {
240*d5c09012SAndroid Build Coastguard Worker  // Parent to enable services on.
241*d5c09012SAndroid Build Coastguard Worker  //
242*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
243*d5c09012SAndroid Build Coastguard Worker  // `projects/123` where `123` is the project number.
244*d5c09012SAndroid Build Coastguard Worker  //
245*d5c09012SAndroid Build Coastguard Worker  // The `BatchEnableServices` method currently only supports projects.
246*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
247*d5c09012SAndroid Build Coastguard Worker
248*d5c09012SAndroid Build Coastguard Worker  // The identifiers of the services to enable on the project.
249*d5c09012SAndroid Build Coastguard Worker  //
250*d5c09012SAndroid Build Coastguard Worker  // A valid identifier would be:
251*d5c09012SAndroid Build Coastguard Worker  // serviceusage.googleapis.com
252*d5c09012SAndroid Build Coastguard Worker  //
253*d5c09012SAndroid Build Coastguard Worker  // Enabling services requires that each service is public or is shared with
254*d5c09012SAndroid Build Coastguard Worker  // the user enabling the service.
255*d5c09012SAndroid Build Coastguard Worker  //
256*d5c09012SAndroid Build Coastguard Worker  // A single request can enable a maximum of 20 services at a time. If more
257*d5c09012SAndroid Build Coastguard Worker  // than 20 services are specified, the request will fail, and no state changes
258*d5c09012SAndroid Build Coastguard Worker  // will occur.
259*d5c09012SAndroid Build Coastguard Worker  repeated string service_ids = 2;
260*d5c09012SAndroid Build Coastguard Worker}
261*d5c09012SAndroid Build Coastguard Worker
262*d5c09012SAndroid Build Coastguard Worker// Response message for the `BatchEnableServices` method.
263*d5c09012SAndroid Build Coastguard Worker// This response message is assigned to the `response` field of the returned
264*d5c09012SAndroid Build Coastguard Worker// Operation when that operation is done.
265*d5c09012SAndroid Build Coastguard Workermessage BatchEnableServicesResponse {
266*d5c09012SAndroid Build Coastguard Worker  // Provides error messages for the failing services.
267*d5c09012SAndroid Build Coastguard Worker  message EnableFailure {
268*d5c09012SAndroid Build Coastguard Worker    // The service id of a service that could not be enabled.
269*d5c09012SAndroid Build Coastguard Worker    string service_id = 1;
270*d5c09012SAndroid Build Coastguard Worker
271*d5c09012SAndroid Build Coastguard Worker    // An error message describing why the service could not be enabled.
272*d5c09012SAndroid Build Coastguard Worker    string error_message = 2;
273*d5c09012SAndroid Build Coastguard Worker  }
274*d5c09012SAndroid Build Coastguard Worker
275*d5c09012SAndroid Build Coastguard Worker  // The new state of the services after enabling.
276*d5c09012SAndroid Build Coastguard Worker  repeated Service services = 1;
277*d5c09012SAndroid Build Coastguard Worker
278*d5c09012SAndroid Build Coastguard Worker  // If allow_partial_success is true, and one or more services could not be
279*d5c09012SAndroid Build Coastguard Worker  // enabled, this field contains the details about each failure.
280*d5c09012SAndroid Build Coastguard Worker  repeated EnableFailure failures = 2;
281*d5c09012SAndroid Build Coastguard Worker}
282*d5c09012SAndroid Build Coastguard Worker
283*d5c09012SAndroid Build Coastguard Worker// Request message for the `BatchGetServices` method.
284*d5c09012SAndroid Build Coastguard Workermessage BatchGetServicesRequest {
285*d5c09012SAndroid Build Coastguard Worker  // Parent to retrieve services from.
286*d5c09012SAndroid Build Coastguard Worker  // If this is set, the parent of all of the services specified in `names` must
287*d5c09012SAndroid Build Coastguard Worker  // match this field. An example name would be: `projects/123` where `123` is
288*d5c09012SAndroid Build Coastguard Worker  // the project number. The `BatchGetServices` method currently only supports
289*d5c09012SAndroid Build Coastguard Worker  // projects.
290*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
291*d5c09012SAndroid Build Coastguard Worker
292*d5c09012SAndroid Build Coastguard Worker  // Names of the services to retrieve.
293*d5c09012SAndroid Build Coastguard Worker  //
294*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
295*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/serviceusage.googleapis.com` where `123` is the
296*d5c09012SAndroid Build Coastguard Worker  // project number.
297*d5c09012SAndroid Build Coastguard Worker  // A single request can get a maximum of 30 services at a time.
298*d5c09012SAndroid Build Coastguard Worker  repeated string names = 2;
299*d5c09012SAndroid Build Coastguard Worker}
300*d5c09012SAndroid Build Coastguard Worker
301*d5c09012SAndroid Build Coastguard Worker// Response message for the `BatchGetServices` method.
302*d5c09012SAndroid Build Coastguard Workermessage BatchGetServicesResponse {
303*d5c09012SAndroid Build Coastguard Worker  // The requested Service states.
304*d5c09012SAndroid Build Coastguard Worker  repeated Service services = 1;
305*d5c09012SAndroid Build Coastguard Worker}
306