1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 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.cloud.run.v2; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 20*d5c09012SAndroid Build Coastguard Worker 21*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/run/apiv2/runpb;runpb"; 22*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 23*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ConditionProto"; 24*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.run.v2"; 25*d5c09012SAndroid Build Coastguard Worker 26*d5c09012SAndroid Build Coastguard Worker// Defines a status condition for a resource. 27*d5c09012SAndroid Build Coastguard Workermessage Condition { 28*d5c09012SAndroid Build Coastguard Worker // Represents the possible Condition states. 29*d5c09012SAndroid Build Coastguard Worker enum State { 30*d5c09012SAndroid Build Coastguard Worker // The default value. This value is used if the state is omitted. 31*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Worker // Transient state: Reconciliation has not started yet. 34*d5c09012SAndroid Build Coastguard Worker CONDITION_PENDING = 1; 35*d5c09012SAndroid Build Coastguard Worker 36*d5c09012SAndroid Build Coastguard Worker // Transient state: reconciliation is still in progress. 37*d5c09012SAndroid Build Coastguard Worker CONDITION_RECONCILING = 2; 38*d5c09012SAndroid Build Coastguard Worker 39*d5c09012SAndroid Build Coastguard Worker // Terminal state: Reconciliation did not succeed. 40*d5c09012SAndroid Build Coastguard Worker CONDITION_FAILED = 3; 41*d5c09012SAndroid Build Coastguard Worker 42*d5c09012SAndroid Build Coastguard Worker // Terminal state: Reconciliation completed successfully. 43*d5c09012SAndroid Build Coastguard Worker CONDITION_SUCCEEDED = 4; 44*d5c09012SAndroid Build Coastguard Worker } 45*d5c09012SAndroid Build Coastguard Worker 46*d5c09012SAndroid Build Coastguard Worker // Represents the severity of the condition failures. 47*d5c09012SAndroid Build Coastguard Worker enum Severity { 48*d5c09012SAndroid Build Coastguard Worker // Unspecified severity 49*d5c09012SAndroid Build Coastguard Worker SEVERITY_UNSPECIFIED = 0; 50*d5c09012SAndroid Build Coastguard Worker 51*d5c09012SAndroid Build Coastguard Worker // Error severity. 52*d5c09012SAndroid Build Coastguard Worker ERROR = 1; 53*d5c09012SAndroid Build Coastguard Worker 54*d5c09012SAndroid Build Coastguard Worker // Warning severity. 55*d5c09012SAndroid Build Coastguard Worker WARNING = 2; 56*d5c09012SAndroid Build Coastguard Worker 57*d5c09012SAndroid Build Coastguard Worker // Info severity. 58*d5c09012SAndroid Build Coastguard Worker INFO = 3; 59*d5c09012SAndroid Build Coastguard Worker } 60*d5c09012SAndroid Build Coastguard Worker 61*d5c09012SAndroid Build Coastguard Worker // Reasons common to all types of conditions. 62*d5c09012SAndroid Build Coastguard Worker enum CommonReason { 63*d5c09012SAndroid Build Coastguard Worker // Default value. 64*d5c09012SAndroid Build Coastguard Worker COMMON_REASON_UNDEFINED = 0; 65*d5c09012SAndroid Build Coastguard Worker 66*d5c09012SAndroid Build Coastguard Worker // Reason unknown. Further details will be in message. 67*d5c09012SAndroid Build Coastguard Worker UNKNOWN = 1; 68*d5c09012SAndroid Build Coastguard Worker 69*d5c09012SAndroid Build Coastguard Worker // Revision creation process failed. 70*d5c09012SAndroid Build Coastguard Worker REVISION_FAILED = 3; 71*d5c09012SAndroid Build Coastguard Worker 72*d5c09012SAndroid Build Coastguard Worker // Timed out waiting for completion. 73*d5c09012SAndroid Build Coastguard Worker PROGRESS_DEADLINE_EXCEEDED = 4; 74*d5c09012SAndroid Build Coastguard Worker 75*d5c09012SAndroid Build Coastguard Worker // The container image path is incorrect. 76*d5c09012SAndroid Build Coastguard Worker CONTAINER_MISSING = 6; 77*d5c09012SAndroid Build Coastguard Worker 78*d5c09012SAndroid Build Coastguard Worker // Insufficient permissions on the container image. 79*d5c09012SAndroid Build Coastguard Worker CONTAINER_PERMISSION_DENIED = 7; 80*d5c09012SAndroid Build Coastguard Worker 81*d5c09012SAndroid Build Coastguard Worker // Container image is not authorized by policy. 82*d5c09012SAndroid Build Coastguard Worker CONTAINER_IMAGE_UNAUTHORIZED = 8; 83*d5c09012SAndroid Build Coastguard Worker 84*d5c09012SAndroid Build Coastguard Worker // Container image policy authorization check failed. 85*d5c09012SAndroid Build Coastguard Worker CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED = 9; 86*d5c09012SAndroid Build Coastguard Worker 87*d5c09012SAndroid Build Coastguard Worker // Insufficient permissions on encryption key. 88*d5c09012SAndroid Build Coastguard Worker ENCRYPTION_KEY_PERMISSION_DENIED = 10; 89*d5c09012SAndroid Build Coastguard Worker 90*d5c09012SAndroid Build Coastguard Worker // Permission check on encryption key failed. 91*d5c09012SAndroid Build Coastguard Worker ENCRYPTION_KEY_CHECK_FAILED = 11; 92*d5c09012SAndroid Build Coastguard Worker 93*d5c09012SAndroid Build Coastguard Worker // At least one Access check on secrets failed. 94*d5c09012SAndroid Build Coastguard Worker SECRETS_ACCESS_CHECK_FAILED = 12; 95*d5c09012SAndroid Build Coastguard Worker 96*d5c09012SAndroid Build Coastguard Worker // Waiting for operation to complete. 97*d5c09012SAndroid Build Coastguard Worker WAITING_FOR_OPERATION = 13; 98*d5c09012SAndroid Build Coastguard Worker 99*d5c09012SAndroid Build Coastguard Worker // System will retry immediately. 100*d5c09012SAndroid Build Coastguard Worker IMMEDIATE_RETRY = 14; 101*d5c09012SAndroid Build Coastguard Worker 102*d5c09012SAndroid Build Coastguard Worker // System will retry later; current attempt failed. 103*d5c09012SAndroid Build Coastguard Worker POSTPONED_RETRY = 15; 104*d5c09012SAndroid Build Coastguard Worker 105*d5c09012SAndroid Build Coastguard Worker // An internal error occurred. Further information may be in the message. 106*d5c09012SAndroid Build Coastguard Worker INTERNAL = 16; 107*d5c09012SAndroid Build Coastguard Worker } 108*d5c09012SAndroid Build Coastguard Worker 109*d5c09012SAndroid Build Coastguard Worker // Reasons specific to Revision resource. 110*d5c09012SAndroid Build Coastguard Worker enum RevisionReason { 111*d5c09012SAndroid Build Coastguard Worker // Default value. 112*d5c09012SAndroid Build Coastguard Worker REVISION_REASON_UNDEFINED = 0; 113*d5c09012SAndroid Build Coastguard Worker 114*d5c09012SAndroid Build Coastguard Worker // Revision in Pending state. 115*d5c09012SAndroid Build Coastguard Worker PENDING = 1; 116*d5c09012SAndroid Build Coastguard Worker 117*d5c09012SAndroid Build Coastguard Worker // Revision is in Reserve state. 118*d5c09012SAndroid Build Coastguard Worker RESERVE = 2; 119*d5c09012SAndroid Build Coastguard Worker 120*d5c09012SAndroid Build Coastguard Worker // Revision is Retired. 121*d5c09012SAndroid Build Coastguard Worker RETIRED = 3; 122*d5c09012SAndroid Build Coastguard Worker 123*d5c09012SAndroid Build Coastguard Worker // Revision is being retired. 124*d5c09012SAndroid Build Coastguard Worker RETIRING = 4; 125*d5c09012SAndroid Build Coastguard Worker 126*d5c09012SAndroid Build Coastguard Worker // Revision is being recreated. 127*d5c09012SAndroid Build Coastguard Worker RECREATING = 5; 128*d5c09012SAndroid Build Coastguard Worker 129*d5c09012SAndroid Build Coastguard Worker // There was a health check error. 130*d5c09012SAndroid Build Coastguard Worker HEALTH_CHECK_CONTAINER_ERROR = 6; 131*d5c09012SAndroid Build Coastguard Worker 132*d5c09012SAndroid Build Coastguard Worker // Health check failed due to user error from customized path of the 133*d5c09012SAndroid Build Coastguard Worker // container. System will retry. 134*d5c09012SAndroid Build Coastguard Worker CUSTOMIZED_PATH_RESPONSE_PENDING = 7; 135*d5c09012SAndroid Build Coastguard Worker 136*d5c09012SAndroid Build Coastguard Worker // A revision with min_instance_count > 0 was created and is reserved, but 137*d5c09012SAndroid Build Coastguard Worker // it was not configured to serve traffic, so it's not live. This can also 138*d5c09012SAndroid Build Coastguard Worker // happen momentarily during traffic migration. 139*d5c09012SAndroid Build Coastguard Worker MIN_INSTANCES_NOT_PROVISIONED = 8; 140*d5c09012SAndroid Build Coastguard Worker 141*d5c09012SAndroid Build Coastguard Worker // The maximum allowed number of active revisions has been reached. 142*d5c09012SAndroid Build Coastguard Worker ACTIVE_REVISION_LIMIT_REACHED = 9; 143*d5c09012SAndroid Build Coastguard Worker 144*d5c09012SAndroid Build Coastguard Worker // There was no deployment defined. 145*d5c09012SAndroid Build Coastguard Worker // This value is no longer used, but Services created in older versions of 146*d5c09012SAndroid Build Coastguard Worker // the API might contain this value. 147*d5c09012SAndroid Build Coastguard Worker NO_DEPLOYMENT = 10; 148*d5c09012SAndroid Build Coastguard Worker 149*d5c09012SAndroid Build Coastguard Worker // A revision's container has no port specified since the revision is of a 150*d5c09012SAndroid Build Coastguard Worker // manually scaled service with 0 instance count 151*d5c09012SAndroid Build Coastguard Worker HEALTH_CHECK_SKIPPED = 11; 152*d5c09012SAndroid Build Coastguard Worker 153*d5c09012SAndroid Build Coastguard Worker // A revision with min_instance_count > 0 was created and is waiting for 154*d5c09012SAndroid Build Coastguard Worker // enough instances to begin a traffic migration. 155*d5c09012SAndroid Build Coastguard Worker MIN_INSTANCES_WARMING = 12; 156*d5c09012SAndroid Build Coastguard Worker } 157*d5c09012SAndroid Build Coastguard Worker 158*d5c09012SAndroid Build Coastguard Worker // Reasons specific to Execution resource. 159*d5c09012SAndroid Build Coastguard Worker enum ExecutionReason { 160*d5c09012SAndroid Build Coastguard Worker // Default value. 161*d5c09012SAndroid Build Coastguard Worker EXECUTION_REASON_UNDEFINED = 0; 162*d5c09012SAndroid Build Coastguard Worker 163*d5c09012SAndroid Build Coastguard Worker // Internal system error getting execution status. System will retry. 164*d5c09012SAndroid Build Coastguard Worker JOB_STATUS_SERVICE_POLLING_ERROR = 1; 165*d5c09012SAndroid Build Coastguard Worker 166*d5c09012SAndroid Build Coastguard Worker // A task reached its retry limit and the last attempt failed due to the 167*d5c09012SAndroid Build Coastguard Worker // user container exiting with a non-zero exit code. 168*d5c09012SAndroid Build Coastguard Worker NON_ZERO_EXIT_CODE = 2; 169*d5c09012SAndroid Build Coastguard Worker 170*d5c09012SAndroid Build Coastguard Worker // The execution was cancelled by users. 171*d5c09012SAndroid Build Coastguard Worker CANCELLED = 3; 172*d5c09012SAndroid Build Coastguard Worker 173*d5c09012SAndroid Build Coastguard Worker // The execution is in the process of being cancelled. 174*d5c09012SAndroid Build Coastguard Worker CANCELLING = 4; 175*d5c09012SAndroid Build Coastguard Worker 176*d5c09012SAndroid Build Coastguard Worker // The execution was deleted. 177*d5c09012SAndroid Build Coastguard Worker DELETED = 5; 178*d5c09012SAndroid Build Coastguard Worker } 179*d5c09012SAndroid Build Coastguard Worker 180*d5c09012SAndroid Build Coastguard Worker // type is used to communicate the status of the reconciliation process. 181*d5c09012SAndroid Build Coastguard Worker // See also: 182*d5c09012SAndroid Build Coastguard Worker // https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting 183*d5c09012SAndroid Build Coastguard Worker // Types common to all resources include: 184*d5c09012SAndroid Build Coastguard Worker // * "Ready": True when the Resource is ready. 185*d5c09012SAndroid Build Coastguard Worker string type = 1; 186*d5c09012SAndroid Build Coastguard Worker 187*d5c09012SAndroid Build Coastguard Worker // State of the condition. 188*d5c09012SAndroid Build Coastguard Worker State state = 2; 189*d5c09012SAndroid Build Coastguard Worker 190*d5c09012SAndroid Build Coastguard Worker // Human readable message indicating details about the current status. 191*d5c09012SAndroid Build Coastguard Worker string message = 3; 192*d5c09012SAndroid Build Coastguard Worker 193*d5c09012SAndroid Build Coastguard Worker // Last time the condition transitioned from one status to another. 194*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp last_transition_time = 4; 195*d5c09012SAndroid Build Coastguard Worker 196*d5c09012SAndroid Build Coastguard Worker // How to interpret failures of this condition, one of Error, Warning, Info 197*d5c09012SAndroid Build Coastguard Worker Severity severity = 5; 198*d5c09012SAndroid Build Coastguard Worker 199*d5c09012SAndroid Build Coastguard Worker // The reason for this condition. Depending on the condition type, 200*d5c09012SAndroid Build Coastguard Worker // it will populate one of these fields. 201*d5c09012SAndroid Build Coastguard Worker // Successful conditions cannot have a reason. 202*d5c09012SAndroid Build Coastguard Worker oneof reasons { 203*d5c09012SAndroid Build Coastguard Worker // A common (service-level) reason for this condition. 204*d5c09012SAndroid Build Coastguard Worker CommonReason reason = 6; 205*d5c09012SAndroid Build Coastguard Worker 206*d5c09012SAndroid Build Coastguard Worker // A reason for the revision condition. 207*d5c09012SAndroid Build Coastguard Worker RevisionReason revision_reason = 9; 208*d5c09012SAndroid Build Coastguard Worker 209*d5c09012SAndroid Build Coastguard Worker // A reason for the execution condition. 210*d5c09012SAndroid Build Coastguard Worker ExecutionReason execution_reason = 11; 211*d5c09012SAndroid Build Coastguard Worker } 212*d5c09012SAndroid Build Coastguard Worker} 213