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/protobuf/duration.proto"; 20*d5c09012SAndroid Build Coastguard Worker 21*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; 22*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; 23*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 24*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ApplicationProto"; 25*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.appengine.v1beta"; 26*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; 27*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::AppEngine::V1beta"; 28*d5c09012SAndroid Build Coastguard Worker 29*d5c09012SAndroid Build Coastguard Worker// An Application resource contains the top-level configuration of an App 30*d5c09012SAndroid Build Coastguard Worker// Engine application. 31*d5c09012SAndroid Build Coastguard Workermessage Application { 32*d5c09012SAndroid Build Coastguard Worker // Identity-Aware Proxy 33*d5c09012SAndroid Build Coastguard Worker message IdentityAwareProxy { 34*d5c09012SAndroid Build Coastguard Worker // Whether the serving infrastructure will authenticate and 35*d5c09012SAndroid Build Coastguard Worker // authorize all incoming requests. 36*d5c09012SAndroid Build Coastguard Worker // 37*d5c09012SAndroid Build Coastguard Worker // If true, the `oauth2_client_id` and `oauth2_client_secret` 38*d5c09012SAndroid Build Coastguard Worker // fields must be non-empty. 39*d5c09012SAndroid Build Coastguard Worker bool enabled = 1; 40*d5c09012SAndroid Build Coastguard Worker 41*d5c09012SAndroid Build Coastguard Worker // OAuth2 client ID to use for the authentication flow. 42*d5c09012SAndroid Build Coastguard Worker string oauth2_client_id = 2; 43*d5c09012SAndroid Build Coastguard Worker 44*d5c09012SAndroid Build Coastguard Worker // OAuth2 client secret to use for the authentication flow. 45*d5c09012SAndroid Build Coastguard Worker // 46*d5c09012SAndroid Build Coastguard Worker // For security reasons, this value cannot be retrieved via the API. 47*d5c09012SAndroid Build Coastguard Worker // Instead, the SHA-256 hash of the value is returned in the 48*d5c09012SAndroid Build Coastguard Worker // `oauth2_client_secret_sha256` field. 49*d5c09012SAndroid Build Coastguard Worker // 50*d5c09012SAndroid Build Coastguard Worker // @InputOnly 51*d5c09012SAndroid Build Coastguard Worker string oauth2_client_secret = 3; 52*d5c09012SAndroid Build Coastguard Worker 53*d5c09012SAndroid Build Coastguard Worker // Hex-encoded SHA-256 hash of the client secret. 54*d5c09012SAndroid Build Coastguard Worker // 55*d5c09012SAndroid Build Coastguard Worker // @OutputOnly 56*d5c09012SAndroid Build Coastguard Worker string oauth2_client_secret_sha256 = 4; 57*d5c09012SAndroid Build Coastguard Worker } 58*d5c09012SAndroid Build Coastguard Worker 59*d5c09012SAndroid Build Coastguard Worker // The feature specific settings to be used in the application. These define 60*d5c09012SAndroid Build Coastguard Worker // behaviors that are user configurable. 61*d5c09012SAndroid Build Coastguard Worker message FeatureSettings { 62*d5c09012SAndroid Build Coastguard Worker // Boolean value indicating if split health checks should be used instead 63*d5c09012SAndroid Build Coastguard Worker // of the legacy health checks. At an app.yaml level, this means defaulting 64*d5c09012SAndroid Build Coastguard Worker // to 'readiness_check' and 'liveness_check' values instead of 65*d5c09012SAndroid Build Coastguard Worker // 'health_check' ones. Once the legacy 'health_check' behavior is 66*d5c09012SAndroid Build Coastguard Worker // deprecated, and this value is always true, this setting can 67*d5c09012SAndroid Build Coastguard Worker // be removed. 68*d5c09012SAndroid Build Coastguard Worker bool split_health_checks = 1; 69*d5c09012SAndroid Build Coastguard Worker 70*d5c09012SAndroid Build Coastguard Worker // If true, use [Container-Optimized OS](https://cloud.google.com/container-optimized-os/) 71*d5c09012SAndroid Build Coastguard Worker // base image for VMs, rather than a base Debian image. 72*d5c09012SAndroid Build Coastguard Worker bool use_container_optimized_os = 2; 73*d5c09012SAndroid Build Coastguard Worker } 74*d5c09012SAndroid Build Coastguard Worker 75*d5c09012SAndroid Build Coastguard Worker enum ServingStatus { 76*d5c09012SAndroid Build Coastguard Worker // Serving status is unspecified. 77*d5c09012SAndroid Build Coastguard Worker UNSPECIFIED = 0; 78*d5c09012SAndroid Build Coastguard Worker 79*d5c09012SAndroid Build Coastguard Worker // Application is serving. 80*d5c09012SAndroid Build Coastguard Worker SERVING = 1; 81*d5c09012SAndroid Build Coastguard Worker 82*d5c09012SAndroid Build Coastguard Worker // Application has been disabled by the user. 83*d5c09012SAndroid Build Coastguard Worker USER_DISABLED = 2; 84*d5c09012SAndroid Build Coastguard Worker 85*d5c09012SAndroid Build Coastguard Worker // Application has been disabled by the system. 86*d5c09012SAndroid Build Coastguard Worker SYSTEM_DISABLED = 3; 87*d5c09012SAndroid Build Coastguard Worker } 88*d5c09012SAndroid Build Coastguard Worker 89*d5c09012SAndroid Build Coastguard Worker enum DatabaseType { 90*d5c09012SAndroid Build Coastguard Worker // Database type is unspecified. 91*d5c09012SAndroid Build Coastguard Worker DATABASE_TYPE_UNSPECIFIED = 0; 92*d5c09012SAndroid Build Coastguard Worker 93*d5c09012SAndroid Build Coastguard Worker // Cloud Datastore 94*d5c09012SAndroid Build Coastguard Worker CLOUD_DATASTORE = 1; 95*d5c09012SAndroid Build Coastguard Worker 96*d5c09012SAndroid Build Coastguard Worker // Cloud Firestore Native 97*d5c09012SAndroid Build Coastguard Worker CLOUD_FIRESTORE = 2; 98*d5c09012SAndroid Build Coastguard Worker 99*d5c09012SAndroid Build Coastguard Worker // Cloud Firestore in Datastore Mode 100*d5c09012SAndroid Build Coastguard Worker CLOUD_DATASTORE_COMPATIBILITY = 3; 101*d5c09012SAndroid Build Coastguard Worker } 102*d5c09012SAndroid Build Coastguard Worker 103*d5c09012SAndroid Build Coastguard Worker // Full path to the Application resource in the API. 104*d5c09012SAndroid Build Coastguard Worker // Example: `apps/myapp`. 105*d5c09012SAndroid Build Coastguard Worker // 106*d5c09012SAndroid Build Coastguard Worker // @OutputOnly 107*d5c09012SAndroid Build Coastguard Worker string name = 1; 108*d5c09012SAndroid Build Coastguard Worker 109*d5c09012SAndroid Build Coastguard Worker // Identifier of the Application resource. This identifier is equivalent 110*d5c09012SAndroid Build Coastguard Worker // to the project ID of the Google Cloud Platform project where you want to 111*d5c09012SAndroid Build Coastguard Worker // deploy your application. 112*d5c09012SAndroid Build Coastguard Worker // Example: `myapp`. 113*d5c09012SAndroid Build Coastguard Worker string id = 2; 114*d5c09012SAndroid Build Coastguard Worker 115*d5c09012SAndroid Build Coastguard Worker // HTTP path dispatch rules for requests to the application that do not 116*d5c09012SAndroid Build Coastguard Worker // explicitly target a service or version. Rules are order-dependent. 117*d5c09012SAndroid Build Coastguard Worker // Up to 20 dispatch rules can be supported. 118*d5c09012SAndroid Build Coastguard Worker repeated UrlDispatchRule dispatch_rules = 3; 119*d5c09012SAndroid Build Coastguard Worker 120*d5c09012SAndroid Build Coastguard Worker // Google Apps authentication domain that controls which users can access 121*d5c09012SAndroid Build Coastguard Worker // this application. 122*d5c09012SAndroid Build Coastguard Worker // 123*d5c09012SAndroid Build Coastguard Worker // Defaults to open access for any Google Account. 124*d5c09012SAndroid Build Coastguard Worker string auth_domain = 6; 125*d5c09012SAndroid Build Coastguard Worker 126*d5c09012SAndroid Build Coastguard Worker // Location from which this application runs. Application instances 127*d5c09012SAndroid Build Coastguard Worker // run out of the data centers in the specified location, which is also where 128*d5c09012SAndroid Build Coastguard Worker // all of the application's end user content is stored. 129*d5c09012SAndroid Build Coastguard Worker // 130*d5c09012SAndroid Build Coastguard Worker // Defaults to `us-central`. 131*d5c09012SAndroid Build Coastguard Worker // 132*d5c09012SAndroid Build Coastguard Worker // View the list of 133*d5c09012SAndroid Build Coastguard Worker // [supported locations](https://cloud.google.com/appengine/docs/locations). 134*d5c09012SAndroid Build Coastguard Worker string location_id = 7; 135*d5c09012SAndroid Build Coastguard Worker 136*d5c09012SAndroid Build Coastguard Worker // Google Cloud Storage bucket that can be used for storing files 137*d5c09012SAndroid Build Coastguard Worker // associated with this application. This bucket is associated with the 138*d5c09012SAndroid Build Coastguard Worker // application and can be used by the gcloud deployment commands. 139*d5c09012SAndroid Build Coastguard Worker // 140*d5c09012SAndroid Build Coastguard Worker // @OutputOnly 141*d5c09012SAndroid Build Coastguard Worker string code_bucket = 8; 142*d5c09012SAndroid Build Coastguard Worker 143*d5c09012SAndroid Build Coastguard Worker // Cookie expiration policy for this application. 144*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration default_cookie_expiration = 9; 145*d5c09012SAndroid Build Coastguard Worker 146*d5c09012SAndroid Build Coastguard Worker // Serving status of this application. 147*d5c09012SAndroid Build Coastguard Worker ServingStatus serving_status = 10; 148*d5c09012SAndroid Build Coastguard Worker 149*d5c09012SAndroid Build Coastguard Worker // Hostname used to reach this application, as resolved by App Engine. 150*d5c09012SAndroid Build Coastguard Worker // 151*d5c09012SAndroid Build Coastguard Worker // @OutputOnly 152*d5c09012SAndroid Build Coastguard Worker string default_hostname = 11; 153*d5c09012SAndroid Build Coastguard Worker 154*d5c09012SAndroid Build Coastguard Worker // Google Cloud Storage bucket that can be used by this application to store 155*d5c09012SAndroid Build Coastguard Worker // content. 156*d5c09012SAndroid Build Coastguard Worker // 157*d5c09012SAndroid Build Coastguard Worker // @OutputOnly 158*d5c09012SAndroid Build Coastguard Worker string default_bucket = 12; 159*d5c09012SAndroid Build Coastguard Worker 160*d5c09012SAndroid Build Coastguard Worker IdentityAwareProxy iap = 14; 161*d5c09012SAndroid Build Coastguard Worker 162*d5c09012SAndroid Build Coastguard Worker // The Google Container Registry domain used for storing managed build docker 163*d5c09012SAndroid Build Coastguard Worker // images for this application. 164*d5c09012SAndroid Build Coastguard Worker string gcr_domain = 16; 165*d5c09012SAndroid Build Coastguard Worker 166*d5c09012SAndroid Build Coastguard Worker // The type of the Cloud Firestore or Cloud Datastore database associated with 167*d5c09012SAndroid Build Coastguard Worker // this application. 168*d5c09012SAndroid Build Coastguard Worker DatabaseType database_type = 17; 169*d5c09012SAndroid Build Coastguard Worker 170*d5c09012SAndroid Build Coastguard Worker // The feature specific settings to be used in the application. 171*d5c09012SAndroid Build Coastguard Worker FeatureSettings feature_settings = 18; 172*d5c09012SAndroid Build Coastguard Worker} 173*d5c09012SAndroid Build Coastguard Worker 174*d5c09012SAndroid Build Coastguard Worker// Rules to match an HTTP request and dispatch that request to a service. 175*d5c09012SAndroid Build Coastguard Workermessage UrlDispatchRule { 176*d5c09012SAndroid Build Coastguard Worker // Domain name to match against. The wildcard "`*`" is supported if 177*d5c09012SAndroid Build Coastguard Worker // specified before a period: "`*.`". 178*d5c09012SAndroid Build Coastguard Worker // 179*d5c09012SAndroid Build Coastguard Worker // Defaults to matching all domains: "`*`". 180*d5c09012SAndroid Build Coastguard Worker string domain = 1; 181*d5c09012SAndroid Build Coastguard Worker 182*d5c09012SAndroid Build Coastguard Worker // Pathname within the host. Must start with a "`/`". A 183*d5c09012SAndroid Build Coastguard Worker // single "`*`" can be included at the end of the path. 184*d5c09012SAndroid Build Coastguard Worker // 185*d5c09012SAndroid Build Coastguard Worker // The sum of the lengths of the domain and path may not 186*d5c09012SAndroid Build Coastguard Worker // exceed 100 characters. 187*d5c09012SAndroid Build Coastguard Worker string path = 2; 188*d5c09012SAndroid Build Coastguard Worker 189*d5c09012SAndroid Build Coastguard Worker // Resource ID of a service in this application that should 190*d5c09012SAndroid Build Coastguard Worker // serve the matched request. The service must already 191*d5c09012SAndroid Build Coastguard Worker // exist. Example: `default`. 192*d5c09012SAndroid Build Coastguard Worker string service = 3; 193*d5c09012SAndroid Build Coastguard Worker} 194