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