xref: /aosp_15_r20/external/googleapis/google/cloud/run/v2/condition.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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