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.cloudquotas.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/cloudquotas/v1/resources.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 25*d5c09012SAndroid Build Coastguard Worker 26*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.CloudQuotas.V1"; 27*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/cloudquotas/apiv1/cloudquotaspb;cloudquotaspb"; 28*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 29*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "CloudquotasProto"; 30*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.api.cloudquotas.v1"; 31*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\CloudQuotas\\V1"; 32*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::CloudQuotas::V1"; 33*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 34*d5c09012SAndroid Build Coastguard Worker type: "cloudquotas.googleapis.com/Service" 35*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/services/{service}" 36*d5c09012SAndroid Build Coastguard Worker pattern: "folders/{folder}/locations/{location}/services/{service}" 37*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/locations/{location}/services/{service}" 38*d5c09012SAndroid Build Coastguard Worker}; 39*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 40*d5c09012SAndroid Build Coastguard Worker type: "cloudquotas.googleapis.com/Location" 41*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}" 42*d5c09012SAndroid Build Coastguard Worker pattern: "folders/{folder}/locations/{location}" 43*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/locations/{location}" 44*d5c09012SAndroid Build Coastguard Worker}; 45*d5c09012SAndroid Build Coastguard Worker 46*d5c09012SAndroid Build Coastguard Worker// The Cloud Quotas API is an infrastructure service for Google Cloud that lets 47*d5c09012SAndroid Build Coastguard Worker// service consumers list and manage their resource usage limits. 48*d5c09012SAndroid Build Coastguard Worker// 49*d5c09012SAndroid Build Coastguard Worker// - List/Get the metadata and current status of the quotas for a service. 50*d5c09012SAndroid Build Coastguard Worker// - Create/Update quota preferencess that declare the preferred quota values. 51*d5c09012SAndroid Build Coastguard Worker// - Check the status of a quota preference request. 52*d5c09012SAndroid Build Coastguard Worker// - List/Get pending and historical quota preference. 53*d5c09012SAndroid Build Coastguard Workerservice CloudQuotas { 54*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "cloudquotas.googleapis.com"; 55*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 56*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform"; 57*d5c09012SAndroid Build Coastguard Worker 58*d5c09012SAndroid Build Coastguard Worker // Lists QuotaInfos of all quotas for a given project, folder or organization. 59*d5c09012SAndroid Build Coastguard Worker rpc ListQuotaInfos(ListQuotaInfosRequest) returns (ListQuotaInfosResponse) { 60*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 61*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*/locations/*/services/*}/quotaInfos" 62*d5c09012SAndroid Build Coastguard Worker additional_bindings { 63*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=organizations/*/locations/*/services/*}/quotaInfos" 64*d5c09012SAndroid Build Coastguard Worker } 65*d5c09012SAndroid Build Coastguard Worker additional_bindings { 66*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=folders/*/locations/*/services/*}/quotaInfos" 67*d5c09012SAndroid Build Coastguard Worker } 68*d5c09012SAndroid Build Coastguard Worker }; 69*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 70*d5c09012SAndroid Build Coastguard Worker } 71*d5c09012SAndroid Build Coastguard Worker 72*d5c09012SAndroid Build Coastguard Worker // Retrieve the QuotaInfo of a quota for a project, folder or organization. 73*d5c09012SAndroid Build Coastguard Worker rpc GetQuotaInfo(GetQuotaInfoRequest) returns (QuotaInfo) { 74*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 75*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/locations/*/services/*/quotaInfos/*}" 76*d5c09012SAndroid Build Coastguard Worker additional_bindings { 77*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=organizations/*/locations/*/services/*/quotaInfos/*}" 78*d5c09012SAndroid Build Coastguard Worker } 79*d5c09012SAndroid Build Coastguard Worker additional_bindings { 80*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=folders/*/locations/*/services/*/quotaInfos/*}" 81*d5c09012SAndroid Build Coastguard Worker } 82*d5c09012SAndroid Build Coastguard Worker }; 83*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 84*d5c09012SAndroid Build Coastguard Worker } 85*d5c09012SAndroid Build Coastguard Worker 86*d5c09012SAndroid Build Coastguard Worker // Lists QuotaPreferences in a given project, folder or organization. 87*d5c09012SAndroid Build Coastguard Worker rpc ListQuotaPreferences(ListQuotaPreferencesRequest) 88*d5c09012SAndroid Build Coastguard Worker returns (ListQuotaPreferencesResponse) { 89*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 90*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*/locations/*}/quotaPreferences" 91*d5c09012SAndroid Build Coastguard Worker additional_bindings { 92*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=folders/*/locations/*}/quotaPreferences" 93*d5c09012SAndroid Build Coastguard Worker } 94*d5c09012SAndroid Build Coastguard Worker additional_bindings { 95*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=organizations/*/locations/*}/quotaPreferences" 96*d5c09012SAndroid Build Coastguard Worker } 97*d5c09012SAndroid Build Coastguard Worker }; 98*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 99*d5c09012SAndroid Build Coastguard Worker } 100*d5c09012SAndroid Build Coastguard Worker 101*d5c09012SAndroid Build Coastguard Worker // Gets details of a single QuotaPreference. 102*d5c09012SAndroid Build Coastguard Worker rpc GetQuotaPreference(GetQuotaPreferenceRequest) returns (QuotaPreference) { 103*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 104*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/locations/*/quotaPreferences/*}" 105*d5c09012SAndroid Build Coastguard Worker additional_bindings { 106*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=organizations/*/locations/*/quotaPreferences/*}" 107*d5c09012SAndroid Build Coastguard Worker } 108*d5c09012SAndroid Build Coastguard Worker additional_bindings { 109*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=folders/*/locations/*/quotaPreferences/*}" 110*d5c09012SAndroid Build Coastguard Worker } 111*d5c09012SAndroid Build Coastguard Worker }; 112*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 113*d5c09012SAndroid Build Coastguard Worker } 114*d5c09012SAndroid Build Coastguard Worker 115*d5c09012SAndroid Build Coastguard Worker // Creates a new QuotaPreference that declares the desired value for a quota. 116*d5c09012SAndroid Build Coastguard Worker rpc CreateQuotaPreference(CreateQuotaPreferenceRequest) 117*d5c09012SAndroid Build Coastguard Worker returns (QuotaPreference) { 118*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 119*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*/locations/*}/quotaPreferences" 120*d5c09012SAndroid Build Coastguard Worker body: "quota_preference" 121*d5c09012SAndroid Build Coastguard Worker additional_bindings { 122*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=folders/*/locations/*}/quotaPreferences" 123*d5c09012SAndroid Build Coastguard Worker body: "quota_preference" 124*d5c09012SAndroid Build Coastguard Worker } 125*d5c09012SAndroid Build Coastguard Worker additional_bindings { 126*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=organizations/*/locations/*}/quotaPreferences" 127*d5c09012SAndroid Build Coastguard Worker body: "quota_preference" 128*d5c09012SAndroid Build Coastguard Worker } 129*d5c09012SAndroid Build Coastguard Worker }; 130*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = 131*d5c09012SAndroid Build Coastguard Worker "parent,quota_preference,quota_preference_id"; 132*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,quota_preference"; 133*d5c09012SAndroid Build Coastguard Worker } 134*d5c09012SAndroid Build Coastguard Worker 135*d5c09012SAndroid Build Coastguard Worker // Updates the parameters of a single QuotaPreference. It can updates the 136*d5c09012SAndroid Build Coastguard Worker // config in any states, not just the ones pending approval. 137*d5c09012SAndroid Build Coastguard Worker rpc UpdateQuotaPreference(UpdateQuotaPreferenceRequest) 138*d5c09012SAndroid Build Coastguard Worker returns (QuotaPreference) { 139*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 140*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{quota_preference.name=projects/*/locations/*/quotaPreferences/*}" 141*d5c09012SAndroid Build Coastguard Worker body: "quota_preference" 142*d5c09012SAndroid Build Coastguard Worker additional_bindings { 143*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{quota_preference.name=folders/*/locations/*/quotaPreferences/*}" 144*d5c09012SAndroid Build Coastguard Worker body: "quota_preference" 145*d5c09012SAndroid Build Coastguard Worker } 146*d5c09012SAndroid Build Coastguard Worker additional_bindings { 147*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{quota_preference.name=organizations/*/locations/*/quotaPreferences/*}" 148*d5c09012SAndroid Build Coastguard Worker body: "quota_preference" 149*d5c09012SAndroid Build Coastguard Worker } 150*d5c09012SAndroid Build Coastguard Worker }; 151*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "quota_preference,update_mask"; 152*d5c09012SAndroid Build Coastguard Worker } 153*d5c09012SAndroid Build Coastguard Worker} 154*d5c09012SAndroid Build Coastguard Worker 155*d5c09012SAndroid Build Coastguard Worker// Message for requesting list of QuotaInfos 156*d5c09012SAndroid Build Coastguard Workermessage ListQuotaInfosRequest { 157*d5c09012SAndroid Build Coastguard Worker // Required. Parent value of QuotaInfo resources. 158*d5c09012SAndroid Build Coastguard Worker // Listing across different resource containers (such as 'projects/-') is not 159*d5c09012SAndroid Build Coastguard Worker // allowed. 160*d5c09012SAndroid Build Coastguard Worker // 161*d5c09012SAndroid Build Coastguard Worker // Example names: 162*d5c09012SAndroid Build Coastguard Worker // `projects/123/locations/global/services/compute.googleapis.com` 163*d5c09012SAndroid Build Coastguard Worker // `folders/234/locations/global/services/compute.googleapis.com` 164*d5c09012SAndroid Build Coastguard Worker // `organizations/345/locations/global/services/compute.googleapis.com` 165*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 166*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 167*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 168*d5c09012SAndroid Build Coastguard Worker child_type: "cloudquotas.googleapis.com/QuotaInfo" 169*d5c09012SAndroid Build Coastguard Worker } 170*d5c09012SAndroid Build Coastguard Worker ]; 171*d5c09012SAndroid Build Coastguard Worker 172*d5c09012SAndroid Build Coastguard Worker // Optional. Requested page size. Server may return fewer items than 173*d5c09012SAndroid Build Coastguard Worker // requested. If unspecified, server will pick an appropriate default. 174*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 175*d5c09012SAndroid Build Coastguard Worker 176*d5c09012SAndroid Build Coastguard Worker // Optional. A token identifying a page of results the server should return. 177*d5c09012SAndroid Build Coastguard Worker string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 178*d5c09012SAndroid Build Coastguard Worker} 179*d5c09012SAndroid Build Coastguard Worker 180*d5c09012SAndroid Build Coastguard Worker// Message for response to listing QuotaInfos 181*d5c09012SAndroid Build Coastguard Workermessage ListQuotaInfosResponse { 182*d5c09012SAndroid Build Coastguard Worker // The list of QuotaInfo 183*d5c09012SAndroid Build Coastguard Worker repeated QuotaInfo quota_infos = 1; 184*d5c09012SAndroid Build Coastguard Worker 185*d5c09012SAndroid Build Coastguard Worker // A token, which can be sent as `page_token` to retrieve the next page. 186*d5c09012SAndroid Build Coastguard Worker // If this field is omitted, there are no subsequent pages. 187*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 188*d5c09012SAndroid Build Coastguard Worker} 189*d5c09012SAndroid Build Coastguard Worker 190*d5c09012SAndroid Build Coastguard Worker// Message for getting a QuotaInfo 191*d5c09012SAndroid Build Coastguard Workermessage GetQuotaInfoRequest { 192*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the quota info. 193*d5c09012SAndroid Build Coastguard Worker // 194*d5c09012SAndroid Build Coastguard Worker // An example name: 195*d5c09012SAndroid Build Coastguard Worker // `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` 196*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 197*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 198*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 199*d5c09012SAndroid Build Coastguard Worker type: "cloudquotas.googleapis.com/QuotaInfo" 200*d5c09012SAndroid Build Coastguard Worker } 201*d5c09012SAndroid Build Coastguard Worker ]; 202*d5c09012SAndroid Build Coastguard Worker} 203*d5c09012SAndroid Build Coastguard Worker 204*d5c09012SAndroid Build Coastguard Worker// Message for requesting list of QuotaPreferences 205*d5c09012SAndroid Build Coastguard Workermessage ListQuotaPreferencesRequest { 206*d5c09012SAndroid Build Coastguard Worker // Required. Parent value of QuotaPreference resources. 207*d5c09012SAndroid Build Coastguard Worker // Listing across different resource containers (such as 'projects/-') is not 208*d5c09012SAndroid Build Coastguard Worker // allowed. 209*d5c09012SAndroid Build Coastguard Worker // 210*d5c09012SAndroid Build Coastguard Worker // When the value starts with 'folders' or 'organizations', it lists the 211*d5c09012SAndroid Build Coastguard Worker // QuotaPreferences for org quotas in the container. It does not list the 212*d5c09012SAndroid Build Coastguard Worker // QuotaPreferences in the descendant projects of the container. 213*d5c09012SAndroid Build Coastguard Worker // 214*d5c09012SAndroid Build Coastguard Worker // Example parents: 215*d5c09012SAndroid Build Coastguard Worker // `projects/123/locations/global` 216*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 217*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 218*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 219*d5c09012SAndroid Build Coastguard Worker child_type: "cloudquotas.googleapis.com/QuotaPreference" 220*d5c09012SAndroid Build Coastguard Worker } 221*d5c09012SAndroid Build Coastguard Worker ]; 222*d5c09012SAndroid Build Coastguard Worker 223*d5c09012SAndroid Build Coastguard Worker // Optional. Requested page size. Server may return fewer items than 224*d5c09012SAndroid Build Coastguard Worker // requested. If unspecified, server will pick an appropriate default. 225*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 226*d5c09012SAndroid Build Coastguard Worker 227*d5c09012SAndroid Build Coastguard Worker // Optional. A token identifying a page of results the server should return. 228*d5c09012SAndroid Build Coastguard Worker string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 229*d5c09012SAndroid Build Coastguard Worker 230*d5c09012SAndroid Build Coastguard Worker // Optional. Filter result QuotaPreferences by their state, type, 231*d5c09012SAndroid Build Coastguard Worker // create/update time range. 232*d5c09012SAndroid Build Coastguard Worker // 233*d5c09012SAndroid Build Coastguard Worker // Example filters: 234*d5c09012SAndroid Build Coastguard Worker // `reconciling=true AND request_type=CLOUD_CONSOLE`, 235*d5c09012SAndroid Build Coastguard Worker // `reconciling=true OR creation_time>2022-12-03T10:30:00` 236*d5c09012SAndroid Build Coastguard Worker string filter = 4 [(google.api.field_behavior) = OPTIONAL]; 237*d5c09012SAndroid Build Coastguard Worker 238*d5c09012SAndroid Build Coastguard Worker // Optional. How to order of the results. By default, the results are ordered 239*d5c09012SAndroid Build Coastguard Worker // by create time. 240*d5c09012SAndroid Build Coastguard Worker // 241*d5c09012SAndroid Build Coastguard Worker // Example orders: 242*d5c09012SAndroid Build Coastguard Worker // `quota_id`, 243*d5c09012SAndroid Build Coastguard Worker // `service, create_time` 244*d5c09012SAndroid Build Coastguard Worker string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; 245*d5c09012SAndroid Build Coastguard Worker} 246*d5c09012SAndroid Build Coastguard Worker 247*d5c09012SAndroid Build Coastguard Worker// Message for response to listing QuotaPreferences 248*d5c09012SAndroid Build Coastguard Workermessage ListQuotaPreferencesResponse { 249*d5c09012SAndroid Build Coastguard Worker // The list of QuotaPreference 250*d5c09012SAndroid Build Coastguard Worker repeated QuotaPreference quota_preferences = 1; 251*d5c09012SAndroid Build Coastguard Worker 252*d5c09012SAndroid Build Coastguard Worker // A token, which can be sent as `page_token` to retrieve the next page. 253*d5c09012SAndroid Build Coastguard Worker // If this field is omitted, there are no subsequent pages. 254*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 255*d5c09012SAndroid Build Coastguard Worker 256*d5c09012SAndroid Build Coastguard Worker // Locations that could not be reached. 257*d5c09012SAndroid Build Coastguard Worker repeated string unreachable = 3; 258*d5c09012SAndroid Build Coastguard Worker} 259*d5c09012SAndroid Build Coastguard Worker 260*d5c09012SAndroid Build Coastguard Worker// Message for getting a QuotaPreference 261*d5c09012SAndroid Build Coastguard Workermessage GetQuotaPreferenceRequest { 262*d5c09012SAndroid Build Coastguard Worker // Required. Name of the resource 263*d5c09012SAndroid Build Coastguard Worker // 264*d5c09012SAndroid Build Coastguard Worker // Example name: 265*d5c09012SAndroid Build Coastguard Worker // `projects/123/locations/global/quota_preferences/my-config-for-us-east1` 266*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 267*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 268*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 269*d5c09012SAndroid Build Coastguard Worker type: "cloudquotas.googleapis.com/QuotaPreference" 270*d5c09012SAndroid Build Coastguard Worker } 271*d5c09012SAndroid Build Coastguard Worker ]; 272*d5c09012SAndroid Build Coastguard Worker} 273*d5c09012SAndroid Build Coastguard Worker 274*d5c09012SAndroid Build Coastguard Worker// Message for creating a QuotaPreference 275*d5c09012SAndroid Build Coastguard Workermessage CreateQuotaPreferenceRequest { 276*d5c09012SAndroid Build Coastguard Worker // Required. Value for parent. 277*d5c09012SAndroid Build Coastguard Worker // 278*d5c09012SAndroid Build Coastguard Worker // Example: 279*d5c09012SAndroid Build Coastguard Worker // `projects/123/locations/global` 280*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 281*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 282*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 283*d5c09012SAndroid Build Coastguard Worker child_type: "cloudquotas.googleapis.com/QuotaPreference" 284*d5c09012SAndroid Build Coastguard Worker } 285*d5c09012SAndroid Build Coastguard Worker ]; 286*d5c09012SAndroid Build Coastguard Worker 287*d5c09012SAndroid Build Coastguard Worker // Optional. Id of the requesting object, must be unique under its parent. 288*d5c09012SAndroid Build Coastguard Worker // If client does not set this field, the service will generate one. 289*d5c09012SAndroid Build Coastguard Worker string quota_preference_id = 2 [(google.api.field_behavior) = OPTIONAL]; 290*d5c09012SAndroid Build Coastguard Worker 291*d5c09012SAndroid Build Coastguard Worker // Required. The resource being created 292*d5c09012SAndroid Build Coastguard Worker QuotaPreference quota_preference = 3 [(google.api.field_behavior) = REQUIRED]; 293*d5c09012SAndroid Build Coastguard Worker 294*d5c09012SAndroid Build Coastguard Worker // The list of quota safety checks to be ignored. 295*d5c09012SAndroid Build Coastguard Worker repeated QuotaSafetyCheck ignore_safety_checks = 4; 296*d5c09012SAndroid Build Coastguard Worker} 297*d5c09012SAndroid Build Coastguard Worker 298*d5c09012SAndroid Build Coastguard Worker// Message for updating a QuotaPreference 299*d5c09012SAndroid Build Coastguard Workermessage UpdateQuotaPreferenceRequest { 300*d5c09012SAndroid Build Coastguard Worker // Optional. Field mask is used to specify the fields to be overwritten in the 301*d5c09012SAndroid Build Coastguard Worker // QuotaPreference resource by the update. 302*d5c09012SAndroid Build Coastguard Worker // The fields specified in the update_mask are relative to the resource, not 303*d5c09012SAndroid Build Coastguard Worker // the full request. A field will be overwritten if it is in the mask. If the 304*d5c09012SAndroid Build Coastguard Worker // user does not provide a mask then all fields will be overwritten. 305*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 1 306*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 307*d5c09012SAndroid Build Coastguard Worker 308*d5c09012SAndroid Build Coastguard Worker // Required. The resource being updated 309*d5c09012SAndroid Build Coastguard Worker QuotaPreference quota_preference = 2 [(google.api.field_behavior) = REQUIRED]; 310*d5c09012SAndroid Build Coastguard Worker 311*d5c09012SAndroid Build Coastguard Worker // Optional. If set to true, and the quota preference is not found, a new one 312*d5c09012SAndroid Build Coastguard Worker // will be created. In this situation, `update_mask` is ignored. 313*d5c09012SAndroid Build Coastguard Worker bool allow_missing = 3 [(google.api.field_behavior) = OPTIONAL]; 314*d5c09012SAndroid Build Coastguard Worker 315*d5c09012SAndroid Build Coastguard Worker // Optional. If set to true, validate the request, but do not actually update. 316*d5c09012SAndroid Build Coastguard Worker // Note that a request being valid does not mean that the request is 317*d5c09012SAndroid Build Coastguard Worker // guaranteed to be fulfilled. 318*d5c09012SAndroid Build Coastguard Worker bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; 319*d5c09012SAndroid Build Coastguard Worker 320*d5c09012SAndroid Build Coastguard Worker // The list of quota safety checks to be ignored. 321*d5c09012SAndroid Build Coastguard Worker repeated QuotaSafetyCheck ignore_safety_checks = 5; 322*d5c09012SAndroid Build Coastguard Worker} 323