xref: /aosp_15_r20/external/googleapis/google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2017 Google Inc.
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.cloud.runtimeconfig.v1beta1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/runtimeconfig/v1beta1/resources.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
24*d5c09012SAndroid Build Coastguard Worker
25*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.RuntimeConfig.V1Beta1";
26*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/runtimeconfig/apiv1beta1/runtimeconfigpb;runtimeconfigpb";
27*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
28*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.runtimeconfig.v1beta1";
29*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\RuntimeConfig\\V1beta1";
30*d5c09012SAndroid Build Coastguard Worker
31*d5c09012SAndroid Build Coastguard Worker// RuntimeConfig API represents configuration objects and operations on those
32*d5c09012SAndroid Build Coastguard Worker// configuration objects.
33*d5c09012SAndroid Build Coastguard Worker// RuntimeConfig objects consist of Variables logically grouped in the those
34*d5c09012SAndroid Build Coastguard Worker// objects.
35*d5c09012SAndroid Build Coastguard Worker// Variables are simple key-value pairs. Variables can be watched for changes or
36*d5c09012SAndroid Build Coastguard Worker// deletions. Variable key can be hieararchical, e.g. ports/serving_port,
37*d5c09012SAndroid Build Coastguard Worker// ports/monitoring_port, etc. Variable names can be hierarchical. No variable
38*d5c09012SAndroid Build Coastguard Worker// name can be prefix of another.
39*d5c09012SAndroid Build Coastguard Worker// Config objects represent logical containers for variables, e.g. flags,
40*d5c09012SAndroid Build Coastguard Worker// passwords, etc.
41*d5c09012SAndroid Build Coastguard Workerservice RuntimeConfigManager {
42*d5c09012SAndroid Build Coastguard Worker  // Lists all the RuntimeConfig resources within project.
43*d5c09012SAndroid Build Coastguard Worker  rpc ListConfigs(ListConfigsRequest) returns (ListConfigsResponse) {
44*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
45*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=projects/*}/configs"
46*d5c09012SAndroid Build Coastguard Worker    };
47*d5c09012SAndroid Build Coastguard Worker  }
48*d5c09012SAndroid Build Coastguard Worker
49*d5c09012SAndroid Build Coastguard Worker  // Gets information about a RuntimeConfig resource.
50*d5c09012SAndroid Build Coastguard Worker  rpc GetConfig(GetConfigRequest) returns (RuntimeConfig) {
51*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
52*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{name=projects/*/configs/*}"
53*d5c09012SAndroid Build Coastguard Worker    };
54*d5c09012SAndroid Build Coastguard Worker  }
55*d5c09012SAndroid Build Coastguard Worker
56*d5c09012SAndroid Build Coastguard Worker  // Creates a new RuntimeConfig resource. The configuration name must be
57*d5c09012SAndroid Build Coastguard Worker  // unique within project.
58*d5c09012SAndroid Build Coastguard Worker  rpc CreateConfig(CreateConfigRequest) returns (RuntimeConfig) {
59*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
60*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=projects/*}/configs"
61*d5c09012SAndroid Build Coastguard Worker      body: "config"
62*d5c09012SAndroid Build Coastguard Worker    };
63*d5c09012SAndroid Build Coastguard Worker  }
64*d5c09012SAndroid Build Coastguard Worker
65*d5c09012SAndroid Build Coastguard Worker  // Updates a RuntimeConfig resource. The configuration must exist beforehand.
66*d5c09012SAndroid Build Coastguard Worker  rpc UpdateConfig(UpdateConfigRequest) returns (RuntimeConfig) {
67*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
68*d5c09012SAndroid Build Coastguard Worker      put: "/v1beta1/{name=projects/*/configs/*}"
69*d5c09012SAndroid Build Coastguard Worker      body: "config"
70*d5c09012SAndroid Build Coastguard Worker    };
71*d5c09012SAndroid Build Coastguard Worker  }
72*d5c09012SAndroid Build Coastguard Worker
73*d5c09012SAndroid Build Coastguard Worker  // Deletes a RuntimeConfig resource.
74*d5c09012SAndroid Build Coastguard Worker  rpc DeleteConfig(DeleteConfigRequest) returns (google.protobuf.Empty) {
75*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
76*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta1/{name=projects/*/configs/*}"
77*d5c09012SAndroid Build Coastguard Worker    };
78*d5c09012SAndroid Build Coastguard Worker  }
79*d5c09012SAndroid Build Coastguard Worker
80*d5c09012SAndroid Build Coastguard Worker  // Lists variables within given a configuration, matching any provided
81*d5c09012SAndroid Build Coastguard Worker  // filters. This only lists variable names, not the values, unless
82*d5c09012SAndroid Build Coastguard Worker  // `return_values` is true, in which case only variables that user has IAM
83*d5c09012SAndroid Build Coastguard Worker  // permission to GetVariable will be returned.
84*d5c09012SAndroid Build Coastguard Worker  rpc ListVariables(ListVariablesRequest) returns (ListVariablesResponse) {
85*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
86*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=projects/*/configs/*}/variables"
87*d5c09012SAndroid Build Coastguard Worker    };
88*d5c09012SAndroid Build Coastguard Worker  }
89*d5c09012SAndroid Build Coastguard Worker
90*d5c09012SAndroid Build Coastguard Worker  // Gets information about a single variable.
91*d5c09012SAndroid Build Coastguard Worker  rpc GetVariable(GetVariableRequest) returns (Variable) {
92*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
93*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{name=projects/*/configs/*/variables/**}"
94*d5c09012SAndroid Build Coastguard Worker    };
95*d5c09012SAndroid Build Coastguard Worker  }
96*d5c09012SAndroid Build Coastguard Worker
97*d5c09012SAndroid Build Coastguard Worker  // Watches a specific variable and waits for a change in the variable's value.
98*d5c09012SAndroid Build Coastguard Worker  // When there is a change, this method returns the new value or times out.
99*d5c09012SAndroid Build Coastguard Worker  //
100*d5c09012SAndroid Build Coastguard Worker  // If a variable is deleted while being watched, the `variableState` state is
101*d5c09012SAndroid Build Coastguard Worker  // set to `DELETED` and the method returns the last known variable `value`.
102*d5c09012SAndroid Build Coastguard Worker  //
103*d5c09012SAndroid Build Coastguard Worker  // If you set the deadline for watching to a larger value than internal
104*d5c09012SAndroid Build Coastguard Worker  // timeout (60 seconds), the current variable value is returned and the
105*d5c09012SAndroid Build Coastguard Worker  // `variableState` will be `VARIABLE_STATE_UNSPECIFIED`.
106*d5c09012SAndroid Build Coastguard Worker  //
107*d5c09012SAndroid Build Coastguard Worker  // To learn more about creating a watcher, read the
108*d5c09012SAndroid Build Coastguard Worker  // [Watching a Variable for
109*d5c09012SAndroid Build Coastguard Worker  // Changes](/deployment-manager/runtime-configurator/watching-a-variable)
110*d5c09012SAndroid Build Coastguard Worker  // documentation.
111*d5c09012SAndroid Build Coastguard Worker  rpc WatchVariable(WatchVariableRequest) returns (Variable) {
112*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
113*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/configs/*/variables/**}:watch"
114*d5c09012SAndroid Build Coastguard Worker      body: "*"
115*d5c09012SAndroid Build Coastguard Worker    };
116*d5c09012SAndroid Build Coastguard Worker  }
117*d5c09012SAndroid Build Coastguard Worker
118*d5c09012SAndroid Build Coastguard Worker  // Creates a variable within the given configuration. You cannot create
119*d5c09012SAndroid Build Coastguard Worker  // a variable with a name that is a prefix of an existing variable name, or a
120*d5c09012SAndroid Build Coastguard Worker  // name that has an existing variable name as a prefix.
121*d5c09012SAndroid Build Coastguard Worker  //
122*d5c09012SAndroid Build Coastguard Worker  // To learn more about creating a variable, read the
123*d5c09012SAndroid Build Coastguard Worker  // [Setting and Getting
124*d5c09012SAndroid Build Coastguard Worker  // Data](/deployment-manager/runtime-configurator/set-and-get-variables)
125*d5c09012SAndroid Build Coastguard Worker  // documentation.
126*d5c09012SAndroid Build Coastguard Worker  rpc CreateVariable(CreateVariableRequest) returns (Variable) {
127*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
128*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=projects/*/configs/*}/variables"
129*d5c09012SAndroid Build Coastguard Worker      body: "variable"
130*d5c09012SAndroid Build Coastguard Worker    };
131*d5c09012SAndroid Build Coastguard Worker  }
132*d5c09012SAndroid Build Coastguard Worker
133*d5c09012SAndroid Build Coastguard Worker  // Updates an existing variable with a new value.
134*d5c09012SAndroid Build Coastguard Worker  rpc UpdateVariable(UpdateVariableRequest) returns (Variable) {
135*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
136*d5c09012SAndroid Build Coastguard Worker      put: "/v1beta1/{name=projects/*/configs/*/variables/**}"
137*d5c09012SAndroid Build Coastguard Worker      body: "variable"
138*d5c09012SAndroid Build Coastguard Worker    };
139*d5c09012SAndroid Build Coastguard Worker  }
140*d5c09012SAndroid Build Coastguard Worker
141*d5c09012SAndroid Build Coastguard Worker  // Deletes a variable or multiple variables.
142*d5c09012SAndroid Build Coastguard Worker  //
143*d5c09012SAndroid Build Coastguard Worker  // If you specify a variable name, then that variable is deleted. If you
144*d5c09012SAndroid Build Coastguard Worker  // specify a prefix and `recursive` is true, then all variables with that
145*d5c09012SAndroid Build Coastguard Worker  // prefix are deleted. You must set a `recursive` to true if you delete
146*d5c09012SAndroid Build Coastguard Worker  // variables by prefix.
147*d5c09012SAndroid Build Coastguard Worker  rpc DeleteVariable(DeleteVariableRequest) returns (google.protobuf.Empty) {
148*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
149*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta1/{name=projects/*/configs/*/variables/**}"
150*d5c09012SAndroid Build Coastguard Worker    };
151*d5c09012SAndroid Build Coastguard Worker  }
152*d5c09012SAndroid Build Coastguard Worker
153*d5c09012SAndroid Build Coastguard Worker  // List waiters within the given configuration.
154*d5c09012SAndroid Build Coastguard Worker  rpc ListWaiters(ListWaitersRequest) returns (ListWaitersResponse) {
155*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
156*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=projects/*/configs/*}/waiters"
157*d5c09012SAndroid Build Coastguard Worker    };
158*d5c09012SAndroid Build Coastguard Worker  }
159*d5c09012SAndroid Build Coastguard Worker
160*d5c09012SAndroid Build Coastguard Worker  // Gets information about a single waiter.
161*d5c09012SAndroid Build Coastguard Worker  rpc GetWaiter(GetWaiterRequest) returns (Waiter) {
162*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
163*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{name=projects/*/configs/*/waiters/*}"
164*d5c09012SAndroid Build Coastguard Worker    };
165*d5c09012SAndroid Build Coastguard Worker  }
166*d5c09012SAndroid Build Coastguard Worker
167*d5c09012SAndroid Build Coastguard Worker  // Creates a Waiter resource. This operation returns a long-running Operation
168*d5c09012SAndroid Build Coastguard Worker  // resource which can be polled for completion. However, a waiter with the
169*d5c09012SAndroid Build Coastguard Worker  // given name will exist (and can be retrieved) prior to the operation
170*d5c09012SAndroid Build Coastguard Worker  // completing. If the operation fails, the failed Waiter resource will
171*d5c09012SAndroid Build Coastguard Worker  // still exist and must be deleted prior to subsequent creation attempts.
172*d5c09012SAndroid Build Coastguard Worker  rpc CreateWaiter(CreateWaiterRequest) returns (google.longrunning.Operation) {
173*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
174*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=projects/*/configs/*}/waiters"
175*d5c09012SAndroid Build Coastguard Worker      body: "waiter"
176*d5c09012SAndroid Build Coastguard Worker    };
177*d5c09012SAndroid Build Coastguard Worker  }
178*d5c09012SAndroid Build Coastguard Worker
179*d5c09012SAndroid Build Coastguard Worker  // Deletes the waiter with the specified name.
180*d5c09012SAndroid Build Coastguard Worker  rpc DeleteWaiter(DeleteWaiterRequest) returns (google.protobuf.Empty) {
181*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
182*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta1/{name=projects/*/configs/*/waiters/*}"
183*d5c09012SAndroid Build Coastguard Worker    };
184*d5c09012SAndroid Build Coastguard Worker  }
185*d5c09012SAndroid Build Coastguard Worker}
186*d5c09012SAndroid Build Coastguard Worker
187*d5c09012SAndroid Build Coastguard Worker// Request for the `ListConfigs()` method.
188*d5c09012SAndroid Build Coastguard Workermessage ListConfigsRequest {
189*d5c09012SAndroid Build Coastguard Worker  // The [project
190*d5c09012SAndroid Build Coastguard Worker  // ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)
191*d5c09012SAndroid Build Coastguard Worker  // for this request, in the format `projects/[PROJECT_ID]`.
192*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
193*d5c09012SAndroid Build Coastguard Worker
194*d5c09012SAndroid Build Coastguard Worker  // Specifies the number of results to return per page. If there are fewer
195*d5c09012SAndroid Build Coastguard Worker  // elements than the specified number, returns all elements.
196*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
197*d5c09012SAndroid Build Coastguard Worker
198*d5c09012SAndroid Build Coastguard Worker  // Specifies a page token to use. Set `pageToken` to a `nextPageToken`
199*d5c09012SAndroid Build Coastguard Worker  // returned by a previous list request to get the next page of results.
200*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
201*d5c09012SAndroid Build Coastguard Worker}
202*d5c09012SAndroid Build Coastguard Worker
203*d5c09012SAndroid Build Coastguard Worker// `ListConfigs()` returns the following response. The order of returned
204*d5c09012SAndroid Build Coastguard Worker// objects is arbitrary; that is, it is not ordered in any particular way.
205*d5c09012SAndroid Build Coastguard Workermessage ListConfigsResponse {
206*d5c09012SAndroid Build Coastguard Worker  // A list of the configurations in the project. The order of returned
207*d5c09012SAndroid Build Coastguard Worker  // objects is arbitrary; that is, it is not ordered in any particular way.
208*d5c09012SAndroid Build Coastguard Worker  repeated RuntimeConfig configs = 1;
209*d5c09012SAndroid Build Coastguard Worker
210*d5c09012SAndroid Build Coastguard Worker  // This token allows you to get the next page of results for list requests.
211*d5c09012SAndroid Build Coastguard Worker  // If the number of results is larger than `pageSize`, use the `nextPageToken`
212*d5c09012SAndroid Build Coastguard Worker  // as a value for the query parameter `pageToken` in the next list request.
213*d5c09012SAndroid Build Coastguard Worker  // Subsequent list requests will have their own `nextPageToken` to continue
214*d5c09012SAndroid Build Coastguard Worker  // paging through the results
215*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
216*d5c09012SAndroid Build Coastguard Worker}
217*d5c09012SAndroid Build Coastguard Worker
218*d5c09012SAndroid Build Coastguard Worker// Gets a RuntimeConfig resource.
219*d5c09012SAndroid Build Coastguard Workermessage GetConfigRequest {
220*d5c09012SAndroid Build Coastguard Worker  // The name of the RuntimeConfig resource to retrieve, in the format:
221*d5c09012SAndroid Build Coastguard Worker  //
222*d5c09012SAndroid Build Coastguard Worker  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
223*d5c09012SAndroid Build Coastguard Worker  string name = 2;
224*d5c09012SAndroid Build Coastguard Worker}
225*d5c09012SAndroid Build Coastguard Worker
226*d5c09012SAndroid Build Coastguard Worker// Creates a RuntimeConfig resource.
227*d5c09012SAndroid Build Coastguard Workermessage CreateConfigRequest {
228*d5c09012SAndroid Build Coastguard Worker  // The [project
229*d5c09012SAndroid Build Coastguard Worker  // ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)
230*d5c09012SAndroid Build Coastguard Worker  // for this request, in the format `projects/[PROJECT_ID]`.
231*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
232*d5c09012SAndroid Build Coastguard Worker
233*d5c09012SAndroid Build Coastguard Worker  // The RuntimeConfig to create.
234*d5c09012SAndroid Build Coastguard Worker  RuntimeConfig config = 2;
235*d5c09012SAndroid Build Coastguard Worker
236*d5c09012SAndroid Build Coastguard Worker  // An optional but recommended unique `request_id`. If the server
237*d5c09012SAndroid Build Coastguard Worker  // receives two `create()` requests  with the same
238*d5c09012SAndroid Build Coastguard Worker  // `request_id`, then the second request will be ignored and the
239*d5c09012SAndroid Build Coastguard Worker  // first resource created and stored in the backend is returned.
240*d5c09012SAndroid Build Coastguard Worker  // Empty `request_id` fields are ignored.
241*d5c09012SAndroid Build Coastguard Worker  //
242*d5c09012SAndroid Build Coastguard Worker  // It is responsibility of the client to ensure uniqueness of the
243*d5c09012SAndroid Build Coastguard Worker  // `request_id` strings.
244*d5c09012SAndroid Build Coastguard Worker  //
245*d5c09012SAndroid Build Coastguard Worker  // `request_id` strings are limited to 64 characters.
246*d5c09012SAndroid Build Coastguard Worker  string request_id = 3;
247*d5c09012SAndroid Build Coastguard Worker}
248*d5c09012SAndroid Build Coastguard Worker
249*d5c09012SAndroid Build Coastguard Worker// Request message for `UpdateConfig()` method.
250*d5c09012SAndroid Build Coastguard Workermessage UpdateConfigRequest {
251*d5c09012SAndroid Build Coastguard Worker  // The name of the RuntimeConfig resource to update, in the format:
252*d5c09012SAndroid Build Coastguard Worker  //
253*d5c09012SAndroid Build Coastguard Worker  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
254*d5c09012SAndroid Build Coastguard Worker  string name = 1;
255*d5c09012SAndroid Build Coastguard Worker
256*d5c09012SAndroid Build Coastguard Worker  // The config resource to update.
257*d5c09012SAndroid Build Coastguard Worker  RuntimeConfig config = 2;
258*d5c09012SAndroid Build Coastguard Worker}
259*d5c09012SAndroid Build Coastguard Worker
260*d5c09012SAndroid Build Coastguard Worker// Request for the `DeleteConfig()` method.
261*d5c09012SAndroid Build Coastguard Workermessage DeleteConfigRequest {
262*d5c09012SAndroid Build Coastguard Worker  // The RuntimeConfig resource to delete, in the format:
263*d5c09012SAndroid Build Coastguard Worker  //
264*d5c09012SAndroid Build Coastguard Worker  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
265*d5c09012SAndroid Build Coastguard Worker  string name = 1;
266*d5c09012SAndroid Build Coastguard Worker}
267*d5c09012SAndroid Build Coastguard Worker
268*d5c09012SAndroid Build Coastguard Worker// Request for the `ListVariables()` method.
269*d5c09012SAndroid Build Coastguard Workermessage ListVariablesRequest {
270*d5c09012SAndroid Build Coastguard Worker  // The path to the RuntimeConfig resource for which you want to list
271*d5c09012SAndroid Build Coastguard Worker  // variables. The configuration must exist beforehand; the path must by in the
272*d5c09012SAndroid Build Coastguard Worker  // format:
273*d5c09012SAndroid Build Coastguard Worker  //
274*d5c09012SAndroid Build Coastguard Worker  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
275*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
276*d5c09012SAndroid Build Coastguard Worker
277*d5c09012SAndroid Build Coastguard Worker  // Filters variables by matching the specified filter. For example:
278*d5c09012SAndroid Build Coastguard Worker  //
279*d5c09012SAndroid Build Coastguard Worker  // `projects/example-project/config/[CONFIG_NAME]/variables/example-variable`.
280*d5c09012SAndroid Build Coastguard Worker  string filter = 2;
281*d5c09012SAndroid Build Coastguard Worker
282*d5c09012SAndroid Build Coastguard Worker  // Specifies the number of results to return per page. If there are fewer
283*d5c09012SAndroid Build Coastguard Worker  // elements than the specified number, returns all elements.
284*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 3;
285*d5c09012SAndroid Build Coastguard Worker
286*d5c09012SAndroid Build Coastguard Worker  // Specifies a page token to use. Set `pageToken` to a `nextPageToken`
287*d5c09012SAndroid Build Coastguard Worker  // returned by a previous list request to get the next page of results.
288*d5c09012SAndroid Build Coastguard Worker  string page_token = 4;
289*d5c09012SAndroid Build Coastguard Worker
290*d5c09012SAndroid Build Coastguard Worker  // The flag indicates whether the user wants to return values of variables.
291*d5c09012SAndroid Build Coastguard Worker  // If true, then only those variables that user has IAM GetVariable permission
292*d5c09012SAndroid Build Coastguard Worker  // will be returned along with their values.
293*d5c09012SAndroid Build Coastguard Worker  bool return_values = 5;
294*d5c09012SAndroid Build Coastguard Worker}
295*d5c09012SAndroid Build Coastguard Worker
296*d5c09012SAndroid Build Coastguard Worker// Response for the `ListVariables()` method.
297*d5c09012SAndroid Build Coastguard Workermessage ListVariablesResponse {
298*d5c09012SAndroid Build Coastguard Worker  // A list of variables and their values. The order of returned variable
299*d5c09012SAndroid Build Coastguard Worker  // objects is arbitrary.
300*d5c09012SAndroid Build Coastguard Worker  repeated Variable variables = 1;
301*d5c09012SAndroid Build Coastguard Worker
302*d5c09012SAndroid Build Coastguard Worker  // This token allows you to get the next page of results for list requests.
303*d5c09012SAndroid Build Coastguard Worker  // If the number of results is larger than `pageSize`, use the `nextPageToken`
304*d5c09012SAndroid Build Coastguard Worker  // as a value for the query parameter `pageToken` in the next list request.
305*d5c09012SAndroid Build Coastguard Worker  // Subsequent list requests will have their own `nextPageToken` to continue
306*d5c09012SAndroid Build Coastguard Worker  // paging through the results
307*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
308*d5c09012SAndroid Build Coastguard Worker}
309*d5c09012SAndroid Build Coastguard Worker
310*d5c09012SAndroid Build Coastguard Worker// Request for the `WatchVariable()` method.
311*d5c09012SAndroid Build Coastguard Workermessage WatchVariableRequest {
312*d5c09012SAndroid Build Coastguard Worker  // The name of the variable to watch, in the format:
313*d5c09012SAndroid Build Coastguard Worker  //
314*d5c09012SAndroid Build Coastguard Worker  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
315*d5c09012SAndroid Build Coastguard Worker  string name = 1;
316*d5c09012SAndroid Build Coastguard Worker
317*d5c09012SAndroid Build Coastguard Worker  // If specified, checks the current timestamp of the variable and if the
318*d5c09012SAndroid Build Coastguard Worker  // current timestamp is newer than `newerThan` timestamp, the method returns
319*d5c09012SAndroid Build Coastguard Worker  // immediately.
320*d5c09012SAndroid Build Coastguard Worker  //
321*d5c09012SAndroid Build Coastguard Worker  // If not specified or the variable has an older timestamp, the watcher waits
322*d5c09012SAndroid Build Coastguard Worker  // for a the value to change before returning.
323*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp newer_than = 4;
324*d5c09012SAndroid Build Coastguard Worker}
325*d5c09012SAndroid Build Coastguard Worker
326*d5c09012SAndroid Build Coastguard Worker// Request for the `GetVariable()` method.
327*d5c09012SAndroid Build Coastguard Workermessage GetVariableRequest {
328*d5c09012SAndroid Build Coastguard Worker  // The name of the variable to return, in the format:
329*d5c09012SAndroid Build Coastguard Worker  //
330*d5c09012SAndroid Build Coastguard Worker  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIBLE_NAME]`
331*d5c09012SAndroid Build Coastguard Worker  string name = 1;
332*d5c09012SAndroid Build Coastguard Worker}
333*d5c09012SAndroid Build Coastguard Worker
334*d5c09012SAndroid Build Coastguard Worker// Request for the `CreateVariable()` method.
335*d5c09012SAndroid Build Coastguard Workermessage CreateVariableRequest {
336*d5c09012SAndroid Build Coastguard Worker  // The path to the RutimeConfig resource that this variable should belong to.
337*d5c09012SAndroid Build Coastguard Worker  // The configuration must exist beforehand; the path must by in the format:
338*d5c09012SAndroid Build Coastguard Worker  //
339*d5c09012SAndroid Build Coastguard Worker  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
340*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
341*d5c09012SAndroid Build Coastguard Worker
342*d5c09012SAndroid Build Coastguard Worker  // The variable to create.
343*d5c09012SAndroid Build Coastguard Worker  Variable variable = 2;
344*d5c09012SAndroid Build Coastguard Worker
345*d5c09012SAndroid Build Coastguard Worker  // An optional but recommended unique `request_id`. If the server
346*d5c09012SAndroid Build Coastguard Worker  // receives two `create()` requests  with the same
347*d5c09012SAndroid Build Coastguard Worker  // `request_id`, then the second request will be ignored and the
348*d5c09012SAndroid Build Coastguard Worker  // first resource created and stored in the backend is returned.
349*d5c09012SAndroid Build Coastguard Worker  // Empty `request_id` fields are ignored.
350*d5c09012SAndroid Build Coastguard Worker  //
351*d5c09012SAndroid Build Coastguard Worker  // It is responsibility of the client to ensure uniqueness of the
352*d5c09012SAndroid Build Coastguard Worker  // `request_id` strings.
353*d5c09012SAndroid Build Coastguard Worker  //
354*d5c09012SAndroid Build Coastguard Worker  // `request_id` strings are limited to 64 characters.
355*d5c09012SAndroid Build Coastguard Worker  string request_id = 3;
356*d5c09012SAndroid Build Coastguard Worker}
357*d5c09012SAndroid Build Coastguard Worker
358*d5c09012SAndroid Build Coastguard Worker// Request for the `UpdateVariable()` method.
359*d5c09012SAndroid Build Coastguard Workermessage UpdateVariableRequest {
360*d5c09012SAndroid Build Coastguard Worker  // The name of the variable to update, in the format:
361*d5c09012SAndroid Build Coastguard Worker  //
362*d5c09012SAndroid Build Coastguard Worker  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]`
363*d5c09012SAndroid Build Coastguard Worker  string name = 1;
364*d5c09012SAndroid Build Coastguard Worker
365*d5c09012SAndroid Build Coastguard Worker  // The variable to update.
366*d5c09012SAndroid Build Coastguard Worker  Variable variable = 2;
367*d5c09012SAndroid Build Coastguard Worker}
368*d5c09012SAndroid Build Coastguard Worker
369*d5c09012SAndroid Build Coastguard Worker// Request for the `DeleteVariable()` method.
370*d5c09012SAndroid Build Coastguard Workermessage DeleteVariableRequest {
371*d5c09012SAndroid Build Coastguard Worker  // The name of the variable to delete, in the format:
372*d5c09012SAndroid Build Coastguard Worker  //
373*d5c09012SAndroid Build Coastguard Worker  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]`
374*d5c09012SAndroid Build Coastguard Worker  string name = 1;
375*d5c09012SAndroid Build Coastguard Worker
376*d5c09012SAndroid Build Coastguard Worker  // Set to `true` to recursively delete multiple variables with the same
377*d5c09012SAndroid Build Coastguard Worker  // prefix.
378*d5c09012SAndroid Build Coastguard Worker  bool recursive = 2;
379*d5c09012SAndroid Build Coastguard Worker}
380*d5c09012SAndroid Build Coastguard Worker
381*d5c09012SAndroid Build Coastguard Worker// Request for the `ListWaiters()` method.
382*d5c09012SAndroid Build Coastguard Workermessage ListWaitersRequest {
383*d5c09012SAndroid Build Coastguard Worker  // The path to the configuration for which you want to get a list of waiters.
384*d5c09012SAndroid Build Coastguard Worker  // The configuration must exist beforehand; the path must by in the format:
385*d5c09012SAndroid Build Coastguard Worker  //
386*d5c09012SAndroid Build Coastguard Worker  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
387*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
388*d5c09012SAndroid Build Coastguard Worker
389*d5c09012SAndroid Build Coastguard Worker  // Specifies the number of results to return per page. If there are fewer
390*d5c09012SAndroid Build Coastguard Worker  // elements than the specified number, returns all elements.
391*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
392*d5c09012SAndroid Build Coastguard Worker
393*d5c09012SAndroid Build Coastguard Worker  // Specifies a page token to use. Set `pageToken` to a `nextPageToken`
394*d5c09012SAndroid Build Coastguard Worker  // returned by a previous list request to get the next page of results.
395*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
396*d5c09012SAndroid Build Coastguard Worker}
397*d5c09012SAndroid Build Coastguard Worker
398*d5c09012SAndroid Build Coastguard Worker// Response for the `ListWaiters()` method.
399*d5c09012SAndroid Build Coastguard Worker// Order of returned waiter objects is arbitrary.
400*d5c09012SAndroid Build Coastguard Workermessage ListWaitersResponse {
401*d5c09012SAndroid Build Coastguard Worker  // Found waiters in the project.
402*d5c09012SAndroid Build Coastguard Worker  repeated Waiter waiters = 1;
403*d5c09012SAndroid Build Coastguard Worker
404*d5c09012SAndroid Build Coastguard Worker  // This token allows you to get the next page of results for list requests.
405*d5c09012SAndroid Build Coastguard Worker  // If the number of results is larger than `pageSize`, use the `nextPageToken`
406*d5c09012SAndroid Build Coastguard Worker  // as a value for the query parameter `pageToken` in the next list request.
407*d5c09012SAndroid Build Coastguard Worker  // Subsequent list requests will have their own `nextPageToken` to continue
408*d5c09012SAndroid Build Coastguard Worker  // paging through the results
409*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
410*d5c09012SAndroid Build Coastguard Worker}
411*d5c09012SAndroid Build Coastguard Worker
412*d5c09012SAndroid Build Coastguard Worker// Request for the `GetWaiter()` method.
413*d5c09012SAndroid Build Coastguard Workermessage GetWaiterRequest {
414*d5c09012SAndroid Build Coastguard Worker  // The fully-qualified name of the Waiter resource object to retrieve, in the
415*d5c09012SAndroid Build Coastguard Worker  // format:
416*d5c09012SAndroid Build Coastguard Worker  //
417*d5c09012SAndroid Build Coastguard Worker  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]`
418*d5c09012SAndroid Build Coastguard Worker  string name = 1;
419*d5c09012SAndroid Build Coastguard Worker}
420*d5c09012SAndroid Build Coastguard Worker
421*d5c09012SAndroid Build Coastguard Worker// Request message for `CreateWaiter()` method.
422*d5c09012SAndroid Build Coastguard Workermessage CreateWaiterRequest {
423*d5c09012SAndroid Build Coastguard Worker  // The path to the configuration that will own the waiter.
424*d5c09012SAndroid Build Coastguard Worker  // The configuration must exist beforehand; the path must by in the format:
425*d5c09012SAndroid Build Coastguard Worker  //
426*d5c09012SAndroid Build Coastguard Worker  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`.
427*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
428*d5c09012SAndroid Build Coastguard Worker
429*d5c09012SAndroid Build Coastguard Worker  // The Waiter resource to create.
430*d5c09012SAndroid Build Coastguard Worker  Waiter waiter = 2;
431*d5c09012SAndroid Build Coastguard Worker
432*d5c09012SAndroid Build Coastguard Worker  // An optional but recommended unique `request_id`. If the server
433*d5c09012SAndroid Build Coastguard Worker  // receives two `create()` requests  with the same
434*d5c09012SAndroid Build Coastguard Worker  // `request_id`, then the second request will be ignored and the
435*d5c09012SAndroid Build Coastguard Worker  // first resource created and stored in the backend is returned.
436*d5c09012SAndroid Build Coastguard Worker  // Empty `request_id` fields are ignored.
437*d5c09012SAndroid Build Coastguard Worker  //
438*d5c09012SAndroid Build Coastguard Worker  // It is responsibility of the client to ensure uniqueness of the
439*d5c09012SAndroid Build Coastguard Worker  // `request_id` strings.
440*d5c09012SAndroid Build Coastguard Worker  //
441*d5c09012SAndroid Build Coastguard Worker  // `request_id` strings are limited to 64 characters.
442*d5c09012SAndroid Build Coastguard Worker  string request_id = 3;
443*d5c09012SAndroid Build Coastguard Worker}
444*d5c09012SAndroid Build Coastguard Worker
445*d5c09012SAndroid Build Coastguard Worker// Request for the `DeleteWaiter()` method.
446*d5c09012SAndroid Build Coastguard Workermessage DeleteWaiterRequest {
447*d5c09012SAndroid Build Coastguard Worker  // The Waiter resource to delete, in the format:
448*d5c09012SAndroid Build Coastguard Worker  //
449*d5c09012SAndroid Build Coastguard Worker  //  `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]`
450*d5c09012SAndroid Build Coastguard Worker  string name = 1;
451*d5c09012SAndroid Build Coastguard Worker}
452