xref: /aosp_15_r20/external/googleapis/google/api/apikeys/v2/apikeys.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.apikeys.v2;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/apikeys/v2/resources.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.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/longrunning/operations.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
27*d5c09012SAndroid Build Coastguard Worker
28*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.ApiKeys.V2";
29*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/apikeys/apiv2/apikeyspb;apikeyspb";
30*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
31*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ApiKeysProto";
32*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.api.apikeys.v2";
33*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\ApiKeys\\V2";
34*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::ApiKeys::V2";
35*d5c09012SAndroid Build Coastguard Worker
36*d5c09012SAndroid Build Coastguard Worker// Manages the API keys associated with projects.
37*d5c09012SAndroid Build Coastguard Workerservice ApiKeys {
38*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "apikeys.googleapis.com";
39*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
40*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform,"
41*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform.read-only";
42*d5c09012SAndroid Build Coastguard Worker
43*d5c09012SAndroid Build Coastguard Worker  // Creates a new API key.
44*d5c09012SAndroid Build Coastguard Worker  //
45*d5c09012SAndroid Build Coastguard Worker  // NOTE: Key is a global resource; hence the only supported value for
46*d5c09012SAndroid Build Coastguard Worker  // location is `global`.
47*d5c09012SAndroid Build Coastguard Worker  rpc CreateKey(CreateKeyRequest) returns (google.longrunning.Operation) {
48*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
49*d5c09012SAndroid Build Coastguard Worker      post: "/v2/{parent=projects/*/locations/*}/keys"
50*d5c09012SAndroid Build Coastguard Worker      body: "key"
51*d5c09012SAndroid Build Coastguard Worker    };
52*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,key,key_id";
53*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
54*d5c09012SAndroid Build Coastguard Worker      response_type: "Key"
55*d5c09012SAndroid Build Coastguard Worker      metadata_type: "google.protobuf.Empty"
56*d5c09012SAndroid Build Coastguard Worker    };
57*d5c09012SAndroid Build Coastguard Worker  }
58*d5c09012SAndroid Build Coastguard Worker
59*d5c09012SAndroid Build Coastguard Worker  // Lists the API keys owned by a project. The key string of the API key
60*d5c09012SAndroid Build Coastguard Worker  // isn't included in the response.
61*d5c09012SAndroid Build Coastguard Worker  //
62*d5c09012SAndroid Build Coastguard Worker  // NOTE: Key is a global resource; hence the only supported value for
63*d5c09012SAndroid Build Coastguard Worker  // location is `global`.
64*d5c09012SAndroid Build Coastguard Worker  rpc ListKeys(ListKeysRequest) returns (ListKeysResponse) {
65*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
66*d5c09012SAndroid Build Coastguard Worker      get: "/v2/{parent=projects/*/locations/*}/keys"
67*d5c09012SAndroid Build Coastguard Worker    };
68*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
69*d5c09012SAndroid Build Coastguard Worker  }
70*d5c09012SAndroid Build Coastguard Worker
71*d5c09012SAndroid Build Coastguard Worker  // Gets the metadata for an API key. The key string of the API key
72*d5c09012SAndroid Build Coastguard Worker  // isn't included in the response.
73*d5c09012SAndroid Build Coastguard Worker  //
74*d5c09012SAndroid Build Coastguard Worker  // NOTE: Key is a global resource; hence the only supported value for
75*d5c09012SAndroid Build Coastguard Worker  // location is `global`.
76*d5c09012SAndroid Build Coastguard Worker  rpc GetKey(GetKeyRequest) returns (Key) {
77*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
78*d5c09012SAndroid Build Coastguard Worker      get: "/v2/{name=projects/*/locations/*/keys/*}"
79*d5c09012SAndroid Build Coastguard Worker    };
80*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
81*d5c09012SAndroid Build Coastguard Worker  }
82*d5c09012SAndroid Build Coastguard Worker
83*d5c09012SAndroid Build Coastguard Worker  // Get the key string for an API key.
84*d5c09012SAndroid Build Coastguard Worker  //
85*d5c09012SAndroid Build Coastguard Worker  // NOTE: Key is a global resource; hence the only supported value for
86*d5c09012SAndroid Build Coastguard Worker  // location is `global`.
87*d5c09012SAndroid Build Coastguard Worker  rpc GetKeyString(GetKeyStringRequest) returns (GetKeyStringResponse) {
88*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
89*d5c09012SAndroid Build Coastguard Worker      get: "/v2/{name=projects/*/locations/*/keys/*}/keyString"
90*d5c09012SAndroid Build Coastguard Worker    };
91*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
92*d5c09012SAndroid Build Coastguard Worker  }
93*d5c09012SAndroid Build Coastguard Worker
94*d5c09012SAndroid Build Coastguard Worker  // Patches the modifiable fields of an API key.
95*d5c09012SAndroid Build Coastguard Worker  // The key string of the API key isn't included in the response.
96*d5c09012SAndroid Build Coastguard Worker  //
97*d5c09012SAndroid Build Coastguard Worker  // NOTE: Key is a global resource; hence the only supported value for
98*d5c09012SAndroid Build Coastguard Worker  // location is `global`.
99*d5c09012SAndroid Build Coastguard Worker  rpc UpdateKey(UpdateKeyRequest) returns (google.longrunning.Operation) {
100*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
101*d5c09012SAndroid Build Coastguard Worker      patch: "/v2/{key.name=projects/*/locations/*/keys/*}"
102*d5c09012SAndroid Build Coastguard Worker      body: "key"
103*d5c09012SAndroid Build Coastguard Worker    };
104*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "key,update_mask";
105*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
106*d5c09012SAndroid Build Coastguard Worker      response_type: "Key"
107*d5c09012SAndroid Build Coastguard Worker      metadata_type: "google.protobuf.Empty"
108*d5c09012SAndroid Build Coastguard Worker    };
109*d5c09012SAndroid Build Coastguard Worker  }
110*d5c09012SAndroid Build Coastguard Worker
111*d5c09012SAndroid Build Coastguard Worker  // Deletes an API key. Deleted key can be retrieved within 30 days of
112*d5c09012SAndroid Build Coastguard Worker  // deletion. Afterward, key will be purged from the project.
113*d5c09012SAndroid Build Coastguard Worker  //
114*d5c09012SAndroid Build Coastguard Worker  // NOTE: Key is a global resource; hence the only supported value for
115*d5c09012SAndroid Build Coastguard Worker  // location is `global`.
116*d5c09012SAndroid Build Coastguard Worker  rpc DeleteKey(DeleteKeyRequest) returns (google.longrunning.Operation) {
117*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
118*d5c09012SAndroid Build Coastguard Worker      delete: "/v2/{name=projects/*/locations/*/keys/*}"
119*d5c09012SAndroid Build Coastguard Worker    };
120*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
121*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
122*d5c09012SAndroid Build Coastguard Worker      response_type: "Key"
123*d5c09012SAndroid Build Coastguard Worker      metadata_type: "google.protobuf.Empty"
124*d5c09012SAndroid Build Coastguard Worker    };
125*d5c09012SAndroid Build Coastguard Worker  }
126*d5c09012SAndroid Build Coastguard Worker
127*d5c09012SAndroid Build Coastguard Worker  // Undeletes an API key which was deleted within 30 days.
128*d5c09012SAndroid Build Coastguard Worker  //
129*d5c09012SAndroid Build Coastguard Worker  // NOTE: Key is a global resource; hence the only supported value for
130*d5c09012SAndroid Build Coastguard Worker  // location is `global`.
131*d5c09012SAndroid Build Coastguard Worker  rpc UndeleteKey(UndeleteKeyRequest) returns (google.longrunning.Operation) {
132*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
133*d5c09012SAndroid Build Coastguard Worker      post: "/v2/{name=projects/*/locations/*/keys/*}:undelete"
134*d5c09012SAndroid Build Coastguard Worker      body: "*"
135*d5c09012SAndroid Build Coastguard Worker    };
136*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
137*d5c09012SAndroid Build Coastguard Worker      response_type: "Key"
138*d5c09012SAndroid Build Coastguard Worker      metadata_type: "google.protobuf.Empty"
139*d5c09012SAndroid Build Coastguard Worker    };
140*d5c09012SAndroid Build Coastguard Worker  }
141*d5c09012SAndroid Build Coastguard Worker
142*d5c09012SAndroid Build Coastguard Worker  // Find the parent project and resource name of the API
143*d5c09012SAndroid Build Coastguard Worker  // key that matches the key string in the request. If the API key has been
144*d5c09012SAndroid Build Coastguard Worker  // purged, resource name will not be set.
145*d5c09012SAndroid Build Coastguard Worker  // The service account must have the `apikeys.keys.lookup` permission
146*d5c09012SAndroid Build Coastguard Worker  // on the parent project.
147*d5c09012SAndroid Build Coastguard Worker  rpc LookupKey(LookupKeyRequest) returns (LookupKeyResponse) {
148*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
149*d5c09012SAndroid Build Coastguard Worker      get: "/v2/keys:lookupKey"
150*d5c09012SAndroid Build Coastguard Worker    };
151*d5c09012SAndroid Build Coastguard Worker  }
152*d5c09012SAndroid Build Coastguard Worker}
153*d5c09012SAndroid Build Coastguard Worker
154*d5c09012SAndroid Build Coastguard Worker// Request message for `CreateKey` method.
155*d5c09012SAndroid Build Coastguard Workermessage CreateKeyRequest {
156*d5c09012SAndroid Build Coastguard Worker  // Required. The project in which the API key is created.
157*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
158*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
159*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
160*d5c09012SAndroid Build Coastguard Worker      child_type: "apikeys.googleapis.com/Key"
161*d5c09012SAndroid Build Coastguard Worker    }
162*d5c09012SAndroid Build Coastguard Worker  ];
163*d5c09012SAndroid Build Coastguard Worker
164*d5c09012SAndroid Build Coastguard Worker  // Required. The API key fields to set at creation time.
165*d5c09012SAndroid Build Coastguard Worker  // You can configure only the `display_name`, `restrictions`, and
166*d5c09012SAndroid Build Coastguard Worker  // `annotations` fields.
167*d5c09012SAndroid Build Coastguard Worker  Key key = 2 [(google.api.field_behavior) = REQUIRED];
168*d5c09012SAndroid Build Coastguard Worker
169*d5c09012SAndroid Build Coastguard Worker  // User specified key id (optional). If specified, it will become the final
170*d5c09012SAndroid Build Coastguard Worker  // component of the key resource name.
171*d5c09012SAndroid Build Coastguard Worker  //
172*d5c09012SAndroid Build Coastguard Worker  // The id must be unique within the project, must conform with RFC-1034,
173*d5c09012SAndroid Build Coastguard Worker  // is restricted to lower-cased letters, and has a maximum length of 63
174*d5c09012SAndroid Build Coastguard Worker  // characters. In another word, the id must match the regular
175*d5c09012SAndroid Build Coastguard Worker  // expression: `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.
176*d5c09012SAndroid Build Coastguard Worker  //
177*d5c09012SAndroid Build Coastguard Worker  // The id must NOT be a UUID-like string.
178*d5c09012SAndroid Build Coastguard Worker  string key_id = 3;
179*d5c09012SAndroid Build Coastguard Worker}
180*d5c09012SAndroid Build Coastguard Worker
181*d5c09012SAndroid Build Coastguard Worker// Request message for `ListKeys` method.
182*d5c09012SAndroid Build Coastguard Workermessage ListKeysRequest {
183*d5c09012SAndroid Build Coastguard Worker  // Required. Lists all API keys associated with this project.
184*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
185*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
186*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
187*d5c09012SAndroid Build Coastguard Worker      child_type: "apikeys.googleapis.com/Key"
188*d5c09012SAndroid Build Coastguard Worker    }
189*d5c09012SAndroid Build Coastguard Worker  ];
190*d5c09012SAndroid Build Coastguard Worker
191*d5c09012SAndroid Build Coastguard Worker  // Optional. Specifies the maximum number of results to be returned at a time.
192*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
193*d5c09012SAndroid Build Coastguard Worker
194*d5c09012SAndroid Build Coastguard Worker  // Optional. Requests a specific page of results.
195*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
196*d5c09012SAndroid Build Coastguard Worker
197*d5c09012SAndroid Build Coastguard Worker  // Optional. Indicate that keys deleted in the past 30 days should also be
198*d5c09012SAndroid Build Coastguard Worker  // returned.
199*d5c09012SAndroid Build Coastguard Worker  bool show_deleted = 6 [(google.api.field_behavior) = OPTIONAL];
200*d5c09012SAndroid Build Coastguard Worker}
201*d5c09012SAndroid Build Coastguard Worker
202*d5c09012SAndroid Build Coastguard Worker// Response message for `ListKeys` method.
203*d5c09012SAndroid Build Coastguard Workermessage ListKeysResponse {
204*d5c09012SAndroid Build Coastguard Worker  // A list of API keys.
205*d5c09012SAndroid Build Coastguard Worker  repeated Key keys = 1;
206*d5c09012SAndroid Build Coastguard Worker
207*d5c09012SAndroid Build Coastguard Worker  // The pagination token for the next page of results.
208*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
209*d5c09012SAndroid Build Coastguard Worker}
210*d5c09012SAndroid Build Coastguard Worker
211*d5c09012SAndroid Build Coastguard Worker// Request message for `GetKey` method.
212*d5c09012SAndroid Build Coastguard Workermessage GetKeyRequest {
213*d5c09012SAndroid Build Coastguard Worker  // Required. The resource name of the API key to get.
214*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
215*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
216*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "apikeys.googleapis.com/Key" }
217*d5c09012SAndroid Build Coastguard Worker  ];
218*d5c09012SAndroid Build Coastguard Worker}
219*d5c09012SAndroid Build Coastguard Worker
220*d5c09012SAndroid Build Coastguard Worker// Request message for `GetKeyString` method.
221*d5c09012SAndroid Build Coastguard Workermessage GetKeyStringRequest {
222*d5c09012SAndroid Build Coastguard Worker  // Required. The resource name of the API key to be retrieved.
223*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
224*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
225*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "apikeys.googleapis.com/Key" }
226*d5c09012SAndroid Build Coastguard Worker  ];
227*d5c09012SAndroid Build Coastguard Worker}
228*d5c09012SAndroid Build Coastguard Worker
229*d5c09012SAndroid Build Coastguard Worker// Response message for `GetKeyString` method.
230*d5c09012SAndroid Build Coastguard Workermessage GetKeyStringResponse {
231*d5c09012SAndroid Build Coastguard Worker  // An encrypted and signed value of the key.
232*d5c09012SAndroid Build Coastguard Worker  string key_string = 1;
233*d5c09012SAndroid Build Coastguard Worker}
234*d5c09012SAndroid Build Coastguard Worker
235*d5c09012SAndroid Build Coastguard Worker// Request message for `UpdateKey` method.
236*d5c09012SAndroid Build Coastguard Workermessage UpdateKeyRequest {
237*d5c09012SAndroid Build Coastguard Worker  // Required. Set the `name` field to the resource name of the API key to be
238*d5c09012SAndroid Build Coastguard Worker  // updated. You can update only the `display_name`, `restrictions`, and
239*d5c09012SAndroid Build Coastguard Worker  // `annotations` fields.
240*d5c09012SAndroid Build Coastguard Worker  Key key = 1 [(google.api.field_behavior) = REQUIRED];
241*d5c09012SAndroid Build Coastguard Worker
242*d5c09012SAndroid Build Coastguard Worker  // The field mask specifies which fields to be updated as part of this
243*d5c09012SAndroid Build Coastguard Worker  // request. All other fields are ignored.
244*d5c09012SAndroid Build Coastguard Worker  // Mutable fields are: `display_name`, `restrictions`, and `annotations`.
245*d5c09012SAndroid Build Coastguard Worker  // If an update mask is not provided, the service treats it as an implied mask
246*d5c09012SAndroid Build Coastguard Worker  // equivalent to all allowed fields that are set on the wire. If the field
247*d5c09012SAndroid Build Coastguard Worker  // mask has a special value "*", the service treats it equivalent to replace
248*d5c09012SAndroid Build Coastguard Worker  // all allowed mutable fields.
249*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2;
250*d5c09012SAndroid Build Coastguard Worker}
251*d5c09012SAndroid Build Coastguard Worker
252*d5c09012SAndroid Build Coastguard Worker// Request message for `DeleteKey` method.
253*d5c09012SAndroid Build Coastguard Workermessage DeleteKeyRequest {
254*d5c09012SAndroid Build Coastguard Worker  // Required. The resource name of the API key to be deleted.
255*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
256*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
257*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "apikeys.googleapis.com/Key" }
258*d5c09012SAndroid Build Coastguard Worker  ];
259*d5c09012SAndroid Build Coastguard Worker
260*d5c09012SAndroid Build Coastguard Worker  // Optional. The etag known to the client for the expected state of the key.
261*d5c09012SAndroid Build Coastguard Worker  // This is to be used for optimistic concurrency.
262*d5c09012SAndroid Build Coastguard Worker  string etag = 2 [(google.api.field_behavior) = OPTIONAL];
263*d5c09012SAndroid Build Coastguard Worker}
264*d5c09012SAndroid Build Coastguard Worker
265*d5c09012SAndroid Build Coastguard Worker// Request message for `UndeleteKey` method.
266*d5c09012SAndroid Build Coastguard Workermessage UndeleteKeyRequest {
267*d5c09012SAndroid Build Coastguard Worker  // Required. The resource name of the API key to be undeleted.
268*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
269*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
270*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "apikeys.googleapis.com/Key" }
271*d5c09012SAndroid Build Coastguard Worker  ];
272*d5c09012SAndroid Build Coastguard Worker}
273*d5c09012SAndroid Build Coastguard Worker
274*d5c09012SAndroid Build Coastguard Worker// Request message for `LookupKey` method.
275*d5c09012SAndroid Build Coastguard Workermessage LookupKeyRequest {
276*d5c09012SAndroid Build Coastguard Worker  // Required. Finds the project that owns the key string value.
277*d5c09012SAndroid Build Coastguard Worker  string key_string = 1 [(google.api.field_behavior) = REQUIRED];
278*d5c09012SAndroid Build Coastguard Worker}
279*d5c09012SAndroid Build Coastguard Worker
280*d5c09012SAndroid Build Coastguard Worker// Response message for `LookupKey` method.
281*d5c09012SAndroid Build Coastguard Workermessage LookupKeyResponse {
282*d5c09012SAndroid Build Coastguard Worker  // The project that owns the key with the value specified in the request.
283*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
284*d5c09012SAndroid Build Coastguard Worker
285*d5c09012SAndroid Build Coastguard Worker  // The resource name of the API key. If the API key has been purged,
286*d5c09012SAndroid Build Coastguard Worker  // resource name is empty.
287*d5c09012SAndroid Build Coastguard Worker  string name = 2;
288*d5c09012SAndroid Build Coastguard Worker}
289