xref: /aosp_15_r20/external/googleapis/google/api/cloudquotas/v1/cloudquotas.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.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