xref: /aosp_15_r20/external/googleapis/google/appengine/v1beta/application.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2021 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.appengine.v1beta;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/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