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/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 22*d5c09012SAndroid Build Coastguard Worker 23*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.AppEngine.V1"; 24*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; 25*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 26*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "InstanceProto"; 27*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.appengine.v1"; 28*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\AppEngine\\V1"; 29*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::AppEngine::V1"; 30*d5c09012SAndroid Build Coastguard Worker 31*d5c09012SAndroid Build Coastguard Worker// An Instance resource is the computing unit that App Engine uses to 32*d5c09012SAndroid Build Coastguard Worker// automatically scale an application. 33*d5c09012SAndroid Build Coastguard Workermessage Instance { 34*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 35*d5c09012SAndroid Build Coastguard Worker type: "appengine.googleapis.com/Instance" 36*d5c09012SAndroid Build Coastguard Worker pattern: "apps/{app}/services/{service}/versions/{version}/instances/{instance}" 37*d5c09012SAndroid Build Coastguard Worker }; 38*d5c09012SAndroid Build Coastguard Worker 39*d5c09012SAndroid Build Coastguard Worker // Availability of the instance. 40*d5c09012SAndroid Build Coastguard Worker enum Availability { 41*d5c09012SAndroid Build Coastguard Worker UNSPECIFIED = 0; 42*d5c09012SAndroid Build Coastguard Worker 43*d5c09012SAndroid Build Coastguard Worker RESIDENT = 1; 44*d5c09012SAndroid Build Coastguard Worker 45*d5c09012SAndroid Build Coastguard Worker DYNAMIC = 2; 46*d5c09012SAndroid Build Coastguard Worker } 47*d5c09012SAndroid Build Coastguard Worker 48*d5c09012SAndroid Build Coastguard Worker // Wrapper for LivenessState enum. 49*d5c09012SAndroid Build Coastguard Worker message Liveness { 50*d5c09012SAndroid Build Coastguard Worker // Liveness health check status for Flex instances. 51*d5c09012SAndroid Build Coastguard Worker enum LivenessState { 52*d5c09012SAndroid Build Coastguard Worker // There is no liveness health check for the instance. Only applicable for 53*d5c09012SAndroid Build Coastguard Worker // instances in App Engine standard environment. 54*d5c09012SAndroid Build Coastguard Worker LIVENESS_STATE_UNSPECIFIED = 0; 55*d5c09012SAndroid Build Coastguard Worker 56*d5c09012SAndroid Build Coastguard Worker // The health checking system is aware of the instance but its health is 57*d5c09012SAndroid Build Coastguard Worker // not known at the moment. 58*d5c09012SAndroid Build Coastguard Worker UNKNOWN = 1; 59*d5c09012SAndroid Build Coastguard Worker 60*d5c09012SAndroid Build Coastguard Worker // The instance is reachable i.e. a connection to the application health 61*d5c09012SAndroid Build Coastguard Worker // checking endpoint can be established, and conforms to the requirements 62*d5c09012SAndroid Build Coastguard Worker // defined by the health check. 63*d5c09012SAndroid Build Coastguard Worker HEALTHY = 2; 64*d5c09012SAndroid Build Coastguard Worker 65*d5c09012SAndroid Build Coastguard Worker // The instance is reachable, but does not conform to the requirements 66*d5c09012SAndroid Build Coastguard Worker // defined by the health check. 67*d5c09012SAndroid Build Coastguard Worker UNHEALTHY = 3; 68*d5c09012SAndroid Build Coastguard Worker 69*d5c09012SAndroid Build Coastguard Worker // The instance is being drained. The existing connections to the instance 70*d5c09012SAndroid Build Coastguard Worker // have time to complete, but the new ones are being refused. 71*d5c09012SAndroid Build Coastguard Worker DRAINING = 4; 72*d5c09012SAndroid Build Coastguard Worker 73*d5c09012SAndroid Build Coastguard Worker // The instance is unreachable i.e. a connection to the application health 74*d5c09012SAndroid Build Coastguard Worker // checking endpoint cannot be established, or the server does not respond 75*d5c09012SAndroid Build Coastguard Worker // within the specified timeout. 76*d5c09012SAndroid Build Coastguard Worker TIMEOUT = 5; 77*d5c09012SAndroid Build Coastguard Worker } 78*d5c09012SAndroid Build Coastguard Worker 79*d5c09012SAndroid Build Coastguard Worker 80*d5c09012SAndroid Build Coastguard Worker } 81*d5c09012SAndroid Build Coastguard Worker 82*d5c09012SAndroid Build Coastguard Worker // Output only. Full path to the Instance resource in the API. 83*d5c09012SAndroid Build Coastguard Worker // Example: `apps/myapp/services/default/versions/v1/instances/instance-1`. 84*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 85*d5c09012SAndroid Build Coastguard Worker 86*d5c09012SAndroid Build Coastguard Worker // Output only. Relative name of the instance within the version. 87*d5c09012SAndroid Build Coastguard Worker // Example: `instance-1`. 88*d5c09012SAndroid Build Coastguard Worker string id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 89*d5c09012SAndroid Build Coastguard Worker 90*d5c09012SAndroid Build Coastguard Worker // Output only. App Engine release this instance is running on. 91*d5c09012SAndroid Build Coastguard Worker string app_engine_release = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 92*d5c09012SAndroid Build Coastguard Worker 93*d5c09012SAndroid Build Coastguard Worker // Output only. Availability of the instance. 94*d5c09012SAndroid Build Coastguard Worker Availability availability = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 95*d5c09012SAndroid Build Coastguard Worker 96*d5c09012SAndroid Build Coastguard Worker // Output only. Name of the virtual machine where this instance lives. Only applicable 97*d5c09012SAndroid Build Coastguard Worker // for instances in App Engine flexible environment. 98*d5c09012SAndroid Build Coastguard Worker string vm_name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; 99*d5c09012SAndroid Build Coastguard Worker 100*d5c09012SAndroid Build Coastguard Worker // Output only. Zone where the virtual machine is located. Only applicable for instances 101*d5c09012SAndroid Build Coastguard Worker // in App Engine flexible environment. 102*d5c09012SAndroid Build Coastguard Worker string vm_zone_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 103*d5c09012SAndroid Build Coastguard Worker 104*d5c09012SAndroid Build Coastguard Worker // Output only. Virtual machine ID of this instance. Only applicable for instances in 105*d5c09012SAndroid Build Coastguard Worker // App Engine flexible environment. 106*d5c09012SAndroid Build Coastguard Worker string vm_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; 107*d5c09012SAndroid Build Coastguard Worker 108*d5c09012SAndroid Build Coastguard Worker // Output only. Time that this instance was started. 109*d5c09012SAndroid Build Coastguard Worker // 110*d5c09012SAndroid Build Coastguard Worker // @OutputOnly 111*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; 112*d5c09012SAndroid Build Coastguard Worker 113*d5c09012SAndroid Build Coastguard Worker // Output only. Number of requests since this instance was started. 114*d5c09012SAndroid Build Coastguard Worker int32 requests = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; 115*d5c09012SAndroid Build Coastguard Worker 116*d5c09012SAndroid Build Coastguard Worker // Output only. Number of errors since this instance was started. 117*d5c09012SAndroid Build Coastguard Worker int32 errors = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; 118*d5c09012SAndroid Build Coastguard Worker 119*d5c09012SAndroid Build Coastguard Worker // Output only. Average queries per second (QPS) over the last minute. 120*d5c09012SAndroid Build Coastguard Worker float qps = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; 121*d5c09012SAndroid Build Coastguard Worker 122*d5c09012SAndroid Build Coastguard Worker // Output only. Average latency (ms) over the last minute. 123*d5c09012SAndroid Build Coastguard Worker int32 average_latency = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; 124*d5c09012SAndroid Build Coastguard Worker 125*d5c09012SAndroid Build Coastguard Worker // Output only. Total memory in use (bytes). 126*d5c09012SAndroid Build Coastguard Worker int64 memory_usage = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; 127*d5c09012SAndroid Build Coastguard Worker 128*d5c09012SAndroid Build Coastguard Worker // Output only. Status of the virtual machine where this instance lives. Only applicable 129*d5c09012SAndroid Build Coastguard Worker // for instances in App Engine flexible environment. 130*d5c09012SAndroid Build Coastguard Worker string vm_status = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; 131*d5c09012SAndroid Build Coastguard Worker 132*d5c09012SAndroid Build Coastguard Worker // Output only. Whether this instance is in debug mode. Only applicable for instances in 133*d5c09012SAndroid Build Coastguard Worker // App Engine flexible environment. 134*d5c09012SAndroid Build Coastguard Worker bool vm_debug_enabled = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; 135*d5c09012SAndroid Build Coastguard Worker 136*d5c09012SAndroid Build Coastguard Worker // Output only. The IP address of this instance. Only applicable for instances in App 137*d5c09012SAndroid Build Coastguard Worker // Engine flexible environment. 138*d5c09012SAndroid Build Coastguard Worker string vm_ip = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; 139*d5c09012SAndroid Build Coastguard Worker 140*d5c09012SAndroid Build Coastguard Worker // Output only. The liveness health check of this instance. Only applicable for instances 141*d5c09012SAndroid Build Coastguard Worker // in App Engine flexible environment. 142*d5c09012SAndroid Build Coastguard Worker Liveness.LivenessState vm_liveness = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; 143*d5c09012SAndroid Build Coastguard Worker} 144