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