xref: /aosp_15_r20/external/googleapis/google/appengine/v1beta/appengine.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2021 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.appengine.v1beta;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/appengine/v1beta/application.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/appengine/v1beta/certificate.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/appengine/v1beta/domain.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/appengine/v1beta/domain_mapping.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/appengine/v1beta/firewall.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/appengine/v1beta/instance.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/appengine/v1beta/version.proto";
26*d5c09012SAndroid Build Coastguard Workerimport "google/appengine/v1beta/service.proto";
27*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto";
28*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto";
29*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
30*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
31*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto";
32*d5c09012SAndroid Build Coastguard Worker
33*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.AppEngine.V1Beta";
34*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine";
35*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
36*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "AppengineProto";
37*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.appengine.v1beta";
38*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\AppEngine\\V1beta";
39*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::AppEngine::V1beta";
40*d5c09012SAndroid Build Coastguard Worker
41*d5c09012SAndroid Build Coastguard Worker// Manages App Engine applications.
42*d5c09012SAndroid Build Coastguard Workerservice Applications {
43*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "appengine.googleapis.com";
44*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
45*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/appengine.admin,"
46*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform,"
47*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform.read-only";
48*d5c09012SAndroid Build Coastguard Worker
49*d5c09012SAndroid Build Coastguard Worker  // Gets information about an application.
50*d5c09012SAndroid Build Coastguard Worker  rpc GetApplication(GetApplicationRequest) returns (Application) {
51*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
52*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{name=apps/*}"
53*d5c09012SAndroid Build Coastguard Worker    };
54*d5c09012SAndroid Build Coastguard Worker  }
55*d5c09012SAndroid Build Coastguard Worker
56*d5c09012SAndroid Build Coastguard Worker  // Creates an App Engine application for a Google Cloud Platform project.
57*d5c09012SAndroid Build Coastguard Worker  // Required fields:
58*d5c09012SAndroid Build Coastguard Worker  //
59*d5c09012SAndroid Build Coastguard Worker  // * `id` - The ID of the target Cloud Platform project.
60*d5c09012SAndroid Build Coastguard Worker  // * *location* - The [region](https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located.
61*d5c09012SAndroid Build Coastguard Worker  //
62*d5c09012SAndroid Build Coastguard Worker  // For more information about App Engine applications, see [Managing Projects, Applications, and Billing](https://cloud.google.com/appengine/docs/standard/python/console/).
63*d5c09012SAndroid Build Coastguard Worker  rpc CreateApplication(CreateApplicationRequest) returns (google.longrunning.Operation) {
64*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
65*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta/apps"
66*d5c09012SAndroid Build Coastguard Worker      body: "application"
67*d5c09012SAndroid Build Coastguard Worker    };
68*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
69*d5c09012SAndroid Build Coastguard Worker      response_type: "Application"
70*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadataV1Beta"
71*d5c09012SAndroid Build Coastguard Worker    };
72*d5c09012SAndroid Build Coastguard Worker  }
73*d5c09012SAndroid Build Coastguard Worker
74*d5c09012SAndroid Build Coastguard Worker  // Updates the specified Application resource.
75*d5c09012SAndroid Build Coastguard Worker  // You can update the following fields:
76*d5c09012SAndroid Build Coastguard Worker  //
77*d5c09012SAndroid Build Coastguard Worker  // * `auth_domain` - Google authentication domain for controlling user access to the application.
78*d5c09012SAndroid Build Coastguard Worker  // * `default_cookie_expiration` - Cookie expiration policy for the application.
79*d5c09012SAndroid Build Coastguard Worker  rpc UpdateApplication(UpdateApplicationRequest) returns (google.longrunning.Operation) {
80*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
81*d5c09012SAndroid Build Coastguard Worker      patch: "/v1beta/{name=apps/*}"
82*d5c09012SAndroid Build Coastguard Worker      body: "application"
83*d5c09012SAndroid Build Coastguard Worker    };
84*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
85*d5c09012SAndroid Build Coastguard Worker      response_type: "Application"
86*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadataV1Beta"
87*d5c09012SAndroid Build Coastguard Worker    };
88*d5c09012SAndroid Build Coastguard Worker  }
89*d5c09012SAndroid Build Coastguard Worker
90*d5c09012SAndroid Build Coastguard Worker  // Recreates the required App Engine features for the specified App Engine
91*d5c09012SAndroid Build Coastguard Worker  // application, for example a Cloud Storage bucket or App Engine service
92*d5c09012SAndroid Build Coastguard Worker  // account.
93*d5c09012SAndroid Build Coastguard Worker  // Use this method if you receive an error message about a missing feature,
94*d5c09012SAndroid Build Coastguard Worker  // for example, *Error retrieving the App Engine service account*.
95*d5c09012SAndroid Build Coastguard Worker  // If you have deleted your App Engine service account, this will
96*d5c09012SAndroid Build Coastguard Worker  // not be able to recreate it. Instead, you should attempt to use the
97*d5c09012SAndroid Build Coastguard Worker  // IAM undelete API if possible at https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete?apix_params=%7B"name"%3A"projects%2F-%2FserviceAccounts%2Funique_id"%2C"resource"%3A%7B%7D%7D .
98*d5c09012SAndroid Build Coastguard Worker  // If the deletion was recent, the numeric ID can be found in the Cloud
99*d5c09012SAndroid Build Coastguard Worker  // Console Activity Log.
100*d5c09012SAndroid Build Coastguard Worker  rpc RepairApplication(RepairApplicationRequest) returns (google.longrunning.Operation) {
101*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
102*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta/{name=apps/*}:repair"
103*d5c09012SAndroid Build Coastguard Worker      body: "*"
104*d5c09012SAndroid Build Coastguard Worker    };
105*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
106*d5c09012SAndroid Build Coastguard Worker      response_type: "Application"
107*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadataV1Beta"
108*d5c09012SAndroid Build Coastguard Worker    };
109*d5c09012SAndroid Build Coastguard Worker  }
110*d5c09012SAndroid Build Coastguard Worker}
111*d5c09012SAndroid Build Coastguard Worker
112*d5c09012SAndroid Build Coastguard Worker// Request message for `Applications.GetApplication`.
113*d5c09012SAndroid Build Coastguard Workermessage GetApplicationRequest {
114*d5c09012SAndroid Build Coastguard Worker  // Name of the Application resource to get. Example: `apps/myapp`.
115*d5c09012SAndroid Build Coastguard Worker  string name = 1;
116*d5c09012SAndroid Build Coastguard Worker}
117*d5c09012SAndroid Build Coastguard Worker
118*d5c09012SAndroid Build Coastguard Worker// Request message for `Applications.CreateApplication`.
119*d5c09012SAndroid Build Coastguard Workermessage CreateApplicationRequest {
120*d5c09012SAndroid Build Coastguard Worker  // Application configuration.
121*d5c09012SAndroid Build Coastguard Worker  Application application = 2;
122*d5c09012SAndroid Build Coastguard Worker}
123*d5c09012SAndroid Build Coastguard Worker
124*d5c09012SAndroid Build Coastguard Worker// Request message for `Applications.UpdateApplication`.
125*d5c09012SAndroid Build Coastguard Workermessage UpdateApplicationRequest {
126*d5c09012SAndroid Build Coastguard Worker  // Name of the Application resource to update. Example: `apps/myapp`.
127*d5c09012SAndroid Build Coastguard Worker  string name = 1;
128*d5c09012SAndroid Build Coastguard Worker
129*d5c09012SAndroid Build Coastguard Worker  // An Application containing the updated resource.
130*d5c09012SAndroid Build Coastguard Worker  Application application = 2;
131*d5c09012SAndroid Build Coastguard Worker
132*d5c09012SAndroid Build Coastguard Worker  // Standard field mask for the set of fields to be updated.
133*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 3;
134*d5c09012SAndroid Build Coastguard Worker}
135*d5c09012SAndroid Build Coastguard Worker
136*d5c09012SAndroid Build Coastguard Worker// Request message for 'Applications.RepairApplication'.
137*d5c09012SAndroid Build Coastguard Workermessage RepairApplicationRequest {
138*d5c09012SAndroid Build Coastguard Worker  // Name of the application to repair. Example: `apps/myapp`
139*d5c09012SAndroid Build Coastguard Worker  string name = 1;
140*d5c09012SAndroid Build Coastguard Worker}
141*d5c09012SAndroid Build Coastguard Worker
142*d5c09012SAndroid Build Coastguard Worker// Manages services of an application.
143*d5c09012SAndroid Build Coastguard Workerservice Services {
144*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "appengine.googleapis.com";
145*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
146*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/appengine.admin,"
147*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform,"
148*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform.read-only";
149*d5c09012SAndroid Build Coastguard Worker
150*d5c09012SAndroid Build Coastguard Worker  // Lists all the services in the application.
151*d5c09012SAndroid Build Coastguard Worker  rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
152*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
153*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{parent=apps/*}/services"
154*d5c09012SAndroid Build Coastguard Worker    };
155*d5c09012SAndroid Build Coastguard Worker  }
156*d5c09012SAndroid Build Coastguard Worker
157*d5c09012SAndroid Build Coastguard Worker  // Gets the current configuration of the specified service.
158*d5c09012SAndroid Build Coastguard Worker  rpc GetService(GetServiceRequest) returns (Service) {
159*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
160*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{name=apps/*/services/*}"
161*d5c09012SAndroid Build Coastguard Worker    };
162*d5c09012SAndroid Build Coastguard Worker  }
163*d5c09012SAndroid Build Coastguard Worker
164*d5c09012SAndroid Build Coastguard Worker  // Updates the configuration of the specified service.
165*d5c09012SAndroid Build Coastguard Worker  rpc UpdateService(UpdateServiceRequest) returns (google.longrunning.Operation) {
166*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
167*d5c09012SAndroid Build Coastguard Worker      patch: "/v1beta/{name=apps/*/services/*}"
168*d5c09012SAndroid Build Coastguard Worker      body: "service"
169*d5c09012SAndroid Build Coastguard Worker    };
170*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
171*d5c09012SAndroid Build Coastguard Worker      response_type: "Service"
172*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadataV1Beta"
173*d5c09012SAndroid Build Coastguard Worker    };
174*d5c09012SAndroid Build Coastguard Worker  }
175*d5c09012SAndroid Build Coastguard Worker
176*d5c09012SAndroid Build Coastguard Worker  // Deletes the specified service and all enclosed versions.
177*d5c09012SAndroid Build Coastguard Worker  rpc DeleteService(DeleteServiceRequest) returns (google.longrunning.Operation) {
178*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
179*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta/{name=apps/*/services/*}"
180*d5c09012SAndroid Build Coastguard Worker    };
181*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
182*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
183*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadataV1Beta"
184*d5c09012SAndroid Build Coastguard Worker    };
185*d5c09012SAndroid Build Coastguard Worker  }
186*d5c09012SAndroid Build Coastguard Worker}
187*d5c09012SAndroid Build Coastguard Worker
188*d5c09012SAndroid Build Coastguard Worker// Request message for `Services.ListServices`.
189*d5c09012SAndroid Build Coastguard Workermessage ListServicesRequest {
190*d5c09012SAndroid Build Coastguard Worker  // Name of the parent Application resource. Example: `apps/myapp`.
191*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
192*d5c09012SAndroid Build Coastguard Worker
193*d5c09012SAndroid Build Coastguard Worker  // Maximum results to return per page.
194*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
195*d5c09012SAndroid Build Coastguard Worker
196*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
197*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
198*d5c09012SAndroid Build Coastguard Worker}
199*d5c09012SAndroid Build Coastguard Worker
200*d5c09012SAndroid Build Coastguard Worker// Response message for `Services.ListServices`.
201*d5c09012SAndroid Build Coastguard Workermessage ListServicesResponse {
202*d5c09012SAndroid Build Coastguard Worker  // The services belonging to the requested application.
203*d5c09012SAndroid Build Coastguard Worker  repeated Service services = 1;
204*d5c09012SAndroid Build Coastguard Worker
205*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
206*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
207*d5c09012SAndroid Build Coastguard Worker}
208*d5c09012SAndroid Build Coastguard Worker
209*d5c09012SAndroid Build Coastguard Worker// Request message for `Services.GetService`.
210*d5c09012SAndroid Build Coastguard Workermessage GetServiceRequest {
211*d5c09012SAndroid Build Coastguard Worker  // Name of the resource requested. Example: `apps/myapp/services/default`.
212*d5c09012SAndroid Build Coastguard Worker  string name = 1;
213*d5c09012SAndroid Build Coastguard Worker}
214*d5c09012SAndroid Build Coastguard Worker
215*d5c09012SAndroid Build Coastguard Worker// Request message for `Services.UpdateService`.
216*d5c09012SAndroid Build Coastguard Workermessage UpdateServiceRequest {
217*d5c09012SAndroid Build Coastguard Worker  // Name of the resource to update. Example: `apps/myapp/services/default`.
218*d5c09012SAndroid Build Coastguard Worker  string name = 1;
219*d5c09012SAndroid Build Coastguard Worker
220*d5c09012SAndroid Build Coastguard Worker  // A Service resource containing the updated service. Only fields set in the
221*d5c09012SAndroid Build Coastguard Worker  // field mask will be updated.
222*d5c09012SAndroid Build Coastguard Worker  Service service = 2;
223*d5c09012SAndroid Build Coastguard Worker
224*d5c09012SAndroid Build Coastguard Worker  // Standard field mask for the set of fields to be updated.
225*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 3;
226*d5c09012SAndroid Build Coastguard Worker
227*d5c09012SAndroid Build Coastguard Worker  // Set to `true` to gradually shift traffic to one or more versions that you
228*d5c09012SAndroid Build Coastguard Worker  // specify. By default, traffic is shifted immediately.
229*d5c09012SAndroid Build Coastguard Worker  // For gradual traffic migration, the target versions
230*d5c09012SAndroid Build Coastguard Worker  // must be located within instances that are configured for both
231*d5c09012SAndroid Build Coastguard Worker  // [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#InboundServiceType)
232*d5c09012SAndroid Build Coastguard Worker  // and
233*d5c09012SAndroid Build Coastguard Worker  // [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#AutomaticScaling).
234*d5c09012SAndroid Build Coastguard Worker  // You must specify the
235*d5c09012SAndroid Build Coastguard Worker  // [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services#ShardBy)
236*d5c09012SAndroid Build Coastguard Worker  // field in the Service resource. Gradual traffic migration is not
237*d5c09012SAndroid Build Coastguard Worker  // supported in the App Engine flexible environment. For examples, see
238*d5c09012SAndroid Build Coastguard Worker  // [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).
239*d5c09012SAndroid Build Coastguard Worker  bool migrate_traffic = 4;
240*d5c09012SAndroid Build Coastguard Worker}
241*d5c09012SAndroid Build Coastguard Worker
242*d5c09012SAndroid Build Coastguard Worker// Request message for `Services.DeleteService`.
243*d5c09012SAndroid Build Coastguard Workermessage DeleteServiceRequest {
244*d5c09012SAndroid Build Coastguard Worker  // Name of the resource requested. Example: `apps/myapp/services/default`.
245*d5c09012SAndroid Build Coastguard Worker  string name = 1;
246*d5c09012SAndroid Build Coastguard Worker}
247*d5c09012SAndroid Build Coastguard Worker
248*d5c09012SAndroid Build Coastguard Worker// Manages versions of a service.
249*d5c09012SAndroid Build Coastguard Workerservice Versions {
250*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "appengine.googleapis.com";
251*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
252*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/appengine.admin,"
253*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform,"
254*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform.read-only";
255*d5c09012SAndroid Build Coastguard Worker
256*d5c09012SAndroid Build Coastguard Worker  // Lists the versions of a service.
257*d5c09012SAndroid Build Coastguard Worker  rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) {
258*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
259*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{parent=apps/*/services/*}/versions"
260*d5c09012SAndroid Build Coastguard Worker    };
261*d5c09012SAndroid Build Coastguard Worker  }
262*d5c09012SAndroid Build Coastguard Worker
263*d5c09012SAndroid Build Coastguard Worker  // Gets the specified Version resource.
264*d5c09012SAndroid Build Coastguard Worker  // By default, only a `BASIC_VIEW` will be returned.
265*d5c09012SAndroid Build Coastguard Worker  // Specify the `FULL_VIEW` parameter to get the full resource.
266*d5c09012SAndroid Build Coastguard Worker  rpc GetVersion(GetVersionRequest) returns (Version) {
267*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
268*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{name=apps/*/services/*/versions/*}"
269*d5c09012SAndroid Build Coastguard Worker    };
270*d5c09012SAndroid Build Coastguard Worker  }
271*d5c09012SAndroid Build Coastguard Worker
272*d5c09012SAndroid Build Coastguard Worker  // Deploys code and resource files to a new version.
273*d5c09012SAndroid Build Coastguard Worker  rpc CreateVersion(CreateVersionRequest) returns (google.longrunning.Operation) {
274*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
275*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta/{parent=apps/*/services/*}/versions"
276*d5c09012SAndroid Build Coastguard Worker      body: "version"
277*d5c09012SAndroid Build Coastguard Worker    };
278*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
279*d5c09012SAndroid Build Coastguard Worker      response_type: "Version"
280*d5c09012SAndroid Build Coastguard Worker      metadata_type: "CreateVersionMetadataV1Beta"
281*d5c09012SAndroid Build Coastguard Worker    };
282*d5c09012SAndroid Build Coastguard Worker  }
283*d5c09012SAndroid Build Coastguard Worker
284*d5c09012SAndroid Build Coastguard Worker  // Updates the specified Version resource.
285*d5c09012SAndroid Build Coastguard Worker  // You can specify the following fields depending on the App Engine
286*d5c09012SAndroid Build Coastguard Worker  // environment and type of scaling that the version resource uses:
287*d5c09012SAndroid Build Coastguard Worker  //
288*d5c09012SAndroid Build Coastguard Worker  // **Standard environment**
289*d5c09012SAndroid Build Coastguard Worker  //
290*d5c09012SAndroid Build Coastguard Worker  // * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.instance_class)
291*d5c09012SAndroid Build Coastguard Worker  //
292*d5c09012SAndroid Build Coastguard Worker  // *automatic scaling* in the standard environment:
293*d5c09012SAndroid Build Coastguard Worker  //
294*d5c09012SAndroid Build Coastguard Worker  // * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
295*d5c09012SAndroid Build Coastguard Worker  // * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
296*d5c09012SAndroid Build Coastguard Worker  // * [`automaticScaling.standard_scheduler_settings.max_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)
297*d5c09012SAndroid Build Coastguard Worker  // * [`automaticScaling.standard_scheduler_settings.min_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)
298*d5c09012SAndroid Build Coastguard Worker  // * [`automaticScaling.standard_scheduler_settings.target_cpu_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)
299*d5c09012SAndroid Build Coastguard Worker  // * [`automaticScaling.standard_scheduler_settings.target_throughput_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings)
300*d5c09012SAndroid Build Coastguard Worker  //
301*d5c09012SAndroid Build Coastguard Worker  // *basic scaling* or *manual scaling* in the standard environment:
302*d5c09012SAndroid Build Coastguard Worker  //
303*d5c09012SAndroid Build Coastguard Worker  // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status)
304*d5c09012SAndroid Build Coastguard Worker  // * [`manual_scaling.instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#manualscaling)
305*d5c09012SAndroid Build Coastguard Worker  //
306*d5c09012SAndroid Build Coastguard Worker  // **Flexible environment**
307*d5c09012SAndroid Build Coastguard Worker  //
308*d5c09012SAndroid Build Coastguard Worker  // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status)
309*d5c09012SAndroid Build Coastguard Worker  //
310*d5c09012SAndroid Build Coastguard Worker  // *automatic scaling* in the flexible environment:
311*d5c09012SAndroid Build Coastguard Worker  //
312*d5c09012SAndroid Build Coastguard Worker  // * [`automatic_scaling.min_total_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
313*d5c09012SAndroid Build Coastguard Worker  // * [`automatic_scaling.max_total_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
314*d5c09012SAndroid Build Coastguard Worker  // * [`automatic_scaling.cool_down_period_sec`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
315*d5c09012SAndroid Build Coastguard Worker  // * [`automatic_scaling.cpu_utilization.target_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling)
316*d5c09012SAndroid Build Coastguard Worker  //
317*d5c09012SAndroid Build Coastguard Worker  // *manual scaling* in the flexible environment:
318*d5c09012SAndroid Build Coastguard Worker  //
319*d5c09012SAndroid Build Coastguard Worker  // * [`manual_scaling.instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#manualscaling)
320*d5c09012SAndroid Build Coastguard Worker  rpc UpdateVersion(UpdateVersionRequest) returns (google.longrunning.Operation) {
321*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
322*d5c09012SAndroid Build Coastguard Worker      patch: "/v1beta/{name=apps/*/services/*/versions/*}"
323*d5c09012SAndroid Build Coastguard Worker      body: "version"
324*d5c09012SAndroid Build Coastguard Worker    };
325*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
326*d5c09012SAndroid Build Coastguard Worker      response_type: "Version"
327*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadataV1Beta"
328*d5c09012SAndroid Build Coastguard Worker    };
329*d5c09012SAndroid Build Coastguard Worker  }
330*d5c09012SAndroid Build Coastguard Worker
331*d5c09012SAndroid Build Coastguard Worker  // Deletes an existing Version resource.
332*d5c09012SAndroid Build Coastguard Worker  rpc DeleteVersion(DeleteVersionRequest) returns (google.longrunning.Operation) {
333*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
334*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta/{name=apps/*/services/*/versions/*}"
335*d5c09012SAndroid Build Coastguard Worker    };
336*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
337*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
338*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadataV1Beta"
339*d5c09012SAndroid Build Coastguard Worker    };
340*d5c09012SAndroid Build Coastguard Worker  }
341*d5c09012SAndroid Build Coastguard Worker}
342*d5c09012SAndroid Build Coastguard Worker
343*d5c09012SAndroid Build Coastguard Worker// Request message for `Versions.ListVersions`.
344*d5c09012SAndroid Build Coastguard Workermessage ListVersionsRequest {
345*d5c09012SAndroid Build Coastguard Worker  // Name of the parent Service resource. Example:
346*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/services/default`.
347*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
348*d5c09012SAndroid Build Coastguard Worker
349*d5c09012SAndroid Build Coastguard Worker  // Controls the set of fields returned in the `List` response.
350*d5c09012SAndroid Build Coastguard Worker  VersionView view = 2;
351*d5c09012SAndroid Build Coastguard Worker
352*d5c09012SAndroid Build Coastguard Worker  // Maximum results to return per page.
353*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 3;
354*d5c09012SAndroid Build Coastguard Worker
355*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
356*d5c09012SAndroid Build Coastguard Worker  string page_token = 4;
357*d5c09012SAndroid Build Coastguard Worker}
358*d5c09012SAndroid Build Coastguard Worker
359*d5c09012SAndroid Build Coastguard Worker// Response message for `Versions.ListVersions`.
360*d5c09012SAndroid Build Coastguard Workermessage ListVersionsResponse {
361*d5c09012SAndroid Build Coastguard Worker  // The versions belonging to the requested service.
362*d5c09012SAndroid Build Coastguard Worker  repeated Version versions = 1;
363*d5c09012SAndroid Build Coastguard Worker
364*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
365*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
366*d5c09012SAndroid Build Coastguard Worker}
367*d5c09012SAndroid Build Coastguard Worker
368*d5c09012SAndroid Build Coastguard Worker// Request message for `Versions.GetVersion`.
369*d5c09012SAndroid Build Coastguard Workermessage GetVersionRequest {
370*d5c09012SAndroid Build Coastguard Worker  // Name of the resource requested. Example:
371*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/services/default/versions/v1`.
372*d5c09012SAndroid Build Coastguard Worker  string name = 1;
373*d5c09012SAndroid Build Coastguard Worker
374*d5c09012SAndroid Build Coastguard Worker  // Controls the set of fields returned in the `Get` response.
375*d5c09012SAndroid Build Coastguard Worker  VersionView view = 2;
376*d5c09012SAndroid Build Coastguard Worker}
377*d5c09012SAndroid Build Coastguard Worker
378*d5c09012SAndroid Build Coastguard Worker// Request message for `Versions.CreateVersion`.
379*d5c09012SAndroid Build Coastguard Workermessage CreateVersionRequest {
380*d5c09012SAndroid Build Coastguard Worker  // Name of the parent resource to create this version under. Example:
381*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/services/default`.
382*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
383*d5c09012SAndroid Build Coastguard Worker
384*d5c09012SAndroid Build Coastguard Worker  // Application deployment configuration.
385*d5c09012SAndroid Build Coastguard Worker  Version version = 2;
386*d5c09012SAndroid Build Coastguard Worker}
387*d5c09012SAndroid Build Coastguard Worker
388*d5c09012SAndroid Build Coastguard Worker// Request message for `Versions.UpdateVersion`.
389*d5c09012SAndroid Build Coastguard Workermessage UpdateVersionRequest {
390*d5c09012SAndroid Build Coastguard Worker  // Name of the resource to update. Example:
391*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/services/default/versions/1`.
392*d5c09012SAndroid Build Coastguard Worker  string name = 1;
393*d5c09012SAndroid Build Coastguard Worker
394*d5c09012SAndroid Build Coastguard Worker  // A Version containing the updated resource. Only fields set in the field
395*d5c09012SAndroid Build Coastguard Worker  // mask will be updated.
396*d5c09012SAndroid Build Coastguard Worker  Version version = 2;
397*d5c09012SAndroid Build Coastguard Worker
398*d5c09012SAndroid Build Coastguard Worker  // Standard field mask for the set of fields to be updated.
399*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 3;
400*d5c09012SAndroid Build Coastguard Worker}
401*d5c09012SAndroid Build Coastguard Worker
402*d5c09012SAndroid Build Coastguard Worker// Fields that should be returned when [Version][google.appengine.v1beta.Version] resources
403*d5c09012SAndroid Build Coastguard Worker// are retrieved.
404*d5c09012SAndroid Build Coastguard Workerenum VersionView {
405*d5c09012SAndroid Build Coastguard Worker  // Basic version information including scaling and inbound services,
406*d5c09012SAndroid Build Coastguard Worker  // but not detailed deployment information.
407*d5c09012SAndroid Build Coastguard Worker  BASIC = 0;
408*d5c09012SAndroid Build Coastguard Worker
409*d5c09012SAndroid Build Coastguard Worker  // The information from `BASIC`, plus detailed information about the
410*d5c09012SAndroid Build Coastguard Worker  // deployment. This format is required when creating resources, but
411*d5c09012SAndroid Build Coastguard Worker  // is not returned in `Get` or `List` by default.
412*d5c09012SAndroid Build Coastguard Worker  FULL = 1;
413*d5c09012SAndroid Build Coastguard Worker}
414*d5c09012SAndroid Build Coastguard Worker
415*d5c09012SAndroid Build Coastguard Worker// Request message for `Versions.DeleteVersion`.
416*d5c09012SAndroid Build Coastguard Workermessage DeleteVersionRequest {
417*d5c09012SAndroid Build Coastguard Worker  // Name of the resource requested. Example:
418*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/services/default/versions/v1`.
419*d5c09012SAndroid Build Coastguard Worker  string name = 1;
420*d5c09012SAndroid Build Coastguard Worker}
421*d5c09012SAndroid Build Coastguard Worker
422*d5c09012SAndroid Build Coastguard Worker// Request message for `Instances.ListInstances`.
423*d5c09012SAndroid Build Coastguard Workermessage ListInstancesRequest {
424*d5c09012SAndroid Build Coastguard Worker  // Name of the parent Version resource. Example:
425*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/services/default/versions/v1`.
426*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
427*d5c09012SAndroid Build Coastguard Worker
428*d5c09012SAndroid Build Coastguard Worker  // Maximum results to return per page.
429*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
430*d5c09012SAndroid Build Coastguard Worker
431*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
432*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
433*d5c09012SAndroid Build Coastguard Worker}
434*d5c09012SAndroid Build Coastguard Worker
435*d5c09012SAndroid Build Coastguard Worker// Response message for `Instances.ListInstances`.
436*d5c09012SAndroid Build Coastguard Workermessage ListInstancesResponse {
437*d5c09012SAndroid Build Coastguard Worker  // The instances belonging to the requested version.
438*d5c09012SAndroid Build Coastguard Worker  repeated Instance instances = 1;
439*d5c09012SAndroid Build Coastguard Worker
440*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
441*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
442*d5c09012SAndroid Build Coastguard Worker}
443*d5c09012SAndroid Build Coastguard Worker
444*d5c09012SAndroid Build Coastguard Worker// Request message for `Instances.GetInstance`.
445*d5c09012SAndroid Build Coastguard Workermessage GetInstanceRequest {
446*d5c09012SAndroid Build Coastguard Worker  // Name of the resource requested. Example:
447*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/services/default/versions/v1/instances/instance-1`.
448*d5c09012SAndroid Build Coastguard Worker  string name = 1;
449*d5c09012SAndroid Build Coastguard Worker}
450*d5c09012SAndroid Build Coastguard Worker
451*d5c09012SAndroid Build Coastguard Worker// Request message for `Instances.DeleteInstance`.
452*d5c09012SAndroid Build Coastguard Workermessage DeleteInstanceRequest {
453*d5c09012SAndroid Build Coastguard Worker  // Name of the resource requested. Example:
454*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/services/default/versions/v1/instances/instance-1`.
455*d5c09012SAndroid Build Coastguard Worker  string name = 1;
456*d5c09012SAndroid Build Coastguard Worker}
457*d5c09012SAndroid Build Coastguard Worker
458*d5c09012SAndroid Build Coastguard Worker// Request message for `Instances.DebugInstance`.
459*d5c09012SAndroid Build Coastguard Workermessage DebugInstanceRequest {
460*d5c09012SAndroid Build Coastguard Worker  // Name of the resource requested. Example:
461*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/services/default/versions/v1/instances/instance-1`.
462*d5c09012SAndroid Build Coastguard Worker  string name = 1;
463*d5c09012SAndroid Build Coastguard Worker
464*d5c09012SAndroid Build Coastguard Worker  // Public SSH key to add to the instance. Examples:
465*d5c09012SAndroid Build Coastguard Worker  //
466*d5c09012SAndroid Build Coastguard Worker  // * `[USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME]`
467*d5c09012SAndroid Build Coastguard Worker  // * `[USERNAME]:ssh-rsa [KEY_VALUE] google-ssh {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}`
468*d5c09012SAndroid Build Coastguard Worker  //
469*d5c09012SAndroid Build Coastguard Worker  // For more information, see
470*d5c09012SAndroid Build Coastguard Worker  // [Adding and Removing SSH Keys](https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys).
471*d5c09012SAndroid Build Coastguard Worker  string ssh_key = 2;
472*d5c09012SAndroid Build Coastguard Worker}
473*d5c09012SAndroid Build Coastguard Worker
474*d5c09012SAndroid Build Coastguard Worker// Request message for `Firewall.ListIngressRules`.
475*d5c09012SAndroid Build Coastguard Workermessage ListIngressRulesRequest {
476*d5c09012SAndroid Build Coastguard Worker  // Name of the Firewall collection to retrieve.
477*d5c09012SAndroid Build Coastguard Worker  // Example: `apps/myapp/firewall/ingressRules`.
478*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
479*d5c09012SAndroid Build Coastguard Worker
480*d5c09012SAndroid Build Coastguard Worker  // Maximum results to return per page.
481*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
482*d5c09012SAndroid Build Coastguard Worker
483*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
484*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
485*d5c09012SAndroid Build Coastguard Worker
486*d5c09012SAndroid Build Coastguard Worker  // A valid IP Address. If set, only rules matching this address will be
487*d5c09012SAndroid Build Coastguard Worker  // returned. The first returned rule will be the rule that fires on requests
488*d5c09012SAndroid Build Coastguard Worker  // from this IP.
489*d5c09012SAndroid Build Coastguard Worker  string matching_address = 4;
490*d5c09012SAndroid Build Coastguard Worker}
491*d5c09012SAndroid Build Coastguard Worker
492*d5c09012SAndroid Build Coastguard Worker// Manages instances of a version.
493*d5c09012SAndroid Build Coastguard Workerservice Instances {
494*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "appengine.googleapis.com";
495*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
496*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/appengine.admin,"
497*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform,"
498*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform.read-only";
499*d5c09012SAndroid Build Coastguard Worker
500*d5c09012SAndroid Build Coastguard Worker  // Lists the instances of a version.
501*d5c09012SAndroid Build Coastguard Worker  //
502*d5c09012SAndroid Build Coastguard Worker  // Tip: To aggregate details about instances over time, see the
503*d5c09012SAndroid Build Coastguard Worker  // [Stackdriver Monitoring API](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).
504*d5c09012SAndroid Build Coastguard Worker  rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) {
505*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
506*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{parent=apps/*/services/*/versions/*}/instances"
507*d5c09012SAndroid Build Coastguard Worker    };
508*d5c09012SAndroid Build Coastguard Worker  }
509*d5c09012SAndroid Build Coastguard Worker
510*d5c09012SAndroid Build Coastguard Worker  // Gets instance information.
511*d5c09012SAndroid Build Coastguard Worker  rpc GetInstance(GetInstanceRequest) returns (Instance) {
512*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
513*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{name=apps/*/services/*/versions/*/instances/*}"
514*d5c09012SAndroid Build Coastguard Worker    };
515*d5c09012SAndroid Build Coastguard Worker  }
516*d5c09012SAndroid Build Coastguard Worker
517*d5c09012SAndroid Build Coastguard Worker  // Stops a running instance.
518*d5c09012SAndroid Build Coastguard Worker  //
519*d5c09012SAndroid Build Coastguard Worker  // The instance might be automatically recreated based on the scaling settings
520*d5c09012SAndroid Build Coastguard Worker  // of the version. For more information, see "How Instances are Managed"
521*d5c09012SAndroid Build Coastguard Worker  // ([standard environment](https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) |
522*d5c09012SAndroid Build Coastguard Worker  // [flexible environment](https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)).
523*d5c09012SAndroid Build Coastguard Worker  //
524*d5c09012SAndroid Build Coastguard Worker  // To ensure that instances are not re-created and avoid getting billed, you
525*d5c09012SAndroid Build Coastguard Worker  // can stop all instances within the target version by changing the serving
526*d5c09012SAndroid Build Coastguard Worker  // status of the version to `STOPPED` with the
527*d5c09012SAndroid Build Coastguard Worker  // [`apps.services.versions.patch`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch)
528*d5c09012SAndroid Build Coastguard Worker  // method.
529*d5c09012SAndroid Build Coastguard Worker  rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) {
530*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
531*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta/{name=apps/*/services/*/versions/*/instances/*}"
532*d5c09012SAndroid Build Coastguard Worker    };
533*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
534*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
535*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadataV1Beta"
536*d5c09012SAndroid Build Coastguard Worker    };
537*d5c09012SAndroid Build Coastguard Worker  }
538*d5c09012SAndroid Build Coastguard Worker
539*d5c09012SAndroid Build Coastguard Worker  // Enables debugging on a VM instance. This allows you to use the SSH
540*d5c09012SAndroid Build Coastguard Worker  // command to connect to the virtual machine where the instance lives.
541*d5c09012SAndroid Build Coastguard Worker  // While in "debug mode", the instance continues to serve live traffic.
542*d5c09012SAndroid Build Coastguard Worker  // You should delete the instance when you are done debugging and then
543*d5c09012SAndroid Build Coastguard Worker  // allow the system to take over and determine if another instance
544*d5c09012SAndroid Build Coastguard Worker  // should be started.
545*d5c09012SAndroid Build Coastguard Worker  //
546*d5c09012SAndroid Build Coastguard Worker  // Only applicable for instances in App Engine flexible environment.
547*d5c09012SAndroid Build Coastguard Worker  rpc DebugInstance(DebugInstanceRequest) returns (google.longrunning.Operation) {
548*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
549*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta/{name=apps/*/services/*/versions/*/instances/*}:debug"
550*d5c09012SAndroid Build Coastguard Worker      body: "*"
551*d5c09012SAndroid Build Coastguard Worker    };
552*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
553*d5c09012SAndroid Build Coastguard Worker      response_type: "Instance"
554*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadataV1Beta"
555*d5c09012SAndroid Build Coastguard Worker    };
556*d5c09012SAndroid Build Coastguard Worker  }
557*d5c09012SAndroid Build Coastguard Worker}
558*d5c09012SAndroid Build Coastguard Worker
559*d5c09012SAndroid Build Coastguard Worker// Response message for `Firewall.ListIngressRules`.
560*d5c09012SAndroid Build Coastguard Workermessage ListIngressRulesResponse {
561*d5c09012SAndroid Build Coastguard Worker  // The ingress FirewallRules for this application.
562*d5c09012SAndroid Build Coastguard Worker  repeated FirewallRule ingress_rules = 1;
563*d5c09012SAndroid Build Coastguard Worker
564*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
565*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
566*d5c09012SAndroid Build Coastguard Worker}
567*d5c09012SAndroid Build Coastguard Worker
568*d5c09012SAndroid Build Coastguard Worker// Request message for `Firewall.BatchUpdateIngressRules`.
569*d5c09012SAndroid Build Coastguard Workermessage BatchUpdateIngressRulesRequest {
570*d5c09012SAndroid Build Coastguard Worker  // Name of the Firewall collection to set.
571*d5c09012SAndroid Build Coastguard Worker  // Example: `apps/myapp/firewall/ingressRules`.
572*d5c09012SAndroid Build Coastguard Worker  string name = 1;
573*d5c09012SAndroid Build Coastguard Worker
574*d5c09012SAndroid Build Coastguard Worker  // A list of FirewallRules to replace the existing set.
575*d5c09012SAndroid Build Coastguard Worker  repeated FirewallRule ingress_rules = 2;
576*d5c09012SAndroid Build Coastguard Worker}
577*d5c09012SAndroid Build Coastguard Worker
578*d5c09012SAndroid Build Coastguard Worker// Response message for `Firewall.UpdateAllIngressRules`.
579*d5c09012SAndroid Build Coastguard Workermessage BatchUpdateIngressRulesResponse {
580*d5c09012SAndroid Build Coastguard Worker  // The full list of ingress FirewallRules for this application.
581*d5c09012SAndroid Build Coastguard Worker  repeated FirewallRule ingress_rules = 1;
582*d5c09012SAndroid Build Coastguard Worker}
583*d5c09012SAndroid Build Coastguard Worker
584*d5c09012SAndroid Build Coastguard Worker// Request message for `Firewall.CreateIngressRule`.
585*d5c09012SAndroid Build Coastguard Workermessage CreateIngressRuleRequest {
586*d5c09012SAndroid Build Coastguard Worker  // Name of the parent Firewall collection in which to create a new rule.
587*d5c09012SAndroid Build Coastguard Worker  // Example: `apps/myapp/firewall/ingressRules`.
588*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
589*d5c09012SAndroid Build Coastguard Worker
590*d5c09012SAndroid Build Coastguard Worker  // A FirewallRule containing the new resource.
591*d5c09012SAndroid Build Coastguard Worker  //
592*d5c09012SAndroid Build Coastguard Worker  // The user may optionally provide a position at which the new rule will be
593*d5c09012SAndroid Build Coastguard Worker  // placed. The positions define a sequential list starting at 1. If a rule
594*d5c09012SAndroid Build Coastguard Worker  // already exists at the given position, rules greater than the provided
595*d5c09012SAndroid Build Coastguard Worker  // position will be moved forward by one.
596*d5c09012SAndroid Build Coastguard Worker  //
597*d5c09012SAndroid Build Coastguard Worker  // If no position is provided, the server will place the rule as the second to
598*d5c09012SAndroid Build Coastguard Worker  // last rule in the sequence before the required default allow-all or deny-all
599*d5c09012SAndroid Build Coastguard Worker  // rule.
600*d5c09012SAndroid Build Coastguard Worker  FirewallRule rule = 2;
601*d5c09012SAndroid Build Coastguard Worker}
602*d5c09012SAndroid Build Coastguard Worker
603*d5c09012SAndroid Build Coastguard Worker// Request message for `Firewall.GetIngressRule`.
604*d5c09012SAndroid Build Coastguard Workermessage GetIngressRuleRequest {
605*d5c09012SAndroid Build Coastguard Worker  // Name of the Firewall resource to retrieve.
606*d5c09012SAndroid Build Coastguard Worker  // Example: `apps/myapp/firewall/ingressRules/100`.
607*d5c09012SAndroid Build Coastguard Worker  string name = 1;
608*d5c09012SAndroid Build Coastguard Worker}
609*d5c09012SAndroid Build Coastguard Worker
610*d5c09012SAndroid Build Coastguard Worker// Request message for `Firewall.UpdateIngressRule`.
611*d5c09012SAndroid Build Coastguard Workermessage UpdateIngressRuleRequest {
612*d5c09012SAndroid Build Coastguard Worker  // Name of the Firewall resource to update.
613*d5c09012SAndroid Build Coastguard Worker  // Example: `apps/myapp/firewall/ingressRules/100`.
614*d5c09012SAndroid Build Coastguard Worker  string name = 1;
615*d5c09012SAndroid Build Coastguard Worker
616*d5c09012SAndroid Build Coastguard Worker  // A FirewallRule containing the updated resource
617*d5c09012SAndroid Build Coastguard Worker  FirewallRule rule = 2;
618*d5c09012SAndroid Build Coastguard Worker
619*d5c09012SAndroid Build Coastguard Worker  // Standard field mask for the set of fields to be updated.
620*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 3;
621*d5c09012SAndroid Build Coastguard Worker}
622*d5c09012SAndroid Build Coastguard Worker
623*d5c09012SAndroid Build Coastguard Worker// Request message for `Firewall.DeleteIngressRule`.
624*d5c09012SAndroid Build Coastguard Workermessage DeleteIngressRuleRequest {
625*d5c09012SAndroid Build Coastguard Worker  // Name of the Firewall resource to delete.
626*d5c09012SAndroid Build Coastguard Worker  // Example: `apps/myapp/firewall/ingressRules/100`.
627*d5c09012SAndroid Build Coastguard Worker  string name = 1;
628*d5c09012SAndroid Build Coastguard Worker}
629*d5c09012SAndroid Build Coastguard Worker
630*d5c09012SAndroid Build Coastguard Worker// Request message for `AuthorizedDomains.ListAuthorizedDomains`.
631*d5c09012SAndroid Build Coastguard Workermessage ListAuthorizedDomainsRequest {
632*d5c09012SAndroid Build Coastguard Worker  // Name of the parent Application resource. Example: `apps/myapp`.
633*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
634*d5c09012SAndroid Build Coastguard Worker
635*d5c09012SAndroid Build Coastguard Worker  // Maximum results to return per page.
636*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
637*d5c09012SAndroid Build Coastguard Worker
638*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
639*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
640*d5c09012SAndroid Build Coastguard Worker}
641*d5c09012SAndroid Build Coastguard Worker
642*d5c09012SAndroid Build Coastguard Worker// Response message for `AuthorizedDomains.ListAuthorizedDomains`.
643*d5c09012SAndroid Build Coastguard Workermessage ListAuthorizedDomainsResponse {
644*d5c09012SAndroid Build Coastguard Worker  // The authorized domains belonging to the user.
645*d5c09012SAndroid Build Coastguard Worker  repeated AuthorizedDomain domains = 1;
646*d5c09012SAndroid Build Coastguard Worker
647*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
648*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
649*d5c09012SAndroid Build Coastguard Worker}
650*d5c09012SAndroid Build Coastguard Worker
651*d5c09012SAndroid Build Coastguard Worker// Request message for `AuthorizedCertificates.ListAuthorizedCertificates`.
652*d5c09012SAndroid Build Coastguard Workermessage ListAuthorizedCertificatesRequest {
653*d5c09012SAndroid Build Coastguard Worker  // Name of the parent `Application` resource. Example: `apps/myapp`.
654*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
655*d5c09012SAndroid Build Coastguard Worker
656*d5c09012SAndroid Build Coastguard Worker  // Controls the set of fields returned in the `LIST` response.
657*d5c09012SAndroid Build Coastguard Worker  AuthorizedCertificateView view = 4;
658*d5c09012SAndroid Build Coastguard Worker
659*d5c09012SAndroid Build Coastguard Worker  // Maximum results to return per page.
660*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
661*d5c09012SAndroid Build Coastguard Worker
662*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
663*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
664*d5c09012SAndroid Build Coastguard Worker}
665*d5c09012SAndroid Build Coastguard Worker
666*d5c09012SAndroid Build Coastguard Worker// Response message for `AuthorizedCertificates.ListAuthorizedCertificates`.
667*d5c09012SAndroid Build Coastguard Workermessage ListAuthorizedCertificatesResponse {
668*d5c09012SAndroid Build Coastguard Worker  // The SSL certificates the user is authorized to administer.
669*d5c09012SAndroid Build Coastguard Worker  repeated AuthorizedCertificate certificates = 1;
670*d5c09012SAndroid Build Coastguard Worker
671*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
672*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
673*d5c09012SAndroid Build Coastguard Worker}
674*d5c09012SAndroid Build Coastguard Worker
675*d5c09012SAndroid Build Coastguard Worker// Firewall resources are used to define a collection of access control rules
676*d5c09012SAndroid Build Coastguard Worker// for an Application. Each rule is defined with a position which specifies
677*d5c09012SAndroid Build Coastguard Worker// the rule's order in the sequence of rules, an IP range to be matched against
678*d5c09012SAndroid Build Coastguard Worker// requests, and an action to take upon matching requests.
679*d5c09012SAndroid Build Coastguard Worker//
680*d5c09012SAndroid Build Coastguard Worker// Every request is evaluated against the Firewall rules in priority order.
681*d5c09012SAndroid Build Coastguard Worker// Processesing stops at the first rule which matches the request's IP address.
682*d5c09012SAndroid Build Coastguard Worker// A final rule always specifies an action that applies to all remaining
683*d5c09012SAndroid Build Coastguard Worker// IP addresses. The default final rule for a newly-created application will be
684*d5c09012SAndroid Build Coastguard Worker// set to "allow" if not otherwise specified by the user.
685*d5c09012SAndroid Build Coastguard Workerservice Firewall {
686*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "appengine.googleapis.com";
687*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
688*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/appengine.admin,"
689*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform,"
690*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform.read-only";
691*d5c09012SAndroid Build Coastguard Worker
692*d5c09012SAndroid Build Coastguard Worker  // Lists the firewall rules of an application.
693*d5c09012SAndroid Build Coastguard Worker  rpc ListIngressRules(ListIngressRulesRequest) returns (ListIngressRulesResponse) {
694*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
695*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{parent=apps/*}/firewall/ingressRules"
696*d5c09012SAndroid Build Coastguard Worker    };
697*d5c09012SAndroid Build Coastguard Worker  }
698*d5c09012SAndroid Build Coastguard Worker
699*d5c09012SAndroid Build Coastguard Worker  // Replaces the entire firewall ruleset in one bulk operation. This overrides
700*d5c09012SAndroid Build Coastguard Worker  // and replaces the rules of an existing firewall with the new rules.
701*d5c09012SAndroid Build Coastguard Worker  //
702*d5c09012SAndroid Build Coastguard Worker  // If the final rule does not match traffic with the '*' wildcard IP range,
703*d5c09012SAndroid Build Coastguard Worker  // then an "allow all" rule is explicitly added to the end of the list.
704*d5c09012SAndroid Build Coastguard Worker  rpc BatchUpdateIngressRules(BatchUpdateIngressRulesRequest) returns (BatchUpdateIngressRulesResponse) {
705*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
706*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta/{name=apps/*/firewall/ingressRules}:batchUpdate"
707*d5c09012SAndroid Build Coastguard Worker      body: "*"
708*d5c09012SAndroid Build Coastguard Worker    };
709*d5c09012SAndroid Build Coastguard Worker  }
710*d5c09012SAndroid Build Coastguard Worker
711*d5c09012SAndroid Build Coastguard Worker  // Creates a firewall rule for the application.
712*d5c09012SAndroid Build Coastguard Worker  rpc CreateIngressRule(CreateIngressRuleRequest) returns (FirewallRule) {
713*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
714*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta/{parent=apps/*}/firewall/ingressRules"
715*d5c09012SAndroid Build Coastguard Worker      body: "rule"
716*d5c09012SAndroid Build Coastguard Worker    };
717*d5c09012SAndroid Build Coastguard Worker  }
718*d5c09012SAndroid Build Coastguard Worker
719*d5c09012SAndroid Build Coastguard Worker  // Gets the specified firewall rule.
720*d5c09012SAndroid Build Coastguard Worker  rpc GetIngressRule(GetIngressRuleRequest) returns (FirewallRule) {
721*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
722*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{name=apps/*/firewall/ingressRules/*}"
723*d5c09012SAndroid Build Coastguard Worker    };
724*d5c09012SAndroid Build Coastguard Worker  }
725*d5c09012SAndroid Build Coastguard Worker
726*d5c09012SAndroid Build Coastguard Worker  // Updates the specified firewall rule.
727*d5c09012SAndroid Build Coastguard Worker  rpc UpdateIngressRule(UpdateIngressRuleRequest) returns (FirewallRule) {
728*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
729*d5c09012SAndroid Build Coastguard Worker      patch: "/v1beta/{name=apps/*/firewall/ingressRules/*}"
730*d5c09012SAndroid Build Coastguard Worker      body: "rule"
731*d5c09012SAndroid Build Coastguard Worker    };
732*d5c09012SAndroid Build Coastguard Worker  }
733*d5c09012SAndroid Build Coastguard Worker
734*d5c09012SAndroid Build Coastguard Worker  // Deletes the specified firewall rule.
735*d5c09012SAndroid Build Coastguard Worker  rpc DeleteIngressRule(DeleteIngressRuleRequest) returns (google.protobuf.Empty) {
736*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
737*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta/{name=apps/*/firewall/ingressRules/*}"
738*d5c09012SAndroid Build Coastguard Worker    };
739*d5c09012SAndroid Build Coastguard Worker  }
740*d5c09012SAndroid Build Coastguard Worker}
741*d5c09012SAndroid Build Coastguard Worker
742*d5c09012SAndroid Build Coastguard Worker// Request message for `AuthorizedCertificates.GetAuthorizedCertificate`.
743*d5c09012SAndroid Build Coastguard Workermessage GetAuthorizedCertificateRequest {
744*d5c09012SAndroid Build Coastguard Worker  // Name of the resource requested. Example:
745*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/authorizedCertificates/12345`.
746*d5c09012SAndroid Build Coastguard Worker  string name = 1;
747*d5c09012SAndroid Build Coastguard Worker
748*d5c09012SAndroid Build Coastguard Worker  // Controls the set of fields returned in the `GET` response.
749*d5c09012SAndroid Build Coastguard Worker  AuthorizedCertificateView view = 2;
750*d5c09012SAndroid Build Coastguard Worker}
751*d5c09012SAndroid Build Coastguard Worker
752*d5c09012SAndroid Build Coastguard Worker// Request message for `AuthorizedCertificates.CreateAuthorizedCertificate`.
753*d5c09012SAndroid Build Coastguard Workermessage CreateAuthorizedCertificateRequest {
754*d5c09012SAndroid Build Coastguard Worker  // Name of the parent `Application` resource. Example: `apps/myapp`.
755*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
756*d5c09012SAndroid Build Coastguard Worker
757*d5c09012SAndroid Build Coastguard Worker  // SSL certificate data.
758*d5c09012SAndroid Build Coastguard Worker  AuthorizedCertificate certificate = 2;
759*d5c09012SAndroid Build Coastguard Worker}
760*d5c09012SAndroid Build Coastguard Worker
761*d5c09012SAndroid Build Coastguard Worker// Request message for `AuthorizedCertificates.UpdateAuthorizedCertificate`.
762*d5c09012SAndroid Build Coastguard Workermessage UpdateAuthorizedCertificateRequest {
763*d5c09012SAndroid Build Coastguard Worker  // Name of the resource to update. Example:
764*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/authorizedCertificates/12345`.
765*d5c09012SAndroid Build Coastguard Worker  string name = 1;
766*d5c09012SAndroid Build Coastguard Worker
767*d5c09012SAndroid Build Coastguard Worker  // An `AuthorizedCertificate` containing the updated resource. Only fields set
768*d5c09012SAndroid Build Coastguard Worker  // in the field mask will be updated.
769*d5c09012SAndroid Build Coastguard Worker  AuthorizedCertificate certificate = 2;
770*d5c09012SAndroid Build Coastguard Worker
771*d5c09012SAndroid Build Coastguard Worker  // Standard field mask for the set of fields to be updated. Updates are only
772*d5c09012SAndroid Build Coastguard Worker  // supported on the `certificate_raw_data` and `display_name` fields.
773*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 3;
774*d5c09012SAndroid Build Coastguard Worker}
775*d5c09012SAndroid Build Coastguard Worker
776*d5c09012SAndroid Build Coastguard Worker// Request message for `AuthorizedCertificates.DeleteAuthorizedCertificate`.
777*d5c09012SAndroid Build Coastguard Workermessage DeleteAuthorizedCertificateRequest {
778*d5c09012SAndroid Build Coastguard Worker  // Name of the resource to delete. Example:
779*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/authorizedCertificates/12345`.
780*d5c09012SAndroid Build Coastguard Worker  string name = 1;
781*d5c09012SAndroid Build Coastguard Worker}
782*d5c09012SAndroid Build Coastguard Worker
783*d5c09012SAndroid Build Coastguard Worker// Request message for `DomainMappings.ListDomainMappings`.
784*d5c09012SAndroid Build Coastguard Workermessage ListDomainMappingsRequest {
785*d5c09012SAndroid Build Coastguard Worker  // Name of the parent Application resource. Example: `apps/myapp`.
786*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
787*d5c09012SAndroid Build Coastguard Worker
788*d5c09012SAndroid Build Coastguard Worker  // Maximum results to return per page.
789*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
790*d5c09012SAndroid Build Coastguard Worker
791*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
792*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
793*d5c09012SAndroid Build Coastguard Worker}
794*d5c09012SAndroid Build Coastguard Worker
795*d5c09012SAndroid Build Coastguard Worker// Response message for `DomainMappings.ListDomainMappings`.
796*d5c09012SAndroid Build Coastguard Workermessage ListDomainMappingsResponse {
797*d5c09012SAndroid Build Coastguard Worker  // The domain mappings for the application.
798*d5c09012SAndroid Build Coastguard Worker  repeated DomainMapping domain_mappings = 1;
799*d5c09012SAndroid Build Coastguard Worker
800*d5c09012SAndroid Build Coastguard Worker  // Continuation token for fetching the next page of results.
801*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
802*d5c09012SAndroid Build Coastguard Worker}
803*d5c09012SAndroid Build Coastguard Worker
804*d5c09012SAndroid Build Coastguard Worker// Request message for `DomainMappings.GetDomainMapping`.
805*d5c09012SAndroid Build Coastguard Workermessage GetDomainMappingRequest {
806*d5c09012SAndroid Build Coastguard Worker  // Name of the resource requested. Example:
807*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/domainMappings/example.com`.
808*d5c09012SAndroid Build Coastguard Worker  string name = 1;
809*d5c09012SAndroid Build Coastguard Worker}
810*d5c09012SAndroid Build Coastguard Worker
811*d5c09012SAndroid Build Coastguard Worker// Request message for `DomainMappings.CreateDomainMapping`.
812*d5c09012SAndroid Build Coastguard Workermessage CreateDomainMappingRequest {
813*d5c09012SAndroid Build Coastguard Worker  // Name of the parent Application resource. Example: `apps/myapp`.
814*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
815*d5c09012SAndroid Build Coastguard Worker
816*d5c09012SAndroid Build Coastguard Worker  // Domain mapping configuration.
817*d5c09012SAndroid Build Coastguard Worker  DomainMapping domain_mapping = 2;
818*d5c09012SAndroid Build Coastguard Worker
819*d5c09012SAndroid Build Coastguard Worker  // Whether the domain creation should override any existing mappings for this
820*d5c09012SAndroid Build Coastguard Worker  // domain. By default, overrides are rejected.
821*d5c09012SAndroid Build Coastguard Worker  DomainOverrideStrategy override_strategy = 4;
822*d5c09012SAndroid Build Coastguard Worker}
823*d5c09012SAndroid Build Coastguard Worker
824*d5c09012SAndroid Build Coastguard Worker// Manages domains a user is authorized to administer. To authorize use of a
825*d5c09012SAndroid Build Coastguard Worker// domain, verify ownership via
826*d5c09012SAndroid Build Coastguard Worker// [Webmaster Central](https://www.google.com/webmasters/verification/home).
827*d5c09012SAndroid Build Coastguard Workerservice AuthorizedDomains {
828*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "appengine.googleapis.com";
829*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
830*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/appengine.admin,"
831*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform,"
832*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform.read-only";
833*d5c09012SAndroid Build Coastguard Worker
834*d5c09012SAndroid Build Coastguard Worker  // Lists all domains the user is authorized to administer.
835*d5c09012SAndroid Build Coastguard Worker  rpc ListAuthorizedDomains(ListAuthorizedDomainsRequest) returns (ListAuthorizedDomainsResponse) {
836*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
837*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{parent=apps/*}/authorizedDomains"
838*d5c09012SAndroid Build Coastguard Worker    };
839*d5c09012SAndroid Build Coastguard Worker  }
840*d5c09012SAndroid Build Coastguard Worker}
841*d5c09012SAndroid Build Coastguard Worker
842*d5c09012SAndroid Build Coastguard Worker// Request message for `DomainMappings.UpdateDomainMapping`.
843*d5c09012SAndroid Build Coastguard Workermessage UpdateDomainMappingRequest {
844*d5c09012SAndroid Build Coastguard Worker  // Name of the resource to update. Example:
845*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/domainMappings/example.com`.
846*d5c09012SAndroid Build Coastguard Worker  string name = 1;
847*d5c09012SAndroid Build Coastguard Worker
848*d5c09012SAndroid Build Coastguard Worker  // A domain mapping containing the updated resource. Only fields set
849*d5c09012SAndroid Build Coastguard Worker  // in the field mask will be updated.
850*d5c09012SAndroid Build Coastguard Worker  DomainMapping domain_mapping = 2;
851*d5c09012SAndroid Build Coastguard Worker
852*d5c09012SAndroid Build Coastguard Worker  // Standard field mask for the set of fields to be updated.
853*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 3;
854*d5c09012SAndroid Build Coastguard Worker}
855*d5c09012SAndroid Build Coastguard Worker
856*d5c09012SAndroid Build Coastguard Worker// Request message for `DomainMappings.DeleteDomainMapping`.
857*d5c09012SAndroid Build Coastguard Workermessage DeleteDomainMappingRequest {
858*d5c09012SAndroid Build Coastguard Worker  // Name of the resource to delete. Example:
859*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/domainMappings/example.com`.
860*d5c09012SAndroid Build Coastguard Worker  string name = 1;
861*d5c09012SAndroid Build Coastguard Worker}
862*d5c09012SAndroid Build Coastguard Worker
863*d5c09012SAndroid Build Coastguard Worker// Manages SSL certificates a user is authorized to administer. A user can
864*d5c09012SAndroid Build Coastguard Worker// administer any SSL certificates applicable to their authorized domains.
865*d5c09012SAndroid Build Coastguard Workerservice AuthorizedCertificates {
866*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "appengine.googleapis.com";
867*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
868*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/appengine.admin,"
869*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform,"
870*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform.read-only";
871*d5c09012SAndroid Build Coastguard Worker
872*d5c09012SAndroid Build Coastguard Worker  // Lists all SSL certificates the user is authorized to administer.
873*d5c09012SAndroid Build Coastguard Worker  rpc ListAuthorizedCertificates(ListAuthorizedCertificatesRequest) returns (ListAuthorizedCertificatesResponse) {
874*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
875*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{parent=apps/*}/authorizedCertificates"
876*d5c09012SAndroid Build Coastguard Worker    };
877*d5c09012SAndroid Build Coastguard Worker  }
878*d5c09012SAndroid Build Coastguard Worker
879*d5c09012SAndroid Build Coastguard Worker  // Gets the specified SSL certificate.
880*d5c09012SAndroid Build Coastguard Worker  rpc GetAuthorizedCertificate(GetAuthorizedCertificateRequest) returns (AuthorizedCertificate) {
881*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
882*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{name=apps/*/authorizedCertificates/*}"
883*d5c09012SAndroid Build Coastguard Worker    };
884*d5c09012SAndroid Build Coastguard Worker  }
885*d5c09012SAndroid Build Coastguard Worker
886*d5c09012SAndroid Build Coastguard Worker  // Uploads the specified SSL certificate.
887*d5c09012SAndroid Build Coastguard Worker  rpc CreateAuthorizedCertificate(CreateAuthorizedCertificateRequest) returns (AuthorizedCertificate) {
888*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
889*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta/{parent=apps/*}/authorizedCertificates"
890*d5c09012SAndroid Build Coastguard Worker      body: "certificate"
891*d5c09012SAndroid Build Coastguard Worker    };
892*d5c09012SAndroid Build Coastguard Worker  }
893*d5c09012SAndroid Build Coastguard Worker
894*d5c09012SAndroid Build Coastguard Worker  // Updates the specified SSL certificate. To renew a certificate and maintain
895*d5c09012SAndroid Build Coastguard Worker  // its existing domain mappings, update `certificate_data` with a new
896*d5c09012SAndroid Build Coastguard Worker  // certificate. The new certificate must be applicable to the same domains as
897*d5c09012SAndroid Build Coastguard Worker  // the original certificate. The certificate `display_name` may also be
898*d5c09012SAndroid Build Coastguard Worker  // updated.
899*d5c09012SAndroid Build Coastguard Worker  rpc UpdateAuthorizedCertificate(UpdateAuthorizedCertificateRequest) returns (AuthorizedCertificate) {
900*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
901*d5c09012SAndroid Build Coastguard Worker      patch: "/v1beta/{name=apps/*/authorizedCertificates/*}"
902*d5c09012SAndroid Build Coastguard Worker      body: "certificate"
903*d5c09012SAndroid Build Coastguard Worker    };
904*d5c09012SAndroid Build Coastguard Worker  }
905*d5c09012SAndroid Build Coastguard Worker
906*d5c09012SAndroid Build Coastguard Worker  // Deletes the specified SSL certificate.
907*d5c09012SAndroid Build Coastguard Worker  rpc DeleteAuthorizedCertificate(DeleteAuthorizedCertificateRequest) returns (google.protobuf.Empty) {
908*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
909*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta/{name=apps/*/authorizedCertificates/*}"
910*d5c09012SAndroid Build Coastguard Worker    };
911*d5c09012SAndroid Build Coastguard Worker  }
912*d5c09012SAndroid Build Coastguard Worker}
913*d5c09012SAndroid Build Coastguard Worker
914*d5c09012SAndroid Build Coastguard Worker// Fields that should be returned when an AuthorizedCertificate resource is
915*d5c09012SAndroid Build Coastguard Worker// retrieved.
916*d5c09012SAndroid Build Coastguard Workerenum AuthorizedCertificateView {
917*d5c09012SAndroid Build Coastguard Worker  // Basic certificate information, including applicable domains and expiration
918*d5c09012SAndroid Build Coastguard Worker  // date.
919*d5c09012SAndroid Build Coastguard Worker  BASIC_CERTIFICATE = 0;
920*d5c09012SAndroid Build Coastguard Worker
921*d5c09012SAndroid Build Coastguard Worker  // The information from `BASIC_CERTIFICATE`, plus detailed information on the
922*d5c09012SAndroid Build Coastguard Worker  // domain mappings that have this certificate mapped.
923*d5c09012SAndroid Build Coastguard Worker  FULL_CERTIFICATE = 1;
924*d5c09012SAndroid Build Coastguard Worker}
925*d5c09012SAndroid Build Coastguard Worker
926*d5c09012SAndroid Build Coastguard Worker// Override strategy for mutating an existing mapping.
927*d5c09012SAndroid Build Coastguard Workerenum DomainOverrideStrategy {
928*d5c09012SAndroid Build Coastguard Worker  // Strategy unspecified. Defaults to `STRICT`.
929*d5c09012SAndroid Build Coastguard Worker  UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY = 0;
930*d5c09012SAndroid Build Coastguard Worker
931*d5c09012SAndroid Build Coastguard Worker  // Overrides not allowed. If a mapping already exists for the
932*d5c09012SAndroid Build Coastguard Worker  // specified domain, the request will return an ALREADY_EXISTS (409).
933*d5c09012SAndroid Build Coastguard Worker  STRICT = 1;
934*d5c09012SAndroid Build Coastguard Worker
935*d5c09012SAndroid Build Coastguard Worker  // Overrides allowed. If a mapping already exists for the specified domain,
936*d5c09012SAndroid Build Coastguard Worker  // the request will overwrite it. Note that this might stop another
937*d5c09012SAndroid Build Coastguard Worker  // Google product from serving. For example, if the domain is
938*d5c09012SAndroid Build Coastguard Worker  // mapped to another App Engine application, that app will no
939*d5c09012SAndroid Build Coastguard Worker  // longer serve from that domain.
940*d5c09012SAndroid Build Coastguard Worker  OVERRIDE = 2;
941*d5c09012SAndroid Build Coastguard Worker}
942*d5c09012SAndroid Build Coastguard Worker
943*d5c09012SAndroid Build Coastguard Worker// Manages domains serving an application.
944*d5c09012SAndroid Build Coastguard Workerservice DomainMappings {
945*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "appengine.googleapis.com";
946*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
947*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/appengine.admin,"
948*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform,"
949*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform.read-only";
950*d5c09012SAndroid Build Coastguard Worker
951*d5c09012SAndroid Build Coastguard Worker  // Lists the domain mappings on an application.
952*d5c09012SAndroid Build Coastguard Worker  rpc ListDomainMappings(ListDomainMappingsRequest) returns (ListDomainMappingsResponse) {
953*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
954*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{parent=apps/*}/domainMappings"
955*d5c09012SAndroid Build Coastguard Worker    };
956*d5c09012SAndroid Build Coastguard Worker  }
957*d5c09012SAndroid Build Coastguard Worker
958*d5c09012SAndroid Build Coastguard Worker  // Gets the specified domain mapping.
959*d5c09012SAndroid Build Coastguard Worker  rpc GetDomainMapping(GetDomainMappingRequest) returns (DomainMapping) {
960*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
961*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta/{name=apps/*/domainMappings/*}"
962*d5c09012SAndroid Build Coastguard Worker    };
963*d5c09012SAndroid Build Coastguard Worker  }
964*d5c09012SAndroid Build Coastguard Worker
965*d5c09012SAndroid Build Coastguard Worker  // Maps a domain to an application. A user must be authorized to administer a
966*d5c09012SAndroid Build Coastguard Worker  // domain in order to map it to an application. For a list of available
967*d5c09012SAndroid Build Coastguard Worker  // authorized domains, see [`AuthorizedDomains.ListAuthorizedDomains`]().
968*d5c09012SAndroid Build Coastguard Worker  rpc CreateDomainMapping(CreateDomainMappingRequest) returns (google.longrunning.Operation) {
969*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
970*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta/{parent=apps/*}/domainMappings"
971*d5c09012SAndroid Build Coastguard Worker      body: "domain_mapping"
972*d5c09012SAndroid Build Coastguard Worker    };
973*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
974*d5c09012SAndroid Build Coastguard Worker      response_type: "DomainMapping"
975*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadataV1Beta"
976*d5c09012SAndroid Build Coastguard Worker    };
977*d5c09012SAndroid Build Coastguard Worker  }
978*d5c09012SAndroid Build Coastguard Worker
979*d5c09012SAndroid Build Coastguard Worker  // Updates the specified domain mapping. To map an SSL certificate to a
980*d5c09012SAndroid Build Coastguard Worker  // domain mapping, update `certificate_id` to point to an `AuthorizedCertificate`
981*d5c09012SAndroid Build Coastguard Worker  // resource. A user must be authorized to administer the associated domain
982*d5c09012SAndroid Build Coastguard Worker  // in order to update a `DomainMapping` resource.
983*d5c09012SAndroid Build Coastguard Worker  rpc UpdateDomainMapping(UpdateDomainMappingRequest) returns (google.longrunning.Operation) {
984*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
985*d5c09012SAndroid Build Coastguard Worker      patch: "/v1beta/{name=apps/*/domainMappings/*}"
986*d5c09012SAndroid Build Coastguard Worker      body: "domain_mapping"
987*d5c09012SAndroid Build Coastguard Worker    };
988*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
989*d5c09012SAndroid Build Coastguard Worker      response_type: "DomainMapping"
990*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadataV1Beta"
991*d5c09012SAndroid Build Coastguard Worker    };
992*d5c09012SAndroid Build Coastguard Worker  }
993*d5c09012SAndroid Build Coastguard Worker
994*d5c09012SAndroid Build Coastguard Worker  // Deletes the specified domain mapping. A user must be authorized to
995*d5c09012SAndroid Build Coastguard Worker  // administer the associated domain in order to delete a `DomainMapping`
996*d5c09012SAndroid Build Coastguard Worker  // resource.
997*d5c09012SAndroid Build Coastguard Worker  rpc DeleteDomainMapping(DeleteDomainMappingRequest) returns (google.longrunning.Operation) {
998*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
999*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta/{name=apps/*/domainMappings/*}"
1000*d5c09012SAndroid Build Coastguard Worker    };
1001*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
1002*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
1003*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadataV1Beta"
1004*d5c09012SAndroid Build Coastguard Worker    };
1005*d5c09012SAndroid Build Coastguard Worker  }
1006*d5c09012SAndroid Build Coastguard Worker}
1007