xref: /aosp_15_r20/external/googleapis/google/api/serviceusage/v1beta1/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.v1beta1;
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/serviceusage/v1beta1/resources.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
26*d5c09012SAndroid Build Coastguard Worker
27*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Api.ServiceUsage.V1Beta1";
28*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/api/serviceusage/v1beta1;serviceusage";
29*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
30*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ServiceUsageProto";
31*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.api.serviceusage.v1beta1";
32*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Api\\ServiceUsage\\V1beta1";
33*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Api::ServiceUsage::V1beta1";
34*d5c09012SAndroid Build Coastguard Worker
35*d5c09012SAndroid Build Coastguard Worker// [Service Usage API](https://cloud.google.com/service-usage/docs/overview)
36*d5c09012SAndroid Build Coastguard Workerservice ServiceUsage {
37*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "serviceusage.googleapis.com";
38*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
39*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform,"
40*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform.read-only,"
41*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/service.management";
42*d5c09012SAndroid Build Coastguard Worker
43*d5c09012SAndroid Build Coastguard Worker  // Enables a service so that it can be used with a project.
44*d5c09012SAndroid Build Coastguard Worker  //
45*d5c09012SAndroid Build Coastguard Worker  // Operation response type: `google.protobuf.Empty`
46*d5c09012SAndroid Build Coastguard Worker  rpc EnableService(EnableServiceRequest)
47*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
48*d5c09012SAndroid Build Coastguard Worker    option deprecated = true;
49*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
50*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=*/*/services/*}:enable"
51*d5c09012SAndroid Build Coastguard Worker      body: "*"
52*d5c09012SAndroid Build Coastguard Worker    };
53*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
54*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
55*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
56*d5c09012SAndroid Build Coastguard Worker    };
57*d5c09012SAndroid Build Coastguard Worker  }
58*d5c09012SAndroid Build Coastguard Worker
59*d5c09012SAndroid Build Coastguard Worker  // Disables a service so that it can no longer be used with a project.
60*d5c09012SAndroid Build Coastguard Worker  // This prevents unintended usage that may cause unexpected billing
61*d5c09012SAndroid Build Coastguard Worker  // charges or security leaks.
62*d5c09012SAndroid Build Coastguard Worker  //
63*d5c09012SAndroid Build Coastguard Worker  // It is not valid to call the disable method on a service that is not
64*d5c09012SAndroid Build Coastguard Worker  // currently enabled. Callers will receive a `FAILED_PRECONDITION` status if
65*d5c09012SAndroid Build Coastguard Worker  // the target service is not currently enabled.
66*d5c09012SAndroid Build Coastguard Worker  //
67*d5c09012SAndroid Build Coastguard Worker  // Operation response type: `google.protobuf.Empty`
68*d5c09012SAndroid Build Coastguard Worker  rpc DisableService(DisableServiceRequest)
69*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
70*d5c09012SAndroid Build Coastguard Worker    option deprecated = true;
71*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
72*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=*/*/services/*}:disable"
73*d5c09012SAndroid Build Coastguard Worker      body: "*"
74*d5c09012SAndroid Build Coastguard Worker    };
75*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
76*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
77*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
78*d5c09012SAndroid Build Coastguard Worker    };
79*d5c09012SAndroid Build Coastguard Worker  }
80*d5c09012SAndroid Build Coastguard Worker
81*d5c09012SAndroid Build Coastguard Worker  // Returns the service configuration and enabled state for a given service.
82*d5c09012SAndroid Build Coastguard Worker  rpc GetService(GetServiceRequest) returns (Service) {
83*d5c09012SAndroid Build Coastguard Worker    option deprecated = true;
84*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
85*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{name=*/*/services/*}"
86*d5c09012SAndroid Build Coastguard Worker    };
87*d5c09012SAndroid Build Coastguard Worker  }
88*d5c09012SAndroid Build Coastguard Worker
89*d5c09012SAndroid Build Coastguard Worker  // Lists all services available to the specified project, and the current
90*d5c09012SAndroid Build Coastguard Worker  // state of those services with respect to the project. The list includes
91*d5c09012SAndroid Build Coastguard Worker  // all public services, all services for which the calling user has the
92*d5c09012SAndroid Build Coastguard Worker  // `servicemanagement.services.bind` permission, and all services that have
93*d5c09012SAndroid Build Coastguard Worker  // already been enabled on the project. The list can be filtered to
94*d5c09012SAndroid Build Coastguard Worker  // only include services in a specific state, for example to only include
95*d5c09012SAndroid Build Coastguard Worker  // services enabled on the project.
96*d5c09012SAndroid Build Coastguard Worker  rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
97*d5c09012SAndroid Build Coastguard Worker    option deprecated = true;
98*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
99*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=*/*}/services"
100*d5c09012SAndroid Build Coastguard Worker    };
101*d5c09012SAndroid Build Coastguard Worker  }
102*d5c09012SAndroid Build Coastguard Worker
103*d5c09012SAndroid Build Coastguard Worker  // Enables multiple services on a project. The operation is atomic: if
104*d5c09012SAndroid Build Coastguard Worker  // enabling any service fails, then the entire batch fails, and no state
105*d5c09012SAndroid Build Coastguard Worker  // changes occur.
106*d5c09012SAndroid Build Coastguard Worker  //
107*d5c09012SAndroid Build Coastguard Worker  // Operation response type: `google.protobuf.Empty`
108*d5c09012SAndroid Build Coastguard Worker  rpc BatchEnableServices(BatchEnableServicesRequest)
109*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
110*d5c09012SAndroid Build Coastguard Worker    option deprecated = true;
111*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
112*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=*/*}/services:batchEnable"
113*d5c09012SAndroid Build Coastguard Worker      body: "*"
114*d5c09012SAndroid Build Coastguard Worker    };
115*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
116*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
117*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
118*d5c09012SAndroid Build Coastguard Worker    };
119*d5c09012SAndroid Build Coastguard Worker  }
120*d5c09012SAndroid Build Coastguard Worker
121*d5c09012SAndroid Build Coastguard Worker  // Retrieves a summary of all quota information visible to the service
122*d5c09012SAndroid Build Coastguard Worker  // consumer, organized by service metric. Each metric includes information
123*d5c09012SAndroid Build Coastguard Worker  // about all of its defined limits. Each limit includes the limit
124*d5c09012SAndroid Build Coastguard Worker  // configuration (quota unit, preciseness, default value), the current
125*d5c09012SAndroid Build Coastguard Worker  // effective limit value, and all of the overrides applied to the limit.
126*d5c09012SAndroid Build Coastguard Worker  rpc ListConsumerQuotaMetrics(ListConsumerQuotaMetricsRequest)
127*d5c09012SAndroid Build Coastguard Worker      returns (ListConsumerQuotaMetricsResponse) {
128*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
129*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics"
130*d5c09012SAndroid Build Coastguard Worker    };
131*d5c09012SAndroid Build Coastguard Worker  }
132*d5c09012SAndroid Build Coastguard Worker
133*d5c09012SAndroid Build Coastguard Worker  // Retrieves a summary of quota information for a specific quota metric
134*d5c09012SAndroid Build Coastguard Worker  rpc GetConsumerQuotaMetric(GetConsumerQuotaMetricRequest)
135*d5c09012SAndroid Build Coastguard Worker      returns (ConsumerQuotaMetric) {
136*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
137*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*}"
138*d5c09012SAndroid Build Coastguard Worker    };
139*d5c09012SAndroid Build Coastguard Worker  }
140*d5c09012SAndroid Build Coastguard Worker
141*d5c09012SAndroid Build Coastguard Worker  // Retrieves a summary of quota information for a specific quota limit.
142*d5c09012SAndroid Build Coastguard Worker  rpc GetConsumerQuotaLimit(GetConsumerQuotaLimitRequest)
143*d5c09012SAndroid Build Coastguard Worker      returns (ConsumerQuotaLimit) {
144*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
145*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*}"
146*d5c09012SAndroid Build Coastguard Worker    };
147*d5c09012SAndroid Build Coastguard Worker  }
148*d5c09012SAndroid Build Coastguard Worker
149*d5c09012SAndroid Build Coastguard Worker  // Creates an admin override.
150*d5c09012SAndroid Build Coastguard Worker  // An admin override is applied by an administrator of a parent folder or
151*d5c09012SAndroid Build Coastguard Worker  // parent organization of the consumer receiving the override. An admin
152*d5c09012SAndroid Build Coastguard Worker  // override is intended to limit the amount of quota the consumer can use out
153*d5c09012SAndroid Build Coastguard Worker  // of the total quota pool allocated to all children of the folder or
154*d5c09012SAndroid Build Coastguard Worker  // organization.
155*d5c09012SAndroid Build Coastguard Worker  rpc CreateAdminOverride(CreateAdminOverrideRequest)
156*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
157*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
158*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/adminOverrides"
159*d5c09012SAndroid Build Coastguard Worker      body: "override"
160*d5c09012SAndroid Build Coastguard Worker    };
161*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
162*d5c09012SAndroid Build Coastguard Worker      response_type: "QuotaOverride"
163*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
164*d5c09012SAndroid Build Coastguard Worker    };
165*d5c09012SAndroid Build Coastguard Worker  }
166*d5c09012SAndroid Build Coastguard Worker
167*d5c09012SAndroid Build Coastguard Worker  // Updates an admin override.
168*d5c09012SAndroid Build Coastguard Worker  rpc UpdateAdminOverride(UpdateAdminOverrideRequest)
169*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
170*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
171*d5c09012SAndroid Build Coastguard Worker      patch: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/adminOverrides/*}"
172*d5c09012SAndroid Build Coastguard Worker      body: "override"
173*d5c09012SAndroid Build Coastguard Worker    };
174*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
175*d5c09012SAndroid Build Coastguard Worker      response_type: "QuotaOverride"
176*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
177*d5c09012SAndroid Build Coastguard Worker    };
178*d5c09012SAndroid Build Coastguard Worker  }
179*d5c09012SAndroid Build Coastguard Worker
180*d5c09012SAndroid Build Coastguard Worker  // Deletes an admin override.
181*d5c09012SAndroid Build Coastguard Worker  rpc DeleteAdminOverride(DeleteAdminOverrideRequest)
182*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
183*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
184*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/adminOverrides/*}"
185*d5c09012SAndroid Build Coastguard Worker    };
186*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
187*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
188*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
189*d5c09012SAndroid Build Coastguard Worker    };
190*d5c09012SAndroid Build Coastguard Worker  }
191*d5c09012SAndroid Build Coastguard Worker
192*d5c09012SAndroid Build Coastguard Worker  // Lists all admin overrides on this limit.
193*d5c09012SAndroid Build Coastguard Worker  rpc ListAdminOverrides(ListAdminOverridesRequest)
194*d5c09012SAndroid Build Coastguard Worker      returns (ListAdminOverridesResponse) {
195*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
196*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/adminOverrides"
197*d5c09012SAndroid Build Coastguard Worker    };
198*d5c09012SAndroid Build Coastguard Worker  }
199*d5c09012SAndroid Build Coastguard Worker
200*d5c09012SAndroid Build Coastguard Worker  // Creates or updates multiple admin overrides atomically, all on the
201*d5c09012SAndroid Build Coastguard Worker  // same consumer, but on many different metrics or limits.
202*d5c09012SAndroid Build Coastguard Worker  // The name field in the quota override message should not be set.
203*d5c09012SAndroid Build Coastguard Worker  rpc ImportAdminOverrides(ImportAdminOverridesRequest)
204*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
205*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
206*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics:importAdminOverrides"
207*d5c09012SAndroid Build Coastguard Worker      body: "*"
208*d5c09012SAndroid Build Coastguard Worker    };
209*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
210*d5c09012SAndroid Build Coastguard Worker      response_type: "ImportAdminOverridesResponse"
211*d5c09012SAndroid Build Coastguard Worker      metadata_type: "ImportAdminOverridesMetadata"
212*d5c09012SAndroid Build Coastguard Worker    };
213*d5c09012SAndroid Build Coastguard Worker  }
214*d5c09012SAndroid Build Coastguard Worker
215*d5c09012SAndroid Build Coastguard Worker  // Creates a consumer override.
216*d5c09012SAndroid Build Coastguard Worker  // A consumer override is applied to the consumer on its own authority to
217*d5c09012SAndroid Build Coastguard Worker  // limit its own quota usage. Consumer overrides cannot be used to grant more
218*d5c09012SAndroid Build Coastguard Worker  // quota than would be allowed by admin overrides, producer overrides, or the
219*d5c09012SAndroid Build Coastguard Worker  // default limit of the service.
220*d5c09012SAndroid Build Coastguard Worker  rpc CreateConsumerOverride(CreateConsumerOverrideRequest)
221*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
222*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
223*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/consumerOverrides"
224*d5c09012SAndroid Build Coastguard Worker      body: "override"
225*d5c09012SAndroid Build Coastguard Worker    };
226*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
227*d5c09012SAndroid Build Coastguard Worker      response_type: "QuotaOverride"
228*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
229*d5c09012SAndroid Build Coastguard Worker    };
230*d5c09012SAndroid Build Coastguard Worker  }
231*d5c09012SAndroid Build Coastguard Worker
232*d5c09012SAndroid Build Coastguard Worker  // Updates a consumer override.
233*d5c09012SAndroid Build Coastguard Worker  rpc UpdateConsumerOverride(UpdateConsumerOverrideRequest)
234*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
235*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
236*d5c09012SAndroid Build Coastguard Worker      patch: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/consumerOverrides/*}"
237*d5c09012SAndroid Build Coastguard Worker      body: "override"
238*d5c09012SAndroid Build Coastguard Worker    };
239*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
240*d5c09012SAndroid Build Coastguard Worker      response_type: "QuotaOverride"
241*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
242*d5c09012SAndroid Build Coastguard Worker    };
243*d5c09012SAndroid Build Coastguard Worker  }
244*d5c09012SAndroid Build Coastguard Worker
245*d5c09012SAndroid Build Coastguard Worker  // Deletes a consumer override.
246*d5c09012SAndroid Build Coastguard Worker  rpc DeleteConsumerOverride(DeleteConsumerOverrideRequest)
247*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
248*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
249*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/consumerOverrides/*}"
250*d5c09012SAndroid Build Coastguard Worker    };
251*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
252*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
253*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
254*d5c09012SAndroid Build Coastguard Worker    };
255*d5c09012SAndroid Build Coastguard Worker  }
256*d5c09012SAndroid Build Coastguard Worker
257*d5c09012SAndroid Build Coastguard Worker  // Lists all consumer overrides on this limit.
258*d5c09012SAndroid Build Coastguard Worker  rpc ListConsumerOverrides(ListConsumerOverridesRequest)
259*d5c09012SAndroid Build Coastguard Worker      returns (ListConsumerOverridesResponse) {
260*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
261*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/consumerOverrides"
262*d5c09012SAndroid Build Coastguard Worker    };
263*d5c09012SAndroid Build Coastguard Worker  }
264*d5c09012SAndroid Build Coastguard Worker
265*d5c09012SAndroid Build Coastguard Worker  // Creates or updates multiple consumer overrides atomically, all on the
266*d5c09012SAndroid Build Coastguard Worker  // same consumer, but on many different metrics or limits.
267*d5c09012SAndroid Build Coastguard Worker  // The name field in the quota override message should not be set.
268*d5c09012SAndroid Build Coastguard Worker  rpc ImportConsumerOverrides(ImportConsumerOverridesRequest)
269*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
270*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
271*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics:importConsumerOverrides"
272*d5c09012SAndroid Build Coastguard Worker      body: "*"
273*d5c09012SAndroid Build Coastguard Worker    };
274*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
275*d5c09012SAndroid Build Coastguard Worker      response_type: "ImportConsumerOverridesResponse"
276*d5c09012SAndroid Build Coastguard Worker      metadata_type: "ImportConsumerOverridesMetadata"
277*d5c09012SAndroid Build Coastguard Worker    };
278*d5c09012SAndroid Build Coastguard Worker  }
279*d5c09012SAndroid Build Coastguard Worker
280*d5c09012SAndroid Build Coastguard Worker  // Generates service identity for service.
281*d5c09012SAndroid Build Coastguard Worker  rpc GenerateServiceIdentity(GenerateServiceIdentityRequest)
282*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
283*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
284*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=*/*/services/*}:generateServiceIdentity"
285*d5c09012SAndroid Build Coastguard Worker    };
286*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
287*d5c09012SAndroid Build Coastguard Worker      response_type: "ServiceIdentity"
288*d5c09012SAndroid Build Coastguard Worker      metadata_type: "google.protobuf.Empty"
289*d5c09012SAndroid Build Coastguard Worker    };
290*d5c09012SAndroid Build Coastguard Worker  }
291*d5c09012SAndroid Build Coastguard Worker}
292*d5c09012SAndroid Build Coastguard Worker
293*d5c09012SAndroid Build Coastguard Worker// Request message for the `EnableService` method.
294*d5c09012SAndroid Build Coastguard Workermessage EnableServiceRequest {
295*d5c09012SAndroid Build Coastguard Worker  // Name of the consumer and service to enable the service on.
296*d5c09012SAndroid Build Coastguard Worker  //
297*d5c09012SAndroid Build Coastguard Worker  // The `EnableService` and `DisableService` methods currently only support
298*d5c09012SAndroid Build Coastguard Worker  // projects.
299*d5c09012SAndroid Build Coastguard Worker  //
300*d5c09012SAndroid Build Coastguard Worker  // Enabling a service requires that the service is public or is shared with
301*d5c09012SAndroid Build Coastguard Worker  // the user enabling the service.
302*d5c09012SAndroid Build Coastguard Worker  //
303*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
304*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/serviceusage.googleapis.com`
305*d5c09012SAndroid Build Coastguard Worker  // where `123` is the project number (not project ID).
306*d5c09012SAndroid Build Coastguard Worker  string name = 1;
307*d5c09012SAndroid Build Coastguard Worker}
308*d5c09012SAndroid Build Coastguard Worker
309*d5c09012SAndroid Build Coastguard Worker// Request message for the `DisableService` method.
310*d5c09012SAndroid Build Coastguard Workermessage DisableServiceRequest {
311*d5c09012SAndroid Build Coastguard Worker  // Name of the consumer and service to disable the service on.
312*d5c09012SAndroid Build Coastguard Worker  //
313*d5c09012SAndroid Build Coastguard Worker  // The enable and disable methods currently only support projects.
314*d5c09012SAndroid Build Coastguard Worker  //
315*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
316*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/serviceusage.googleapis.com`
317*d5c09012SAndroid Build Coastguard Worker  // where `123` is the project number (not project ID).
318*d5c09012SAndroid Build Coastguard Worker  string name = 1;
319*d5c09012SAndroid Build Coastguard Worker}
320*d5c09012SAndroid Build Coastguard Worker
321*d5c09012SAndroid Build Coastguard Worker// Request message for the `GetService` method.
322*d5c09012SAndroid Build Coastguard Workermessage GetServiceRequest {
323*d5c09012SAndroid Build Coastguard Worker  // Name of the consumer and service to get the `ConsumerState` for.
324*d5c09012SAndroid Build Coastguard Worker  //
325*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
326*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/serviceusage.googleapis.com`
327*d5c09012SAndroid Build Coastguard Worker  // where `123` is the project number (not project ID).
328*d5c09012SAndroid Build Coastguard Worker  string name = 1;
329*d5c09012SAndroid Build Coastguard Worker}
330*d5c09012SAndroid Build Coastguard Worker
331*d5c09012SAndroid Build Coastguard Worker// Request message for the `ListServices` method.
332*d5c09012SAndroid Build Coastguard Workermessage ListServicesRequest {
333*d5c09012SAndroid Build Coastguard Worker  // Parent to search for services on.
334*d5c09012SAndroid Build Coastguard Worker  //
335*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
336*d5c09012SAndroid Build Coastguard Worker  // `projects/123`
337*d5c09012SAndroid Build Coastguard Worker  // where `123` is the project number (not project ID).
338*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
339*d5c09012SAndroid Build Coastguard Worker
340*d5c09012SAndroid Build Coastguard Worker  // Requested size of the next page of data.
341*d5c09012SAndroid Build Coastguard Worker  // Requested page size cannot exceed 200.
342*d5c09012SAndroid Build Coastguard Worker  //  If not set, the default page size is 50.
343*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
344*d5c09012SAndroid Build Coastguard Worker
345*d5c09012SAndroid Build Coastguard Worker  // Token identifying which result to start with, which is returned by a
346*d5c09012SAndroid Build Coastguard Worker  // previous list call.
347*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
348*d5c09012SAndroid Build Coastguard Worker
349*d5c09012SAndroid Build Coastguard Worker  // Only list services that conform to the given filter.
350*d5c09012SAndroid Build Coastguard Worker  // The allowed filter strings are `state:ENABLED` and `state:DISABLED`.
351*d5c09012SAndroid Build Coastguard Worker  string filter = 4;
352*d5c09012SAndroid Build Coastguard Worker}
353*d5c09012SAndroid Build Coastguard Worker
354*d5c09012SAndroid Build Coastguard Worker// Response message for the `ListServices` method.
355*d5c09012SAndroid Build Coastguard Workermessage ListServicesResponse {
356*d5c09012SAndroid Build Coastguard Worker  // The available services for the requested project.
357*d5c09012SAndroid Build Coastguard Worker  repeated Service services = 1;
358*d5c09012SAndroid Build Coastguard Worker
359*d5c09012SAndroid Build Coastguard Worker  // Token that can be passed to `ListServices` to resume a paginated
360*d5c09012SAndroid Build Coastguard Worker  // query.
361*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
362*d5c09012SAndroid Build Coastguard Worker}
363*d5c09012SAndroid Build Coastguard Worker
364*d5c09012SAndroid Build Coastguard Worker// Request message for the `BatchEnableServices` method.
365*d5c09012SAndroid Build Coastguard Workermessage BatchEnableServicesRequest {
366*d5c09012SAndroid Build Coastguard Worker  // Parent to enable services on.
367*d5c09012SAndroid Build Coastguard Worker  //
368*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
369*d5c09012SAndroid Build Coastguard Worker  // `projects/123`
370*d5c09012SAndroid Build Coastguard Worker  // where `123` is the project number (not project ID).
371*d5c09012SAndroid Build Coastguard Worker  //
372*d5c09012SAndroid Build Coastguard Worker  // The `BatchEnableServices` method currently only supports projects.
373*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
374*d5c09012SAndroid Build Coastguard Worker
375*d5c09012SAndroid Build Coastguard Worker  // The identifiers of the services to enable on the project.
376*d5c09012SAndroid Build Coastguard Worker  //
377*d5c09012SAndroid Build Coastguard Worker  // A valid identifier would be:
378*d5c09012SAndroid Build Coastguard Worker  // serviceusage.googleapis.com
379*d5c09012SAndroid Build Coastguard Worker  //
380*d5c09012SAndroid Build Coastguard Worker  // Enabling services requires that each service is public or is shared with
381*d5c09012SAndroid Build Coastguard Worker  // the user enabling the service.
382*d5c09012SAndroid Build Coastguard Worker  //
383*d5c09012SAndroid Build Coastguard Worker  // Two or more services must be specified. To enable a single service,
384*d5c09012SAndroid Build Coastguard Worker  // use the `EnableService` method instead.
385*d5c09012SAndroid Build Coastguard Worker  //
386*d5c09012SAndroid Build Coastguard Worker  // A single request can enable a maximum of 20 services at a time. If more
387*d5c09012SAndroid Build Coastguard Worker  // than 20 services are specified, the request will fail, and no state changes
388*d5c09012SAndroid Build Coastguard Worker  // will occur.
389*d5c09012SAndroid Build Coastguard Worker  repeated string service_ids = 2;
390*d5c09012SAndroid Build Coastguard Worker}
391*d5c09012SAndroid Build Coastguard Worker
392*d5c09012SAndroid Build Coastguard Worker// Request message for ListConsumerQuotaMetrics
393*d5c09012SAndroid Build Coastguard Workermessage ListConsumerQuotaMetricsRequest {
394*d5c09012SAndroid Build Coastguard Worker  // Parent of the quotas resource.
395*d5c09012SAndroid Build Coastguard Worker  //
396*d5c09012SAndroid Build Coastguard Worker  // Some example names would be:
397*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/serviceconsumermanagement.googleapis.com`
398*d5c09012SAndroid Build Coastguard Worker  // `folders/345/services/serviceconsumermanagement.googleapis.com`
399*d5c09012SAndroid Build Coastguard Worker  // `organizations/456/services/serviceconsumermanagement.googleapis.com`
400*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
401*d5c09012SAndroid Build Coastguard Worker
402*d5c09012SAndroid Build Coastguard Worker  // Requested size of the next page of data.
403*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
404*d5c09012SAndroid Build Coastguard Worker
405*d5c09012SAndroid Build Coastguard Worker  // Token identifying which result to start with; returned by a previous list
406*d5c09012SAndroid Build Coastguard Worker  // call.
407*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
408*d5c09012SAndroid Build Coastguard Worker
409*d5c09012SAndroid Build Coastguard Worker  // Specifies the level of detail for quota information in the response.
410*d5c09012SAndroid Build Coastguard Worker  QuotaView view = 4;
411*d5c09012SAndroid Build Coastguard Worker}
412*d5c09012SAndroid Build Coastguard Worker
413*d5c09012SAndroid Build Coastguard Worker// Response message for ListConsumerQuotaMetrics
414*d5c09012SAndroid Build Coastguard Workermessage ListConsumerQuotaMetricsResponse {
415*d5c09012SAndroid Build Coastguard Worker  // Quota settings for the consumer, organized by quota metric.
416*d5c09012SAndroid Build Coastguard Worker  repeated ConsumerQuotaMetric metrics = 1;
417*d5c09012SAndroid Build Coastguard Worker
418*d5c09012SAndroid Build Coastguard Worker  // Token identifying which result to start with; returned by a previous list
419*d5c09012SAndroid Build Coastguard Worker  // call.
420*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
421*d5c09012SAndroid Build Coastguard Worker}
422*d5c09012SAndroid Build Coastguard Worker
423*d5c09012SAndroid Build Coastguard Worker// Request message for GetConsumerQuotaMetric
424*d5c09012SAndroid Build Coastguard Workermessage GetConsumerQuotaMetricRequest {
425*d5c09012SAndroid Build Coastguard Worker  // The resource name of the quota limit.
426*d5c09012SAndroid Build Coastguard Worker  //
427*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
428*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/serviceusage.googleapis.com/quotas/metrics/serviceusage.googleapis.com%2Fmutate_requests`
429*d5c09012SAndroid Build Coastguard Worker  string name = 1;
430*d5c09012SAndroid Build Coastguard Worker
431*d5c09012SAndroid Build Coastguard Worker  // Specifies the level of detail for quota information in the response.
432*d5c09012SAndroid Build Coastguard Worker  QuotaView view = 2;
433*d5c09012SAndroid Build Coastguard Worker}
434*d5c09012SAndroid Build Coastguard Worker
435*d5c09012SAndroid Build Coastguard Worker// Request message for GetConsumerQuotaLimit
436*d5c09012SAndroid Build Coastguard Workermessage GetConsumerQuotaLimitRequest {
437*d5c09012SAndroid Build Coastguard Worker  // The resource name of the quota limit.
438*d5c09012SAndroid Build Coastguard Worker  //
439*d5c09012SAndroid Build Coastguard Worker  // Use the quota limit resource name returned by previous
440*d5c09012SAndroid Build Coastguard Worker  // ListConsumerQuotaMetrics and GetConsumerQuotaMetric API calls.
441*d5c09012SAndroid Build Coastguard Worker  string name = 1;
442*d5c09012SAndroid Build Coastguard Worker
443*d5c09012SAndroid Build Coastguard Worker  // Specifies the level of detail for quota information in the response.
444*d5c09012SAndroid Build Coastguard Worker  QuotaView view = 2;
445*d5c09012SAndroid Build Coastguard Worker}
446*d5c09012SAndroid Build Coastguard Worker
447*d5c09012SAndroid Build Coastguard Worker// Request message for CreateAdminOverride.
448*d5c09012SAndroid Build Coastguard Workermessage CreateAdminOverrideRequest {
449*d5c09012SAndroid Build Coastguard Worker  // The resource name of the parent quota limit, returned by a
450*d5c09012SAndroid Build Coastguard Worker  // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call.
451*d5c09012SAndroid Build Coastguard Worker  //
452*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
453*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`
454*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
455*d5c09012SAndroid Build Coastguard Worker
456*d5c09012SAndroid Build Coastguard Worker  // The admin override to create.
457*d5c09012SAndroid Build Coastguard Worker  QuotaOverride override = 2;
458*d5c09012SAndroid Build Coastguard Worker
459*d5c09012SAndroid Build Coastguard Worker  // Whether to force the creation of the quota override.
460*d5c09012SAndroid Build Coastguard Worker  // Setting the force parameter to 'true' ignores all quota safety checks that
461*d5c09012SAndroid Build Coastguard Worker  // would fail the request. QuotaSafetyCheck lists all such validations.
462*d5c09012SAndroid Build Coastguard Worker  bool force = 3;
463*d5c09012SAndroid Build Coastguard Worker
464*d5c09012SAndroid Build Coastguard Worker  // The list of quota safety checks to ignore before the override mutation.
465*d5c09012SAndroid Build Coastguard Worker  // Unlike 'force' field that ignores all the quota safety checks, the
466*d5c09012SAndroid Build Coastguard Worker  // 'force_only' field ignores only the specified checks; other checks are
467*d5c09012SAndroid Build Coastguard Worker  // still enforced. The 'force' and 'force_only' fields cannot both be set.
468*d5c09012SAndroid Build Coastguard Worker  repeated QuotaSafetyCheck force_only = 4;
469*d5c09012SAndroid Build Coastguard Worker}
470*d5c09012SAndroid Build Coastguard Worker
471*d5c09012SAndroid Build Coastguard Worker// Request message for UpdateAdminOverride.
472*d5c09012SAndroid Build Coastguard Workermessage UpdateAdminOverrideRequest {
473*d5c09012SAndroid Build Coastguard Worker  // The resource name of the override to update.
474*d5c09012SAndroid Build Coastguard Worker  //
475*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
476*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d`
477*d5c09012SAndroid Build Coastguard Worker  string name = 1;
478*d5c09012SAndroid Build Coastguard Worker
479*d5c09012SAndroid Build Coastguard Worker  // The new override.
480*d5c09012SAndroid Build Coastguard Worker  // Only the override_value is updated; all other fields are ignored.
481*d5c09012SAndroid Build Coastguard Worker  QuotaOverride override = 2;
482*d5c09012SAndroid Build Coastguard Worker
483*d5c09012SAndroid Build Coastguard Worker  // Whether to force the update of the quota override.
484*d5c09012SAndroid Build Coastguard Worker  // Setting the force parameter to 'true' ignores all quota safety checks that
485*d5c09012SAndroid Build Coastguard Worker  // would fail the request. QuotaSafetyCheck lists all such validations.
486*d5c09012SAndroid Build Coastguard Worker  bool force = 3;
487*d5c09012SAndroid Build Coastguard Worker
488*d5c09012SAndroid Build Coastguard Worker  // Update only the specified fields of the override.
489*d5c09012SAndroid Build Coastguard Worker  // If unset, all fields will be updated.
490*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 4;
491*d5c09012SAndroid Build Coastguard Worker
492*d5c09012SAndroid Build Coastguard Worker  // The list of quota safety checks to ignore before the override mutation.
493*d5c09012SAndroid Build Coastguard Worker  // Unlike 'force' field that ignores all the quota safety checks, the
494*d5c09012SAndroid Build Coastguard Worker  // 'force_only' field ignores only the specified checks; other checks are
495*d5c09012SAndroid Build Coastguard Worker  // still enforced. The 'force' and 'force_only' fields cannot both be set.
496*d5c09012SAndroid Build Coastguard Worker  repeated QuotaSafetyCheck force_only = 5;
497*d5c09012SAndroid Build Coastguard Worker}
498*d5c09012SAndroid Build Coastguard Worker
499*d5c09012SAndroid Build Coastguard Worker// Request message for DeleteAdminOverride.
500*d5c09012SAndroid Build Coastguard Workermessage DeleteAdminOverrideRequest {
501*d5c09012SAndroid Build Coastguard Worker  // The resource name of the override to delete.
502*d5c09012SAndroid Build Coastguard Worker  //
503*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
504*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d`
505*d5c09012SAndroid Build Coastguard Worker  string name = 1;
506*d5c09012SAndroid Build Coastguard Worker
507*d5c09012SAndroid Build Coastguard Worker  // Whether to force the deletion of the quota override.
508*d5c09012SAndroid Build Coastguard Worker  // Setting the force parameter to 'true' ignores all quota safety checks that
509*d5c09012SAndroid Build Coastguard Worker  // would fail the request. QuotaSafetyCheck lists all such validations.
510*d5c09012SAndroid Build Coastguard Worker  bool force = 2;
511*d5c09012SAndroid Build Coastguard Worker
512*d5c09012SAndroid Build Coastguard Worker  // The list of quota safety checks to ignore before the override mutation.
513*d5c09012SAndroid Build Coastguard Worker  // Unlike 'force' field that ignores all the quota safety checks, the
514*d5c09012SAndroid Build Coastguard Worker  // 'force_only' field ignores only the specified checks; other checks are
515*d5c09012SAndroid Build Coastguard Worker  // still enforced. The 'force' and 'force_only' fields cannot both be set.
516*d5c09012SAndroid Build Coastguard Worker  repeated QuotaSafetyCheck force_only = 3;
517*d5c09012SAndroid Build Coastguard Worker}
518*d5c09012SAndroid Build Coastguard Worker
519*d5c09012SAndroid Build Coastguard Worker// Request message for ListAdminOverrides
520*d5c09012SAndroid Build Coastguard Workermessage ListAdminOverridesRequest {
521*d5c09012SAndroid Build Coastguard Worker  // The resource name of the parent quota limit, returned by a
522*d5c09012SAndroid Build Coastguard Worker  // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call.
523*d5c09012SAndroid Build Coastguard Worker  //
524*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
525*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`
526*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
527*d5c09012SAndroid Build Coastguard Worker
528*d5c09012SAndroid Build Coastguard Worker  // Requested size of the next page of data.
529*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
530*d5c09012SAndroid Build Coastguard Worker
531*d5c09012SAndroid Build Coastguard Worker  // Token identifying which result to start with; returned by a previous list
532*d5c09012SAndroid Build Coastguard Worker  // call.
533*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
534*d5c09012SAndroid Build Coastguard Worker}
535*d5c09012SAndroid Build Coastguard Worker
536*d5c09012SAndroid Build Coastguard Worker// Response message for ListAdminOverrides.
537*d5c09012SAndroid Build Coastguard Workermessage ListAdminOverridesResponse {
538*d5c09012SAndroid Build Coastguard Worker  // Admin overrides on this limit.
539*d5c09012SAndroid Build Coastguard Worker  repeated QuotaOverride overrides = 1;
540*d5c09012SAndroid Build Coastguard Worker
541*d5c09012SAndroid Build Coastguard Worker  // Token identifying which result to start with; returned by a previous list
542*d5c09012SAndroid Build Coastguard Worker  // call.
543*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
544*d5c09012SAndroid Build Coastguard Worker}
545*d5c09012SAndroid Build Coastguard Worker
546*d5c09012SAndroid Build Coastguard Worker// Response message for BatchCreateAdminOverrides
547*d5c09012SAndroid Build Coastguard Workermessage BatchCreateAdminOverridesResponse {
548*d5c09012SAndroid Build Coastguard Worker  // The overrides that were created.
549*d5c09012SAndroid Build Coastguard Worker  repeated QuotaOverride overrides = 1;
550*d5c09012SAndroid Build Coastguard Worker}
551*d5c09012SAndroid Build Coastguard Worker
552*d5c09012SAndroid Build Coastguard Worker// Request message for ImportAdminOverrides
553*d5c09012SAndroid Build Coastguard Workermessage ImportAdminOverridesRequest {
554*d5c09012SAndroid Build Coastguard Worker  // The resource name of the consumer.
555*d5c09012SAndroid Build Coastguard Worker  //
556*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
557*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/compute.googleapis.com`
558*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
559*d5c09012SAndroid Build Coastguard Worker
560*d5c09012SAndroid Build Coastguard Worker  // Source of import data
561*d5c09012SAndroid Build Coastguard Worker  oneof source {
562*d5c09012SAndroid Build Coastguard Worker    // The import data is specified in the request message itself
563*d5c09012SAndroid Build Coastguard Worker    OverrideInlineSource inline_source = 2;
564*d5c09012SAndroid Build Coastguard Worker  }
565*d5c09012SAndroid Build Coastguard Worker
566*d5c09012SAndroid Build Coastguard Worker  // Whether to force the creation of the quota overrides.
567*d5c09012SAndroid Build Coastguard Worker  // Setting the force parameter to 'true' ignores all quota safety checks that
568*d5c09012SAndroid Build Coastguard Worker  // would fail the request. QuotaSafetyCheck lists all such validations.
569*d5c09012SAndroid Build Coastguard Worker  bool force = 3;
570*d5c09012SAndroid Build Coastguard Worker
571*d5c09012SAndroid Build Coastguard Worker  // The list of quota safety checks to ignore before the override mutation.
572*d5c09012SAndroid Build Coastguard Worker  // Unlike 'force' field that ignores all the quota safety checks, the
573*d5c09012SAndroid Build Coastguard Worker  // 'force_only' field ignores only the specified checks; other checks are
574*d5c09012SAndroid Build Coastguard Worker  // still enforced. The 'force' and 'force_only' fields cannot both be set.
575*d5c09012SAndroid Build Coastguard Worker  repeated QuotaSafetyCheck force_only = 4;
576*d5c09012SAndroid Build Coastguard Worker}
577*d5c09012SAndroid Build Coastguard Worker
578*d5c09012SAndroid Build Coastguard Worker// Response message for ImportAdminOverrides
579*d5c09012SAndroid Build Coastguard Workermessage ImportAdminOverridesResponse {
580*d5c09012SAndroid Build Coastguard Worker  // The overrides that were created from the imported data.
581*d5c09012SAndroid Build Coastguard Worker  repeated QuotaOverride overrides = 1;
582*d5c09012SAndroid Build Coastguard Worker}
583*d5c09012SAndroid Build Coastguard Worker
584*d5c09012SAndroid Build Coastguard Worker// Metadata message that provides information such as progress,
585*d5c09012SAndroid Build Coastguard Worker// partial failures, and similar information on each GetOperation call
586*d5c09012SAndroid Build Coastguard Worker// of LRO returned by ImportAdminOverrides.
587*d5c09012SAndroid Build Coastguard Workermessage ImportAdminOverridesMetadata {}
588*d5c09012SAndroid Build Coastguard Worker
589*d5c09012SAndroid Build Coastguard Worker// Request message for CreateConsumerOverride.
590*d5c09012SAndroid Build Coastguard Workermessage CreateConsumerOverrideRequest {
591*d5c09012SAndroid Build Coastguard Worker  // The resource name of the parent quota limit, returned by a
592*d5c09012SAndroid Build Coastguard Worker  // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call.
593*d5c09012SAndroid Build Coastguard Worker  //
594*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
595*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`
596*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
597*d5c09012SAndroid Build Coastguard Worker
598*d5c09012SAndroid Build Coastguard Worker  // The override to create.
599*d5c09012SAndroid Build Coastguard Worker  QuotaOverride override = 2;
600*d5c09012SAndroid Build Coastguard Worker
601*d5c09012SAndroid Build Coastguard Worker  // Whether to force the creation of the quota override.
602*d5c09012SAndroid Build Coastguard Worker  // Setting the force parameter to 'true' ignores all quota safety checks that
603*d5c09012SAndroid Build Coastguard Worker  // would fail the request. QuotaSafetyCheck lists all such validations.
604*d5c09012SAndroid Build Coastguard Worker  bool force = 3;
605*d5c09012SAndroid Build Coastguard Worker
606*d5c09012SAndroid Build Coastguard Worker  // The list of quota safety checks to ignore before the override mutation.
607*d5c09012SAndroid Build Coastguard Worker  // Unlike 'force' field that ignores all the quota safety checks, the
608*d5c09012SAndroid Build Coastguard Worker  // 'force_only' field ignores only the specified checks; other checks are
609*d5c09012SAndroid Build Coastguard Worker  // still enforced. The 'force' and 'force_only' fields cannot both be set.
610*d5c09012SAndroid Build Coastguard Worker  repeated QuotaSafetyCheck force_only = 4;
611*d5c09012SAndroid Build Coastguard Worker}
612*d5c09012SAndroid Build Coastguard Worker
613*d5c09012SAndroid Build Coastguard Worker// Request message for UpdateConsumerOverride.
614*d5c09012SAndroid Build Coastguard Workermessage UpdateConsumerOverrideRequest {
615*d5c09012SAndroid Build Coastguard Worker  // The resource name of the override to update.
616*d5c09012SAndroid Build Coastguard Worker  //
617*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
618*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d`
619*d5c09012SAndroid Build Coastguard Worker  string name = 1;
620*d5c09012SAndroid Build Coastguard Worker
621*d5c09012SAndroid Build Coastguard Worker  // The new override.
622*d5c09012SAndroid Build Coastguard Worker  // Only the override_value is updated; all other fields are ignored.
623*d5c09012SAndroid Build Coastguard Worker  QuotaOverride override = 2;
624*d5c09012SAndroid Build Coastguard Worker
625*d5c09012SAndroid Build Coastguard Worker  // Whether to force the update of the quota override.
626*d5c09012SAndroid Build Coastguard Worker  // Setting the force parameter to 'true' ignores all quota safety checks that
627*d5c09012SAndroid Build Coastguard Worker  // would fail the request. QuotaSafetyCheck lists all such validations.
628*d5c09012SAndroid Build Coastguard Worker  bool force = 3;
629*d5c09012SAndroid Build Coastguard Worker
630*d5c09012SAndroid Build Coastguard Worker  // Update only the specified fields of the override.
631*d5c09012SAndroid Build Coastguard Worker  // If unset, all fields will be updated.
632*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 4;
633*d5c09012SAndroid Build Coastguard Worker
634*d5c09012SAndroid Build Coastguard Worker  // The list of quota safety checks to ignore before the override mutation.
635*d5c09012SAndroid Build Coastguard Worker  // Unlike 'force' field that ignores all the quota safety checks, the
636*d5c09012SAndroid Build Coastguard Worker  // 'force_only' field ignores only the specified checks; other checks are
637*d5c09012SAndroid Build Coastguard Worker  // still enforced. The 'force' and 'force_only' fields cannot both be set.
638*d5c09012SAndroid Build Coastguard Worker  repeated QuotaSafetyCheck force_only = 5;
639*d5c09012SAndroid Build Coastguard Worker}
640*d5c09012SAndroid Build Coastguard Worker
641*d5c09012SAndroid Build Coastguard Worker// Request message for DeleteConsumerOverride.
642*d5c09012SAndroid Build Coastguard Workermessage DeleteConsumerOverrideRequest {
643*d5c09012SAndroid Build Coastguard Worker  // The resource name of the override to delete.
644*d5c09012SAndroid Build Coastguard Worker  //
645*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
646*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d`
647*d5c09012SAndroid Build Coastguard Worker  string name = 1;
648*d5c09012SAndroid Build Coastguard Worker
649*d5c09012SAndroid Build Coastguard Worker  // Whether to force the deletion of the quota override.
650*d5c09012SAndroid Build Coastguard Worker  // Setting the force parameter to 'true' ignores all quota safety checks that
651*d5c09012SAndroid Build Coastguard Worker  // would fail the request. QuotaSafetyCheck lists all such validations.
652*d5c09012SAndroid Build Coastguard Worker  bool force = 2;
653*d5c09012SAndroid Build Coastguard Worker
654*d5c09012SAndroid Build Coastguard Worker  // The list of quota safety checks to ignore before the override mutation.
655*d5c09012SAndroid Build Coastguard Worker  // Unlike 'force' field that ignores all the quota safety checks, the
656*d5c09012SAndroid Build Coastguard Worker  // 'force_only' field ignores only the specified checks; other checks are
657*d5c09012SAndroid Build Coastguard Worker  // still enforced. The 'force' and 'force_only' fields cannot both be set.
658*d5c09012SAndroid Build Coastguard Worker  repeated QuotaSafetyCheck force_only = 3;
659*d5c09012SAndroid Build Coastguard Worker}
660*d5c09012SAndroid Build Coastguard Worker
661*d5c09012SAndroid Build Coastguard Worker// Request message for ListConsumerOverrides
662*d5c09012SAndroid Build Coastguard Workermessage ListConsumerOverridesRequest {
663*d5c09012SAndroid Build Coastguard Worker  // The resource name of the parent quota limit, returned by a
664*d5c09012SAndroid Build Coastguard Worker  // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call.
665*d5c09012SAndroid Build Coastguard Worker  //
666*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
667*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`
668*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
669*d5c09012SAndroid Build Coastguard Worker
670*d5c09012SAndroid Build Coastguard Worker  // Requested size of the next page of data.
671*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
672*d5c09012SAndroid Build Coastguard Worker
673*d5c09012SAndroid Build Coastguard Worker  // Token identifying which result to start with; returned by a previous list
674*d5c09012SAndroid Build Coastguard Worker  // call.
675*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
676*d5c09012SAndroid Build Coastguard Worker}
677*d5c09012SAndroid Build Coastguard Worker
678*d5c09012SAndroid Build Coastguard Worker// Response message for ListConsumerOverrides.
679*d5c09012SAndroid Build Coastguard Workermessage ListConsumerOverridesResponse {
680*d5c09012SAndroid Build Coastguard Worker  // Consumer overrides on this limit.
681*d5c09012SAndroid Build Coastguard Worker  repeated QuotaOverride overrides = 1;
682*d5c09012SAndroid Build Coastguard Worker
683*d5c09012SAndroid Build Coastguard Worker  // Token identifying which result to start with; returned by a previous list
684*d5c09012SAndroid Build Coastguard Worker  // call.
685*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
686*d5c09012SAndroid Build Coastguard Worker}
687*d5c09012SAndroid Build Coastguard Worker
688*d5c09012SAndroid Build Coastguard Worker// Response message for BatchCreateConsumerOverrides
689*d5c09012SAndroid Build Coastguard Workermessage BatchCreateConsumerOverridesResponse {
690*d5c09012SAndroid Build Coastguard Worker  // The overrides that were created.
691*d5c09012SAndroid Build Coastguard Worker  repeated QuotaOverride overrides = 1;
692*d5c09012SAndroid Build Coastguard Worker}
693*d5c09012SAndroid Build Coastguard Worker
694*d5c09012SAndroid Build Coastguard Worker// Request message for ImportConsumerOverrides
695*d5c09012SAndroid Build Coastguard Workermessage ImportConsumerOverridesRequest {
696*d5c09012SAndroid Build Coastguard Worker  // The resource name of the consumer.
697*d5c09012SAndroid Build Coastguard Worker  //
698*d5c09012SAndroid Build Coastguard Worker  // An example name would be:
699*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/compute.googleapis.com`
700*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
701*d5c09012SAndroid Build Coastguard Worker
702*d5c09012SAndroid Build Coastguard Worker  // Source of import data
703*d5c09012SAndroid Build Coastguard Worker  oneof source {
704*d5c09012SAndroid Build Coastguard Worker    // The import data is specified in the request message itself
705*d5c09012SAndroid Build Coastguard Worker    OverrideInlineSource inline_source = 2;
706*d5c09012SAndroid Build Coastguard Worker  }
707*d5c09012SAndroid Build Coastguard Worker
708*d5c09012SAndroid Build Coastguard Worker  // Whether to force the creation of the quota overrides.
709*d5c09012SAndroid Build Coastguard Worker  // Setting the force parameter to 'true' ignores all quota safety checks that
710*d5c09012SAndroid Build Coastguard Worker  // would fail the request. QuotaSafetyCheck lists all such validations.
711*d5c09012SAndroid Build Coastguard Worker  bool force = 3;
712*d5c09012SAndroid Build Coastguard Worker
713*d5c09012SAndroid Build Coastguard Worker  // The list of quota safety checks to ignore before the override mutation.
714*d5c09012SAndroid Build Coastguard Worker  // Unlike 'force' field that ignores all the quota safety checks, the
715*d5c09012SAndroid Build Coastguard Worker  // 'force_only' field ignores only the specified checks; other checks are
716*d5c09012SAndroid Build Coastguard Worker  // still enforced. The 'force' and 'force_only' fields cannot both be set.
717*d5c09012SAndroid Build Coastguard Worker  repeated QuotaSafetyCheck force_only = 4;
718*d5c09012SAndroid Build Coastguard Worker}
719*d5c09012SAndroid Build Coastguard Worker
720*d5c09012SAndroid Build Coastguard Worker// Response message for ImportConsumerOverrides
721*d5c09012SAndroid Build Coastguard Workermessage ImportConsumerOverridesResponse {
722*d5c09012SAndroid Build Coastguard Worker  // The overrides that were created from the imported data.
723*d5c09012SAndroid Build Coastguard Worker  repeated QuotaOverride overrides = 1;
724*d5c09012SAndroid Build Coastguard Worker}
725*d5c09012SAndroid Build Coastguard Worker
726*d5c09012SAndroid Build Coastguard Worker// Metadata message that provides information such as progress,
727*d5c09012SAndroid Build Coastguard Worker// partial failures, and similar information on each GetOperation call
728*d5c09012SAndroid Build Coastguard Worker// of LRO returned by ImportConsumerOverrides.
729*d5c09012SAndroid Build Coastguard Workermessage ImportConsumerOverridesMetadata {}
730*d5c09012SAndroid Build Coastguard Worker
731*d5c09012SAndroid Build Coastguard Worker// Response message for ImportAdminQuotaPolicies
732*d5c09012SAndroid Build Coastguard Workermessage ImportAdminQuotaPoliciesResponse {
733*d5c09012SAndroid Build Coastguard Worker  // The policies that were created from the imported data.
734*d5c09012SAndroid Build Coastguard Worker  repeated AdminQuotaPolicy policies = 1;
735*d5c09012SAndroid Build Coastguard Worker}
736*d5c09012SAndroid Build Coastguard Worker
737*d5c09012SAndroid Build Coastguard Worker// Metadata message that provides information such as progress,
738*d5c09012SAndroid Build Coastguard Worker// partial failures, and similar information on each GetOperation call
739*d5c09012SAndroid Build Coastguard Worker// of LRO returned by ImportAdminQuotaPolicies.
740*d5c09012SAndroid Build Coastguard Workermessage ImportAdminQuotaPoliciesMetadata {}
741*d5c09012SAndroid Build Coastguard Worker
742*d5c09012SAndroid Build Coastguard Worker// Metadata message that provides information such as progress,
743*d5c09012SAndroid Build Coastguard Worker// partial failures, and similar information on each GetOperation call
744*d5c09012SAndroid Build Coastguard Worker// of LRO returned by CreateAdminQuotaPolicy.
745*d5c09012SAndroid Build Coastguard Workermessage CreateAdminQuotaPolicyMetadata {}
746*d5c09012SAndroid Build Coastguard Worker
747*d5c09012SAndroid Build Coastguard Worker// Metadata message that provides information such as progress,
748*d5c09012SAndroid Build Coastguard Worker// partial failures, and similar information on each GetOperation call
749*d5c09012SAndroid Build Coastguard Worker// of LRO returned by UpdateAdminQuotaPolicy.
750*d5c09012SAndroid Build Coastguard Workermessage UpdateAdminQuotaPolicyMetadata {}
751*d5c09012SAndroid Build Coastguard Worker
752*d5c09012SAndroid Build Coastguard Worker// Metadata message that provides information such as progress,
753*d5c09012SAndroid Build Coastguard Worker// partial failures, and similar information on each GetOperation call
754*d5c09012SAndroid Build Coastguard Worker// of LRO returned by DeleteAdminQuotaPolicy.
755*d5c09012SAndroid Build Coastguard Workermessage DeleteAdminQuotaPolicyMetadata {}
756*d5c09012SAndroid Build Coastguard Worker
757*d5c09012SAndroid Build Coastguard Worker// Request message for generating service identity.
758*d5c09012SAndroid Build Coastguard Workermessage GenerateServiceIdentityRequest {
759*d5c09012SAndroid Build Coastguard Worker  // Name of the consumer and service to generate an identity for.
760*d5c09012SAndroid Build Coastguard Worker  //
761*d5c09012SAndroid Build Coastguard Worker  // The `GenerateServiceIdentity` methods currently support projects, folders,
762*d5c09012SAndroid Build Coastguard Worker  // organizations.
763*d5c09012SAndroid Build Coastguard Worker  //
764*d5c09012SAndroid Build Coastguard Worker  // Example parents would be:
765*d5c09012SAndroid Build Coastguard Worker  // `projects/123/services/example.googleapis.com`
766*d5c09012SAndroid Build Coastguard Worker  // `folders/123/services/example.googleapis.com`
767*d5c09012SAndroid Build Coastguard Worker  // `organizations/123/services/example.googleapis.com`
768*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
769*d5c09012SAndroid Build Coastguard Worker}
770*d5c09012SAndroid Build Coastguard Worker
771*d5c09012SAndroid Build Coastguard Worker// Response message for getting service identity.
772*d5c09012SAndroid Build Coastguard Workermessage GetServiceIdentityResponse {
773*d5c09012SAndroid Build Coastguard Worker  // Enum for service identity state.
774*d5c09012SAndroid Build Coastguard Worker  enum IdentityState {
775*d5c09012SAndroid Build Coastguard Worker    // Default service identity state. This value is used if the state is
776*d5c09012SAndroid Build Coastguard Worker    // omitted.
777*d5c09012SAndroid Build Coastguard Worker    IDENTITY_STATE_UNSPECIFIED = 0;
778*d5c09012SAndroid Build Coastguard Worker
779*d5c09012SAndroid Build Coastguard Worker    // Service identity has been created and can be used.
780*d5c09012SAndroid Build Coastguard Worker    ACTIVE = 1;
781*d5c09012SAndroid Build Coastguard Worker  }
782*d5c09012SAndroid Build Coastguard Worker
783*d5c09012SAndroid Build Coastguard Worker  // Service identity that service producer can use to access consumer
784*d5c09012SAndroid Build Coastguard Worker  // resources. If exists is true, it contains email and unique_id. If exists is
785*d5c09012SAndroid Build Coastguard Worker  // false, it contains pre-constructed email and empty unique_id.
786*d5c09012SAndroid Build Coastguard Worker  ServiceIdentity identity = 1;
787*d5c09012SAndroid Build Coastguard Worker
788*d5c09012SAndroid Build Coastguard Worker  // Service identity state.
789*d5c09012SAndroid Build Coastguard Worker  IdentityState state = 2;
790*d5c09012SAndroid Build Coastguard Worker}
791*d5c09012SAndroid Build Coastguard Worker
792*d5c09012SAndroid Build Coastguard Worker// Metadata for the `GetServiceIdentity` method.
793*d5c09012SAndroid Build Coastguard Workermessage GetServiceIdentityMetadata {}
794