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/api/annotations.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/api/launch_stage.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/api/routing.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/run/v2/condition.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/run/v2/execution.proto"; 27*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/run/v2/execution_template.proto"; 28*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/run/v2/k8s.min.proto"; 29*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/run/v2/vendor_settings.proto"; 30*d5c09012SAndroid Build Coastguard Workerimport "google/iam/v1/iam_policy.proto"; 31*d5c09012SAndroid Build Coastguard Workerimport "google/iam/v1/policy.proto"; 32*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto"; 33*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/duration.proto"; 34*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 35*d5c09012SAndroid Build Coastguard Worker 36*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/run/apiv2/runpb;runpb"; 37*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 38*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "JobProto"; 39*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.run.v2"; 40*d5c09012SAndroid Build Coastguard Worker 41*d5c09012SAndroid Build Coastguard Worker// Cloud Run Job Control Plane API. 42*d5c09012SAndroid Build Coastguard Workerservice Jobs { 43*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "run.googleapis.com"; 44*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 45*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform"; 46*d5c09012SAndroid Build Coastguard Worker 47*d5c09012SAndroid Build Coastguard Worker // Creates a Job. 48*d5c09012SAndroid Build Coastguard Worker rpc CreateJob(CreateJobRequest) returns (google.longrunning.Operation) { 49*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 50*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*/locations/*}/jobs" 51*d5c09012SAndroid Build Coastguard Worker body: "job" 52*d5c09012SAndroid Build Coastguard Worker }; 53*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 54*d5c09012SAndroid Build Coastguard Worker routing_parameters { 55*d5c09012SAndroid Build Coastguard Worker field: "parent" 56*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}" 57*d5c09012SAndroid Build Coastguard Worker } 58*d5c09012SAndroid Build Coastguard Worker }; 59*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,job,job_id"; 60*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 61*d5c09012SAndroid Build Coastguard Worker response_type: "Job" 62*d5c09012SAndroid Build Coastguard Worker metadata_type: "Job" 63*d5c09012SAndroid Build Coastguard Worker }; 64*d5c09012SAndroid Build Coastguard Worker } 65*d5c09012SAndroid Build Coastguard Worker 66*d5c09012SAndroid Build Coastguard Worker // Gets information about a Job. 67*d5c09012SAndroid Build Coastguard Worker rpc GetJob(GetJobRequest) returns (Job) { 68*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 69*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=projects/*/locations/*/jobs/*}" 70*d5c09012SAndroid Build Coastguard Worker }; 71*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 72*d5c09012SAndroid Build Coastguard Worker routing_parameters { 73*d5c09012SAndroid Build Coastguard Worker field: "name" 74*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/**" 75*d5c09012SAndroid Build Coastguard Worker } 76*d5c09012SAndroid Build Coastguard Worker }; 77*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 78*d5c09012SAndroid Build Coastguard Worker } 79*d5c09012SAndroid Build Coastguard Worker 80*d5c09012SAndroid Build Coastguard Worker // Lists Jobs. 81*d5c09012SAndroid Build Coastguard Worker rpc ListJobs(ListJobsRequest) returns (ListJobsResponse) { 82*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 83*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=projects/*/locations/*}/jobs" 84*d5c09012SAndroid Build Coastguard Worker }; 85*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 86*d5c09012SAndroid Build Coastguard Worker routing_parameters { 87*d5c09012SAndroid Build Coastguard Worker field: "parent" 88*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}" 89*d5c09012SAndroid Build Coastguard Worker } 90*d5c09012SAndroid Build Coastguard Worker }; 91*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 92*d5c09012SAndroid Build Coastguard Worker } 93*d5c09012SAndroid Build Coastguard Worker 94*d5c09012SAndroid Build Coastguard Worker // Updates a Job. 95*d5c09012SAndroid Build Coastguard Worker rpc UpdateJob(UpdateJobRequest) returns (google.longrunning.Operation) { 96*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 97*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{job.name=projects/*/locations/*/jobs/*}" 98*d5c09012SAndroid Build Coastguard Worker body: "job" 99*d5c09012SAndroid Build Coastguard Worker }; 100*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 101*d5c09012SAndroid Build Coastguard Worker routing_parameters { 102*d5c09012SAndroid Build Coastguard Worker field: "job.name" 103*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/**" 104*d5c09012SAndroid Build Coastguard Worker } 105*d5c09012SAndroid Build Coastguard Worker }; 106*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "job"; 107*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 108*d5c09012SAndroid Build Coastguard Worker response_type: "Job" 109*d5c09012SAndroid Build Coastguard Worker metadata_type: "Job" 110*d5c09012SAndroid Build Coastguard Worker }; 111*d5c09012SAndroid Build Coastguard Worker } 112*d5c09012SAndroid Build Coastguard Worker 113*d5c09012SAndroid Build Coastguard Worker // Deletes a Job. 114*d5c09012SAndroid Build Coastguard Worker rpc DeleteJob(DeleteJobRequest) returns (google.longrunning.Operation) { 115*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 116*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=projects/*/locations/*/jobs/*}" 117*d5c09012SAndroid Build Coastguard Worker }; 118*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 119*d5c09012SAndroid Build Coastguard Worker routing_parameters { 120*d5c09012SAndroid Build Coastguard Worker field: "name" 121*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/**" 122*d5c09012SAndroid Build Coastguard Worker } 123*d5c09012SAndroid Build Coastguard Worker }; 124*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 125*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 126*d5c09012SAndroid Build Coastguard Worker response_type: "Job" 127*d5c09012SAndroid Build Coastguard Worker metadata_type: "Job" 128*d5c09012SAndroid Build Coastguard Worker }; 129*d5c09012SAndroid Build Coastguard Worker } 130*d5c09012SAndroid Build Coastguard Worker 131*d5c09012SAndroid Build Coastguard Worker // Triggers creation of a new Execution of this Job. 132*d5c09012SAndroid Build Coastguard Worker rpc RunJob(RunJobRequest) returns (google.longrunning.Operation) { 133*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 134*d5c09012SAndroid Build Coastguard Worker post: "/v2/{name=projects/*/locations/*/jobs/*}:run" 135*d5c09012SAndroid Build Coastguard Worker body: "*" 136*d5c09012SAndroid Build Coastguard Worker }; 137*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 138*d5c09012SAndroid Build Coastguard Worker routing_parameters { 139*d5c09012SAndroid Build Coastguard Worker field: "name" 140*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/**" 141*d5c09012SAndroid Build Coastguard Worker } 142*d5c09012SAndroid Build Coastguard Worker }; 143*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 144*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 145*d5c09012SAndroid Build Coastguard Worker response_type: "Execution" 146*d5c09012SAndroid Build Coastguard Worker metadata_type: "Execution" 147*d5c09012SAndroid Build Coastguard Worker }; 148*d5c09012SAndroid Build Coastguard Worker } 149*d5c09012SAndroid Build Coastguard Worker 150*d5c09012SAndroid Build Coastguard Worker // Gets the IAM Access Control policy currently in effect for the given Job. 151*d5c09012SAndroid Build Coastguard Worker // This result does not include any inherited policies. 152*d5c09012SAndroid Build Coastguard Worker rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) 153*d5c09012SAndroid Build Coastguard Worker returns (google.iam.v1.Policy) { 154*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 155*d5c09012SAndroid Build Coastguard Worker get: "/v2/{resource=projects/*/locations/*/jobs/*}:getIamPolicy" 156*d5c09012SAndroid Build Coastguard Worker }; 157*d5c09012SAndroid Build Coastguard Worker } 158*d5c09012SAndroid Build Coastguard Worker 159*d5c09012SAndroid Build Coastguard Worker // Sets the IAM Access control policy for the specified Job. Overwrites 160*d5c09012SAndroid Build Coastguard Worker // any existing policy. 161*d5c09012SAndroid Build Coastguard Worker rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) 162*d5c09012SAndroid Build Coastguard Worker returns (google.iam.v1.Policy) { 163*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 164*d5c09012SAndroid Build Coastguard Worker post: "/v2/{resource=projects/*/locations/*/jobs/*}:setIamPolicy" 165*d5c09012SAndroid Build Coastguard Worker body: "*" 166*d5c09012SAndroid Build Coastguard Worker }; 167*d5c09012SAndroid Build Coastguard Worker } 168*d5c09012SAndroid Build Coastguard Worker 169*d5c09012SAndroid Build Coastguard Worker // Returns permissions that a caller has on the specified Project. 170*d5c09012SAndroid Build Coastguard Worker // 171*d5c09012SAndroid Build Coastguard Worker // There are no permissions required for making this API call. 172*d5c09012SAndroid Build Coastguard Worker rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) 173*d5c09012SAndroid Build Coastguard Worker returns (google.iam.v1.TestIamPermissionsResponse) { 174*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 175*d5c09012SAndroid Build Coastguard Worker post: "/v2/{resource=projects/*/locations/*/jobs/*}:testIamPermissions" 176*d5c09012SAndroid Build Coastguard Worker body: "*" 177*d5c09012SAndroid Build Coastguard Worker }; 178*d5c09012SAndroid Build Coastguard Worker } 179*d5c09012SAndroid Build Coastguard Worker} 180*d5c09012SAndroid Build Coastguard Worker 181*d5c09012SAndroid Build Coastguard Worker// Request message for creating a Job. 182*d5c09012SAndroid Build Coastguard Workermessage CreateJobRequest { 183*d5c09012SAndroid Build Coastguard Worker // Required. The location and project in which this Job should be created. 184*d5c09012SAndroid Build Coastguard Worker // Format: projects/{project}/locations/{location}, where {project} can be 185*d5c09012SAndroid Build Coastguard Worker // project id or number. 186*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 187*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 188*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { child_type: "run.googleapis.com/Job" } 189*d5c09012SAndroid Build Coastguard Worker ]; 190*d5c09012SAndroid Build Coastguard Worker 191*d5c09012SAndroid Build Coastguard Worker // Required. The Job instance to create. 192*d5c09012SAndroid Build Coastguard Worker Job job = 2 [(google.api.field_behavior) = REQUIRED]; 193*d5c09012SAndroid Build Coastguard Worker 194*d5c09012SAndroid Build Coastguard Worker // Required. The unique identifier for the Job. The name of the job becomes 195*d5c09012SAndroid Build Coastguard Worker // {parent}/jobs/{job_id}. 196*d5c09012SAndroid Build Coastguard Worker string job_id = 3 [(google.api.field_behavior) = REQUIRED]; 197*d5c09012SAndroid Build Coastguard Worker 198*d5c09012SAndroid Build Coastguard Worker // Indicates that the request should be validated and default values 199*d5c09012SAndroid Build Coastguard Worker // populated, without persisting the request or creating any resources. 200*d5c09012SAndroid Build Coastguard Worker bool validate_only = 4; 201*d5c09012SAndroid Build Coastguard Worker} 202*d5c09012SAndroid Build Coastguard Worker 203*d5c09012SAndroid Build Coastguard Worker// Request message for obtaining a Job by its full name. 204*d5c09012SAndroid Build Coastguard Workermessage GetJobRequest { 205*d5c09012SAndroid Build Coastguard Worker // Required. The full name of the Job. 206*d5c09012SAndroid Build Coastguard Worker // Format: projects/{project}/locations/{location}/jobs/{job}, where {project} 207*d5c09012SAndroid Build Coastguard Worker // can be project id or number. 208*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 209*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 210*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "run.googleapis.com/Job" } 211*d5c09012SAndroid Build Coastguard Worker ]; 212*d5c09012SAndroid Build Coastguard Worker} 213*d5c09012SAndroid Build Coastguard Worker 214*d5c09012SAndroid Build Coastguard Worker// Request message for updating a Job. 215*d5c09012SAndroid Build Coastguard Workermessage UpdateJobRequest { 216*d5c09012SAndroid Build Coastguard Worker // Required. The Job to be updated. 217*d5c09012SAndroid Build Coastguard Worker Job job = 1 [(google.api.field_behavior) = REQUIRED]; 218*d5c09012SAndroid Build Coastguard Worker 219*d5c09012SAndroid Build Coastguard Worker // Indicates that the request should be validated and default values 220*d5c09012SAndroid Build Coastguard Worker // populated, without persisting the request or updating any resources. 221*d5c09012SAndroid Build Coastguard Worker bool validate_only = 3; 222*d5c09012SAndroid Build Coastguard Worker 223*d5c09012SAndroid Build Coastguard Worker // If set to true, and if the Job does not exist, it will create a new 224*d5c09012SAndroid Build Coastguard Worker // one. Caller must have both create and update permissions for this call if 225*d5c09012SAndroid Build Coastguard Worker // this is set to true. 226*d5c09012SAndroid Build Coastguard Worker bool allow_missing = 4; 227*d5c09012SAndroid Build Coastguard Worker} 228*d5c09012SAndroid Build Coastguard Worker 229*d5c09012SAndroid Build Coastguard Worker// Request message for retrieving a list of Jobs. 230*d5c09012SAndroid Build Coastguard Workermessage ListJobsRequest { 231*d5c09012SAndroid Build Coastguard Worker // Required. The location and project to list resources on. 232*d5c09012SAndroid Build Coastguard Worker // Format: projects/{project}/locations/{location}, where {project} can be 233*d5c09012SAndroid Build Coastguard Worker // project id or number. 234*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 235*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 236*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { child_type: "run.googleapis.com/Job" } 237*d5c09012SAndroid Build Coastguard Worker ]; 238*d5c09012SAndroid Build Coastguard Worker 239*d5c09012SAndroid Build Coastguard Worker // Maximum number of Jobs to return in this call. 240*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2; 241*d5c09012SAndroid Build Coastguard Worker 242*d5c09012SAndroid Build Coastguard Worker // A page token received from a previous call to ListJobs. 243*d5c09012SAndroid Build Coastguard Worker // All other parameters must match. 244*d5c09012SAndroid Build Coastguard Worker string page_token = 3; 245*d5c09012SAndroid Build Coastguard Worker 246*d5c09012SAndroid Build Coastguard Worker // If true, returns deleted (but unexpired) resources along with active ones. 247*d5c09012SAndroid Build Coastguard Worker bool show_deleted = 4; 248*d5c09012SAndroid Build Coastguard Worker} 249*d5c09012SAndroid Build Coastguard Worker 250*d5c09012SAndroid Build Coastguard Worker// Response message containing a list of Jobs. 251*d5c09012SAndroid Build Coastguard Workermessage ListJobsResponse { 252*d5c09012SAndroid Build Coastguard Worker // The resulting list of Jobs. 253*d5c09012SAndroid Build Coastguard Worker repeated Job jobs = 1; 254*d5c09012SAndroid Build Coastguard Worker 255*d5c09012SAndroid Build Coastguard Worker // A token indicating there are more items than page_size. Use it in the next 256*d5c09012SAndroid Build Coastguard Worker // ListJobs request to continue. 257*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 258*d5c09012SAndroid Build Coastguard Worker} 259*d5c09012SAndroid Build Coastguard Worker 260*d5c09012SAndroid Build Coastguard Worker// Request message to delete a Job by its full name. 261*d5c09012SAndroid Build Coastguard Workermessage DeleteJobRequest { 262*d5c09012SAndroid Build Coastguard Worker // Required. The full name of the Job. 263*d5c09012SAndroid Build Coastguard Worker // Format: projects/{project}/locations/{location}/jobs/{job}, where {project} 264*d5c09012SAndroid Build Coastguard Worker // can be project id or number. 265*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 266*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 267*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "run.googleapis.com/Job" } 268*d5c09012SAndroid Build Coastguard Worker ]; 269*d5c09012SAndroid Build Coastguard Worker 270*d5c09012SAndroid Build Coastguard Worker // Indicates that the request should be validated without actually 271*d5c09012SAndroid Build Coastguard Worker // deleting any resources. 272*d5c09012SAndroid Build Coastguard Worker bool validate_only = 3; 273*d5c09012SAndroid Build Coastguard Worker 274*d5c09012SAndroid Build Coastguard Worker // A system-generated fingerprint for this version of the 275*d5c09012SAndroid Build Coastguard Worker // resource. May be used to detect modification conflict during updates. 276*d5c09012SAndroid Build Coastguard Worker string etag = 4; 277*d5c09012SAndroid Build Coastguard Worker} 278*d5c09012SAndroid Build Coastguard Worker 279*d5c09012SAndroid Build Coastguard Worker// Request message to create a new Execution of a Job. 280*d5c09012SAndroid Build Coastguard Workermessage RunJobRequest { 281*d5c09012SAndroid Build Coastguard Worker // RunJob Overrides that contains Execution fields to be overridden. 282*d5c09012SAndroid Build Coastguard Worker message Overrides { 283*d5c09012SAndroid Build Coastguard Worker // Per-container override specification. 284*d5c09012SAndroid Build Coastguard Worker message ContainerOverride { 285*d5c09012SAndroid Build Coastguard Worker // The name of the container specified as a DNS_LABEL. 286*d5c09012SAndroid Build Coastguard Worker string name = 1; 287*d5c09012SAndroid Build Coastguard Worker 288*d5c09012SAndroid Build Coastguard Worker // Optional. Arguments to the entrypoint. Will replace existing args for 289*d5c09012SAndroid Build Coastguard Worker // override. 290*d5c09012SAndroid Build Coastguard Worker repeated string args = 2 [(google.api.field_behavior) = OPTIONAL]; 291*d5c09012SAndroid Build Coastguard Worker 292*d5c09012SAndroid Build Coastguard Worker // List of environment variables to set in the container. Will be merged 293*d5c09012SAndroid Build Coastguard Worker // with existing env for override. 294*d5c09012SAndroid Build Coastguard Worker repeated EnvVar env = 3; 295*d5c09012SAndroid Build Coastguard Worker 296*d5c09012SAndroid Build Coastguard Worker // Optional. True if the intention is to clear out existing args list. 297*d5c09012SAndroid Build Coastguard Worker bool clear_args = 4 [(google.api.field_behavior) = OPTIONAL]; 298*d5c09012SAndroid Build Coastguard Worker } 299*d5c09012SAndroid Build Coastguard Worker 300*d5c09012SAndroid Build Coastguard Worker // Per container override specification. 301*d5c09012SAndroid Build Coastguard Worker repeated ContainerOverride container_overrides = 1; 302*d5c09012SAndroid Build Coastguard Worker 303*d5c09012SAndroid Build Coastguard Worker // Optional. The desired number of tasks the execution should run. Will 304*d5c09012SAndroid Build Coastguard Worker // replace existing task_count value. 305*d5c09012SAndroid Build Coastguard Worker int32 task_count = 2 [(google.api.field_behavior) = OPTIONAL]; 306*d5c09012SAndroid Build Coastguard Worker 307*d5c09012SAndroid Build Coastguard Worker // Duration in seconds the task may be active before the system will 308*d5c09012SAndroid Build Coastguard Worker // actively try to mark it failed and kill associated containers. Will 309*d5c09012SAndroid Build Coastguard Worker // replace existing timeout_seconds value. 310*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration timeout = 4; 311*d5c09012SAndroid Build Coastguard Worker } 312*d5c09012SAndroid Build Coastguard Worker 313*d5c09012SAndroid Build Coastguard Worker // Required. The full name of the Job. 314*d5c09012SAndroid Build Coastguard Worker // Format: projects/{project}/locations/{location}/jobs/{job}, where {project} 315*d5c09012SAndroid Build Coastguard Worker // can be project id or number. 316*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 317*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 318*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "run.googleapis.com/Job" } 319*d5c09012SAndroid Build Coastguard Worker ]; 320*d5c09012SAndroid Build Coastguard Worker 321*d5c09012SAndroid Build Coastguard Worker // Indicates that the request should be validated without actually 322*d5c09012SAndroid Build Coastguard Worker // deleting any resources. 323*d5c09012SAndroid Build Coastguard Worker bool validate_only = 2; 324*d5c09012SAndroid Build Coastguard Worker 325*d5c09012SAndroid Build Coastguard Worker // A system-generated fingerprint for this version of the 326*d5c09012SAndroid Build Coastguard Worker // resource. May be used to detect modification conflict during updates. 327*d5c09012SAndroid Build Coastguard Worker string etag = 3; 328*d5c09012SAndroid Build Coastguard Worker 329*d5c09012SAndroid Build Coastguard Worker // Overrides specification for a given execution of a job. If provided, 330*d5c09012SAndroid Build Coastguard Worker // overrides will be applied to update the execution or task spec. 331*d5c09012SAndroid Build Coastguard Worker Overrides overrides = 4; 332*d5c09012SAndroid Build Coastguard Worker} 333*d5c09012SAndroid Build Coastguard Worker 334*d5c09012SAndroid Build Coastguard Worker// Job represents the configuration of a single job, which references a 335*d5c09012SAndroid Build Coastguard Worker// container image that is run to completion. 336*d5c09012SAndroid Build Coastguard Workermessage Job { 337*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 338*d5c09012SAndroid Build Coastguard Worker type: "run.googleapis.com/Job" 339*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/jobs/{job}" 340*d5c09012SAndroid Build Coastguard Worker style: DECLARATIVE_FRIENDLY 341*d5c09012SAndroid Build Coastguard Worker }; 342*d5c09012SAndroid Build Coastguard Worker 343*d5c09012SAndroid Build Coastguard Worker // The fully qualified name of this Job. 344*d5c09012SAndroid Build Coastguard Worker // 345*d5c09012SAndroid Build Coastguard Worker // Format: 346*d5c09012SAndroid Build Coastguard Worker // projects/{project}/locations/{location}/jobs/{job} 347*d5c09012SAndroid Build Coastguard Worker string name = 1; 348*d5c09012SAndroid Build Coastguard Worker 349*d5c09012SAndroid Build Coastguard Worker // Output only. Server assigned unique identifier for the Execution. The value 350*d5c09012SAndroid Build Coastguard Worker // is a UUID4 string and guaranteed to remain unchanged until the resource is 351*d5c09012SAndroid Build Coastguard Worker // deleted. 352*d5c09012SAndroid Build Coastguard Worker string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 353*d5c09012SAndroid Build Coastguard Worker 354*d5c09012SAndroid Build Coastguard Worker // Output only. A number that monotonically increases every time the user 355*d5c09012SAndroid Build Coastguard Worker // modifies the desired state. 356*d5c09012SAndroid Build Coastguard Worker int64 generation = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 357*d5c09012SAndroid Build Coastguard Worker 358*d5c09012SAndroid Build Coastguard Worker // Unstructured key value map that can be used to organize and categorize 359*d5c09012SAndroid Build Coastguard Worker // objects. 360*d5c09012SAndroid Build Coastguard Worker // User-provided labels are shared with Google's billing system, so they can 361*d5c09012SAndroid Build Coastguard Worker // be used to filter, or break down billing charges by team, component, 362*d5c09012SAndroid Build Coastguard Worker // environment, state, etc. For more information, visit 363*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/resource-manager/docs/creating-managing-labels or 364*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/run/docs/configuring/labels. 365*d5c09012SAndroid Build Coastguard Worker // 366*d5c09012SAndroid Build Coastguard Worker // <p>Cloud Run API v2 does not support labels with `run.googleapis.com`, 367*d5c09012SAndroid Build Coastguard Worker // `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` 368*d5c09012SAndroid Build Coastguard Worker // namespaces, and they will be rejected. All system labels in v1 now have a 369*d5c09012SAndroid Build Coastguard Worker // corresponding field in v2 Job. 370*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 4; 371*d5c09012SAndroid Build Coastguard Worker 372*d5c09012SAndroid Build Coastguard Worker // Unstructured key value map that may 373*d5c09012SAndroid Build Coastguard Worker // be set by external tools to store and arbitrary metadata. 374*d5c09012SAndroid Build Coastguard Worker // They are not queryable and should be preserved 375*d5c09012SAndroid Build Coastguard Worker // when modifying objects. 376*d5c09012SAndroid Build Coastguard Worker // 377*d5c09012SAndroid Build Coastguard Worker // <p>Cloud Run API v2 does not support annotations with `run.googleapis.com`, 378*d5c09012SAndroid Build Coastguard Worker // `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` 379*d5c09012SAndroid Build Coastguard Worker // namespaces, and they will be rejected on new resources. All system 380*d5c09012SAndroid Build Coastguard Worker // annotations in v1 now have a corresponding field in v2 Job. 381*d5c09012SAndroid Build Coastguard Worker // 382*d5c09012SAndroid Build Coastguard Worker // <p>This field follows Kubernetes annotations' namespacing, limits, and 383*d5c09012SAndroid Build Coastguard Worker // rules. 384*d5c09012SAndroid Build Coastguard Worker map<string, string> annotations = 5; 385*d5c09012SAndroid Build Coastguard Worker 386*d5c09012SAndroid Build Coastguard Worker // Output only. The creation time. 387*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 6 388*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 389*d5c09012SAndroid Build Coastguard Worker 390*d5c09012SAndroid Build Coastguard Worker // Output only. The last-modified time. 391*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 7 392*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 393*d5c09012SAndroid Build Coastguard Worker 394*d5c09012SAndroid Build Coastguard Worker // Output only. The deletion time. 395*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp delete_time = 8 396*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 397*d5c09012SAndroid Build Coastguard Worker 398*d5c09012SAndroid Build Coastguard Worker // Output only. For a deleted resource, the time after which it will be 399*d5c09012SAndroid Build Coastguard Worker // permamently deleted. 400*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp expire_time = 9 401*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 402*d5c09012SAndroid Build Coastguard Worker 403*d5c09012SAndroid Build Coastguard Worker // Output only. Email address of the authenticated creator. 404*d5c09012SAndroid Build Coastguard Worker string creator = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; 405*d5c09012SAndroid Build Coastguard Worker 406*d5c09012SAndroid Build Coastguard Worker // Output only. Email address of the last authenticated modifier. 407*d5c09012SAndroid Build Coastguard Worker string last_modifier = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; 408*d5c09012SAndroid Build Coastguard Worker 409*d5c09012SAndroid Build Coastguard Worker // Arbitrary identifier for the API client. 410*d5c09012SAndroid Build Coastguard Worker string client = 12; 411*d5c09012SAndroid Build Coastguard Worker 412*d5c09012SAndroid Build Coastguard Worker // Arbitrary version identifier for the API client. 413*d5c09012SAndroid Build Coastguard Worker string client_version = 13; 414*d5c09012SAndroid Build Coastguard Worker 415*d5c09012SAndroid Build Coastguard Worker // The launch stage as defined by [Google Cloud Platform 416*d5c09012SAndroid Build Coastguard Worker // Launch Stages](https://cloud.google.com/terms/launch-stages). 417*d5c09012SAndroid Build Coastguard Worker // Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA 418*d5c09012SAndroid Build Coastguard Worker // is assumed. 419*d5c09012SAndroid Build Coastguard Worker // Set the launch stage to a preview stage on input to allow use of preview 420*d5c09012SAndroid Build Coastguard Worker // features in that stage. On read (or output), describes whether the resource 421*d5c09012SAndroid Build Coastguard Worker // uses preview features. 422*d5c09012SAndroid Build Coastguard Worker // <p> 423*d5c09012SAndroid Build Coastguard Worker // For example, if ALPHA is provided as input, but only BETA and GA-level 424*d5c09012SAndroid Build Coastguard Worker // features are used, this field will be BETA on output. 425*d5c09012SAndroid Build Coastguard Worker google.api.LaunchStage launch_stage = 14; 426*d5c09012SAndroid Build Coastguard Worker 427*d5c09012SAndroid Build Coastguard Worker // Settings for the Binary Authorization feature. 428*d5c09012SAndroid Build Coastguard Worker BinaryAuthorization binary_authorization = 15; 429*d5c09012SAndroid Build Coastguard Worker 430*d5c09012SAndroid Build Coastguard Worker // Required. The template used to create executions for this Job. 431*d5c09012SAndroid Build Coastguard Worker ExecutionTemplate template = 16 [(google.api.field_behavior) = REQUIRED]; 432*d5c09012SAndroid Build Coastguard Worker 433*d5c09012SAndroid Build Coastguard Worker // Output only. The generation of this Job. See comments in `reconciling` for 434*d5c09012SAndroid Build Coastguard Worker // additional information on reconciliation process in Cloud Run. 435*d5c09012SAndroid Build Coastguard Worker int64 observed_generation = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; 436*d5c09012SAndroid Build Coastguard Worker 437*d5c09012SAndroid Build Coastguard Worker // Output only. The Condition of this Job, containing its readiness status, 438*d5c09012SAndroid Build Coastguard Worker // and detailed error information in case it did not reach the desired state. 439*d5c09012SAndroid Build Coastguard Worker Condition terminal_condition = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; 440*d5c09012SAndroid Build Coastguard Worker 441*d5c09012SAndroid Build Coastguard Worker // Output only. The Conditions of all other associated sub-resources. They 442*d5c09012SAndroid Build Coastguard Worker // contain additional diagnostics information in case the Job does not reach 443*d5c09012SAndroid Build Coastguard Worker // its desired state. See comments in `reconciling` for additional information 444*d5c09012SAndroid Build Coastguard Worker // on reconciliation process in Cloud Run. 445*d5c09012SAndroid Build Coastguard Worker repeated Condition conditions = 19 446*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 447*d5c09012SAndroid Build Coastguard Worker 448*d5c09012SAndroid Build Coastguard Worker // Output only. Number of executions created for this job. 449*d5c09012SAndroid Build Coastguard Worker int32 execution_count = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; 450*d5c09012SAndroid Build Coastguard Worker 451*d5c09012SAndroid Build Coastguard Worker // Output only. Name of the last created execution. 452*d5c09012SAndroid Build Coastguard Worker ExecutionReference latest_created_execution = 22 453*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 454*d5c09012SAndroid Build Coastguard Worker 455*d5c09012SAndroid Build Coastguard Worker // Output only. Returns true if the Job is currently being acted upon by the 456*d5c09012SAndroid Build Coastguard Worker // system to bring it into the desired state. 457*d5c09012SAndroid Build Coastguard Worker // 458*d5c09012SAndroid Build Coastguard Worker // When a new Job is created, or an existing one is updated, Cloud Run 459*d5c09012SAndroid Build Coastguard Worker // will asynchronously perform all necessary steps to bring the Job to the 460*d5c09012SAndroid Build Coastguard Worker // desired state. This process is called reconciliation. 461*d5c09012SAndroid Build Coastguard Worker // While reconciliation is in process, `observed_generation` and 462*d5c09012SAndroid Build Coastguard Worker // `latest_succeeded_execution`, will have transient values that might 463*d5c09012SAndroid Build Coastguard Worker // mismatch the intended state: Once reconciliation is over (and this field is 464*d5c09012SAndroid Build Coastguard Worker // false), there are two possible outcomes: reconciliation succeeded and the 465*d5c09012SAndroid Build Coastguard Worker // state matches the Job, or there was an error, and reconciliation failed. 466*d5c09012SAndroid Build Coastguard Worker // This state can be found in `terminal_condition.state`. 467*d5c09012SAndroid Build Coastguard Worker // 468*d5c09012SAndroid Build Coastguard Worker // If reconciliation succeeded, the following fields will match: 469*d5c09012SAndroid Build Coastguard Worker // `observed_generation` and `generation`, `latest_succeeded_execution` and 470*d5c09012SAndroid Build Coastguard Worker // `latest_created_execution`. 471*d5c09012SAndroid Build Coastguard Worker // 472*d5c09012SAndroid Build Coastguard Worker // If reconciliation failed, `observed_generation` and 473*d5c09012SAndroid Build Coastguard Worker // `latest_succeeded_execution` will have the state of the last succeeded 474*d5c09012SAndroid Build Coastguard Worker // execution or empty for newly created Job. Additional information on the 475*d5c09012SAndroid Build Coastguard Worker // failure can be found in `terminal_condition` and `conditions`. 476*d5c09012SAndroid Build Coastguard Worker bool reconciling = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; 477*d5c09012SAndroid Build Coastguard Worker 478*d5c09012SAndroid Build Coastguard Worker // Output only. Reserved for future use. 479*d5c09012SAndroid Build Coastguard Worker bool satisfies_pzs = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; 480*d5c09012SAndroid Build Coastguard Worker 481*d5c09012SAndroid Build Coastguard Worker // Output only. A system-generated fingerprint for this version of the 482*d5c09012SAndroid Build Coastguard Worker // resource. May be used to detect modification conflict during updates. 483*d5c09012SAndroid Build Coastguard Worker string etag = 99 [(google.api.field_behavior) = OUTPUT_ONLY]; 484*d5c09012SAndroid Build Coastguard Worker} 485*d5c09012SAndroid Build Coastguard Worker 486*d5c09012SAndroid Build Coastguard Worker// Reference to an Execution. Use /Executions.GetExecution with the given name 487*d5c09012SAndroid Build Coastguard Worker// to get full execution including the latest status. 488*d5c09012SAndroid Build Coastguard Workermessage ExecutionReference { 489*d5c09012SAndroid Build Coastguard Worker // Name of the execution. 490*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 491*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "run.googleapis.com/Execution" } 492*d5c09012SAndroid Build Coastguard Worker ]; 493*d5c09012SAndroid Build Coastguard Worker 494*d5c09012SAndroid Build Coastguard Worker // Creation timestamp of the execution. 495*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 2; 496*d5c09012SAndroid Build Coastguard Worker 497*d5c09012SAndroid Build Coastguard Worker // Creation timestamp of the execution. 498*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp completion_time = 3; 499*d5c09012SAndroid Build Coastguard Worker} 500