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