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.devtools.cloudbuild.v1; 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/httpbody.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/longrunning/operations.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/duration.proto"; 27*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 28*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 29*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 30*d5c09012SAndroid Build Coastguard Worker 31*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.CloudBuild.V1"; 32*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb;cloudbuildpb"; 33*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 34*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloudbuild.v1"; 35*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "GCB"; 36*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Build\\V1"; 37*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Build::V1"; 38*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 39*d5c09012SAndroid Build Coastguard Worker type: "compute.googleapis.com/Network" 40*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/global/networks/{network}" 41*d5c09012SAndroid Build Coastguard Worker}; 42*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 43*d5c09012SAndroid Build Coastguard Worker type: "iam.googleapis.com/ServiceAccount" 44*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/serviceAccounts/{service_account}" 45*d5c09012SAndroid Build Coastguard Worker}; 46*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 47*d5c09012SAndroid Build Coastguard Worker type: "secretmanager.googleapis.com/Secret" 48*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/secrets/{secret}" 49*d5c09012SAndroid Build Coastguard Worker}; 50*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 51*d5c09012SAndroid Build Coastguard Worker type: "secretmanager.googleapis.com/SecretVersion" 52*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/secrets/{secret}/versions/{version}" 53*d5c09012SAndroid Build Coastguard Worker}; 54*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 55*d5c09012SAndroid Build Coastguard Worker type: "gkehub.googleapis.com/Membership" 56*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/memberships/{cluster_name}" 57*d5c09012SAndroid Build Coastguard Worker}; 58*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 59*d5c09012SAndroid Build Coastguard Worker type: "cloudkms.googleapis.com/CryptoKey" 60*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}" 61*d5c09012SAndroid Build Coastguard Worker}; 62*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 63*d5c09012SAndroid Build Coastguard Worker type: "pubsub.googleapis.com/Subscription" 64*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/subscriptions/{subscription}" 65*d5c09012SAndroid Build Coastguard Worker}; 66*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 67*d5c09012SAndroid Build Coastguard Worker type: "pubsub.googleapis.com/Topic" 68*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/topics/{topic}" 69*d5c09012SAndroid Build Coastguard Worker}; 70*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 71*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/Repository" 72*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/connections/{connection}/repositories/{repository}" 73*d5c09012SAndroid Build Coastguard Worker}; 74*d5c09012SAndroid Build Coastguard Worker 75*d5c09012SAndroid Build Coastguard Worker// Creates and manages builds on Google Cloud Platform. 76*d5c09012SAndroid Build Coastguard Worker// 77*d5c09012SAndroid Build Coastguard Worker// The main concept used by this API is a `Build`, which describes the location 78*d5c09012SAndroid Build Coastguard Worker// of the source to build, how to build the source, and where to store the 79*d5c09012SAndroid Build Coastguard Worker// built artifacts, if any. 80*d5c09012SAndroid Build Coastguard Worker// 81*d5c09012SAndroid Build Coastguard Worker// A user can list previously-requested builds or get builds by their ID to 82*d5c09012SAndroid Build Coastguard Worker// determine the status of the build. 83*d5c09012SAndroid Build Coastguard Workerservice CloudBuild { 84*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "cloudbuild.googleapis.com"; 85*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 86*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform"; 87*d5c09012SAndroid Build Coastguard Worker 88*d5c09012SAndroid Build Coastguard Worker // Starts a build with the specified configuration. 89*d5c09012SAndroid Build Coastguard Worker // 90*d5c09012SAndroid Build Coastguard Worker // This method returns a long-running `Operation`, which includes the build 91*d5c09012SAndroid Build Coastguard Worker // ID. Pass the build ID to `GetBuild` to determine the build status (such as 92*d5c09012SAndroid Build Coastguard Worker // `SUCCESS` or `FAILURE`). 93*d5c09012SAndroid Build Coastguard Worker rpc CreateBuild(CreateBuildRequest) returns (google.longrunning.Operation) { 94*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 95*d5c09012SAndroid Build Coastguard Worker post: "/v1/projects/{project_id}/builds" 96*d5c09012SAndroid Build Coastguard Worker body: "build" 97*d5c09012SAndroid Build Coastguard Worker additional_bindings { 98*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*/locations/*}/builds" 99*d5c09012SAndroid Build Coastguard Worker body: "build" 100*d5c09012SAndroid Build Coastguard Worker } 101*d5c09012SAndroid Build Coastguard Worker }; 102*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 103*d5c09012SAndroid Build Coastguard Worker routing_parameters { 104*d5c09012SAndroid Build Coastguard Worker field: "parent" 105*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}" 106*d5c09012SAndroid Build Coastguard Worker } 107*d5c09012SAndroid Build Coastguard Worker }; 108*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id,build"; 109*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 110*d5c09012SAndroid Build Coastguard Worker response_type: "Build" 111*d5c09012SAndroid Build Coastguard Worker metadata_type: "BuildOperationMetadata" 112*d5c09012SAndroid Build Coastguard Worker }; 113*d5c09012SAndroid Build Coastguard Worker } 114*d5c09012SAndroid Build Coastguard Worker 115*d5c09012SAndroid Build Coastguard Worker // Returns information about a previously requested build. 116*d5c09012SAndroid Build Coastguard Worker // 117*d5c09012SAndroid Build Coastguard Worker // The `Build` that is returned includes its status (such as `SUCCESS`, 118*d5c09012SAndroid Build Coastguard Worker // `FAILURE`, or `WORKING`), and timing information. 119*d5c09012SAndroid Build Coastguard Worker rpc GetBuild(GetBuildRequest) returns (Build) { 120*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 121*d5c09012SAndroid Build Coastguard Worker get: "/v1/projects/{project_id}/builds/{id}" 122*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v1/{name=projects/*/locations/*/builds/*}" } 123*d5c09012SAndroid Build Coastguard Worker }; 124*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 125*d5c09012SAndroid Build Coastguard Worker routing_parameters { 126*d5c09012SAndroid Build Coastguard Worker field: "name" 127*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/builds/*" 128*d5c09012SAndroid Build Coastguard Worker } 129*d5c09012SAndroid Build Coastguard Worker }; 130*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id,id"; 131*d5c09012SAndroid Build Coastguard Worker } 132*d5c09012SAndroid Build Coastguard Worker 133*d5c09012SAndroid Build Coastguard Worker // Lists previously requested builds. 134*d5c09012SAndroid Build Coastguard Worker // 135*d5c09012SAndroid Build Coastguard Worker // Previously requested builds may still be in-progress, or may have finished 136*d5c09012SAndroid Build Coastguard Worker // successfully or unsuccessfully. 137*d5c09012SAndroid Build Coastguard Worker rpc ListBuilds(ListBuildsRequest) returns (ListBuildsResponse) { 138*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 139*d5c09012SAndroid Build Coastguard Worker get: "/v1/projects/{project_id}/builds" 140*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v1/{parent=projects/*/locations/*}/builds" } 141*d5c09012SAndroid Build Coastguard Worker }; 142*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 143*d5c09012SAndroid Build Coastguard Worker routing_parameters { 144*d5c09012SAndroid Build Coastguard Worker field: "parent" 145*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}" 146*d5c09012SAndroid Build Coastguard Worker } 147*d5c09012SAndroid Build Coastguard Worker }; 148*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id,filter"; 149*d5c09012SAndroid Build Coastguard Worker } 150*d5c09012SAndroid Build Coastguard Worker 151*d5c09012SAndroid Build Coastguard Worker // Cancels a build in progress. 152*d5c09012SAndroid Build Coastguard Worker rpc CancelBuild(CancelBuildRequest) returns (Build) { 153*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 154*d5c09012SAndroid Build Coastguard Worker post: "/v1/projects/{project_id}/builds/{id}:cancel" 155*d5c09012SAndroid Build Coastguard Worker body: "*" 156*d5c09012SAndroid Build Coastguard Worker additional_bindings { 157*d5c09012SAndroid Build Coastguard Worker post: "/v1/{name=projects/*/locations/*/builds/*}:cancel" 158*d5c09012SAndroid Build Coastguard Worker body: "*" 159*d5c09012SAndroid Build Coastguard Worker } 160*d5c09012SAndroid Build Coastguard Worker }; 161*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 162*d5c09012SAndroid Build Coastguard Worker routing_parameters { 163*d5c09012SAndroid Build Coastguard Worker field: "name" 164*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/builds/*" 165*d5c09012SAndroid Build Coastguard Worker } 166*d5c09012SAndroid Build Coastguard Worker }; 167*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id,id"; 168*d5c09012SAndroid Build Coastguard Worker } 169*d5c09012SAndroid Build Coastguard Worker 170*d5c09012SAndroid Build Coastguard Worker // Creates a new build based on the specified build. 171*d5c09012SAndroid Build Coastguard Worker // 172*d5c09012SAndroid Build Coastguard Worker // This method creates a new build using the original build request, which may 173*d5c09012SAndroid Build Coastguard Worker // or may not result in an identical build. 174*d5c09012SAndroid Build Coastguard Worker // 175*d5c09012SAndroid Build Coastguard Worker // For triggered builds: 176*d5c09012SAndroid Build Coastguard Worker // 177*d5c09012SAndroid Build Coastguard Worker // * Triggered builds resolve to a precise revision; therefore a retry of a 178*d5c09012SAndroid Build Coastguard Worker // triggered build will result in a build that uses the same revision. 179*d5c09012SAndroid Build Coastguard Worker // 180*d5c09012SAndroid Build Coastguard Worker // For non-triggered builds that specify `RepoSource`: 181*d5c09012SAndroid Build Coastguard Worker // 182*d5c09012SAndroid Build Coastguard Worker // * If the original build built from the tip of a branch, the retried build 183*d5c09012SAndroid Build Coastguard Worker // will build from the tip of that branch, which may not be the same revision 184*d5c09012SAndroid Build Coastguard Worker // as the original build. 185*d5c09012SAndroid Build Coastguard Worker // * If the original build specified a commit sha or revision ID, the retried 186*d5c09012SAndroid Build Coastguard Worker // build will use the identical source. 187*d5c09012SAndroid Build Coastguard Worker // 188*d5c09012SAndroid Build Coastguard Worker // For builds that specify `StorageSource`: 189*d5c09012SAndroid Build Coastguard Worker // 190*d5c09012SAndroid Build Coastguard Worker // * If the original build pulled source from Cloud Storage without 191*d5c09012SAndroid Build Coastguard Worker // specifying the generation of the object, the new build will use the current 192*d5c09012SAndroid Build Coastguard Worker // object, which may be different from the original build source. 193*d5c09012SAndroid Build Coastguard Worker // * If the original build pulled source from Cloud Storage and specified the 194*d5c09012SAndroid Build Coastguard Worker // generation of the object, the new build will attempt to use the same 195*d5c09012SAndroid Build Coastguard Worker // object, which may or may not be available depending on the bucket's 196*d5c09012SAndroid Build Coastguard Worker // lifecycle management settings. 197*d5c09012SAndroid Build Coastguard Worker rpc RetryBuild(RetryBuildRequest) returns (google.longrunning.Operation) { 198*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 199*d5c09012SAndroid Build Coastguard Worker post: "/v1/projects/{project_id}/builds/{id}:retry" 200*d5c09012SAndroid Build Coastguard Worker body: "*" 201*d5c09012SAndroid Build Coastguard Worker additional_bindings { 202*d5c09012SAndroid Build Coastguard Worker post: "/v1/{name=projects/*/locations/*/builds/*}:retry" 203*d5c09012SAndroid Build Coastguard Worker body: "*" 204*d5c09012SAndroid Build Coastguard Worker } 205*d5c09012SAndroid Build Coastguard Worker }; 206*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 207*d5c09012SAndroid Build Coastguard Worker routing_parameters { 208*d5c09012SAndroid Build Coastguard Worker field: "name" 209*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/builds/*" 210*d5c09012SAndroid Build Coastguard Worker } 211*d5c09012SAndroid Build Coastguard Worker }; 212*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id,id"; 213*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 214*d5c09012SAndroid Build Coastguard Worker response_type: "Build" 215*d5c09012SAndroid Build Coastguard Worker metadata_type: "BuildOperationMetadata" 216*d5c09012SAndroid Build Coastguard Worker }; 217*d5c09012SAndroid Build Coastguard Worker } 218*d5c09012SAndroid Build Coastguard Worker 219*d5c09012SAndroid Build Coastguard Worker // Approves or rejects a pending build. 220*d5c09012SAndroid Build Coastguard Worker // 221*d5c09012SAndroid Build Coastguard Worker // If approved, the returned LRO will be analogous to the LRO returned from 222*d5c09012SAndroid Build Coastguard Worker // a CreateBuild call. 223*d5c09012SAndroid Build Coastguard Worker // 224*d5c09012SAndroid Build Coastguard Worker // If rejected, the returned LRO will be immediately done. 225*d5c09012SAndroid Build Coastguard Worker rpc ApproveBuild(ApproveBuildRequest) returns (google.longrunning.Operation) { 226*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 227*d5c09012SAndroid Build Coastguard Worker post: "/v1/{name=projects/*/builds/*}:approve" 228*d5c09012SAndroid Build Coastguard Worker body: "*" 229*d5c09012SAndroid Build Coastguard Worker additional_bindings { 230*d5c09012SAndroid Build Coastguard Worker post: "/v1/{name=projects/*/locations/*/builds/*}:approve" 231*d5c09012SAndroid Build Coastguard Worker body: "*" 232*d5c09012SAndroid Build Coastguard Worker } 233*d5c09012SAndroid Build Coastguard Worker }; 234*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 235*d5c09012SAndroid Build Coastguard Worker routing_parameters { 236*d5c09012SAndroid Build Coastguard Worker field: "name" 237*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/builds/*" 238*d5c09012SAndroid Build Coastguard Worker } 239*d5c09012SAndroid Build Coastguard Worker }; 240*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name,approval_result"; 241*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 242*d5c09012SAndroid Build Coastguard Worker response_type: "Build" 243*d5c09012SAndroid Build Coastguard Worker metadata_type: "BuildOperationMetadata" 244*d5c09012SAndroid Build Coastguard Worker }; 245*d5c09012SAndroid Build Coastguard Worker } 246*d5c09012SAndroid Build Coastguard Worker 247*d5c09012SAndroid Build Coastguard Worker // Creates a new `BuildTrigger`. 248*d5c09012SAndroid Build Coastguard Worker // 249*d5c09012SAndroid Build Coastguard Worker // This API is experimental. 250*d5c09012SAndroid Build Coastguard Worker rpc CreateBuildTrigger(CreateBuildTriggerRequest) returns (BuildTrigger) { 251*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 252*d5c09012SAndroid Build Coastguard Worker post: "/v1/projects/{project_id}/triggers" 253*d5c09012SAndroid Build Coastguard Worker body: "trigger" 254*d5c09012SAndroid Build Coastguard Worker additional_bindings { 255*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*/locations/*}/triggers" 256*d5c09012SAndroid Build Coastguard Worker body: "trigger" 257*d5c09012SAndroid Build Coastguard Worker } 258*d5c09012SAndroid Build Coastguard Worker }; 259*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 260*d5c09012SAndroid Build Coastguard Worker routing_parameters { 261*d5c09012SAndroid Build Coastguard Worker field: "parent" 262*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}" 263*d5c09012SAndroid Build Coastguard Worker } 264*d5c09012SAndroid Build Coastguard Worker }; 265*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id,trigger"; 266*d5c09012SAndroid Build Coastguard Worker } 267*d5c09012SAndroid Build Coastguard Worker 268*d5c09012SAndroid Build Coastguard Worker // Returns information about a `BuildTrigger`. 269*d5c09012SAndroid Build Coastguard Worker // 270*d5c09012SAndroid Build Coastguard Worker // This API is experimental. 271*d5c09012SAndroid Build Coastguard Worker rpc GetBuildTrigger(GetBuildTriggerRequest) returns (BuildTrigger) { 272*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 273*d5c09012SAndroid Build Coastguard Worker get: "/v1/projects/{project_id}/triggers/{trigger_id}" 274*d5c09012SAndroid Build Coastguard Worker additional_bindings { 275*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/locations/*/triggers/*}" 276*d5c09012SAndroid Build Coastguard Worker } 277*d5c09012SAndroid Build Coastguard Worker }; 278*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 279*d5c09012SAndroid Build Coastguard Worker routing_parameters { 280*d5c09012SAndroid Build Coastguard Worker field: "name" 281*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/triggers/*" 282*d5c09012SAndroid Build Coastguard Worker } 283*d5c09012SAndroid Build Coastguard Worker }; 284*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id,trigger_id"; 285*d5c09012SAndroid Build Coastguard Worker } 286*d5c09012SAndroid Build Coastguard Worker 287*d5c09012SAndroid Build Coastguard Worker // Lists existing `BuildTrigger`s. 288*d5c09012SAndroid Build Coastguard Worker // 289*d5c09012SAndroid Build Coastguard Worker // This API is experimental. 290*d5c09012SAndroid Build Coastguard Worker rpc ListBuildTriggers(ListBuildTriggersRequest) 291*d5c09012SAndroid Build Coastguard Worker returns (ListBuildTriggersResponse) { 292*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 293*d5c09012SAndroid Build Coastguard Worker get: "/v1/projects/{project_id}/triggers" 294*d5c09012SAndroid Build Coastguard Worker additional_bindings { 295*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*/locations/*}/triggers" 296*d5c09012SAndroid Build Coastguard Worker } 297*d5c09012SAndroid Build Coastguard Worker }; 298*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 299*d5c09012SAndroid Build Coastguard Worker routing_parameters { 300*d5c09012SAndroid Build Coastguard Worker field: "parent" 301*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}" 302*d5c09012SAndroid Build Coastguard Worker } 303*d5c09012SAndroid Build Coastguard Worker }; 304*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id"; 305*d5c09012SAndroid Build Coastguard Worker } 306*d5c09012SAndroid Build Coastguard Worker 307*d5c09012SAndroid Build Coastguard Worker // Deletes a `BuildTrigger` by its project ID and trigger ID. 308*d5c09012SAndroid Build Coastguard Worker // 309*d5c09012SAndroid Build Coastguard Worker // This API is experimental. 310*d5c09012SAndroid Build Coastguard Worker rpc DeleteBuildTrigger(DeleteBuildTriggerRequest) 311*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 312*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 313*d5c09012SAndroid Build Coastguard Worker delete: "/v1/projects/{project_id}/triggers/{trigger_id}" 314*d5c09012SAndroid Build Coastguard Worker additional_bindings { 315*d5c09012SAndroid Build Coastguard Worker delete: "/v1/{name=projects/*/locations/*/triggers/*}" 316*d5c09012SAndroid Build Coastguard Worker } 317*d5c09012SAndroid Build Coastguard Worker }; 318*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 319*d5c09012SAndroid Build Coastguard Worker routing_parameters { 320*d5c09012SAndroid Build Coastguard Worker field: "name" 321*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/triggers/*" 322*d5c09012SAndroid Build Coastguard Worker } 323*d5c09012SAndroid Build Coastguard Worker }; 324*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id,trigger_id"; 325*d5c09012SAndroid Build Coastguard Worker } 326*d5c09012SAndroid Build Coastguard Worker 327*d5c09012SAndroid Build Coastguard Worker // Updates a `BuildTrigger` by its project ID and trigger ID. 328*d5c09012SAndroid Build Coastguard Worker // 329*d5c09012SAndroid Build Coastguard Worker // This API is experimental. 330*d5c09012SAndroid Build Coastguard Worker rpc UpdateBuildTrigger(UpdateBuildTriggerRequest) returns (BuildTrigger) { 331*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 332*d5c09012SAndroid Build Coastguard Worker patch: "/v1/projects/{project_id}/triggers/{trigger_id}" 333*d5c09012SAndroid Build Coastguard Worker body: "trigger" 334*d5c09012SAndroid Build Coastguard Worker additional_bindings { 335*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{trigger.resource_name=projects/*/locations/*/triggers/*}" 336*d5c09012SAndroid Build Coastguard Worker body: "trigger" 337*d5c09012SAndroid Build Coastguard Worker } 338*d5c09012SAndroid Build Coastguard Worker }; 339*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 340*d5c09012SAndroid Build Coastguard Worker routing_parameters { 341*d5c09012SAndroid Build Coastguard Worker field: "trigger.resource_name" 342*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/triggers/*" 343*d5c09012SAndroid Build Coastguard Worker } 344*d5c09012SAndroid Build Coastguard Worker }; 345*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id,trigger_id,trigger"; 346*d5c09012SAndroid Build Coastguard Worker } 347*d5c09012SAndroid Build Coastguard Worker 348*d5c09012SAndroid Build Coastguard Worker // Runs a `BuildTrigger` at a particular source revision. 349*d5c09012SAndroid Build Coastguard Worker // 350*d5c09012SAndroid Build Coastguard Worker // To run a regional or global trigger, use the POST request 351*d5c09012SAndroid Build Coastguard Worker // that includes the location endpoint in the path (ex. 352*d5c09012SAndroid Build Coastguard Worker // v1/projects/{projectId}/locations/{region}/triggers/{triggerId}:run). The 353*d5c09012SAndroid Build Coastguard Worker // POST request that does not include the location endpoint in the path can 354*d5c09012SAndroid Build Coastguard Worker // only be used when running global triggers. 355*d5c09012SAndroid Build Coastguard Worker rpc RunBuildTrigger(RunBuildTriggerRequest) 356*d5c09012SAndroid Build Coastguard Worker returns (google.longrunning.Operation) { 357*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 358*d5c09012SAndroid Build Coastguard Worker post: "/v1/projects/{project_id}/triggers/{trigger_id}:run" 359*d5c09012SAndroid Build Coastguard Worker body: "source" 360*d5c09012SAndroid Build Coastguard Worker additional_bindings { 361*d5c09012SAndroid Build Coastguard Worker post: "/v1/{name=projects/*/locations/*/triggers/*}:run" 362*d5c09012SAndroid Build Coastguard Worker body: "*" 363*d5c09012SAndroid Build Coastguard Worker } 364*d5c09012SAndroid Build Coastguard Worker }; 365*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 366*d5c09012SAndroid Build Coastguard Worker routing_parameters { 367*d5c09012SAndroid Build Coastguard Worker field: "name" 368*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/triggers/*" 369*d5c09012SAndroid Build Coastguard Worker } 370*d5c09012SAndroid Build Coastguard Worker }; 371*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id,trigger_id,source"; 372*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 373*d5c09012SAndroid Build Coastguard Worker response_type: "Build" 374*d5c09012SAndroid Build Coastguard Worker metadata_type: "BuildOperationMetadata" 375*d5c09012SAndroid Build Coastguard Worker }; 376*d5c09012SAndroid Build Coastguard Worker } 377*d5c09012SAndroid Build Coastguard Worker 378*d5c09012SAndroid Build Coastguard Worker // ReceiveTriggerWebhook [Experimental] is called when the API receives a 379*d5c09012SAndroid Build Coastguard Worker // webhook request targeted at a specific trigger. 380*d5c09012SAndroid Build Coastguard Worker rpc ReceiveTriggerWebhook(ReceiveTriggerWebhookRequest) 381*d5c09012SAndroid Build Coastguard Worker returns (ReceiveTriggerWebhookResponse) { 382*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 383*d5c09012SAndroid Build Coastguard Worker post: "/v1/projects/{project_id}/triggers/{trigger}:webhook" 384*d5c09012SAndroid Build Coastguard Worker body: "body" 385*d5c09012SAndroid Build Coastguard Worker additional_bindings { 386*d5c09012SAndroid Build Coastguard Worker post: "/v1/{name=projects/*/locations/*/triggers/*}:webhook" 387*d5c09012SAndroid Build Coastguard Worker body: "body" 388*d5c09012SAndroid Build Coastguard Worker } 389*d5c09012SAndroid Build Coastguard Worker }; 390*d5c09012SAndroid Build Coastguard Worker } 391*d5c09012SAndroid Build Coastguard Worker 392*d5c09012SAndroid Build Coastguard Worker // Creates a `WorkerPool`. 393*d5c09012SAndroid Build Coastguard Worker rpc CreateWorkerPool(CreateWorkerPoolRequest) 394*d5c09012SAndroid Build Coastguard Worker returns (google.longrunning.Operation) { 395*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 396*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*/locations/*}/workerPools" 397*d5c09012SAndroid Build Coastguard Worker body: "worker_pool" 398*d5c09012SAndroid Build Coastguard Worker }; 399*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 400*d5c09012SAndroid Build Coastguard Worker routing_parameters { 401*d5c09012SAndroid Build Coastguard Worker field: "parent" 402*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}" 403*d5c09012SAndroid Build Coastguard Worker } 404*d5c09012SAndroid Build Coastguard Worker }; 405*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,worker_pool,worker_pool_id"; 406*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 407*d5c09012SAndroid Build Coastguard Worker response_type: "WorkerPool" 408*d5c09012SAndroid Build Coastguard Worker metadata_type: "CreateWorkerPoolOperationMetadata" 409*d5c09012SAndroid Build Coastguard Worker }; 410*d5c09012SAndroid Build Coastguard Worker } 411*d5c09012SAndroid Build Coastguard Worker 412*d5c09012SAndroid Build Coastguard Worker // Returns details of a `WorkerPool`. 413*d5c09012SAndroid Build Coastguard Worker rpc GetWorkerPool(GetWorkerPoolRequest) returns (WorkerPool) { 414*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 415*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/locations/*/workerPools/*}" 416*d5c09012SAndroid Build Coastguard Worker }; 417*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 418*d5c09012SAndroid Build Coastguard Worker routing_parameters { 419*d5c09012SAndroid Build Coastguard Worker field: "name" 420*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/workerPools/*" 421*d5c09012SAndroid Build Coastguard Worker } 422*d5c09012SAndroid Build Coastguard Worker }; 423*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 424*d5c09012SAndroid Build Coastguard Worker } 425*d5c09012SAndroid Build Coastguard Worker 426*d5c09012SAndroid Build Coastguard Worker // Deletes a `WorkerPool`. 427*d5c09012SAndroid Build Coastguard Worker rpc DeleteWorkerPool(DeleteWorkerPoolRequest) 428*d5c09012SAndroid Build Coastguard Worker returns (google.longrunning.Operation) { 429*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 430*d5c09012SAndroid Build Coastguard Worker delete: "/v1/{name=projects/*/locations/*/workerPools/*}" 431*d5c09012SAndroid Build Coastguard Worker }; 432*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 433*d5c09012SAndroid Build Coastguard Worker routing_parameters { 434*d5c09012SAndroid Build Coastguard Worker field: "name" 435*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/workerPools/*" 436*d5c09012SAndroid Build Coastguard Worker } 437*d5c09012SAndroid Build Coastguard Worker }; 438*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 439*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 440*d5c09012SAndroid Build Coastguard Worker response_type: "google.protobuf.Empty" 441*d5c09012SAndroid Build Coastguard Worker metadata_type: "DeleteWorkerPoolOperationMetadata" 442*d5c09012SAndroid Build Coastguard Worker }; 443*d5c09012SAndroid Build Coastguard Worker } 444*d5c09012SAndroid Build Coastguard Worker 445*d5c09012SAndroid Build Coastguard Worker // Updates a `WorkerPool`. 446*d5c09012SAndroid Build Coastguard Worker rpc UpdateWorkerPool(UpdateWorkerPoolRequest) 447*d5c09012SAndroid Build Coastguard Worker returns (google.longrunning.Operation) { 448*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 449*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{worker_pool.name=projects/*/locations/*/workerPools/*}" 450*d5c09012SAndroid Build Coastguard Worker body: "worker_pool" 451*d5c09012SAndroid Build Coastguard Worker }; 452*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 453*d5c09012SAndroid Build Coastguard Worker routing_parameters { 454*d5c09012SAndroid Build Coastguard Worker field: "worker_pool.name" 455*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}/workerPools/*" 456*d5c09012SAndroid Build Coastguard Worker } 457*d5c09012SAndroid Build Coastguard Worker }; 458*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "worker_pool,update_mask"; 459*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 460*d5c09012SAndroid Build Coastguard Worker response_type: "WorkerPool" 461*d5c09012SAndroid Build Coastguard Worker metadata_type: "UpdateWorkerPoolOperationMetadata" 462*d5c09012SAndroid Build Coastguard Worker }; 463*d5c09012SAndroid Build Coastguard Worker } 464*d5c09012SAndroid Build Coastguard Worker 465*d5c09012SAndroid Build Coastguard Worker // Lists `WorkerPool`s. 466*d5c09012SAndroid Build Coastguard Worker rpc ListWorkerPools(ListWorkerPoolsRequest) 467*d5c09012SAndroid Build Coastguard Worker returns (ListWorkerPoolsResponse) { 468*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 469*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*/locations/*}/workerPools" 470*d5c09012SAndroid Build Coastguard Worker }; 471*d5c09012SAndroid Build Coastguard Worker option (google.api.routing) = { 472*d5c09012SAndroid Build Coastguard Worker routing_parameters { 473*d5c09012SAndroid Build Coastguard Worker field: "parent" 474*d5c09012SAndroid Build Coastguard Worker path_template: "projects/*/locations/{location=*}" 475*d5c09012SAndroid Build Coastguard Worker } 476*d5c09012SAndroid Build Coastguard Worker }; 477*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 478*d5c09012SAndroid Build Coastguard Worker } 479*d5c09012SAndroid Build Coastguard Worker} 480*d5c09012SAndroid Build Coastguard Worker 481*d5c09012SAndroid Build Coastguard Worker// Specifies a build to retry. 482*d5c09012SAndroid Build Coastguard Workermessage RetryBuildRequest { 483*d5c09012SAndroid Build Coastguard Worker // The name of the `Build` to retry. 484*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}/builds/{build}` 485*d5c09012SAndroid Build Coastguard Worker string name = 3 [(google.api.resource_reference) = { 486*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/Build" 487*d5c09012SAndroid Build Coastguard Worker }]; 488*d5c09012SAndroid Build Coastguard Worker 489*d5c09012SAndroid Build Coastguard Worker // Required. ID of the project. 490*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 491*d5c09012SAndroid Build Coastguard Worker 492*d5c09012SAndroid Build Coastguard Worker // Required. Build ID of the original build. 493*d5c09012SAndroid Build Coastguard Worker string id = 2 [(google.api.field_behavior) = REQUIRED]; 494*d5c09012SAndroid Build Coastguard Worker} 495*d5c09012SAndroid Build Coastguard Worker 496*d5c09012SAndroid Build Coastguard Worker// Specifies a build trigger to run and the source to use. 497*d5c09012SAndroid Build Coastguard Workermessage RunBuildTriggerRequest { 498*d5c09012SAndroid Build Coastguard Worker // The name of the `Trigger` to run. 499*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}/triggers/{trigger}` 500*d5c09012SAndroid Build Coastguard Worker string name = 4 [(google.api.resource_reference) = { 501*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/BuildTrigger" 502*d5c09012SAndroid Build Coastguard Worker }]; 503*d5c09012SAndroid Build Coastguard Worker 504*d5c09012SAndroid Build Coastguard Worker // Required. ID of the project. 505*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 506*d5c09012SAndroid Build Coastguard Worker 507*d5c09012SAndroid Build Coastguard Worker // Required. ID of the trigger. 508*d5c09012SAndroid Build Coastguard Worker string trigger_id = 2 [(google.api.field_behavior) = REQUIRED]; 509*d5c09012SAndroid Build Coastguard Worker 510*d5c09012SAndroid Build Coastguard Worker // Source to build against this trigger. 511*d5c09012SAndroid Build Coastguard Worker // Branch and tag names cannot consist of regular expressions. 512*d5c09012SAndroid Build Coastguard Worker RepoSource source = 3; 513*d5c09012SAndroid Build Coastguard Worker} 514*d5c09012SAndroid Build Coastguard Worker 515*d5c09012SAndroid Build Coastguard Worker// Location of the source in an archive file in Cloud Storage. 516*d5c09012SAndroid Build Coastguard Workermessage StorageSource { 517*d5c09012SAndroid Build Coastguard Worker // Cloud Storage bucket containing the source (see 518*d5c09012SAndroid Build Coastguard Worker // [Bucket Name 519*d5c09012SAndroid Build Coastguard Worker // Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). 520*d5c09012SAndroid Build Coastguard Worker string bucket = 1; 521*d5c09012SAndroid Build Coastguard Worker 522*d5c09012SAndroid Build Coastguard Worker // Cloud Storage object containing the source. 523*d5c09012SAndroid Build Coastguard Worker // 524*d5c09012SAndroid Build Coastguard Worker // This object must be a zipped (`.zip`) or gzipped archive file (`.tar.gz`) 525*d5c09012SAndroid Build Coastguard Worker // containing source to build. 526*d5c09012SAndroid Build Coastguard Worker string object = 2; 527*d5c09012SAndroid Build Coastguard Worker 528*d5c09012SAndroid Build Coastguard Worker // Cloud Storage generation for the object. If the generation is 529*d5c09012SAndroid Build Coastguard Worker // omitted, the latest generation will be used. 530*d5c09012SAndroid Build Coastguard Worker int64 generation = 3; 531*d5c09012SAndroid Build Coastguard Worker 532*d5c09012SAndroid Build Coastguard Worker // Specifies the tool to fetch the source file for the build. 533*d5c09012SAndroid Build Coastguard Worker enum SourceFetcher { 534*d5c09012SAndroid Build Coastguard Worker // Unspecified. Defaults to GSUTIL. 535*d5c09012SAndroid Build Coastguard Worker SOURCE_FETCHER_UNSPECIFIED = 0; 536*d5c09012SAndroid Build Coastguard Worker 537*d5c09012SAndroid Build Coastguard Worker // Use the "gsutil" tool to download the source file. 538*d5c09012SAndroid Build Coastguard Worker GSUTIL = 1; 539*d5c09012SAndroid Build Coastguard Worker 540*d5c09012SAndroid Build Coastguard Worker // Use the Cloud Storage Fetcher tool to download the source file. 541*d5c09012SAndroid Build Coastguard Worker GCS_FETCHER = 2; 542*d5c09012SAndroid Build Coastguard Worker } 543*d5c09012SAndroid Build Coastguard Worker 544*d5c09012SAndroid Build Coastguard Worker // Option to specify the tool to fetch the source file for the build. 545*d5c09012SAndroid Build Coastguard Worker SourceFetcher source_fetcher = 5 [(google.api.field_behavior) = OPTIONAL]; 546*d5c09012SAndroid Build Coastguard Worker} 547*d5c09012SAndroid Build Coastguard Worker 548*d5c09012SAndroid Build Coastguard Worker// Location of the source in any accessible Git repository. 549*d5c09012SAndroid Build Coastguard Workermessage GitSource { 550*d5c09012SAndroid Build Coastguard Worker // Location of the Git repo to build. 551*d5c09012SAndroid Build Coastguard Worker // 552*d5c09012SAndroid Build Coastguard Worker // This will be used as a `git remote`, see 553*d5c09012SAndroid Build Coastguard Worker // https://git-scm.com/docs/git-remote. 554*d5c09012SAndroid Build Coastguard Worker string url = 1; 555*d5c09012SAndroid Build Coastguard Worker 556*d5c09012SAndroid Build Coastguard Worker // Directory, relative to the source root, in which to run the build. 557*d5c09012SAndroid Build Coastguard Worker // 558*d5c09012SAndroid Build Coastguard Worker // This must be a relative path. If a step's `dir` is specified and is an 559*d5c09012SAndroid Build Coastguard Worker // absolute path, this value is ignored for that step's execution. 560*d5c09012SAndroid Build Coastguard Worker string dir = 5; 561*d5c09012SAndroid Build Coastguard Worker 562*d5c09012SAndroid Build Coastguard Worker // The revision to fetch from the Git repository such as a branch, a tag, a 563*d5c09012SAndroid Build Coastguard Worker // commit SHA, or any Git ref. 564*d5c09012SAndroid Build Coastguard Worker // 565*d5c09012SAndroid Build Coastguard Worker // Cloud Build uses `git fetch` to fetch the revision from the Git 566*d5c09012SAndroid Build Coastguard Worker // repository; therefore make sure that the string you provide for `revision` 567*d5c09012SAndroid Build Coastguard Worker // is parsable by the command. For information on string values accepted by 568*d5c09012SAndroid Build Coastguard Worker // `git fetch`, see 569*d5c09012SAndroid Build Coastguard Worker // https://git-scm.com/docs/gitrevisions#_specifying_revisions. For 570*d5c09012SAndroid Build Coastguard Worker // information on `git fetch`, see https://git-scm.com/docs/git-fetch. 571*d5c09012SAndroid Build Coastguard Worker string revision = 6; 572*d5c09012SAndroid Build Coastguard Worker} 573*d5c09012SAndroid Build Coastguard Worker 574*d5c09012SAndroid Build Coastguard Worker// Location of the source in a Google Cloud Source Repository. 575*d5c09012SAndroid Build Coastguard Workermessage RepoSource { 576*d5c09012SAndroid Build Coastguard Worker // ID of the project that owns the Cloud Source Repository. If omitted, the 577*d5c09012SAndroid Build Coastguard Worker // project ID requesting the build is assumed. 578*d5c09012SAndroid Build Coastguard Worker string project_id = 1; 579*d5c09012SAndroid Build Coastguard Worker 580*d5c09012SAndroid Build Coastguard Worker // Name of the Cloud Source Repository. 581*d5c09012SAndroid Build Coastguard Worker string repo_name = 2; 582*d5c09012SAndroid Build Coastguard Worker 583*d5c09012SAndroid Build Coastguard Worker // A revision within the Cloud Source Repository must be specified in 584*d5c09012SAndroid Build Coastguard Worker // one of these ways. 585*d5c09012SAndroid Build Coastguard Worker oneof revision { 586*d5c09012SAndroid Build Coastguard Worker // Regex matching branches to build. 587*d5c09012SAndroid Build Coastguard Worker // 588*d5c09012SAndroid Build Coastguard Worker // The syntax of the regular expressions accepted is the syntax accepted by 589*d5c09012SAndroid Build Coastguard Worker // RE2 and described at https://github.com/google/re2/wiki/Syntax 590*d5c09012SAndroid Build Coastguard Worker string branch_name = 3; 591*d5c09012SAndroid Build Coastguard Worker 592*d5c09012SAndroid Build Coastguard Worker // Regex matching tags to build. 593*d5c09012SAndroid Build Coastguard Worker // 594*d5c09012SAndroid Build Coastguard Worker // The syntax of the regular expressions accepted is the syntax accepted by 595*d5c09012SAndroid Build Coastguard Worker // RE2 and described at https://github.com/google/re2/wiki/Syntax 596*d5c09012SAndroid Build Coastguard Worker string tag_name = 4; 597*d5c09012SAndroid Build Coastguard Worker 598*d5c09012SAndroid Build Coastguard Worker // Explicit commit SHA to build. 599*d5c09012SAndroid Build Coastguard Worker string commit_sha = 5; 600*d5c09012SAndroid Build Coastguard Worker } 601*d5c09012SAndroid Build Coastguard Worker 602*d5c09012SAndroid Build Coastguard Worker // Directory, relative to the source root, in which to run the build. 603*d5c09012SAndroid Build Coastguard Worker // 604*d5c09012SAndroid Build Coastguard Worker // This must be a relative path. If a step's `dir` is specified and is an 605*d5c09012SAndroid Build Coastguard Worker // absolute path, this value is ignored for that step's execution. 606*d5c09012SAndroid Build Coastguard Worker string dir = 7; 607*d5c09012SAndroid Build Coastguard Worker 608*d5c09012SAndroid Build Coastguard Worker // Only trigger a build if the revision regex does NOT match the revision 609*d5c09012SAndroid Build Coastguard Worker // regex. 610*d5c09012SAndroid Build Coastguard Worker bool invert_regex = 8; 611*d5c09012SAndroid Build Coastguard Worker 612*d5c09012SAndroid Build Coastguard Worker // Substitutions to use in a triggered build. 613*d5c09012SAndroid Build Coastguard Worker // Should only be used with RunBuildTrigger 614*d5c09012SAndroid Build Coastguard Worker map<string, string> substitutions = 9; 615*d5c09012SAndroid Build Coastguard Worker} 616*d5c09012SAndroid Build Coastguard Worker 617*d5c09012SAndroid Build Coastguard Worker// Location of the source manifest in Cloud Storage. 618*d5c09012SAndroid Build Coastguard Worker// This feature is in Preview; see description 619*d5c09012SAndroid Build Coastguard Worker// [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher). 620*d5c09012SAndroid Build Coastguard Workermessage StorageSourceManifest { 621*d5c09012SAndroid Build Coastguard Worker // Cloud Storage bucket containing the source manifest (see [Bucket 622*d5c09012SAndroid Build Coastguard Worker // Name 623*d5c09012SAndroid Build Coastguard Worker // Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). 624*d5c09012SAndroid Build Coastguard Worker string bucket = 1; 625*d5c09012SAndroid Build Coastguard Worker 626*d5c09012SAndroid Build Coastguard Worker // Cloud Storage object containing the source manifest. 627*d5c09012SAndroid Build Coastguard Worker // 628*d5c09012SAndroid Build Coastguard Worker // This object must be a JSON file. 629*d5c09012SAndroid Build Coastguard Worker string object = 2; 630*d5c09012SAndroid Build Coastguard Worker 631*d5c09012SAndroid Build Coastguard Worker // Cloud Storage generation for the object. If the generation is 632*d5c09012SAndroid Build Coastguard Worker // omitted, the latest generation will be used. 633*d5c09012SAndroid Build Coastguard Worker int64 generation = 3; 634*d5c09012SAndroid Build Coastguard Worker} 635*d5c09012SAndroid Build Coastguard Worker 636*d5c09012SAndroid Build Coastguard Worker// Location of the source in a supported storage service. 637*d5c09012SAndroid Build Coastguard Workermessage Source { 638*d5c09012SAndroid Build Coastguard Worker // Location of source. 639*d5c09012SAndroid Build Coastguard Worker oneof source { 640*d5c09012SAndroid Build Coastguard Worker // If provided, get the source from this location in Cloud Storage. 641*d5c09012SAndroid Build Coastguard Worker StorageSource storage_source = 2; 642*d5c09012SAndroid Build Coastguard Worker 643*d5c09012SAndroid Build Coastguard Worker // If provided, get the source from this location in a Cloud Source 644*d5c09012SAndroid Build Coastguard Worker // Repository. 645*d5c09012SAndroid Build Coastguard Worker RepoSource repo_source = 3; 646*d5c09012SAndroid Build Coastguard Worker 647*d5c09012SAndroid Build Coastguard Worker // If provided, get the source from this Git repository. 648*d5c09012SAndroid Build Coastguard Worker GitSource git_source = 5; 649*d5c09012SAndroid Build Coastguard Worker 650*d5c09012SAndroid Build Coastguard Worker // If provided, get the source from this manifest in Cloud Storage. 651*d5c09012SAndroid Build Coastguard Worker // This feature is in Preview; see description 652*d5c09012SAndroid Build Coastguard Worker // [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher). 653*d5c09012SAndroid Build Coastguard Worker StorageSourceManifest storage_source_manifest = 8; 654*d5c09012SAndroid Build Coastguard Worker } 655*d5c09012SAndroid Build Coastguard Worker} 656*d5c09012SAndroid Build Coastguard Worker 657*d5c09012SAndroid Build Coastguard Worker// An image built by the pipeline. 658*d5c09012SAndroid Build Coastguard Workermessage BuiltImage { 659*d5c09012SAndroid Build Coastguard Worker // Name used to push the container image to Google Container Registry, as 660*d5c09012SAndroid Build Coastguard Worker // presented to `docker push`. 661*d5c09012SAndroid Build Coastguard Worker string name = 1; 662*d5c09012SAndroid Build Coastguard Worker 663*d5c09012SAndroid Build Coastguard Worker // Docker Registry 2.0 digest. 664*d5c09012SAndroid Build Coastguard Worker string digest = 3; 665*d5c09012SAndroid Build Coastguard Worker 666*d5c09012SAndroid Build Coastguard Worker // Output only. Stores timing information for pushing the specified image. 667*d5c09012SAndroid Build Coastguard Worker TimeSpan push_timing = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 668*d5c09012SAndroid Build Coastguard Worker} 669*d5c09012SAndroid Build Coastguard Worker 670*d5c09012SAndroid Build Coastguard Worker// Artifact uploaded using the PythonPackage directive. 671*d5c09012SAndroid Build Coastguard Workermessage UploadedPythonPackage { 672*d5c09012SAndroid Build Coastguard Worker // URI of the uploaded artifact. 673*d5c09012SAndroid Build Coastguard Worker string uri = 1; 674*d5c09012SAndroid Build Coastguard Worker 675*d5c09012SAndroid Build Coastguard Worker // Hash types and values of the Python Artifact. 676*d5c09012SAndroid Build Coastguard Worker FileHashes file_hashes = 2; 677*d5c09012SAndroid Build Coastguard Worker 678*d5c09012SAndroid Build Coastguard Worker // Output only. Stores timing information for pushing the specified artifact. 679*d5c09012SAndroid Build Coastguard Worker TimeSpan push_timing = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 680*d5c09012SAndroid Build Coastguard Worker} 681*d5c09012SAndroid Build Coastguard Worker 682*d5c09012SAndroid Build Coastguard Worker// A Maven artifact uploaded using the MavenArtifact directive. 683*d5c09012SAndroid Build Coastguard Workermessage UploadedMavenArtifact { 684*d5c09012SAndroid Build Coastguard Worker // URI of the uploaded artifact. 685*d5c09012SAndroid Build Coastguard Worker string uri = 1; 686*d5c09012SAndroid Build Coastguard Worker 687*d5c09012SAndroid Build Coastguard Worker // Hash types and values of the Maven Artifact. 688*d5c09012SAndroid Build Coastguard Worker FileHashes file_hashes = 2; 689*d5c09012SAndroid Build Coastguard Worker 690*d5c09012SAndroid Build Coastguard Worker // Output only. Stores timing information for pushing the specified artifact. 691*d5c09012SAndroid Build Coastguard Worker TimeSpan push_timing = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 692*d5c09012SAndroid Build Coastguard Worker} 693*d5c09012SAndroid Build Coastguard Worker 694*d5c09012SAndroid Build Coastguard Worker// An npm package uploaded to Artifact Registry using the NpmPackage 695*d5c09012SAndroid Build Coastguard Worker// directive. 696*d5c09012SAndroid Build Coastguard Workermessage UploadedNpmPackage { 697*d5c09012SAndroid Build Coastguard Worker // URI of the uploaded npm package. 698*d5c09012SAndroid Build Coastguard Worker string uri = 1; 699*d5c09012SAndroid Build Coastguard Worker 700*d5c09012SAndroid Build Coastguard Worker // Hash types and values of the npm package. 701*d5c09012SAndroid Build Coastguard Worker FileHashes file_hashes = 2; 702*d5c09012SAndroid Build Coastguard Worker 703*d5c09012SAndroid Build Coastguard Worker // Output only. Stores timing information for pushing the specified artifact. 704*d5c09012SAndroid Build Coastguard Worker TimeSpan push_timing = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 705*d5c09012SAndroid Build Coastguard Worker} 706*d5c09012SAndroid Build Coastguard Worker 707*d5c09012SAndroid Build Coastguard Worker// A step in the build pipeline. 708*d5c09012SAndroid Build Coastguard Workermessage BuildStep { 709*d5c09012SAndroid Build Coastguard Worker // Required. The name of the container image that will run this particular 710*d5c09012SAndroid Build Coastguard Worker // build step. 711*d5c09012SAndroid Build Coastguard Worker // 712*d5c09012SAndroid Build Coastguard Worker // If the image is available in the host's Docker daemon's cache, it 713*d5c09012SAndroid Build Coastguard Worker // will be run directly. If not, the host will attempt to pull the image 714*d5c09012SAndroid Build Coastguard Worker // first, using the builder service account's credentials if necessary. 715*d5c09012SAndroid Build Coastguard Worker // 716*d5c09012SAndroid Build Coastguard Worker // The Docker daemon's cache will already have the latest versions of all of 717*d5c09012SAndroid Build Coastguard Worker // the officially supported build steps 718*d5c09012SAndroid Build Coastguard Worker // ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)). 719*d5c09012SAndroid Build Coastguard Worker // The Docker daemon will also have cached many of the layers for some popular 720*d5c09012SAndroid Build Coastguard Worker // images, like "ubuntu", "debian", but they will be refreshed at the time you 721*d5c09012SAndroid Build Coastguard Worker // attempt to use them. 722*d5c09012SAndroid Build Coastguard Worker // 723*d5c09012SAndroid Build Coastguard Worker // If you built an image in a previous build step, it will be stored in the 724*d5c09012SAndroid Build Coastguard Worker // host's Docker daemon's cache and is available to use as the name for a 725*d5c09012SAndroid Build Coastguard Worker // later build step. 726*d5c09012SAndroid Build Coastguard Worker string name = 1; 727*d5c09012SAndroid Build Coastguard Worker 728*d5c09012SAndroid Build Coastguard Worker // A list of environment variable definitions to be used when running a step. 729*d5c09012SAndroid Build Coastguard Worker // 730*d5c09012SAndroid Build Coastguard Worker // The elements are of the form "KEY=VALUE" for the environment variable "KEY" 731*d5c09012SAndroid Build Coastguard Worker // being given the value "VALUE". 732*d5c09012SAndroid Build Coastguard Worker repeated string env = 2; 733*d5c09012SAndroid Build Coastguard Worker 734*d5c09012SAndroid Build Coastguard Worker // A list of arguments that will be presented to the step when it is started. 735*d5c09012SAndroid Build Coastguard Worker // 736*d5c09012SAndroid Build Coastguard Worker // If the image used to run the step's container has an entrypoint, the `args` 737*d5c09012SAndroid Build Coastguard Worker // are used as arguments to that entrypoint. If the image does not define 738*d5c09012SAndroid Build Coastguard Worker // an entrypoint, the first element in args is used as the entrypoint, 739*d5c09012SAndroid Build Coastguard Worker // and the remainder will be used as arguments. 740*d5c09012SAndroid Build Coastguard Worker repeated string args = 3; 741*d5c09012SAndroid Build Coastguard Worker 742*d5c09012SAndroid Build Coastguard Worker // Working directory to use when running this step's container. 743*d5c09012SAndroid Build Coastguard Worker // 744*d5c09012SAndroid Build Coastguard Worker // If this value is a relative path, it is relative to the build's working 745*d5c09012SAndroid Build Coastguard Worker // directory. If this value is absolute, it may be outside the build's working 746*d5c09012SAndroid Build Coastguard Worker // directory, in which case the contents of the path may not be persisted 747*d5c09012SAndroid Build Coastguard Worker // across build step executions, unless a `volume` for that path is specified. 748*d5c09012SAndroid Build Coastguard Worker // 749*d5c09012SAndroid Build Coastguard Worker // If the build specifies a `RepoSource` with `dir` and a step with a `dir`, 750*d5c09012SAndroid Build Coastguard Worker // which specifies an absolute path, the `RepoSource` `dir` is ignored for 751*d5c09012SAndroid Build Coastguard Worker // the step's execution. 752*d5c09012SAndroid Build Coastguard Worker string dir = 4; 753*d5c09012SAndroid Build Coastguard Worker 754*d5c09012SAndroid Build Coastguard Worker // Unique identifier for this build step, used in `wait_for` to 755*d5c09012SAndroid Build Coastguard Worker // reference this build step as a dependency. 756*d5c09012SAndroid Build Coastguard Worker string id = 5; 757*d5c09012SAndroid Build Coastguard Worker 758*d5c09012SAndroid Build Coastguard Worker // The ID(s) of the step(s) that this build step depends on. 759*d5c09012SAndroid Build Coastguard Worker // This build step will not start until all the build steps in `wait_for` 760*d5c09012SAndroid Build Coastguard Worker // have completed successfully. If `wait_for` is empty, this build step will 761*d5c09012SAndroid Build Coastguard Worker // start when all previous build steps in the `Build.Steps` list have 762*d5c09012SAndroid Build Coastguard Worker // completed successfully. 763*d5c09012SAndroid Build Coastguard Worker repeated string wait_for = 6; 764*d5c09012SAndroid Build Coastguard Worker 765*d5c09012SAndroid Build Coastguard Worker // Entrypoint to be used instead of the build step image's default entrypoint. 766*d5c09012SAndroid Build Coastguard Worker // If unset, the image's default entrypoint is used. 767*d5c09012SAndroid Build Coastguard Worker string entrypoint = 7; 768*d5c09012SAndroid Build Coastguard Worker 769*d5c09012SAndroid Build Coastguard Worker // A list of environment variables which are encrypted using a Cloud Key 770*d5c09012SAndroid Build Coastguard Worker // Management Service crypto key. These values must be specified in the 771*d5c09012SAndroid Build Coastguard Worker // build's `Secret`. 772*d5c09012SAndroid Build Coastguard Worker repeated string secret_env = 8; 773*d5c09012SAndroid Build Coastguard Worker 774*d5c09012SAndroid Build Coastguard Worker // List of volumes to mount into the build step. 775*d5c09012SAndroid Build Coastguard Worker // 776*d5c09012SAndroid Build Coastguard Worker // Each volume is created as an empty volume prior to execution of the 777*d5c09012SAndroid Build Coastguard Worker // build step. Upon completion of the build, volumes and their contents are 778*d5c09012SAndroid Build Coastguard Worker // discarded. 779*d5c09012SAndroid Build Coastguard Worker // 780*d5c09012SAndroid Build Coastguard Worker // Using a named volume in only one step is not valid as it is indicative 781*d5c09012SAndroid Build Coastguard Worker // of a build request with an incorrect configuration. 782*d5c09012SAndroid Build Coastguard Worker repeated Volume volumes = 9; 783*d5c09012SAndroid Build Coastguard Worker 784*d5c09012SAndroid Build Coastguard Worker // Output only. Stores timing information for executing this build step. 785*d5c09012SAndroid Build Coastguard Worker TimeSpan timing = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; 786*d5c09012SAndroid Build Coastguard Worker 787*d5c09012SAndroid Build Coastguard Worker // Output only. Stores timing information for pulling this build step's 788*d5c09012SAndroid Build Coastguard Worker // builder image only. 789*d5c09012SAndroid Build Coastguard Worker TimeSpan pull_timing = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; 790*d5c09012SAndroid Build Coastguard Worker 791*d5c09012SAndroid Build Coastguard Worker // Time limit for executing this build step. If not defined, the step has no 792*d5c09012SAndroid Build Coastguard Worker // time limit and will be allowed to continue to run until either it completes 793*d5c09012SAndroid Build Coastguard Worker // or the build itself times out. 794*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration timeout = 11; 795*d5c09012SAndroid Build Coastguard Worker 796*d5c09012SAndroid Build Coastguard Worker // Output only. Status of the build step. At this time, build step status is 797*d5c09012SAndroid Build Coastguard Worker // only updated on build completion; step status is not updated in real-time 798*d5c09012SAndroid Build Coastguard Worker // as the build progresses. 799*d5c09012SAndroid Build Coastguard Worker Build.Status status = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; 800*d5c09012SAndroid Build Coastguard Worker 801*d5c09012SAndroid Build Coastguard Worker // Allow this build step to fail without failing the entire build. 802*d5c09012SAndroid Build Coastguard Worker // 803*d5c09012SAndroid Build Coastguard Worker // If false, the entire build will fail if this step fails. Otherwise, the 804*d5c09012SAndroid Build Coastguard Worker // build will succeed, but this step will still have a failure status. 805*d5c09012SAndroid Build Coastguard Worker // Error information will be reported in the failure_detail field. 806*d5c09012SAndroid Build Coastguard Worker bool allow_failure = 14; 807*d5c09012SAndroid Build Coastguard Worker 808*d5c09012SAndroid Build Coastguard Worker // Output only. Return code from running the step. 809*d5c09012SAndroid Build Coastguard Worker int32 exit_code = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; 810*d5c09012SAndroid Build Coastguard Worker 811*d5c09012SAndroid Build Coastguard Worker // Allow this build step to fail without failing the entire build if and 812*d5c09012SAndroid Build Coastguard Worker // only if the exit code is one of the specified codes. If allow_failure 813*d5c09012SAndroid Build Coastguard Worker // is also specified, this field will take precedence. 814*d5c09012SAndroid Build Coastguard Worker repeated int32 allow_exit_codes = 18; 815*d5c09012SAndroid Build Coastguard Worker 816*d5c09012SAndroid Build Coastguard Worker // A shell script to be executed in the step. 817*d5c09012SAndroid Build Coastguard Worker // 818*d5c09012SAndroid Build Coastguard Worker // When script is provided, the user cannot specify the entrypoint or args. 819*d5c09012SAndroid Build Coastguard Worker string script = 19; 820*d5c09012SAndroid Build Coastguard Worker 821*d5c09012SAndroid Build Coastguard Worker // Option to include built-in and custom substitutions as env variables 822*d5c09012SAndroid Build Coastguard Worker // for this build step. This option will override the global option 823*d5c09012SAndroid Build Coastguard Worker // in BuildOption. 824*d5c09012SAndroid Build Coastguard Worker optional bool automap_substitutions = 20; 825*d5c09012SAndroid Build Coastguard Worker} 826*d5c09012SAndroid Build Coastguard Worker 827*d5c09012SAndroid Build Coastguard Worker// Volume describes a Docker container volume which is mounted into build steps 828*d5c09012SAndroid Build Coastguard Worker// in order to persist files across build step execution. 829*d5c09012SAndroid Build Coastguard Workermessage Volume { 830*d5c09012SAndroid Build Coastguard Worker // Name of the volume to mount. 831*d5c09012SAndroid Build Coastguard Worker // 832*d5c09012SAndroid Build Coastguard Worker // Volume names must be unique per build step and must be valid names for 833*d5c09012SAndroid Build Coastguard Worker // Docker volumes. Each named volume must be used by at least two build steps. 834*d5c09012SAndroid Build Coastguard Worker string name = 1; 835*d5c09012SAndroid Build Coastguard Worker 836*d5c09012SAndroid Build Coastguard Worker // Path at which to mount the volume. 837*d5c09012SAndroid Build Coastguard Worker // 838*d5c09012SAndroid Build Coastguard Worker // Paths must be absolute and cannot conflict with other volume paths on the 839*d5c09012SAndroid Build Coastguard Worker // same build step or with certain reserved volume paths. 840*d5c09012SAndroid Build Coastguard Worker string path = 2; 841*d5c09012SAndroid Build Coastguard Worker} 842*d5c09012SAndroid Build Coastguard Worker 843*d5c09012SAndroid Build Coastguard Worker// Artifacts created by the build pipeline. 844*d5c09012SAndroid Build Coastguard Workermessage Results { 845*d5c09012SAndroid Build Coastguard Worker // Container images that were built as a part of the build. 846*d5c09012SAndroid Build Coastguard Worker repeated BuiltImage images = 2; 847*d5c09012SAndroid Build Coastguard Worker 848*d5c09012SAndroid Build Coastguard Worker // List of build step digests, in the order corresponding to build step 849*d5c09012SAndroid Build Coastguard Worker // indices. 850*d5c09012SAndroid Build Coastguard Worker repeated string build_step_images = 3; 851*d5c09012SAndroid Build Coastguard Worker 852*d5c09012SAndroid Build Coastguard Worker // Path to the artifact manifest for non-container artifacts uploaded to Cloud 853*d5c09012SAndroid Build Coastguard Worker // Storage. Only populated when artifacts are uploaded to Cloud Storage. 854*d5c09012SAndroid Build Coastguard Worker string artifact_manifest = 4; 855*d5c09012SAndroid Build Coastguard Worker 856*d5c09012SAndroid Build Coastguard Worker // Number of non-container artifacts uploaded to Cloud Storage. Only populated 857*d5c09012SAndroid Build Coastguard Worker // when artifacts are uploaded to Cloud Storage. 858*d5c09012SAndroid Build Coastguard Worker int64 num_artifacts = 5; 859*d5c09012SAndroid Build Coastguard Worker 860*d5c09012SAndroid Build Coastguard Worker // List of build step outputs, produced by builder images, in the order 861*d5c09012SAndroid Build Coastguard Worker // corresponding to build step indices. 862*d5c09012SAndroid Build Coastguard Worker // 863*d5c09012SAndroid Build Coastguard Worker // [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) 864*d5c09012SAndroid Build Coastguard Worker // can produce this output by writing to `$BUILDER_OUTPUT/output`. 865*d5c09012SAndroid Build Coastguard Worker // Only the first 4KB of data is stored. 866*d5c09012SAndroid Build Coastguard Worker repeated bytes build_step_outputs = 6; 867*d5c09012SAndroid Build Coastguard Worker 868*d5c09012SAndroid Build Coastguard Worker // Time to push all non-container artifacts to Cloud Storage. 869*d5c09012SAndroid Build Coastguard Worker TimeSpan artifact_timing = 7; 870*d5c09012SAndroid Build Coastguard Worker 871*d5c09012SAndroid Build Coastguard Worker // Python artifacts uploaded to Artifact Registry at the end of the build. 872*d5c09012SAndroid Build Coastguard Worker repeated UploadedPythonPackage python_packages = 8; 873*d5c09012SAndroid Build Coastguard Worker 874*d5c09012SAndroid Build Coastguard Worker // Maven artifacts uploaded to Artifact Registry at the end of the build. 875*d5c09012SAndroid Build Coastguard Worker repeated UploadedMavenArtifact maven_artifacts = 9; 876*d5c09012SAndroid Build Coastguard Worker 877*d5c09012SAndroid Build Coastguard Worker // Npm packages uploaded to Artifact Registry at the end of the build. 878*d5c09012SAndroid Build Coastguard Worker repeated UploadedNpmPackage npm_packages = 12; 879*d5c09012SAndroid Build Coastguard Worker} 880*d5c09012SAndroid Build Coastguard Worker 881*d5c09012SAndroid Build Coastguard Worker// An artifact that was uploaded during a build. This 882*d5c09012SAndroid Build Coastguard Worker// is a single record in the artifact manifest JSON file. 883*d5c09012SAndroid Build Coastguard Workermessage ArtifactResult { 884*d5c09012SAndroid Build Coastguard Worker // The path of an artifact in a Cloud Storage bucket, with the 885*d5c09012SAndroid Build Coastguard Worker // generation number. For example, 886*d5c09012SAndroid Build Coastguard Worker // `gs://mybucket/path/to/output.jar#generation`. 887*d5c09012SAndroid Build Coastguard Worker string location = 1; 888*d5c09012SAndroid Build Coastguard Worker 889*d5c09012SAndroid Build Coastguard Worker // The file hash of the artifact. 890*d5c09012SAndroid Build Coastguard Worker repeated FileHashes file_hash = 2; 891*d5c09012SAndroid Build Coastguard Worker} 892*d5c09012SAndroid Build Coastguard Worker 893*d5c09012SAndroid Build Coastguard Worker// A build resource in the Cloud Build API. 894*d5c09012SAndroid Build Coastguard Worker// 895*d5c09012SAndroid Build Coastguard Worker// At a high level, a `Build` describes where to find source code, how to build 896*d5c09012SAndroid Build Coastguard Worker// it (for example, the builder image to run on the source), and where to store 897*d5c09012SAndroid Build Coastguard Worker// the built artifacts. 898*d5c09012SAndroid Build Coastguard Worker// 899*d5c09012SAndroid Build Coastguard Worker// Fields can include the following variables, which will be expanded when the 900*d5c09012SAndroid Build Coastguard Worker// build is created: 901*d5c09012SAndroid Build Coastguard Worker// 902*d5c09012SAndroid Build Coastguard Worker// - $PROJECT_ID: the project ID of the build. 903*d5c09012SAndroid Build Coastguard Worker// - $PROJECT_NUMBER: the project number of the build. 904*d5c09012SAndroid Build Coastguard Worker// - $LOCATION: the location/region of the build. 905*d5c09012SAndroid Build Coastguard Worker// - $BUILD_ID: the autogenerated ID of the build. 906*d5c09012SAndroid Build Coastguard Worker// - $REPO_NAME: the source repository name specified by RepoSource. 907*d5c09012SAndroid Build Coastguard Worker// - $BRANCH_NAME: the branch name specified by RepoSource. 908*d5c09012SAndroid Build Coastguard Worker// - $TAG_NAME: the tag name specified by RepoSource. 909*d5c09012SAndroid Build Coastguard Worker// - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or 910*d5c09012SAndroid Build Coastguard Worker// resolved from the specified branch or tag. 911*d5c09012SAndroid Build Coastguard Worker// - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. 912*d5c09012SAndroid Build Coastguard Workermessage Build { 913*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 914*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/Build" 915*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/builds/{build}" 916*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/builds/{build}" 917*d5c09012SAndroid Build Coastguard Worker }; 918*d5c09012SAndroid Build Coastguard Worker 919*d5c09012SAndroid Build Coastguard Worker // Possible status of a build or build step. 920*d5c09012SAndroid Build Coastguard Worker enum Status { 921*d5c09012SAndroid Build Coastguard Worker // Status of the build is unknown. 922*d5c09012SAndroid Build Coastguard Worker STATUS_UNKNOWN = 0; 923*d5c09012SAndroid Build Coastguard Worker 924*d5c09012SAndroid Build Coastguard Worker // Build has been created and is pending execution and queuing. It has not 925*d5c09012SAndroid Build Coastguard Worker // been queued. 926*d5c09012SAndroid Build Coastguard Worker PENDING = 10; 927*d5c09012SAndroid Build Coastguard Worker 928*d5c09012SAndroid Build Coastguard Worker // Build or step is queued; work has not yet begun. 929*d5c09012SAndroid Build Coastguard Worker QUEUED = 1; 930*d5c09012SAndroid Build Coastguard Worker 931*d5c09012SAndroid Build Coastguard Worker // Build or step is being executed. 932*d5c09012SAndroid Build Coastguard Worker WORKING = 2; 933*d5c09012SAndroid Build Coastguard Worker 934*d5c09012SAndroid Build Coastguard Worker // Build or step finished successfully. 935*d5c09012SAndroid Build Coastguard Worker SUCCESS = 3; 936*d5c09012SAndroid Build Coastguard Worker 937*d5c09012SAndroid Build Coastguard Worker // Build or step failed to complete successfully. 938*d5c09012SAndroid Build Coastguard Worker FAILURE = 4; 939*d5c09012SAndroid Build Coastguard Worker 940*d5c09012SAndroid Build Coastguard Worker // Build or step failed due to an internal cause. 941*d5c09012SAndroid Build Coastguard Worker INTERNAL_ERROR = 5; 942*d5c09012SAndroid Build Coastguard Worker 943*d5c09012SAndroid Build Coastguard Worker // Build or step took longer than was allowed. 944*d5c09012SAndroid Build Coastguard Worker TIMEOUT = 6; 945*d5c09012SAndroid Build Coastguard Worker 946*d5c09012SAndroid Build Coastguard Worker // Build or step was canceled by a user. 947*d5c09012SAndroid Build Coastguard Worker CANCELLED = 7; 948*d5c09012SAndroid Build Coastguard Worker 949*d5c09012SAndroid Build Coastguard Worker // Build was enqueued for longer than the value of `queue_ttl`. 950*d5c09012SAndroid Build Coastguard Worker EXPIRED = 9; 951*d5c09012SAndroid Build Coastguard Worker } 952*d5c09012SAndroid Build Coastguard Worker 953*d5c09012SAndroid Build Coastguard Worker // A non-fatal problem encountered during the execution of the build. 954*d5c09012SAndroid Build Coastguard Worker message Warning { 955*d5c09012SAndroid Build Coastguard Worker // The relative importance of this warning. 956*d5c09012SAndroid Build Coastguard Worker enum Priority { 957*d5c09012SAndroid Build Coastguard Worker // Should not be used. 958*d5c09012SAndroid Build Coastguard Worker PRIORITY_UNSPECIFIED = 0; 959*d5c09012SAndroid Build Coastguard Worker 960*d5c09012SAndroid Build Coastguard Worker // e.g. deprecation warnings and alternative feature highlights. 961*d5c09012SAndroid Build Coastguard Worker INFO = 1; 962*d5c09012SAndroid Build Coastguard Worker 963*d5c09012SAndroid Build Coastguard Worker // e.g. automated detection of possible issues with the build. 964*d5c09012SAndroid Build Coastguard Worker WARNING = 2; 965*d5c09012SAndroid Build Coastguard Worker 966*d5c09012SAndroid Build Coastguard Worker // e.g. alerts that a feature used in the build is pending removal 967*d5c09012SAndroid Build Coastguard Worker ALERT = 3; 968*d5c09012SAndroid Build Coastguard Worker } 969*d5c09012SAndroid Build Coastguard Worker 970*d5c09012SAndroid Build Coastguard Worker // Explanation of the warning generated. 971*d5c09012SAndroid Build Coastguard Worker string text = 1; 972*d5c09012SAndroid Build Coastguard Worker 973*d5c09012SAndroid Build Coastguard Worker // The priority for this warning. 974*d5c09012SAndroid Build Coastguard Worker Priority priority = 2; 975*d5c09012SAndroid Build Coastguard Worker } 976*d5c09012SAndroid Build Coastguard Worker 977*d5c09012SAndroid Build Coastguard Worker // A fatal problem encountered during the execution of the build. 978*d5c09012SAndroid Build Coastguard Worker message FailureInfo { 979*d5c09012SAndroid Build Coastguard Worker // The name of a fatal problem encountered during the execution of the 980*d5c09012SAndroid Build Coastguard Worker // build. 981*d5c09012SAndroid Build Coastguard Worker enum FailureType { 982*d5c09012SAndroid Build Coastguard Worker // Type unspecified 983*d5c09012SAndroid Build Coastguard Worker FAILURE_TYPE_UNSPECIFIED = 0; 984*d5c09012SAndroid Build Coastguard Worker 985*d5c09012SAndroid Build Coastguard Worker // Unable to push the image to the repository. 986*d5c09012SAndroid Build Coastguard Worker PUSH_FAILED = 1; 987*d5c09012SAndroid Build Coastguard Worker 988*d5c09012SAndroid Build Coastguard Worker // Final image not found. 989*d5c09012SAndroid Build Coastguard Worker PUSH_IMAGE_NOT_FOUND = 2; 990*d5c09012SAndroid Build Coastguard Worker 991*d5c09012SAndroid Build Coastguard Worker // Unauthorized push of the final image. 992*d5c09012SAndroid Build Coastguard Worker PUSH_NOT_AUTHORIZED = 3; 993*d5c09012SAndroid Build Coastguard Worker 994*d5c09012SAndroid Build Coastguard Worker // Backend logging failures. Should retry. 995*d5c09012SAndroid Build Coastguard Worker LOGGING_FAILURE = 4; 996*d5c09012SAndroid Build Coastguard Worker 997*d5c09012SAndroid Build Coastguard Worker // A build step has failed. 998*d5c09012SAndroid Build Coastguard Worker USER_BUILD_STEP = 5; 999*d5c09012SAndroid Build Coastguard Worker 1000*d5c09012SAndroid Build Coastguard Worker // The source fetching has failed. 1001*d5c09012SAndroid Build Coastguard Worker FETCH_SOURCE_FAILED = 6; 1002*d5c09012SAndroid Build Coastguard Worker } 1003*d5c09012SAndroid Build Coastguard Worker 1004*d5c09012SAndroid Build Coastguard Worker // The name of the failure. 1005*d5c09012SAndroid Build Coastguard Worker FailureType type = 1; 1006*d5c09012SAndroid Build Coastguard Worker 1007*d5c09012SAndroid Build Coastguard Worker // Explains the failure issue in more detail using hard-coded text. 1008*d5c09012SAndroid Build Coastguard Worker string detail = 2; 1009*d5c09012SAndroid Build Coastguard Worker } 1010*d5c09012SAndroid Build Coastguard Worker 1011*d5c09012SAndroid Build Coastguard Worker // Output only. The 'Build' name with format: 1012*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location}/builds/{build}`, where {build} 1013*d5c09012SAndroid Build Coastguard Worker // is a unique identifier generated by the service. 1014*d5c09012SAndroid Build Coastguard Worker string name = 45 [(google.api.field_behavior) = OUTPUT_ONLY]; 1015*d5c09012SAndroid Build Coastguard Worker 1016*d5c09012SAndroid Build Coastguard Worker // Output only. Unique identifier of the build. 1017*d5c09012SAndroid Build Coastguard Worker string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1018*d5c09012SAndroid Build Coastguard Worker 1019*d5c09012SAndroid Build Coastguard Worker // Output only. ID of the project. 1020*d5c09012SAndroid Build Coastguard Worker string project_id = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; 1021*d5c09012SAndroid Build Coastguard Worker 1022*d5c09012SAndroid Build Coastguard Worker // Output only. Status of the build. 1023*d5c09012SAndroid Build Coastguard Worker Status status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 1024*d5c09012SAndroid Build Coastguard Worker 1025*d5c09012SAndroid Build Coastguard Worker // Output only. Customer-readable message about the current status. 1026*d5c09012SAndroid Build Coastguard Worker string status_detail = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; 1027*d5c09012SAndroid Build Coastguard Worker 1028*d5c09012SAndroid Build Coastguard Worker // The location of the source files to build. 1029*d5c09012SAndroid Build Coastguard Worker Source source = 3; 1030*d5c09012SAndroid Build Coastguard Worker 1031*d5c09012SAndroid Build Coastguard Worker // Required. The operations to be performed on the workspace. 1032*d5c09012SAndroid Build Coastguard Worker repeated BuildStep steps = 11; 1033*d5c09012SAndroid Build Coastguard Worker 1034*d5c09012SAndroid Build Coastguard Worker // Output only. Results of the build. 1035*d5c09012SAndroid Build Coastguard Worker Results results = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; 1036*d5c09012SAndroid Build Coastguard Worker 1037*d5c09012SAndroid Build Coastguard Worker // Output only. Time at which the request to create the build was received. 1038*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 6 1039*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1040*d5c09012SAndroid Build Coastguard Worker 1041*d5c09012SAndroid Build Coastguard Worker // Output only. Time at which execution of the build was started. 1042*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 7 1043*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1044*d5c09012SAndroid Build Coastguard Worker 1045*d5c09012SAndroid Build Coastguard Worker // Output only. Time at which execution of the build was finished. 1046*d5c09012SAndroid Build Coastguard Worker // 1047*d5c09012SAndroid Build Coastguard Worker // The difference between finish_time and start_time is the duration of the 1048*d5c09012SAndroid Build Coastguard Worker // build's execution. 1049*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp finish_time = 8 1050*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1051*d5c09012SAndroid Build Coastguard Worker 1052*d5c09012SAndroid Build Coastguard Worker // Amount of time that this build should be allowed to run, to second 1053*d5c09012SAndroid Build Coastguard Worker // granularity. If this amount of time elapses, work on the build will cease 1054*d5c09012SAndroid Build Coastguard Worker // and the build status will be `TIMEOUT`. 1055*d5c09012SAndroid Build Coastguard Worker // 1056*d5c09012SAndroid Build Coastguard Worker // `timeout` starts ticking from `startTime`. 1057*d5c09012SAndroid Build Coastguard Worker // 1058*d5c09012SAndroid Build Coastguard Worker // Default time is 60 minutes. 1059*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration timeout = 12; 1060*d5c09012SAndroid Build Coastguard Worker 1061*d5c09012SAndroid Build Coastguard Worker // A list of images to be pushed upon the successful completion of all build 1062*d5c09012SAndroid Build Coastguard Worker // steps. 1063*d5c09012SAndroid Build Coastguard Worker // 1064*d5c09012SAndroid Build Coastguard Worker // The images are pushed using the builder service account's credentials. 1065*d5c09012SAndroid Build Coastguard Worker // 1066*d5c09012SAndroid Build Coastguard Worker // The digests of the pushed images will be stored in the `Build` resource's 1067*d5c09012SAndroid Build Coastguard Worker // results field. 1068*d5c09012SAndroid Build Coastguard Worker // 1069*d5c09012SAndroid Build Coastguard Worker // If any of the images fail to be pushed, the build status is marked 1070*d5c09012SAndroid Build Coastguard Worker // `FAILURE`. 1071*d5c09012SAndroid Build Coastguard Worker repeated string images = 13; 1072*d5c09012SAndroid Build Coastguard Worker 1073*d5c09012SAndroid Build Coastguard Worker // TTL in queue for this build. If provided and the build is enqueued longer 1074*d5c09012SAndroid Build Coastguard Worker // than this value, the build will expire and the build status will be 1075*d5c09012SAndroid Build Coastguard Worker // `EXPIRED`. 1076*d5c09012SAndroid Build Coastguard Worker // 1077*d5c09012SAndroid Build Coastguard Worker // The TTL starts ticking from create_time. 1078*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration queue_ttl = 40; 1079*d5c09012SAndroid Build Coastguard Worker 1080*d5c09012SAndroid Build Coastguard Worker // Artifacts produced by the build that should be uploaded upon 1081*d5c09012SAndroid Build Coastguard Worker // successful completion of all build steps. 1082*d5c09012SAndroid Build Coastguard Worker Artifacts artifacts = 37; 1083*d5c09012SAndroid Build Coastguard Worker 1084*d5c09012SAndroid Build Coastguard Worker // Cloud Storage bucket where logs should be written (see 1085*d5c09012SAndroid Build Coastguard Worker // [Bucket Name 1086*d5c09012SAndroid Build Coastguard Worker // Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). 1087*d5c09012SAndroid Build Coastguard Worker // Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`. 1088*d5c09012SAndroid Build Coastguard Worker string logs_bucket = 19; 1089*d5c09012SAndroid Build Coastguard Worker 1090*d5c09012SAndroid Build Coastguard Worker // Output only. A permanent fixed identifier for source. 1091*d5c09012SAndroid Build Coastguard Worker SourceProvenance source_provenance = 21 1092*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1093*d5c09012SAndroid Build Coastguard Worker 1094*d5c09012SAndroid Build Coastguard Worker // Output only. The ID of the `BuildTrigger` that triggered this build, if it 1095*d5c09012SAndroid Build Coastguard Worker // was triggered automatically. 1096*d5c09012SAndroid Build Coastguard Worker string build_trigger_id = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; 1097*d5c09012SAndroid Build Coastguard Worker 1098*d5c09012SAndroid Build Coastguard Worker // Special options for this build. 1099*d5c09012SAndroid Build Coastguard Worker BuildOptions options = 23; 1100*d5c09012SAndroid Build Coastguard Worker 1101*d5c09012SAndroid Build Coastguard Worker // Output only. URL to logs for this build in Google Cloud Console. 1102*d5c09012SAndroid Build Coastguard Worker string log_url = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; 1103*d5c09012SAndroid Build Coastguard Worker 1104*d5c09012SAndroid Build Coastguard Worker // Substitutions data for `Build` resource. 1105*d5c09012SAndroid Build Coastguard Worker map<string, string> substitutions = 29; 1106*d5c09012SAndroid Build Coastguard Worker 1107*d5c09012SAndroid Build Coastguard Worker // Tags for annotation of a `Build`. These are not docker tags. 1108*d5c09012SAndroid Build Coastguard Worker repeated string tags = 31; 1109*d5c09012SAndroid Build Coastguard Worker 1110*d5c09012SAndroid Build Coastguard Worker // Secrets to decrypt using Cloud Key Management Service. 1111*d5c09012SAndroid Build Coastguard Worker // Note: Secret Manager is the recommended technique 1112*d5c09012SAndroid Build Coastguard Worker // for managing sensitive data with Cloud Build. Use `available_secrets` to 1113*d5c09012SAndroid Build Coastguard Worker // configure builds to access secrets from Secret Manager. For instructions, 1114*d5c09012SAndroid Build Coastguard Worker // see: https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets 1115*d5c09012SAndroid Build Coastguard Worker repeated Secret secrets = 32; 1116*d5c09012SAndroid Build Coastguard Worker 1117*d5c09012SAndroid Build Coastguard Worker // Output only. Stores timing information for phases of the build. Valid keys 1118*d5c09012SAndroid Build Coastguard Worker // are: 1119*d5c09012SAndroid Build Coastguard Worker // 1120*d5c09012SAndroid Build Coastguard Worker // * BUILD: time to execute all build steps. 1121*d5c09012SAndroid Build Coastguard Worker // * PUSH: time to push all artifacts including docker images and non docker 1122*d5c09012SAndroid Build Coastguard Worker // artifacts. 1123*d5c09012SAndroid Build Coastguard Worker // * FETCHSOURCE: time to fetch source. 1124*d5c09012SAndroid Build Coastguard Worker // * SETUPBUILD: time to set up build. 1125*d5c09012SAndroid Build Coastguard Worker // 1126*d5c09012SAndroid Build Coastguard Worker // If the build does not specify source or images, 1127*d5c09012SAndroid Build Coastguard Worker // these keys will not be included. 1128*d5c09012SAndroid Build Coastguard Worker map<string, TimeSpan> timing = 33 [(google.api.field_behavior) = OUTPUT_ONLY]; 1129*d5c09012SAndroid Build Coastguard Worker 1130*d5c09012SAndroid Build Coastguard Worker // Output only. Describes this build's approval configuration, status, 1131*d5c09012SAndroid Build Coastguard Worker // and result. 1132*d5c09012SAndroid Build Coastguard Worker BuildApproval approval = 44 [(google.api.field_behavior) = OUTPUT_ONLY]; 1133*d5c09012SAndroid Build Coastguard Worker 1134*d5c09012SAndroid Build Coastguard Worker // IAM service account whose credentials will be used at build runtime. 1135*d5c09012SAndroid Build Coastguard Worker // Must be of the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. 1136*d5c09012SAndroid Build Coastguard Worker // ACCOUNT can be email address or uniqueId of the service account. 1137*d5c09012SAndroid Build Coastguard Worker // 1138*d5c09012SAndroid Build Coastguard Worker string service_account = 42 [(google.api.resource_reference) = { 1139*d5c09012SAndroid Build Coastguard Worker type: "iam.googleapis.com/ServiceAccount" 1140*d5c09012SAndroid Build Coastguard Worker }]; 1141*d5c09012SAndroid Build Coastguard Worker 1142*d5c09012SAndroid Build Coastguard Worker // Secrets and secret environment variables. 1143*d5c09012SAndroid Build Coastguard Worker Secrets available_secrets = 47; 1144*d5c09012SAndroid Build Coastguard Worker 1145*d5c09012SAndroid Build Coastguard Worker // Output only. Non-fatal problems encountered during the execution of the 1146*d5c09012SAndroid Build Coastguard Worker // build. 1147*d5c09012SAndroid Build Coastguard Worker repeated Warning warnings = 49 [(google.api.field_behavior) = OUTPUT_ONLY]; 1148*d5c09012SAndroid Build Coastguard Worker 1149*d5c09012SAndroid Build Coastguard Worker // Output only. Contains information about the build when status=FAILURE. 1150*d5c09012SAndroid Build Coastguard Worker FailureInfo failure_info = 51 [(google.api.field_behavior) = OUTPUT_ONLY]; 1151*d5c09012SAndroid Build Coastguard Worker} 1152*d5c09012SAndroid Build Coastguard Worker 1153*d5c09012SAndroid Build Coastguard Worker// Artifacts produced by a build that should be uploaded upon 1154*d5c09012SAndroid Build Coastguard Worker// successful completion of all build steps. 1155*d5c09012SAndroid Build Coastguard Workermessage Artifacts { 1156*d5c09012SAndroid Build Coastguard Worker // Files in the workspace to upload to Cloud Storage upon successful 1157*d5c09012SAndroid Build Coastguard Worker // completion of all build steps. 1158*d5c09012SAndroid Build Coastguard Worker message ArtifactObjects { 1159*d5c09012SAndroid Build Coastguard Worker // Cloud Storage bucket and optional object path, in the form 1160*d5c09012SAndroid Build Coastguard Worker // "gs://bucket/path/to/somewhere/". (see [Bucket Name 1161*d5c09012SAndroid Build Coastguard Worker // Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). 1162*d5c09012SAndroid Build Coastguard Worker // 1163*d5c09012SAndroid Build Coastguard Worker // Files in the workspace matching any path pattern will be uploaded to 1164*d5c09012SAndroid Build Coastguard Worker // Cloud Storage with this location as a prefix. 1165*d5c09012SAndroid Build Coastguard Worker string location = 1; 1166*d5c09012SAndroid Build Coastguard Worker 1167*d5c09012SAndroid Build Coastguard Worker // Path globs used to match files in the build's workspace. 1168*d5c09012SAndroid Build Coastguard Worker repeated string paths = 2; 1169*d5c09012SAndroid Build Coastguard Worker 1170*d5c09012SAndroid Build Coastguard Worker // Output only. Stores timing information for pushing all artifact objects. 1171*d5c09012SAndroid Build Coastguard Worker TimeSpan timing = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 1172*d5c09012SAndroid Build Coastguard Worker } 1173*d5c09012SAndroid Build Coastguard Worker 1174*d5c09012SAndroid Build Coastguard Worker // A Maven artifact to upload to Artifact Registry upon successful completion 1175*d5c09012SAndroid Build Coastguard Worker // of all build steps. 1176*d5c09012SAndroid Build Coastguard Worker message MavenArtifact { 1177*d5c09012SAndroid Build Coastguard Worker // Artifact Registry repository, in the form 1178*d5c09012SAndroid Build Coastguard Worker // "https://$REGION-maven.pkg.dev/$PROJECT/$REPOSITORY" 1179*d5c09012SAndroid Build Coastguard Worker // 1180*d5c09012SAndroid Build Coastguard Worker // Artifact in the workspace specified by path will be uploaded to 1181*d5c09012SAndroid Build Coastguard Worker // Artifact Registry with this location as a prefix. 1182*d5c09012SAndroid Build Coastguard Worker string repository = 1; 1183*d5c09012SAndroid Build Coastguard Worker 1184*d5c09012SAndroid Build Coastguard Worker // Path to an artifact in the build's workspace to be uploaded to 1185*d5c09012SAndroid Build Coastguard Worker // Artifact Registry. 1186*d5c09012SAndroid Build Coastguard Worker // This can be either an absolute path, 1187*d5c09012SAndroid Build Coastguard Worker // e.g. /workspace/my-app/target/my-app-1.0.SNAPSHOT.jar 1188*d5c09012SAndroid Build Coastguard Worker // or a relative path from /workspace, 1189*d5c09012SAndroid Build Coastguard Worker // e.g. my-app/target/my-app-1.0.SNAPSHOT.jar. 1190*d5c09012SAndroid Build Coastguard Worker string path = 2; 1191*d5c09012SAndroid Build Coastguard Worker 1192*d5c09012SAndroid Build Coastguard Worker // Maven `artifactId` value used when uploading the artifact to Artifact 1193*d5c09012SAndroid Build Coastguard Worker // Registry. 1194*d5c09012SAndroid Build Coastguard Worker string artifact_id = 3; 1195*d5c09012SAndroid Build Coastguard Worker 1196*d5c09012SAndroid Build Coastguard Worker // Maven `groupId` value used when uploading the artifact to Artifact 1197*d5c09012SAndroid Build Coastguard Worker // Registry. 1198*d5c09012SAndroid Build Coastguard Worker string group_id = 4; 1199*d5c09012SAndroid Build Coastguard Worker 1200*d5c09012SAndroid Build Coastguard Worker // Maven `version` value used when uploading the artifact to Artifact 1201*d5c09012SAndroid Build Coastguard Worker // Registry. 1202*d5c09012SAndroid Build Coastguard Worker string version = 5; 1203*d5c09012SAndroid Build Coastguard Worker } 1204*d5c09012SAndroid Build Coastguard Worker 1205*d5c09012SAndroid Build Coastguard Worker // Python package to upload to Artifact Registry upon successful completion 1206*d5c09012SAndroid Build Coastguard Worker // of all build steps. A package can encapsulate multiple objects to be 1207*d5c09012SAndroid Build Coastguard Worker // uploaded to a single repository. 1208*d5c09012SAndroid Build Coastguard Worker message PythonPackage { 1209*d5c09012SAndroid Build Coastguard Worker // Artifact Registry repository, in the form 1210*d5c09012SAndroid Build Coastguard Worker // "https://$REGION-python.pkg.dev/$PROJECT/$REPOSITORY" 1211*d5c09012SAndroid Build Coastguard Worker // 1212*d5c09012SAndroid Build Coastguard Worker // Files in the workspace matching any path pattern will be uploaded to 1213*d5c09012SAndroid Build Coastguard Worker // Artifact Registry with this location as a prefix. 1214*d5c09012SAndroid Build Coastguard Worker string repository = 1; 1215*d5c09012SAndroid Build Coastguard Worker 1216*d5c09012SAndroid Build Coastguard Worker // Path globs used to match files in the build's workspace. For Python/ 1217*d5c09012SAndroid Build Coastguard Worker // Twine, this is usually `dist/*`, and sometimes additionally an `.asc` 1218*d5c09012SAndroid Build Coastguard Worker // file. 1219*d5c09012SAndroid Build Coastguard Worker repeated string paths = 2; 1220*d5c09012SAndroid Build Coastguard Worker } 1221*d5c09012SAndroid Build Coastguard Worker 1222*d5c09012SAndroid Build Coastguard Worker // Npm package to upload to Artifact Registry upon successful completion 1223*d5c09012SAndroid Build Coastguard Worker // of all build steps. 1224*d5c09012SAndroid Build Coastguard Worker message NpmPackage { 1225*d5c09012SAndroid Build Coastguard Worker // Artifact Registry repository, in the form 1226*d5c09012SAndroid Build Coastguard Worker // "https://$REGION-npm.pkg.dev/$PROJECT/$REPOSITORY" 1227*d5c09012SAndroid Build Coastguard Worker // 1228*d5c09012SAndroid Build Coastguard Worker // Npm package in the workspace specified by path will be zipped and 1229*d5c09012SAndroid Build Coastguard Worker // uploaded to Artifact Registry with this location as a prefix. 1230*d5c09012SAndroid Build Coastguard Worker string repository = 1; 1231*d5c09012SAndroid Build Coastguard Worker 1232*d5c09012SAndroid Build Coastguard Worker // Path to the package.json. 1233*d5c09012SAndroid Build Coastguard Worker // e.g. workspace/path/to/package 1234*d5c09012SAndroid Build Coastguard Worker string package_path = 2; 1235*d5c09012SAndroid Build Coastguard Worker } 1236*d5c09012SAndroid Build Coastguard Worker 1237*d5c09012SAndroid Build Coastguard Worker // A list of images to be pushed upon the successful completion of all build 1238*d5c09012SAndroid Build Coastguard Worker // steps. 1239*d5c09012SAndroid Build Coastguard Worker // 1240*d5c09012SAndroid Build Coastguard Worker // The images will be pushed using the builder service account's credentials. 1241*d5c09012SAndroid Build Coastguard Worker // 1242*d5c09012SAndroid Build Coastguard Worker // The digests of the pushed images will be stored in the Build resource's 1243*d5c09012SAndroid Build Coastguard Worker // results field. 1244*d5c09012SAndroid Build Coastguard Worker // 1245*d5c09012SAndroid Build Coastguard Worker // If any of the images fail to be pushed, the build is marked FAILURE. 1246*d5c09012SAndroid Build Coastguard Worker repeated string images = 1; 1247*d5c09012SAndroid Build Coastguard Worker 1248*d5c09012SAndroid Build Coastguard Worker // A list of objects to be uploaded to Cloud Storage upon successful 1249*d5c09012SAndroid Build Coastguard Worker // completion of all build steps. 1250*d5c09012SAndroid Build Coastguard Worker // 1251*d5c09012SAndroid Build Coastguard Worker // Files in the workspace matching specified paths globs will be uploaded to 1252*d5c09012SAndroid Build Coastguard Worker // the specified Cloud Storage location using the builder service account's 1253*d5c09012SAndroid Build Coastguard Worker // credentials. 1254*d5c09012SAndroid Build Coastguard Worker // 1255*d5c09012SAndroid Build Coastguard Worker // The location and generation of the uploaded objects will be stored in the 1256*d5c09012SAndroid Build Coastguard Worker // Build resource's results field. 1257*d5c09012SAndroid Build Coastguard Worker // 1258*d5c09012SAndroid Build Coastguard Worker // If any objects fail to be pushed, the build is marked FAILURE. 1259*d5c09012SAndroid Build Coastguard Worker ArtifactObjects objects = 2; 1260*d5c09012SAndroid Build Coastguard Worker 1261*d5c09012SAndroid Build Coastguard Worker // A list of Maven artifacts to be uploaded to Artifact Registry upon 1262*d5c09012SAndroid Build Coastguard Worker // successful completion of all build steps. 1263*d5c09012SAndroid Build Coastguard Worker // 1264*d5c09012SAndroid Build Coastguard Worker // Artifacts in the workspace matching specified paths globs will be uploaded 1265*d5c09012SAndroid Build Coastguard Worker // to the specified Artifact Registry repository using the builder service 1266*d5c09012SAndroid Build Coastguard Worker // account's credentials. 1267*d5c09012SAndroid Build Coastguard Worker // 1268*d5c09012SAndroid Build Coastguard Worker // If any artifacts fail to be pushed, the build is marked FAILURE. 1269*d5c09012SAndroid Build Coastguard Worker repeated MavenArtifact maven_artifacts = 3; 1270*d5c09012SAndroid Build Coastguard Worker 1271*d5c09012SAndroid Build Coastguard Worker // A list of Python packages to be uploaded to Artifact Registry upon 1272*d5c09012SAndroid Build Coastguard Worker // successful completion of all build steps. 1273*d5c09012SAndroid Build Coastguard Worker // 1274*d5c09012SAndroid Build Coastguard Worker // The build service account credentials will be used to perform the upload. 1275*d5c09012SAndroid Build Coastguard Worker // 1276*d5c09012SAndroid Build Coastguard Worker // If any objects fail to be pushed, the build is marked FAILURE. 1277*d5c09012SAndroid Build Coastguard Worker repeated PythonPackage python_packages = 5; 1278*d5c09012SAndroid Build Coastguard Worker 1279*d5c09012SAndroid Build Coastguard Worker // A list of npm packages to be uploaded to Artifact Registry upon 1280*d5c09012SAndroid Build Coastguard Worker // successful completion of all build steps. 1281*d5c09012SAndroid Build Coastguard Worker // 1282*d5c09012SAndroid Build Coastguard Worker // Npm packages in the specified paths will be uploaded 1283*d5c09012SAndroid Build Coastguard Worker // to the specified Artifact Registry repository using the builder service 1284*d5c09012SAndroid Build Coastguard Worker // account's credentials. 1285*d5c09012SAndroid Build Coastguard Worker // 1286*d5c09012SAndroid Build Coastguard Worker // If any packages fail to be pushed, the build is marked FAILURE. 1287*d5c09012SAndroid Build Coastguard Worker repeated NpmPackage npm_packages = 6; 1288*d5c09012SAndroid Build Coastguard Worker} 1289*d5c09012SAndroid Build Coastguard Worker 1290*d5c09012SAndroid Build Coastguard Worker// Start and end times for a build execution phase. 1291*d5c09012SAndroid Build Coastguard Workermessage TimeSpan { 1292*d5c09012SAndroid Build Coastguard Worker // Start of time span. 1293*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 1; 1294*d5c09012SAndroid Build Coastguard Worker 1295*d5c09012SAndroid Build Coastguard Worker // End of time span. 1296*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 2; 1297*d5c09012SAndroid Build Coastguard Worker} 1298*d5c09012SAndroid Build Coastguard Worker 1299*d5c09012SAndroid Build Coastguard Worker// Metadata for build operations. 1300*d5c09012SAndroid Build Coastguard Workermessage BuildOperationMetadata { 1301*d5c09012SAndroid Build Coastguard Worker // The build that the operation is tracking. 1302*d5c09012SAndroid Build Coastguard Worker Build build = 1; 1303*d5c09012SAndroid Build Coastguard Worker} 1304*d5c09012SAndroid Build Coastguard Worker 1305*d5c09012SAndroid Build Coastguard Worker// Provenance of the source. Ways to find the original source, or verify that 1306*d5c09012SAndroid Build Coastguard Worker// some source was used for this build. 1307*d5c09012SAndroid Build Coastguard Workermessage SourceProvenance { 1308*d5c09012SAndroid Build Coastguard Worker // A copy of the build's `source.storage_source`, if exists, with any 1309*d5c09012SAndroid Build Coastguard Worker // generations resolved. 1310*d5c09012SAndroid Build Coastguard Worker StorageSource resolved_storage_source = 3; 1311*d5c09012SAndroid Build Coastguard Worker 1312*d5c09012SAndroid Build Coastguard Worker // A copy of the build's `source.repo_source`, if exists, with any 1313*d5c09012SAndroid Build Coastguard Worker // revisions resolved. 1314*d5c09012SAndroid Build Coastguard Worker RepoSource resolved_repo_source = 6; 1315*d5c09012SAndroid Build Coastguard Worker 1316*d5c09012SAndroid Build Coastguard Worker // A copy of the build's `source.storage_source_manifest`, if exists, with any 1317*d5c09012SAndroid Build Coastguard Worker // revisions resolved. 1318*d5c09012SAndroid Build Coastguard Worker // This feature is in Preview. 1319*d5c09012SAndroid Build Coastguard Worker StorageSourceManifest resolved_storage_source_manifest = 9; 1320*d5c09012SAndroid Build Coastguard Worker 1321*d5c09012SAndroid Build Coastguard Worker // Output only. Hash(es) of the build source, which can be used to verify that 1322*d5c09012SAndroid Build Coastguard Worker // the original source integrity was maintained in the build. Note that 1323*d5c09012SAndroid Build Coastguard Worker // `FileHashes` will only be populated if `BuildOptions` has requested a 1324*d5c09012SAndroid Build Coastguard Worker // `SourceProvenanceHash`. 1325*d5c09012SAndroid Build Coastguard Worker // 1326*d5c09012SAndroid Build Coastguard Worker // The keys to this map are file paths used as build source and the values 1327*d5c09012SAndroid Build Coastguard Worker // contain the hash values for those files. 1328*d5c09012SAndroid Build Coastguard Worker // 1329*d5c09012SAndroid Build Coastguard Worker // If the build source came in a single package such as a gzipped tarfile 1330*d5c09012SAndroid Build Coastguard Worker // (`.tar.gz`), the `FileHash` will be for the single path to that file. 1331*d5c09012SAndroid Build Coastguard Worker map<string, FileHashes> file_hashes = 4 1332*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1333*d5c09012SAndroid Build Coastguard Worker} 1334*d5c09012SAndroid Build Coastguard Worker 1335*d5c09012SAndroid Build Coastguard Worker// Container message for hashes of byte content of files, used in 1336*d5c09012SAndroid Build Coastguard Worker// SourceProvenance messages to verify integrity of source input to the build. 1337*d5c09012SAndroid Build Coastguard Workermessage FileHashes { 1338*d5c09012SAndroid Build Coastguard Worker // Collection of file hashes. 1339*d5c09012SAndroid Build Coastguard Worker repeated Hash file_hash = 1; 1340*d5c09012SAndroid Build Coastguard Worker} 1341*d5c09012SAndroid Build Coastguard Worker 1342*d5c09012SAndroid Build Coastguard Worker// Container message for hash values. 1343*d5c09012SAndroid Build Coastguard Workermessage Hash { 1344*d5c09012SAndroid Build Coastguard Worker // Specifies the hash algorithm, if any. 1345*d5c09012SAndroid Build Coastguard Worker enum HashType { 1346*d5c09012SAndroid Build Coastguard Worker // No hash requested. 1347*d5c09012SAndroid Build Coastguard Worker NONE = 0; 1348*d5c09012SAndroid Build Coastguard Worker 1349*d5c09012SAndroid Build Coastguard Worker // Use a sha256 hash. 1350*d5c09012SAndroid Build Coastguard Worker SHA256 = 1; 1351*d5c09012SAndroid Build Coastguard Worker 1352*d5c09012SAndroid Build Coastguard Worker // Use a md5 hash. 1353*d5c09012SAndroid Build Coastguard Worker MD5 = 2; 1354*d5c09012SAndroid Build Coastguard Worker 1355*d5c09012SAndroid Build Coastguard Worker // Use a sha512 hash. 1356*d5c09012SAndroid Build Coastguard Worker SHA512 = 4; 1357*d5c09012SAndroid Build Coastguard Worker } 1358*d5c09012SAndroid Build Coastguard Worker 1359*d5c09012SAndroid Build Coastguard Worker // The type of hash that was performed. 1360*d5c09012SAndroid Build Coastguard Worker HashType type = 1; 1361*d5c09012SAndroid Build Coastguard Worker 1362*d5c09012SAndroid Build Coastguard Worker // The hash value. 1363*d5c09012SAndroid Build Coastguard Worker bytes value = 2; 1364*d5c09012SAndroid Build Coastguard Worker} 1365*d5c09012SAndroid Build Coastguard Worker 1366*d5c09012SAndroid Build Coastguard Worker// Secrets and secret environment variables. 1367*d5c09012SAndroid Build Coastguard Workermessage Secrets { 1368*d5c09012SAndroid Build Coastguard Worker // Secrets in Secret Manager and associated secret environment variable. 1369*d5c09012SAndroid Build Coastguard Worker repeated SecretManagerSecret secret_manager = 1; 1370*d5c09012SAndroid Build Coastguard Worker 1371*d5c09012SAndroid Build Coastguard Worker // Secrets encrypted with KMS key and the associated secret environment 1372*d5c09012SAndroid Build Coastguard Worker // variable. 1373*d5c09012SAndroid Build Coastguard Worker repeated InlineSecret inline = 2; 1374*d5c09012SAndroid Build Coastguard Worker} 1375*d5c09012SAndroid Build Coastguard Worker 1376*d5c09012SAndroid Build Coastguard Worker// Pairs a set of secret environment variables mapped to encrypted 1377*d5c09012SAndroid Build Coastguard Worker// values with the Cloud KMS key to use to decrypt the value. 1378*d5c09012SAndroid Build Coastguard Workermessage InlineSecret { 1379*d5c09012SAndroid Build Coastguard Worker // Resource name of Cloud KMS crypto key to decrypt the encrypted value. 1380*d5c09012SAndroid Build Coastguard Worker // In format: projects/*/locations/*/keyRings/*/cryptoKeys/* 1381*d5c09012SAndroid Build Coastguard Worker string kms_key_name = 1 [(google.api.resource_reference) = { 1382*d5c09012SAndroid Build Coastguard Worker type: "cloudkms.googleapis.com/CryptoKey" 1383*d5c09012SAndroid Build Coastguard Worker }]; 1384*d5c09012SAndroid Build Coastguard Worker 1385*d5c09012SAndroid Build Coastguard Worker // Map of environment variable name to its encrypted value. 1386*d5c09012SAndroid Build Coastguard Worker // 1387*d5c09012SAndroid Build Coastguard Worker // Secret environment variables must be unique across all of a build's 1388*d5c09012SAndroid Build Coastguard Worker // secrets, and must be used by at least one build step. Values can be at most 1389*d5c09012SAndroid Build Coastguard Worker // 64 KB in size. There can be at most 100 secret values across all of a 1390*d5c09012SAndroid Build Coastguard Worker // build's secrets. 1391*d5c09012SAndroid Build Coastguard Worker map<string, bytes> env_map = 2; 1392*d5c09012SAndroid Build Coastguard Worker} 1393*d5c09012SAndroid Build Coastguard Worker 1394*d5c09012SAndroid Build Coastguard Worker// Pairs a secret environment variable with a SecretVersion in Secret Manager. 1395*d5c09012SAndroid Build Coastguard Workermessage SecretManagerSecret { 1396*d5c09012SAndroid Build Coastguard Worker // Resource name of the SecretVersion. In format: 1397*d5c09012SAndroid Build Coastguard Worker // projects/*/secrets/*/versions/* 1398*d5c09012SAndroid Build Coastguard Worker string version_name = 1 [(google.api.resource_reference) = { 1399*d5c09012SAndroid Build Coastguard Worker type: "secretmanager.googleapis.com/SecretVersion" 1400*d5c09012SAndroid Build Coastguard Worker }]; 1401*d5c09012SAndroid Build Coastguard Worker 1402*d5c09012SAndroid Build Coastguard Worker // Environment variable name to associate with the secret. 1403*d5c09012SAndroid Build Coastguard Worker // Secret environment variables must be unique across all of a build's 1404*d5c09012SAndroid Build Coastguard Worker // secrets, and must be used by at least one build step. 1405*d5c09012SAndroid Build Coastguard Worker string env = 2; 1406*d5c09012SAndroid Build Coastguard Worker} 1407*d5c09012SAndroid Build Coastguard Worker 1408*d5c09012SAndroid Build Coastguard Worker// Pairs a set of secret environment variables containing encrypted 1409*d5c09012SAndroid Build Coastguard Worker// values with the Cloud KMS key to use to decrypt the value. 1410*d5c09012SAndroid Build Coastguard Worker// Note: Use `kmsKeyName` with `available_secrets` instead of using 1411*d5c09012SAndroid Build Coastguard Worker// `kmsKeyName` with `secret`. For instructions see: 1412*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-credentials. 1413*d5c09012SAndroid Build Coastguard Workermessage Secret { 1414*d5c09012SAndroid Build Coastguard Worker // Cloud KMS key name to use to decrypt these envs. 1415*d5c09012SAndroid Build Coastguard Worker string kms_key_name = 1; 1416*d5c09012SAndroid Build Coastguard Worker 1417*d5c09012SAndroid Build Coastguard Worker // Map of environment variable name to its encrypted value. 1418*d5c09012SAndroid Build Coastguard Worker // 1419*d5c09012SAndroid Build Coastguard Worker // Secret environment variables must be unique across all of a build's 1420*d5c09012SAndroid Build Coastguard Worker // secrets, and must be used by at least one build step. Values can be at most 1421*d5c09012SAndroid Build Coastguard Worker // 64 KB in size. There can be at most 100 secret values across all of a 1422*d5c09012SAndroid Build Coastguard Worker // build's secrets. 1423*d5c09012SAndroid Build Coastguard Worker map<string, bytes> secret_env = 3; 1424*d5c09012SAndroid Build Coastguard Worker} 1425*d5c09012SAndroid Build Coastguard Worker 1426*d5c09012SAndroid Build Coastguard Worker// Request to create a new build. 1427*d5c09012SAndroid Build Coastguard Workermessage CreateBuildRequest { 1428*d5c09012SAndroid Build Coastguard Worker // The parent resource where this build will be created. 1429*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}` 1430*d5c09012SAndroid Build Coastguard Worker string parent = 4 [(google.api.resource_reference) = { 1431*d5c09012SAndroid Build Coastguard Worker child_type: "cloudbuild.googleapis.com/Build" 1432*d5c09012SAndroid Build Coastguard Worker }]; 1433*d5c09012SAndroid Build Coastguard Worker 1434*d5c09012SAndroid Build Coastguard Worker // Required. ID of the project. 1435*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 1436*d5c09012SAndroid Build Coastguard Worker 1437*d5c09012SAndroid Build Coastguard Worker // Required. Build resource to create. 1438*d5c09012SAndroid Build Coastguard Worker Build build = 2 [(google.api.field_behavior) = REQUIRED]; 1439*d5c09012SAndroid Build Coastguard Worker} 1440*d5c09012SAndroid Build Coastguard Worker 1441*d5c09012SAndroid Build Coastguard Worker// Request to get a build. 1442*d5c09012SAndroid Build Coastguard Workermessage GetBuildRequest { 1443*d5c09012SAndroid Build Coastguard Worker // The name of the `Build` to retrieve. 1444*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}/builds/{build}` 1445*d5c09012SAndroid Build Coastguard Worker string name = 4 [(google.api.resource_reference) = { 1446*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/Build" 1447*d5c09012SAndroid Build Coastguard Worker }]; 1448*d5c09012SAndroid Build Coastguard Worker 1449*d5c09012SAndroid Build Coastguard Worker // Required. ID of the project. 1450*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 1451*d5c09012SAndroid Build Coastguard Worker 1452*d5c09012SAndroid Build Coastguard Worker // Required. ID of the build. 1453*d5c09012SAndroid Build Coastguard Worker string id = 2 [(google.api.field_behavior) = REQUIRED]; 1454*d5c09012SAndroid Build Coastguard Worker} 1455*d5c09012SAndroid Build Coastguard Worker 1456*d5c09012SAndroid Build Coastguard Worker// Request to list builds. 1457*d5c09012SAndroid Build Coastguard Workermessage ListBuildsRequest { 1458*d5c09012SAndroid Build Coastguard Worker // The parent of the collection of `Builds`. 1459*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}` 1460*d5c09012SAndroid Build Coastguard Worker string parent = 9 [(google.api.resource_reference) = { 1461*d5c09012SAndroid Build Coastguard Worker child_type: "cloudbuild.googleapis.com/Build" 1462*d5c09012SAndroid Build Coastguard Worker }]; 1463*d5c09012SAndroid Build Coastguard Worker 1464*d5c09012SAndroid Build Coastguard Worker // Required. ID of the project. 1465*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 1466*d5c09012SAndroid Build Coastguard Worker 1467*d5c09012SAndroid Build Coastguard Worker // Number of results to return in the list. 1468*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2; 1469*d5c09012SAndroid Build Coastguard Worker 1470*d5c09012SAndroid Build Coastguard Worker // The page token for the next page of Builds. 1471*d5c09012SAndroid Build Coastguard Worker // 1472*d5c09012SAndroid Build Coastguard Worker // If unspecified, the first page of results is returned. 1473*d5c09012SAndroid Build Coastguard Worker // 1474*d5c09012SAndroid Build Coastguard Worker // If the token is rejected for any reason, INVALID_ARGUMENT will be thrown. 1475*d5c09012SAndroid Build Coastguard Worker // In this case, the token should be discarded, and pagination should be 1476*d5c09012SAndroid Build Coastguard Worker // restarted from the first page of results. 1477*d5c09012SAndroid Build Coastguard Worker // 1478*d5c09012SAndroid Build Coastguard Worker // See https://google.aip.dev/158 for more. 1479*d5c09012SAndroid Build Coastguard Worker string page_token = 3; 1480*d5c09012SAndroid Build Coastguard Worker 1481*d5c09012SAndroid Build Coastguard Worker // The raw filter text to constrain the results. 1482*d5c09012SAndroid Build Coastguard Worker string filter = 8; 1483*d5c09012SAndroid Build Coastguard Worker} 1484*d5c09012SAndroid Build Coastguard Worker 1485*d5c09012SAndroid Build Coastguard Worker// Response including listed builds. 1486*d5c09012SAndroid Build Coastguard Workermessage ListBuildsResponse { 1487*d5c09012SAndroid Build Coastguard Worker // Builds will be sorted by `create_time`, descending. 1488*d5c09012SAndroid Build Coastguard Worker repeated Build builds = 1; 1489*d5c09012SAndroid Build Coastguard Worker 1490*d5c09012SAndroid Build Coastguard Worker // Token to receive the next page of results. 1491*d5c09012SAndroid Build Coastguard Worker // This will be absent if the end of the response list has been reached. 1492*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 1493*d5c09012SAndroid Build Coastguard Worker} 1494*d5c09012SAndroid Build Coastguard Worker 1495*d5c09012SAndroid Build Coastguard Worker// Request to cancel an ongoing build. 1496*d5c09012SAndroid Build Coastguard Workermessage CancelBuildRequest { 1497*d5c09012SAndroid Build Coastguard Worker // The name of the `Build` to cancel. 1498*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}/builds/{build}` 1499*d5c09012SAndroid Build Coastguard Worker string name = 4 [(google.api.resource_reference) = { 1500*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/Build" 1501*d5c09012SAndroid Build Coastguard Worker }]; 1502*d5c09012SAndroid Build Coastguard Worker 1503*d5c09012SAndroid Build Coastguard Worker // Required. ID of the project. 1504*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 1505*d5c09012SAndroid Build Coastguard Worker 1506*d5c09012SAndroid Build Coastguard Worker // Required. ID of the build. 1507*d5c09012SAndroid Build Coastguard Worker string id = 2 [(google.api.field_behavior) = REQUIRED]; 1508*d5c09012SAndroid Build Coastguard Worker} 1509*d5c09012SAndroid Build Coastguard Worker 1510*d5c09012SAndroid Build Coastguard Worker// Request to approve or reject a pending build. 1511*d5c09012SAndroid Build Coastguard Workermessage ApproveBuildRequest { 1512*d5c09012SAndroid Build Coastguard Worker // Required. Name of the target build. 1513*d5c09012SAndroid Build Coastguard Worker // For example: "projects/{$project_id}/builds/{$build_id}" 1514*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = REQUIRED]; 1515*d5c09012SAndroid Build Coastguard Worker 1516*d5c09012SAndroid Build Coastguard Worker // Approval decision and metadata. 1517*d5c09012SAndroid Build Coastguard Worker ApprovalResult approval_result = 2; 1518*d5c09012SAndroid Build Coastguard Worker} 1519*d5c09012SAndroid Build Coastguard Worker 1520*d5c09012SAndroid Build Coastguard Worker// BuildApproval describes a build's approval configuration, state, and 1521*d5c09012SAndroid Build Coastguard Worker// result. 1522*d5c09012SAndroid Build Coastguard Workermessage BuildApproval { 1523*d5c09012SAndroid Build Coastguard Worker // Specifies the current state of a build's approval. 1524*d5c09012SAndroid Build Coastguard Worker enum State { 1525*d5c09012SAndroid Build Coastguard Worker // Default enum type. This should not be used. 1526*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 1527*d5c09012SAndroid Build Coastguard Worker 1528*d5c09012SAndroid Build Coastguard Worker // Build approval is pending. 1529*d5c09012SAndroid Build Coastguard Worker PENDING = 1; 1530*d5c09012SAndroid Build Coastguard Worker 1531*d5c09012SAndroid Build Coastguard Worker // Build approval has been approved. 1532*d5c09012SAndroid Build Coastguard Worker APPROVED = 2; 1533*d5c09012SAndroid Build Coastguard Worker 1534*d5c09012SAndroid Build Coastguard Worker // Build approval has been rejected. 1535*d5c09012SAndroid Build Coastguard Worker REJECTED = 3; 1536*d5c09012SAndroid Build Coastguard Worker 1537*d5c09012SAndroid Build Coastguard Worker // Build was cancelled while it was still pending approval. 1538*d5c09012SAndroid Build Coastguard Worker CANCELLED = 5; 1539*d5c09012SAndroid Build Coastguard Worker } 1540*d5c09012SAndroid Build Coastguard Worker 1541*d5c09012SAndroid Build Coastguard Worker // Output only. The state of this build's approval. 1542*d5c09012SAndroid Build Coastguard Worker State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1543*d5c09012SAndroid Build Coastguard Worker 1544*d5c09012SAndroid Build Coastguard Worker // Output only. Configuration for manual approval of this build. 1545*d5c09012SAndroid Build Coastguard Worker ApprovalConfig config = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 1546*d5c09012SAndroid Build Coastguard Worker 1547*d5c09012SAndroid Build Coastguard Worker // Output only. Result of manual approval for this Build. 1548*d5c09012SAndroid Build Coastguard Worker ApprovalResult result = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 1549*d5c09012SAndroid Build Coastguard Worker} 1550*d5c09012SAndroid Build Coastguard Worker 1551*d5c09012SAndroid Build Coastguard Worker// ApprovalConfig describes configuration for manual approval of a build. 1552*d5c09012SAndroid Build Coastguard Workermessage ApprovalConfig { 1553*d5c09012SAndroid Build Coastguard Worker // Whether or not approval is needed. If this is set on a build, it will 1554*d5c09012SAndroid Build Coastguard Worker // become pending when created, and will need to be explicitly approved 1555*d5c09012SAndroid Build Coastguard Worker // to start. 1556*d5c09012SAndroid Build Coastguard Worker bool approval_required = 1; 1557*d5c09012SAndroid Build Coastguard Worker} 1558*d5c09012SAndroid Build Coastguard Worker 1559*d5c09012SAndroid Build Coastguard Worker// ApprovalResult describes the decision and associated metadata of a manual 1560*d5c09012SAndroid Build Coastguard Worker// approval of a build. 1561*d5c09012SAndroid Build Coastguard Workermessage ApprovalResult { 1562*d5c09012SAndroid Build Coastguard Worker // Specifies whether or not this manual approval result is to approve 1563*d5c09012SAndroid Build Coastguard Worker // or reject a build. 1564*d5c09012SAndroid Build Coastguard Worker enum Decision { 1565*d5c09012SAndroid Build Coastguard Worker // Default enum type. This should not be used. 1566*d5c09012SAndroid Build Coastguard Worker DECISION_UNSPECIFIED = 0; 1567*d5c09012SAndroid Build Coastguard Worker 1568*d5c09012SAndroid Build Coastguard Worker // Build is approved. 1569*d5c09012SAndroid Build Coastguard Worker APPROVED = 1; 1570*d5c09012SAndroid Build Coastguard Worker 1571*d5c09012SAndroid Build Coastguard Worker // Build is rejected. 1572*d5c09012SAndroid Build Coastguard Worker REJECTED = 2; 1573*d5c09012SAndroid Build Coastguard Worker } 1574*d5c09012SAndroid Build Coastguard Worker 1575*d5c09012SAndroid Build Coastguard Worker // Output only. Email of the user that called the ApproveBuild API to 1576*d5c09012SAndroid Build Coastguard Worker // approve or reject a build at the time that the API was called. 1577*d5c09012SAndroid Build Coastguard Worker string approver_account = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 1578*d5c09012SAndroid Build Coastguard Worker 1579*d5c09012SAndroid Build Coastguard Worker // Output only. The time when the approval decision was made. 1580*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp approval_time = 3 1581*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1582*d5c09012SAndroid Build Coastguard Worker 1583*d5c09012SAndroid Build Coastguard Worker // Required. The decision of this manual approval. 1584*d5c09012SAndroid Build Coastguard Worker Decision decision = 4 [(google.api.field_behavior) = REQUIRED]; 1585*d5c09012SAndroid Build Coastguard Worker 1586*d5c09012SAndroid Build Coastguard Worker // Optional. An optional comment for this manual approval result. 1587*d5c09012SAndroid Build Coastguard Worker string comment = 5 [(google.api.field_behavior) = OPTIONAL]; 1588*d5c09012SAndroid Build Coastguard Worker 1589*d5c09012SAndroid Build Coastguard Worker // Optional. An optional URL tied to this manual approval result. This field 1590*d5c09012SAndroid Build Coastguard Worker // is essentially the same as comment, except that it will be rendered by the 1591*d5c09012SAndroid Build Coastguard Worker // UI differently. An example use case is a link to an external job that 1592*d5c09012SAndroid Build Coastguard Worker // approved this Build. 1593*d5c09012SAndroid Build Coastguard Worker string url = 6 [(google.api.field_behavior) = OPTIONAL]; 1594*d5c09012SAndroid Build Coastguard Worker} 1595*d5c09012SAndroid Build Coastguard Worker 1596*d5c09012SAndroid Build Coastguard Worker// GitRepoSource describes a repo and ref of a code repository. 1597*d5c09012SAndroid Build Coastguard Workermessage GitRepoSource { 1598*d5c09012SAndroid Build Coastguard Worker // The URI of the repo (e.g. https://github.com/user/repo.git). 1599*d5c09012SAndroid Build Coastguard Worker // Either `uri` or `repository` can be specified and is required. 1600*d5c09012SAndroid Build Coastguard Worker string uri = 1; 1601*d5c09012SAndroid Build Coastguard Worker 1602*d5c09012SAndroid Build Coastguard Worker // The source of the SCM repo. 1603*d5c09012SAndroid Build Coastguard Worker oneof source { 1604*d5c09012SAndroid Build Coastguard Worker // The connected repository resource name, in the format 1605*d5c09012SAndroid Build Coastguard Worker // `projects/*/locations/*/connections/*/repositories/*`. Either `uri` or 1606*d5c09012SAndroid Build Coastguard Worker // `repository` can be specified and is required. 1607*d5c09012SAndroid Build Coastguard Worker string repository = 6 [(google.api.resource_reference) = { 1608*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/Repository" 1609*d5c09012SAndroid Build Coastguard Worker }]; 1610*d5c09012SAndroid Build Coastguard Worker } 1611*d5c09012SAndroid Build Coastguard Worker 1612*d5c09012SAndroid Build Coastguard Worker // The branch or tag to use. Must start with "refs/" (required). 1613*d5c09012SAndroid Build Coastguard Worker string ref = 2; 1614*d5c09012SAndroid Build Coastguard Worker 1615*d5c09012SAndroid Build Coastguard Worker // See RepoType below. 1616*d5c09012SAndroid Build Coastguard Worker GitFileSource.RepoType repo_type = 3; 1617*d5c09012SAndroid Build Coastguard Worker 1618*d5c09012SAndroid Build Coastguard Worker // The resource name of the enterprise config that should be applied 1619*d5c09012SAndroid Build Coastguard Worker // to this source. 1620*d5c09012SAndroid Build Coastguard Worker oneof enterprise_config { 1621*d5c09012SAndroid Build Coastguard Worker // The full resource name of the github enterprise config. 1622*d5c09012SAndroid Build Coastguard Worker // Format: 1623*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`. 1624*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/githubEnterpriseConfigs/{id}`. 1625*d5c09012SAndroid Build Coastguard Worker string github_enterprise_config = 4 [(google.api.resource_reference) = { 1626*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/GithubEnterpriseConfig" 1627*d5c09012SAndroid Build Coastguard Worker }]; 1628*d5c09012SAndroid Build Coastguard Worker } 1629*d5c09012SAndroid Build Coastguard Worker} 1630*d5c09012SAndroid Build Coastguard Worker 1631*d5c09012SAndroid Build Coastguard Worker// GitFileSource describes a file within a (possibly remote) code repository. 1632*d5c09012SAndroid Build Coastguard Workermessage GitFileSource { 1633*d5c09012SAndroid Build Coastguard Worker // The type of the repo, since it may not be explicit from the `repo` field 1634*d5c09012SAndroid Build Coastguard Worker // (e.g from a URL). 1635*d5c09012SAndroid Build Coastguard Worker enum RepoType { 1636*d5c09012SAndroid Build Coastguard Worker // The default, unknown repo type. Don't use it, instead use one of 1637*d5c09012SAndroid Build Coastguard Worker // the other repo types. 1638*d5c09012SAndroid Build Coastguard Worker UNKNOWN = 0; 1639*d5c09012SAndroid Build Coastguard Worker 1640*d5c09012SAndroid Build Coastguard Worker // A Google Cloud Source Repositories-hosted repo. 1641*d5c09012SAndroid Build Coastguard Worker CLOUD_SOURCE_REPOSITORIES = 1; 1642*d5c09012SAndroid Build Coastguard Worker 1643*d5c09012SAndroid Build Coastguard Worker // A GitHub-hosted repo not necessarily on "github.com" (i.e. GitHub 1644*d5c09012SAndroid Build Coastguard Worker // Enterprise). 1645*d5c09012SAndroid Build Coastguard Worker GITHUB = 2; 1646*d5c09012SAndroid Build Coastguard Worker 1647*d5c09012SAndroid Build Coastguard Worker // A Bitbucket Server-hosted repo. 1648*d5c09012SAndroid Build Coastguard Worker BITBUCKET_SERVER = 3; 1649*d5c09012SAndroid Build Coastguard Worker 1650*d5c09012SAndroid Build Coastguard Worker // A GitLab-hosted repo. 1651*d5c09012SAndroid Build Coastguard Worker GITLAB = 4; 1652*d5c09012SAndroid Build Coastguard Worker } 1653*d5c09012SAndroid Build Coastguard Worker 1654*d5c09012SAndroid Build Coastguard Worker // The path of the file, with the repo root as the root of the path. 1655*d5c09012SAndroid Build Coastguard Worker string path = 1; 1656*d5c09012SAndroid Build Coastguard Worker 1657*d5c09012SAndroid Build Coastguard Worker // The URI of the repo. 1658*d5c09012SAndroid Build Coastguard Worker // Either uri or repository can be specified. 1659*d5c09012SAndroid Build Coastguard Worker // If unspecified, the repo from which the trigger invocation originated is 1660*d5c09012SAndroid Build Coastguard Worker // assumed to be the repo from which to read the specified path. 1661*d5c09012SAndroid Build Coastguard Worker string uri = 2; 1662*d5c09012SAndroid Build Coastguard Worker 1663*d5c09012SAndroid Build Coastguard Worker // The source of the SCM repo. 1664*d5c09012SAndroid Build Coastguard Worker oneof source { 1665*d5c09012SAndroid Build Coastguard Worker // The fully qualified resource name of the Repos API repository. 1666*d5c09012SAndroid Build Coastguard Worker // Either URI or repository can be specified. 1667*d5c09012SAndroid Build Coastguard Worker // If unspecified, the repo from which the trigger invocation originated is 1668*d5c09012SAndroid Build Coastguard Worker // assumed to be the repo from which to read the specified path. 1669*d5c09012SAndroid Build Coastguard Worker string repository = 7 [(google.api.resource_reference) = { 1670*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/Repository" 1671*d5c09012SAndroid Build Coastguard Worker }]; 1672*d5c09012SAndroid Build Coastguard Worker } 1673*d5c09012SAndroid Build Coastguard Worker 1674*d5c09012SAndroid Build Coastguard Worker // See RepoType above. 1675*d5c09012SAndroid Build Coastguard Worker RepoType repo_type = 3; 1676*d5c09012SAndroid Build Coastguard Worker 1677*d5c09012SAndroid Build Coastguard Worker // The branch, tag, arbitrary ref, or SHA version of the repo to use when 1678*d5c09012SAndroid Build Coastguard Worker // resolving the filename (optional). 1679*d5c09012SAndroid Build Coastguard Worker // This field respects the same syntax/resolution as described here: 1680*d5c09012SAndroid Build Coastguard Worker // https://git-scm.com/docs/gitrevisions 1681*d5c09012SAndroid Build Coastguard Worker // If unspecified, the revision from which the trigger invocation originated 1682*d5c09012SAndroid Build Coastguard Worker // is assumed to be the revision from which to read the specified path. 1683*d5c09012SAndroid Build Coastguard Worker string revision = 4; 1684*d5c09012SAndroid Build Coastguard Worker 1685*d5c09012SAndroid Build Coastguard Worker // The resource name of the enterprise config that should be applied 1686*d5c09012SAndroid Build Coastguard Worker // to this source. 1687*d5c09012SAndroid Build Coastguard Worker oneof enterprise_config { 1688*d5c09012SAndroid Build Coastguard Worker // The full resource name of the github enterprise config. 1689*d5c09012SAndroid Build Coastguard Worker // Format: 1690*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`. 1691*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/githubEnterpriseConfigs/{id}`. 1692*d5c09012SAndroid Build Coastguard Worker string github_enterprise_config = 5 [(google.api.resource_reference) = { 1693*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/GithubEnterpriseConfig" 1694*d5c09012SAndroid Build Coastguard Worker }]; 1695*d5c09012SAndroid Build Coastguard Worker } 1696*d5c09012SAndroid Build Coastguard Worker} 1697*d5c09012SAndroid Build Coastguard Worker 1698*d5c09012SAndroid Build Coastguard Worker// Configuration for an automated build in response to source repository 1699*d5c09012SAndroid Build Coastguard Worker// changes. 1700*d5c09012SAndroid Build Coastguard Workermessage BuildTrigger { 1701*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 1702*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/BuildTrigger" 1703*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/triggers/{trigger}" 1704*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/triggers/{trigger}" 1705*d5c09012SAndroid Build Coastguard Worker plural: "triggers" 1706*d5c09012SAndroid Build Coastguard Worker singular: "trigger" 1707*d5c09012SAndroid Build Coastguard Worker }; 1708*d5c09012SAndroid Build Coastguard Worker 1709*d5c09012SAndroid Build Coastguard Worker // The `Trigger` name with format: 1710*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location}/triggers/{trigger}`, where 1711*d5c09012SAndroid Build Coastguard Worker // {trigger} is a unique identifier generated by the service. 1712*d5c09012SAndroid Build Coastguard Worker string resource_name = 34; 1713*d5c09012SAndroid Build Coastguard Worker 1714*d5c09012SAndroid Build Coastguard Worker // Output only. Unique identifier of the trigger. 1715*d5c09012SAndroid Build Coastguard Worker string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1716*d5c09012SAndroid Build Coastguard Worker 1717*d5c09012SAndroid Build Coastguard Worker // Human-readable description of this trigger. 1718*d5c09012SAndroid Build Coastguard Worker string description = 10; 1719*d5c09012SAndroid Build Coastguard Worker 1720*d5c09012SAndroid Build Coastguard Worker // User-assigned name of the trigger. Must be unique within the project. 1721*d5c09012SAndroid Build Coastguard Worker // Trigger names must meet the following requirements: 1722*d5c09012SAndroid Build Coastguard Worker // 1723*d5c09012SAndroid Build Coastguard Worker // + They must contain only alphanumeric characters and dashes. 1724*d5c09012SAndroid Build Coastguard Worker // + They can be 1-64 characters long. 1725*d5c09012SAndroid Build Coastguard Worker // + They must begin and end with an alphanumeric character. 1726*d5c09012SAndroid Build Coastguard Worker string name = 21; 1727*d5c09012SAndroid Build Coastguard Worker 1728*d5c09012SAndroid Build Coastguard Worker // Tags for annotation of a `BuildTrigger` 1729*d5c09012SAndroid Build Coastguard Worker repeated string tags = 19; 1730*d5c09012SAndroid Build Coastguard Worker 1731*d5c09012SAndroid Build Coastguard Worker // Template describing the types of source changes to trigger a build. 1732*d5c09012SAndroid Build Coastguard Worker // 1733*d5c09012SAndroid Build Coastguard Worker // Branch and tag names in trigger templates are interpreted as regular 1734*d5c09012SAndroid Build Coastguard Worker // expressions. Any branch or tag change that matches that regular expression 1735*d5c09012SAndroid Build Coastguard Worker // will trigger a build. 1736*d5c09012SAndroid Build Coastguard Worker // 1737*d5c09012SAndroid Build Coastguard Worker // Mutually exclusive with `github`. 1738*d5c09012SAndroid Build Coastguard Worker RepoSource trigger_template = 7; 1739*d5c09012SAndroid Build Coastguard Worker 1740*d5c09012SAndroid Build Coastguard Worker // GitHubEventsConfig describes the configuration of a trigger that creates 1741*d5c09012SAndroid Build Coastguard Worker // a build whenever a GitHub event is received. 1742*d5c09012SAndroid Build Coastguard Worker // 1743*d5c09012SAndroid Build Coastguard Worker // Mutually exclusive with `trigger_template`. 1744*d5c09012SAndroid Build Coastguard Worker GitHubEventsConfig github = 13; 1745*d5c09012SAndroid Build Coastguard Worker 1746*d5c09012SAndroid Build Coastguard Worker // PubsubConfig describes the configuration of a trigger that 1747*d5c09012SAndroid Build Coastguard Worker // creates a build whenever a Pub/Sub message is published. 1748*d5c09012SAndroid Build Coastguard Worker PubsubConfig pubsub_config = 29; 1749*d5c09012SAndroid Build Coastguard Worker 1750*d5c09012SAndroid Build Coastguard Worker // WebhookConfig describes the configuration of a trigger that 1751*d5c09012SAndroid Build Coastguard Worker // creates a build whenever a webhook is sent to a trigger's webhook URL. 1752*d5c09012SAndroid Build Coastguard Worker WebhookConfig webhook_config = 31; 1753*d5c09012SAndroid Build Coastguard Worker 1754*d5c09012SAndroid Build Coastguard Worker // Template describing the Build request to make when the trigger is matched. 1755*d5c09012SAndroid Build Coastguard Worker // At least one of the template fields must be provided. 1756*d5c09012SAndroid Build Coastguard Worker oneof build_template { 1757*d5c09012SAndroid Build Coastguard Worker // Autodetect build configuration. The following precedence is used (case 1758*d5c09012SAndroid Build Coastguard Worker // insensitive): 1759*d5c09012SAndroid Build Coastguard Worker // 1760*d5c09012SAndroid Build Coastguard Worker // 1. cloudbuild.yaml 1761*d5c09012SAndroid Build Coastguard Worker // 2. cloudbuild.yml 1762*d5c09012SAndroid Build Coastguard Worker // 3. cloudbuild.json 1763*d5c09012SAndroid Build Coastguard Worker // 4. Dockerfile 1764*d5c09012SAndroid Build Coastguard Worker // 1765*d5c09012SAndroid Build Coastguard Worker // Currently only available for GitHub App Triggers. 1766*d5c09012SAndroid Build Coastguard Worker bool autodetect = 18; 1767*d5c09012SAndroid Build Coastguard Worker 1768*d5c09012SAndroid Build Coastguard Worker // Contents of the build template. 1769*d5c09012SAndroid Build Coastguard Worker Build build = 4; 1770*d5c09012SAndroid Build Coastguard Worker 1771*d5c09012SAndroid Build Coastguard Worker // Path, from the source root, to the build configuration file 1772*d5c09012SAndroid Build Coastguard Worker // (i.e. cloudbuild.yaml). 1773*d5c09012SAndroid Build Coastguard Worker string filename = 8; 1774*d5c09012SAndroid Build Coastguard Worker 1775*d5c09012SAndroid Build Coastguard Worker // The file source describing the local or remote Build template. 1776*d5c09012SAndroid Build Coastguard Worker GitFileSource git_file_source = 24; 1777*d5c09012SAndroid Build Coastguard Worker } 1778*d5c09012SAndroid Build Coastguard Worker 1779*d5c09012SAndroid Build Coastguard Worker // Output only. Time when the trigger was created. 1780*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 5 1781*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1782*d5c09012SAndroid Build Coastguard Worker 1783*d5c09012SAndroid Build Coastguard Worker // If true, the trigger will never automatically execute a build. 1784*d5c09012SAndroid Build Coastguard Worker bool disabled = 9; 1785*d5c09012SAndroid Build Coastguard Worker 1786*d5c09012SAndroid Build Coastguard Worker // Substitutions for Build resource. The keys must match the following 1787*d5c09012SAndroid Build Coastguard Worker // regular expression: `^_[A-Z0-9_]+$`. 1788*d5c09012SAndroid Build Coastguard Worker map<string, string> substitutions = 11; 1789*d5c09012SAndroid Build Coastguard Worker 1790*d5c09012SAndroid Build Coastguard Worker // ignored_files and included_files are file glob matches using 1791*d5c09012SAndroid Build Coastguard Worker // https://golang.org/pkg/path/filepath/#Match extended with support for "**". 1792*d5c09012SAndroid Build Coastguard Worker // 1793*d5c09012SAndroid Build Coastguard Worker // If ignored_files and changed files are both empty, then they are 1794*d5c09012SAndroid Build Coastguard Worker // not used to determine whether or not to trigger a build. 1795*d5c09012SAndroid Build Coastguard Worker // 1796*d5c09012SAndroid Build Coastguard Worker // If ignored_files is not empty, then we ignore any files that match 1797*d5c09012SAndroid Build Coastguard Worker // any of the ignored_file globs. If the change has no files that are 1798*d5c09012SAndroid Build Coastguard Worker // outside of the ignored_files globs, then we do not trigger a build. 1799*d5c09012SAndroid Build Coastguard Worker repeated string ignored_files = 15; 1800*d5c09012SAndroid Build Coastguard Worker 1801*d5c09012SAndroid Build Coastguard Worker // If any of the files altered in the commit pass the ignored_files 1802*d5c09012SAndroid Build Coastguard Worker // filter and included_files is empty, then as far as this filter is 1803*d5c09012SAndroid Build Coastguard Worker // concerned, we should trigger the build. 1804*d5c09012SAndroid Build Coastguard Worker // 1805*d5c09012SAndroid Build Coastguard Worker // If any of the files altered in the commit pass the ignored_files 1806*d5c09012SAndroid Build Coastguard Worker // filter and included_files is not empty, then we make sure that at 1807*d5c09012SAndroid Build Coastguard Worker // least one of those files matches a included_files glob. If not, 1808*d5c09012SAndroid Build Coastguard Worker // then we do not trigger a build. 1809*d5c09012SAndroid Build Coastguard Worker repeated string included_files = 16; 1810*d5c09012SAndroid Build Coastguard Worker 1811*d5c09012SAndroid Build Coastguard Worker // Optional. A Common Expression Language string. 1812*d5c09012SAndroid Build Coastguard Worker string filter = 30 [(google.api.field_behavior) = OPTIONAL]; 1813*d5c09012SAndroid Build Coastguard Worker 1814*d5c09012SAndroid Build Coastguard Worker // The repo and ref of the repository from which to build. This field 1815*d5c09012SAndroid Build Coastguard Worker // is used only for those triggers that do not respond to SCM events. 1816*d5c09012SAndroid Build Coastguard Worker // Triggers that respond to such events build source at whatever commit 1817*d5c09012SAndroid Build Coastguard Worker // caused the event. 1818*d5c09012SAndroid Build Coastguard Worker // This field is currently only used by Webhook, Pub/Sub, Manual, and Cron 1819*d5c09012SAndroid Build Coastguard Worker // triggers. 1820*d5c09012SAndroid Build Coastguard Worker GitRepoSource source_to_build = 26; 1821*d5c09012SAndroid Build Coastguard Worker 1822*d5c09012SAndroid Build Coastguard Worker // The service account used for all user-controlled operations including 1823*d5c09012SAndroid Build Coastguard Worker // UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. 1824*d5c09012SAndroid Build Coastguard Worker // If no service account is set, then the standard Cloud Build service account 1825*d5c09012SAndroid Build Coastguard Worker // ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. 1826*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}` 1827*d5c09012SAndroid Build Coastguard Worker string service_account = 33 [(google.api.resource_reference) = { 1828*d5c09012SAndroid Build Coastguard Worker type: "iam.googleapis.com/ServiceAccount" 1829*d5c09012SAndroid Build Coastguard Worker }]; 1830*d5c09012SAndroid Build Coastguard Worker 1831*d5c09012SAndroid Build Coastguard Worker // The configuration of a trigger that creates a build whenever an event from 1832*d5c09012SAndroid Build Coastguard Worker // Repo API is received. 1833*d5c09012SAndroid Build Coastguard Worker RepositoryEventConfig repository_event_config = 39; 1834*d5c09012SAndroid Build Coastguard Worker} 1835*d5c09012SAndroid Build Coastguard Worker 1836*d5c09012SAndroid Build Coastguard Worker// The configuration of a trigger that creates a build whenever an event from 1837*d5c09012SAndroid Build Coastguard Worker// Repo API is received. 1838*d5c09012SAndroid Build Coastguard Workermessage RepositoryEventConfig { 1839*d5c09012SAndroid Build Coastguard Worker // All possible SCM repo types from Repo API. 1840*d5c09012SAndroid Build Coastguard Worker enum RepositoryType { 1841*d5c09012SAndroid Build Coastguard Worker // If unspecified, RepositoryType defaults to GITHUB. 1842*d5c09012SAndroid Build Coastguard Worker REPOSITORY_TYPE_UNSPECIFIED = 0; 1843*d5c09012SAndroid Build Coastguard Worker 1844*d5c09012SAndroid Build Coastguard Worker // The SCM repo is GITHUB. 1845*d5c09012SAndroid Build Coastguard Worker GITHUB = 1; 1846*d5c09012SAndroid Build Coastguard Worker 1847*d5c09012SAndroid Build Coastguard Worker // The SCM repo is GITHUB Enterprise. 1848*d5c09012SAndroid Build Coastguard Worker GITHUB_ENTERPRISE = 2; 1849*d5c09012SAndroid Build Coastguard Worker 1850*d5c09012SAndroid Build Coastguard Worker // The SCM repo is GITLAB Enterprise. 1851*d5c09012SAndroid Build Coastguard Worker GITLAB_ENTERPRISE = 3; 1852*d5c09012SAndroid Build Coastguard Worker } 1853*d5c09012SAndroid Build Coastguard Worker 1854*d5c09012SAndroid Build Coastguard Worker // The resource name of the Repo API resource. 1855*d5c09012SAndroid Build Coastguard Worker string repository = 1 [(google.api.resource_reference) = { 1856*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/Repository" 1857*d5c09012SAndroid Build Coastguard Worker }]; 1858*d5c09012SAndroid Build Coastguard Worker 1859*d5c09012SAndroid Build Coastguard Worker // Output only. The type of the SCM vendor the repository points to. 1860*d5c09012SAndroid Build Coastguard Worker RepositoryType repository_type = 2 1861*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1862*d5c09012SAndroid Build Coastguard Worker 1863*d5c09012SAndroid Build Coastguard Worker // The types of filter to trigger a build. 1864*d5c09012SAndroid Build Coastguard Worker oneof filter { 1865*d5c09012SAndroid Build Coastguard Worker // Filter to match changes in pull requests. 1866*d5c09012SAndroid Build Coastguard Worker PullRequestFilter pull_request = 3; 1867*d5c09012SAndroid Build Coastguard Worker 1868*d5c09012SAndroid Build Coastguard Worker // Filter to match changes in refs like branches, tags. 1869*d5c09012SAndroid Build Coastguard Worker PushFilter push = 4; 1870*d5c09012SAndroid Build Coastguard Worker } 1871*d5c09012SAndroid Build Coastguard Worker} 1872*d5c09012SAndroid Build Coastguard Worker 1873*d5c09012SAndroid Build Coastguard Worker// GitHubEventsConfig describes the configuration of a trigger that creates a 1874*d5c09012SAndroid Build Coastguard Worker// build whenever a GitHub event is received. 1875*d5c09012SAndroid Build Coastguard Workermessage GitHubEventsConfig { 1876*d5c09012SAndroid Build Coastguard Worker // The installationID that emits the GitHub event. 1877*d5c09012SAndroid Build Coastguard Worker int64 installation_id = 1 [deprecated = true]; 1878*d5c09012SAndroid Build Coastguard Worker 1879*d5c09012SAndroid Build Coastguard Worker // Owner of the repository. For example: The owner for 1880*d5c09012SAndroid Build Coastguard Worker // https://github.com/googlecloudplatform/cloud-builders is 1881*d5c09012SAndroid Build Coastguard Worker // "googlecloudplatform". 1882*d5c09012SAndroid Build Coastguard Worker string owner = 6; 1883*d5c09012SAndroid Build Coastguard Worker 1884*d5c09012SAndroid Build Coastguard Worker // Name of the repository. For example: The name for 1885*d5c09012SAndroid Build Coastguard Worker // https://github.com/googlecloudplatform/cloud-builders is "cloud-builders". 1886*d5c09012SAndroid Build Coastguard Worker string name = 7; 1887*d5c09012SAndroid Build Coastguard Worker 1888*d5c09012SAndroid Build Coastguard Worker // Filter describing the types of events to trigger a build. 1889*d5c09012SAndroid Build Coastguard Worker // Currently supported event types: push, pull_request. 1890*d5c09012SAndroid Build Coastguard Worker oneof event { 1891*d5c09012SAndroid Build Coastguard Worker // filter to match changes in pull requests. 1892*d5c09012SAndroid Build Coastguard Worker PullRequestFilter pull_request = 4; 1893*d5c09012SAndroid Build Coastguard Worker 1894*d5c09012SAndroid Build Coastguard Worker // filter to match changes in refs like branches, tags. 1895*d5c09012SAndroid Build Coastguard Worker PushFilter push = 5; 1896*d5c09012SAndroid Build Coastguard Worker } 1897*d5c09012SAndroid Build Coastguard Worker} 1898*d5c09012SAndroid Build Coastguard Worker 1899*d5c09012SAndroid Build Coastguard Worker// PubsubConfig describes the configuration of a trigger that 1900*d5c09012SAndroid Build Coastguard Worker// creates a build whenever a Pub/Sub message is published. 1901*d5c09012SAndroid Build Coastguard Workermessage PubsubConfig { 1902*d5c09012SAndroid Build Coastguard Worker // Enumerates potential issues with the underlying Pub/Sub subscription 1903*d5c09012SAndroid Build Coastguard Worker // configuration. 1904*d5c09012SAndroid Build Coastguard Worker enum State { 1905*d5c09012SAndroid Build Coastguard Worker // The subscription configuration has not been checked. 1906*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 1907*d5c09012SAndroid Build Coastguard Worker 1908*d5c09012SAndroid Build Coastguard Worker // The Pub/Sub subscription is properly configured. 1909*d5c09012SAndroid Build Coastguard Worker OK = 1; 1910*d5c09012SAndroid Build Coastguard Worker 1911*d5c09012SAndroid Build Coastguard Worker // The subscription has been deleted. 1912*d5c09012SAndroid Build Coastguard Worker SUBSCRIPTION_DELETED = 2; 1913*d5c09012SAndroid Build Coastguard Worker 1914*d5c09012SAndroid Build Coastguard Worker // The topic has been deleted. 1915*d5c09012SAndroid Build Coastguard Worker TOPIC_DELETED = 3; 1916*d5c09012SAndroid Build Coastguard Worker 1917*d5c09012SAndroid Build Coastguard Worker // Some of the subscription's field are misconfigured. 1918*d5c09012SAndroid Build Coastguard Worker SUBSCRIPTION_MISCONFIGURED = 4; 1919*d5c09012SAndroid Build Coastguard Worker } 1920*d5c09012SAndroid Build Coastguard Worker 1921*d5c09012SAndroid Build Coastguard Worker // Output only. Name of the subscription. Format is 1922*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/subscriptions/{subscription}`. 1923*d5c09012SAndroid Build Coastguard Worker string subscription = 1 [ 1924*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY, 1925*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1926*d5c09012SAndroid Build Coastguard Worker type: "pubsub.googleapis.com/Subscription" 1927*d5c09012SAndroid Build Coastguard Worker } 1928*d5c09012SAndroid Build Coastguard Worker ]; 1929*d5c09012SAndroid Build Coastguard Worker 1930*d5c09012SAndroid Build Coastguard Worker // The name of the topic from which this subscription is receiving messages. 1931*d5c09012SAndroid Build Coastguard Worker // Format is `projects/{project}/topics/{topic}`. 1932*d5c09012SAndroid Build Coastguard Worker string topic = 2 [ 1933*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" } 1934*d5c09012SAndroid Build Coastguard Worker ]; 1935*d5c09012SAndroid Build Coastguard Worker 1936*d5c09012SAndroid Build Coastguard Worker // Service account that will make the push request. 1937*d5c09012SAndroid Build Coastguard Worker string service_account_email = 3 [(google.api.resource_reference) = { 1938*d5c09012SAndroid Build Coastguard Worker type: "iam.googleapis.com/ServiceAccount" 1939*d5c09012SAndroid Build Coastguard Worker }]; 1940*d5c09012SAndroid Build Coastguard Worker 1941*d5c09012SAndroid Build Coastguard Worker // Potential issues with the underlying Pub/Sub subscription configuration. 1942*d5c09012SAndroid Build Coastguard Worker // Only populated on get requests. 1943*d5c09012SAndroid Build Coastguard Worker State state = 4; 1944*d5c09012SAndroid Build Coastguard Worker} 1945*d5c09012SAndroid Build Coastguard Worker 1946*d5c09012SAndroid Build Coastguard Worker// WebhookConfig describes the configuration of a trigger that 1947*d5c09012SAndroid Build Coastguard Worker// creates a build whenever a webhook is sent to a trigger's webhook URL. 1948*d5c09012SAndroid Build Coastguard Workermessage WebhookConfig { 1949*d5c09012SAndroid Build Coastguard Worker // Enumerates potential issues with the Secret Manager secret provided by the 1950*d5c09012SAndroid Build Coastguard Worker // user. 1951*d5c09012SAndroid Build Coastguard Worker enum State { 1952*d5c09012SAndroid Build Coastguard Worker // The webhook auth configuration not been checked. 1953*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 1954*d5c09012SAndroid Build Coastguard Worker 1955*d5c09012SAndroid Build Coastguard Worker // The auth configuration is properly setup. 1956*d5c09012SAndroid Build Coastguard Worker OK = 1; 1957*d5c09012SAndroid Build Coastguard Worker 1958*d5c09012SAndroid Build Coastguard Worker // The secret provided in auth_method has been deleted. 1959*d5c09012SAndroid Build Coastguard Worker SECRET_DELETED = 2; 1960*d5c09012SAndroid Build Coastguard Worker } 1961*d5c09012SAndroid Build Coastguard Worker 1962*d5c09012SAndroid Build Coastguard Worker // Auth method specifies how the webhook authenticates with GCP. 1963*d5c09012SAndroid Build Coastguard Worker oneof auth_method { 1964*d5c09012SAndroid Build Coastguard Worker // Required. Resource name for the secret required as a URL parameter. 1965*d5c09012SAndroid Build Coastguard Worker string secret = 3 [ 1966*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1967*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1968*d5c09012SAndroid Build Coastguard Worker type: "secretmanager.googleapis.com/SecretVersion" 1969*d5c09012SAndroid Build Coastguard Worker } 1970*d5c09012SAndroid Build Coastguard Worker ]; 1971*d5c09012SAndroid Build Coastguard Worker } 1972*d5c09012SAndroid Build Coastguard Worker 1973*d5c09012SAndroid Build Coastguard Worker // Potential issues with the underlying Pub/Sub subscription configuration. 1974*d5c09012SAndroid Build Coastguard Worker // Only populated on get requests. 1975*d5c09012SAndroid Build Coastguard Worker State state = 4; 1976*d5c09012SAndroid Build Coastguard Worker} 1977*d5c09012SAndroid Build Coastguard Worker 1978*d5c09012SAndroid Build Coastguard Worker// PullRequestFilter contains filter properties for matching GitHub Pull 1979*d5c09012SAndroid Build Coastguard Worker// Requests. 1980*d5c09012SAndroid Build Coastguard Workermessage PullRequestFilter { 1981*d5c09012SAndroid Build Coastguard Worker // Controls behavior of Pull Request comments. 1982*d5c09012SAndroid Build Coastguard Worker enum CommentControl { 1983*d5c09012SAndroid Build Coastguard Worker // Do not require comments on Pull Requests before builds are triggered. 1984*d5c09012SAndroid Build Coastguard Worker COMMENTS_DISABLED = 0; 1985*d5c09012SAndroid Build Coastguard Worker 1986*d5c09012SAndroid Build Coastguard Worker // Enforce that repository owners or collaborators must comment on Pull 1987*d5c09012SAndroid Build Coastguard Worker // Requests before builds are triggered. 1988*d5c09012SAndroid Build Coastguard Worker COMMENTS_ENABLED = 1; 1989*d5c09012SAndroid Build Coastguard Worker 1990*d5c09012SAndroid Build Coastguard Worker // Enforce that repository owners or collaborators must comment on external 1991*d5c09012SAndroid Build Coastguard Worker // contributors' Pull Requests before builds are triggered. 1992*d5c09012SAndroid Build Coastguard Worker COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY = 2; 1993*d5c09012SAndroid Build Coastguard Worker } 1994*d5c09012SAndroid Build Coastguard Worker 1995*d5c09012SAndroid Build Coastguard Worker // Target refs to match. 1996*d5c09012SAndroid Build Coastguard Worker // A target ref is the git reference where the pull request will be applied. 1997*d5c09012SAndroid Build Coastguard Worker oneof git_ref { 1998*d5c09012SAndroid Build Coastguard Worker // Regex of branches to match. 1999*d5c09012SAndroid Build Coastguard Worker // 2000*d5c09012SAndroid Build Coastguard Worker // The syntax of the regular expressions accepted is the syntax accepted by 2001*d5c09012SAndroid Build Coastguard Worker // RE2 and described at https://github.com/google/re2/wiki/Syntax 2002*d5c09012SAndroid Build Coastguard Worker string branch = 2; 2003*d5c09012SAndroid Build Coastguard Worker } 2004*d5c09012SAndroid Build Coastguard Worker 2005*d5c09012SAndroid Build Coastguard Worker // Configure builds to run whether a repository owner or collaborator need to 2006*d5c09012SAndroid Build Coastguard Worker // comment `/gcbrun`. 2007*d5c09012SAndroid Build Coastguard Worker CommentControl comment_control = 5; 2008*d5c09012SAndroid Build Coastguard Worker 2009*d5c09012SAndroid Build Coastguard Worker // If true, branches that do NOT match the git_ref will trigger a build. 2010*d5c09012SAndroid Build Coastguard Worker bool invert_regex = 6; 2011*d5c09012SAndroid Build Coastguard Worker} 2012*d5c09012SAndroid Build Coastguard Worker 2013*d5c09012SAndroid Build Coastguard Worker// Push contains filter properties for matching GitHub git pushes. 2014*d5c09012SAndroid Build Coastguard Workermessage PushFilter { 2015*d5c09012SAndroid Build Coastguard Worker // Modified refs to match. 2016*d5c09012SAndroid Build Coastguard Worker // A modified refs are the refs modified by a git push operation. 2017*d5c09012SAndroid Build Coastguard Worker oneof git_ref { 2018*d5c09012SAndroid Build Coastguard Worker // Regexes matching branches to build. 2019*d5c09012SAndroid Build Coastguard Worker // 2020*d5c09012SAndroid Build Coastguard Worker // The syntax of the regular expressions accepted is the syntax accepted by 2021*d5c09012SAndroid Build Coastguard Worker // RE2 and described at https://github.com/google/re2/wiki/Syntax 2022*d5c09012SAndroid Build Coastguard Worker string branch = 2; 2023*d5c09012SAndroid Build Coastguard Worker 2024*d5c09012SAndroid Build Coastguard Worker // Regexes matching tags to build. 2025*d5c09012SAndroid Build Coastguard Worker // 2026*d5c09012SAndroid Build Coastguard Worker // The syntax of the regular expressions accepted is the syntax accepted by 2027*d5c09012SAndroid Build Coastguard Worker // RE2 and described at https://github.com/google/re2/wiki/Syntax 2028*d5c09012SAndroid Build Coastguard Worker string tag = 3; 2029*d5c09012SAndroid Build Coastguard Worker } 2030*d5c09012SAndroid Build Coastguard Worker 2031*d5c09012SAndroid Build Coastguard Worker // When true, only trigger a build if the revision regex does NOT match the 2032*d5c09012SAndroid Build Coastguard Worker // git_ref regex. 2033*d5c09012SAndroid Build Coastguard Worker bool invert_regex = 4; 2034*d5c09012SAndroid Build Coastguard Worker} 2035*d5c09012SAndroid Build Coastguard Worker 2036*d5c09012SAndroid Build Coastguard Worker// Request to create a new `BuildTrigger`. 2037*d5c09012SAndroid Build Coastguard Workermessage CreateBuildTriggerRequest { 2038*d5c09012SAndroid Build Coastguard Worker // The parent resource where this trigger will be created. 2039*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}` 2040*d5c09012SAndroid Build Coastguard Worker string parent = 3 [(google.api.resource_reference) = { 2041*d5c09012SAndroid Build Coastguard Worker child_type: "cloudbuild.googleapis.com/BuildTrigger" 2042*d5c09012SAndroid Build Coastguard Worker }]; 2043*d5c09012SAndroid Build Coastguard Worker 2044*d5c09012SAndroid Build Coastguard Worker // Required. ID of the project for which to configure automatic builds. 2045*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 2046*d5c09012SAndroid Build Coastguard Worker 2047*d5c09012SAndroid Build Coastguard Worker // Required. `BuildTrigger` to create. 2048*d5c09012SAndroid Build Coastguard Worker BuildTrigger trigger = 2 [(google.api.field_behavior) = REQUIRED]; 2049*d5c09012SAndroid Build Coastguard Worker} 2050*d5c09012SAndroid Build Coastguard Worker 2051*d5c09012SAndroid Build Coastguard Worker// Returns the `BuildTrigger` with the specified ID. 2052*d5c09012SAndroid Build Coastguard Workermessage GetBuildTriggerRequest { 2053*d5c09012SAndroid Build Coastguard Worker // The name of the `Trigger` to retrieve. 2054*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}/triggers/{trigger}` 2055*d5c09012SAndroid Build Coastguard Worker string name = 3 [(google.api.resource_reference) = { 2056*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/BuildTrigger" 2057*d5c09012SAndroid Build Coastguard Worker }]; 2058*d5c09012SAndroid Build Coastguard Worker 2059*d5c09012SAndroid Build Coastguard Worker // Required. ID of the project that owns the trigger. 2060*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 2061*d5c09012SAndroid Build Coastguard Worker 2062*d5c09012SAndroid Build Coastguard Worker // Required. Identifier (`id` or `name`) of the `BuildTrigger` to get. 2063*d5c09012SAndroid Build Coastguard Worker string trigger_id = 2 [(google.api.field_behavior) = REQUIRED]; 2064*d5c09012SAndroid Build Coastguard Worker} 2065*d5c09012SAndroid Build Coastguard Worker 2066*d5c09012SAndroid Build Coastguard Worker// Request to list existing `BuildTriggers`. 2067*d5c09012SAndroid Build Coastguard Workermessage ListBuildTriggersRequest { 2068*d5c09012SAndroid Build Coastguard Worker // The parent of the collection of `Triggers`. 2069*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}` 2070*d5c09012SAndroid Build Coastguard Worker string parent = 4 [(google.api.resource_reference) = { 2071*d5c09012SAndroid Build Coastguard Worker child_type: "cloudbuild.googleapis.com/BuildTrigger" 2072*d5c09012SAndroid Build Coastguard Worker }]; 2073*d5c09012SAndroid Build Coastguard Worker 2074*d5c09012SAndroid Build Coastguard Worker // Required. ID of the project for which to list BuildTriggers. 2075*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 2076*d5c09012SAndroid Build Coastguard Worker 2077*d5c09012SAndroid Build Coastguard Worker // Number of results to return in the list. 2078*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2; 2079*d5c09012SAndroid Build Coastguard Worker 2080*d5c09012SAndroid Build Coastguard Worker // Token to provide to skip to a particular spot in the list. 2081*d5c09012SAndroid Build Coastguard Worker string page_token = 3; 2082*d5c09012SAndroid Build Coastguard Worker} 2083*d5c09012SAndroid Build Coastguard Worker 2084*d5c09012SAndroid Build Coastguard Worker// Response containing existing `BuildTriggers`. 2085*d5c09012SAndroid Build Coastguard Workermessage ListBuildTriggersResponse { 2086*d5c09012SAndroid Build Coastguard Worker // `BuildTriggers` for the project, sorted by `create_time` descending. 2087*d5c09012SAndroid Build Coastguard Worker repeated BuildTrigger triggers = 1; 2088*d5c09012SAndroid Build Coastguard Worker 2089*d5c09012SAndroid Build Coastguard Worker // Token to receive the next page of results. 2090*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 2091*d5c09012SAndroid Build Coastguard Worker} 2092*d5c09012SAndroid Build Coastguard Worker 2093*d5c09012SAndroid Build Coastguard Worker// Request to delete a `BuildTrigger`. 2094*d5c09012SAndroid Build Coastguard Workermessage DeleteBuildTriggerRequest { 2095*d5c09012SAndroid Build Coastguard Worker // The name of the `Trigger` to delete. 2096*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}/triggers/{trigger}` 2097*d5c09012SAndroid Build Coastguard Worker string name = 3 [(google.api.resource_reference) = { 2098*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/BuildTrigger" 2099*d5c09012SAndroid Build Coastguard Worker }]; 2100*d5c09012SAndroid Build Coastguard Worker 2101*d5c09012SAndroid Build Coastguard Worker // Required. ID of the project that owns the trigger. 2102*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 2103*d5c09012SAndroid Build Coastguard Worker 2104*d5c09012SAndroid Build Coastguard Worker // Required. ID of the `BuildTrigger` to delete. 2105*d5c09012SAndroid Build Coastguard Worker string trigger_id = 2 [(google.api.field_behavior) = REQUIRED]; 2106*d5c09012SAndroid Build Coastguard Worker} 2107*d5c09012SAndroid Build Coastguard Worker 2108*d5c09012SAndroid Build Coastguard Worker// Request to update an existing `BuildTrigger`. 2109*d5c09012SAndroid Build Coastguard Workermessage UpdateBuildTriggerRequest { 2110*d5c09012SAndroid Build Coastguard Worker // Required. ID of the project that owns the trigger. 2111*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 2112*d5c09012SAndroid Build Coastguard Worker 2113*d5c09012SAndroid Build Coastguard Worker // Required. ID of the `BuildTrigger` to update. 2114*d5c09012SAndroid Build Coastguard Worker string trigger_id = 2 [(google.api.field_behavior) = REQUIRED]; 2115*d5c09012SAndroid Build Coastguard Worker 2116*d5c09012SAndroid Build Coastguard Worker // Required. `BuildTrigger` to update. 2117*d5c09012SAndroid Build Coastguard Worker BuildTrigger trigger = 3 [(google.api.field_behavior) = REQUIRED]; 2118*d5c09012SAndroid Build Coastguard Worker 2119*d5c09012SAndroid Build Coastguard Worker // Update mask for the resource. If this is set, 2120*d5c09012SAndroid Build Coastguard Worker // the server will only update the fields specified in the field mask. 2121*d5c09012SAndroid Build Coastguard Worker // Otherwise, a full update of the mutable resource fields will be performed. 2122*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 5; 2123*d5c09012SAndroid Build Coastguard Worker} 2124*d5c09012SAndroid Build Coastguard Worker 2125*d5c09012SAndroid Build Coastguard Worker// Optional arguments to enable specific features of builds. 2126*d5c09012SAndroid Build Coastguard Workermessage BuildOptions { 2127*d5c09012SAndroid Build Coastguard Worker // Specifies the manner in which the build should be verified, if at all. 2128*d5c09012SAndroid Build Coastguard Worker // 2129*d5c09012SAndroid Build Coastguard Worker // If a verified build is requested, and any part of the process to generate 2130*d5c09012SAndroid Build Coastguard Worker // and upload provenance fails, the build will also fail. 2131*d5c09012SAndroid Build Coastguard Worker // 2132*d5c09012SAndroid Build Coastguard Worker // If the build does not request verification then that process may occur, but 2133*d5c09012SAndroid Build Coastguard Worker // is not guaranteed to. If it does occur and fails, the build will not fail. 2134*d5c09012SAndroid Build Coastguard Worker // 2135*d5c09012SAndroid Build Coastguard Worker // For more information, see [Viewing Build 2136*d5c09012SAndroid Build Coastguard Worker // Provenance](https://cloud.google.com/build/docs/securing-builds/view-build-provenance). 2137*d5c09012SAndroid Build Coastguard Worker enum VerifyOption { 2138*d5c09012SAndroid Build Coastguard Worker // Not a verifiable build (the default). 2139*d5c09012SAndroid Build Coastguard Worker NOT_VERIFIED = 0; 2140*d5c09012SAndroid Build Coastguard Worker 2141*d5c09012SAndroid Build Coastguard Worker // Build must be verified. 2142*d5c09012SAndroid Build Coastguard Worker VERIFIED = 1; 2143*d5c09012SAndroid Build Coastguard Worker } 2144*d5c09012SAndroid Build Coastguard Worker 2145*d5c09012SAndroid Build Coastguard Worker // Supported Compute Engine machine types. 2146*d5c09012SAndroid Build Coastguard Worker // For more information, see [Machine 2147*d5c09012SAndroid Build Coastguard Worker // types](https://cloud.google.com/compute/docs/machine-types). 2148*d5c09012SAndroid Build Coastguard Worker enum MachineType { 2149*d5c09012SAndroid Build Coastguard Worker // Standard machine type. 2150*d5c09012SAndroid Build Coastguard Worker UNSPECIFIED = 0; 2151*d5c09012SAndroid Build Coastguard Worker 2152*d5c09012SAndroid Build Coastguard Worker // Highcpu machine with 8 CPUs. 2153*d5c09012SAndroid Build Coastguard Worker N1_HIGHCPU_8 = 1; 2154*d5c09012SAndroid Build Coastguard Worker 2155*d5c09012SAndroid Build Coastguard Worker // Highcpu machine with 32 CPUs. 2156*d5c09012SAndroid Build Coastguard Worker N1_HIGHCPU_32 = 2; 2157*d5c09012SAndroid Build Coastguard Worker 2158*d5c09012SAndroid Build Coastguard Worker // Highcpu e2 machine with 8 CPUs. 2159*d5c09012SAndroid Build Coastguard Worker E2_HIGHCPU_8 = 5; 2160*d5c09012SAndroid Build Coastguard Worker 2161*d5c09012SAndroid Build Coastguard Worker // Highcpu e2 machine with 32 CPUs. 2162*d5c09012SAndroid Build Coastguard Worker E2_HIGHCPU_32 = 6; 2163*d5c09012SAndroid Build Coastguard Worker 2164*d5c09012SAndroid Build Coastguard Worker // E2 machine with 1 CPU. 2165*d5c09012SAndroid Build Coastguard Worker E2_MEDIUM = 7; 2166*d5c09012SAndroid Build Coastguard Worker } 2167*d5c09012SAndroid Build Coastguard Worker 2168*d5c09012SAndroid Build Coastguard Worker // Specifies the behavior when there is an error in the substitution checks. 2169*d5c09012SAndroid Build Coastguard Worker enum SubstitutionOption { 2170*d5c09012SAndroid Build Coastguard Worker // Fails the build if error in substitutions checks, like missing 2171*d5c09012SAndroid Build Coastguard Worker // a substitution in the template or in the map. 2172*d5c09012SAndroid Build Coastguard Worker MUST_MATCH = 0; 2173*d5c09012SAndroid Build Coastguard Worker 2174*d5c09012SAndroid Build Coastguard Worker // Do not fail the build if error in substitutions checks. 2175*d5c09012SAndroid Build Coastguard Worker ALLOW_LOOSE = 1; 2176*d5c09012SAndroid Build Coastguard Worker } 2177*d5c09012SAndroid Build Coastguard Worker 2178*d5c09012SAndroid Build Coastguard Worker // Specifies the behavior when writing build logs to Cloud Storage. 2179*d5c09012SAndroid Build Coastguard Worker enum LogStreamingOption { 2180*d5c09012SAndroid Build Coastguard Worker // Service may automatically determine build log streaming behavior. 2181*d5c09012SAndroid Build Coastguard Worker STREAM_DEFAULT = 0; 2182*d5c09012SAndroid Build Coastguard Worker 2183*d5c09012SAndroid Build Coastguard Worker // Build logs should be streamed to Cloud Storage. 2184*d5c09012SAndroid Build Coastguard Worker STREAM_ON = 1; 2185*d5c09012SAndroid Build Coastguard Worker 2186*d5c09012SAndroid Build Coastguard Worker // Build logs should not be streamed to Cloud Storage; they will be 2187*d5c09012SAndroid Build Coastguard Worker // written when the build is completed. 2188*d5c09012SAndroid Build Coastguard Worker STREAM_OFF = 2; 2189*d5c09012SAndroid Build Coastguard Worker } 2190*d5c09012SAndroid Build Coastguard Worker 2191*d5c09012SAndroid Build Coastguard Worker // Details about how a build should be executed on a `WorkerPool`. 2192*d5c09012SAndroid Build Coastguard Worker // 2193*d5c09012SAndroid Build Coastguard Worker // See [running builds in a private 2194*d5c09012SAndroid Build Coastguard Worker // pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) 2195*d5c09012SAndroid Build Coastguard Worker // for more information. 2196*d5c09012SAndroid Build Coastguard Worker message PoolOption { 2197*d5c09012SAndroid Build Coastguard Worker // The `WorkerPool` resource to execute the build on. 2198*d5c09012SAndroid Build Coastguard Worker // You must have `cloudbuild.workerpools.use` on the project hosting the 2199*d5c09012SAndroid Build Coastguard Worker // WorkerPool. 2200*d5c09012SAndroid Build Coastguard Worker // 2201*d5c09012SAndroid Build Coastguard Worker // Format projects/{project}/locations/{location}/workerPools/{workerPoolId} 2202*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.resource_reference) = { 2203*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/WorkerPool" 2204*d5c09012SAndroid Build Coastguard Worker }]; 2205*d5c09012SAndroid Build Coastguard Worker } 2206*d5c09012SAndroid Build Coastguard Worker 2207*d5c09012SAndroid Build Coastguard Worker // Specifies the logging mode. 2208*d5c09012SAndroid Build Coastguard Worker enum LoggingMode { 2209*d5c09012SAndroid Build Coastguard Worker // The service determines the logging mode. The default is `LEGACY`. Do not 2210*d5c09012SAndroid Build Coastguard Worker // rely on the default logging behavior as it may change in the future. 2211*d5c09012SAndroid Build Coastguard Worker LOGGING_UNSPECIFIED = 0; 2212*d5c09012SAndroid Build Coastguard Worker 2213*d5c09012SAndroid Build Coastguard Worker // Build logs are stored in Cloud Logging and Cloud Storage. 2214*d5c09012SAndroid Build Coastguard Worker LEGACY = 1; 2215*d5c09012SAndroid Build Coastguard Worker 2216*d5c09012SAndroid Build Coastguard Worker // Build logs are stored in Cloud Storage. 2217*d5c09012SAndroid Build Coastguard Worker GCS_ONLY = 2; 2218*d5c09012SAndroid Build Coastguard Worker 2219*d5c09012SAndroid Build Coastguard Worker // This option is the same as CLOUD_LOGGING_ONLY. 2220*d5c09012SAndroid Build Coastguard Worker STACKDRIVER_ONLY = 3 [deprecated = true]; 2221*d5c09012SAndroid Build Coastguard Worker 2222*d5c09012SAndroid Build Coastguard Worker // Build logs are stored in Cloud Logging. Selecting this option will not 2223*d5c09012SAndroid Build Coastguard Worker // allow [logs 2224*d5c09012SAndroid Build Coastguard Worker // streaming](https://cloud.google.com/sdk/gcloud/reference/builds/log). 2225*d5c09012SAndroid Build Coastguard Worker CLOUD_LOGGING_ONLY = 5; 2226*d5c09012SAndroid Build Coastguard Worker 2227*d5c09012SAndroid Build Coastguard Worker // Turn off all logging. No build logs will be captured. 2228*d5c09012SAndroid Build Coastguard Worker NONE = 4; 2229*d5c09012SAndroid Build Coastguard Worker } 2230*d5c09012SAndroid Build Coastguard Worker 2231*d5c09012SAndroid Build Coastguard Worker // Default GCS log bucket behavior options. 2232*d5c09012SAndroid Build Coastguard Worker enum DefaultLogsBucketBehavior { 2233*d5c09012SAndroid Build Coastguard Worker // Unspecified. 2234*d5c09012SAndroid Build Coastguard Worker DEFAULT_LOGS_BUCKET_BEHAVIOR_UNSPECIFIED = 0; 2235*d5c09012SAndroid Build Coastguard Worker 2236*d5c09012SAndroid Build Coastguard Worker // Bucket is located in user-owned project in the same region as the 2237*d5c09012SAndroid Build Coastguard Worker // build. The builder service account must have access to create and write 2238*d5c09012SAndroid Build Coastguard Worker // to GCS buckets in the build project. 2239*d5c09012SAndroid Build Coastguard Worker REGIONAL_USER_OWNED_BUCKET = 1; 2240*d5c09012SAndroid Build Coastguard Worker } 2241*d5c09012SAndroid Build Coastguard Worker 2242*d5c09012SAndroid Build Coastguard Worker // Requested hash for SourceProvenance. 2243*d5c09012SAndroid Build Coastguard Worker repeated Hash.HashType source_provenance_hash = 1; 2244*d5c09012SAndroid Build Coastguard Worker 2245*d5c09012SAndroid Build Coastguard Worker // Requested verifiability options. 2246*d5c09012SAndroid Build Coastguard Worker VerifyOption requested_verify_option = 2; 2247*d5c09012SAndroid Build Coastguard Worker 2248*d5c09012SAndroid Build Coastguard Worker // Compute Engine machine type on which to run the build. 2249*d5c09012SAndroid Build Coastguard Worker MachineType machine_type = 3; 2250*d5c09012SAndroid Build Coastguard Worker 2251*d5c09012SAndroid Build Coastguard Worker // Requested disk size for the VM that runs the build. Note that this is *NOT* 2252*d5c09012SAndroid Build Coastguard Worker // "disk free"; some of the space will be used by the operating system and 2253*d5c09012SAndroid Build Coastguard Worker // build utilities. Also note that this is the minimum disk size that will be 2254*d5c09012SAndroid Build Coastguard Worker // allocated for the build -- the build may run with a larger disk than 2255*d5c09012SAndroid Build Coastguard Worker // requested. At present, the maximum disk size is 2000GB; builds that request 2256*d5c09012SAndroid Build Coastguard Worker // more than the maximum are rejected with an error. 2257*d5c09012SAndroid Build Coastguard Worker int64 disk_size_gb = 6; 2258*d5c09012SAndroid Build Coastguard Worker 2259*d5c09012SAndroid Build Coastguard Worker // Option to specify behavior when there is an error in the substitution 2260*d5c09012SAndroid Build Coastguard Worker // checks. 2261*d5c09012SAndroid Build Coastguard Worker // 2262*d5c09012SAndroid Build Coastguard Worker // NOTE: this is always set to ALLOW_LOOSE for triggered builds and cannot 2263*d5c09012SAndroid Build Coastguard Worker // be overridden in the build configuration file. 2264*d5c09012SAndroid Build Coastguard Worker SubstitutionOption substitution_option = 4; 2265*d5c09012SAndroid Build Coastguard Worker 2266*d5c09012SAndroid Build Coastguard Worker // Option to specify whether or not to apply bash style string 2267*d5c09012SAndroid Build Coastguard Worker // operations to the substitutions. 2268*d5c09012SAndroid Build Coastguard Worker // 2269*d5c09012SAndroid Build Coastguard Worker // NOTE: this is always enabled for triggered builds and cannot be 2270*d5c09012SAndroid Build Coastguard Worker // overridden in the build configuration file. 2271*d5c09012SAndroid Build Coastguard Worker bool dynamic_substitutions = 17; 2272*d5c09012SAndroid Build Coastguard Worker 2273*d5c09012SAndroid Build Coastguard Worker // Option to include built-in and custom substitutions as env variables 2274*d5c09012SAndroid Build Coastguard Worker // for all build steps. 2275*d5c09012SAndroid Build Coastguard Worker bool automap_substitutions = 22; 2276*d5c09012SAndroid Build Coastguard Worker 2277*d5c09012SAndroid Build Coastguard Worker // Option to define build log streaming behavior to Cloud 2278*d5c09012SAndroid Build Coastguard Worker // Storage. 2279*d5c09012SAndroid Build Coastguard Worker LogStreamingOption log_streaming_option = 5; 2280*d5c09012SAndroid Build Coastguard Worker 2281*d5c09012SAndroid Build Coastguard Worker // This field deprecated; please use `pool.name` instead. 2282*d5c09012SAndroid Build Coastguard Worker string worker_pool = 7 [deprecated = true]; 2283*d5c09012SAndroid Build Coastguard Worker 2284*d5c09012SAndroid Build Coastguard Worker // Optional. Specification for execution on a `WorkerPool`. 2285*d5c09012SAndroid Build Coastguard Worker // 2286*d5c09012SAndroid Build Coastguard Worker // See [running builds in a private 2287*d5c09012SAndroid Build Coastguard Worker // pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) 2288*d5c09012SAndroid Build Coastguard Worker // for more information. 2289*d5c09012SAndroid Build Coastguard Worker PoolOption pool = 19 [(google.api.field_behavior) = OPTIONAL]; 2290*d5c09012SAndroid Build Coastguard Worker 2291*d5c09012SAndroid Build Coastguard Worker // Option to specify the logging mode, which determines if and where build 2292*d5c09012SAndroid Build Coastguard Worker // logs are stored. 2293*d5c09012SAndroid Build Coastguard Worker LoggingMode logging = 11; 2294*d5c09012SAndroid Build Coastguard Worker 2295*d5c09012SAndroid Build Coastguard Worker // A list of global environment variable definitions that will exist for all 2296*d5c09012SAndroid Build Coastguard Worker // build steps in this build. If a variable is defined in both globally and in 2297*d5c09012SAndroid Build Coastguard Worker // a build step, the variable will use the build step value. 2298*d5c09012SAndroid Build Coastguard Worker // 2299*d5c09012SAndroid Build Coastguard Worker // The elements are of the form "KEY=VALUE" for the environment variable "KEY" 2300*d5c09012SAndroid Build Coastguard Worker // being given the value "VALUE". 2301*d5c09012SAndroid Build Coastguard Worker repeated string env = 12; 2302*d5c09012SAndroid Build Coastguard Worker 2303*d5c09012SAndroid Build Coastguard Worker // A list of global environment variables, which are encrypted using a Cloud 2304*d5c09012SAndroid Build Coastguard Worker // Key Management Service crypto key. These values must be specified in the 2305*d5c09012SAndroid Build Coastguard Worker // build's `Secret`. These variables will be available to all build steps 2306*d5c09012SAndroid Build Coastguard Worker // in this build. 2307*d5c09012SAndroid Build Coastguard Worker repeated string secret_env = 13; 2308*d5c09012SAndroid Build Coastguard Worker 2309*d5c09012SAndroid Build Coastguard Worker // Global list of volumes to mount for ALL build steps 2310*d5c09012SAndroid Build Coastguard Worker // 2311*d5c09012SAndroid Build Coastguard Worker // Each volume is created as an empty volume prior to starting the build 2312*d5c09012SAndroid Build Coastguard Worker // process. Upon completion of the build, volumes and their contents are 2313*d5c09012SAndroid Build Coastguard Worker // discarded. Global volume names and paths cannot conflict with the volumes 2314*d5c09012SAndroid Build Coastguard Worker // defined a build step. 2315*d5c09012SAndroid Build Coastguard Worker // 2316*d5c09012SAndroid Build Coastguard Worker // Using a global volume in a build with only one step is not valid as 2317*d5c09012SAndroid Build Coastguard Worker // it is indicative of a build request with an incorrect configuration. 2318*d5c09012SAndroid Build Coastguard Worker repeated Volume volumes = 14; 2319*d5c09012SAndroid Build Coastguard Worker 2320*d5c09012SAndroid Build Coastguard Worker // Optional. Option to specify how default logs buckets are setup. 2321*d5c09012SAndroid Build Coastguard Worker DefaultLogsBucketBehavior default_logs_bucket_behavior = 21 2322*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 2323*d5c09012SAndroid Build Coastguard Worker} 2324*d5c09012SAndroid Build Coastguard Worker 2325*d5c09012SAndroid Build Coastguard Worker// ReceiveTriggerWebhookRequest [Experimental] is the request object accepted by 2326*d5c09012SAndroid Build Coastguard Worker// the ReceiveTriggerWebhook method. 2327*d5c09012SAndroid Build Coastguard Workermessage ReceiveTriggerWebhookRequest { 2328*d5c09012SAndroid Build Coastguard Worker // The name of the `ReceiveTriggerWebhook` to retrieve. 2329*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}/triggers/{trigger}` 2330*d5c09012SAndroid Build Coastguard Worker string name = 5; 2331*d5c09012SAndroid Build Coastguard Worker 2332*d5c09012SAndroid Build Coastguard Worker // HTTP request body. 2333*d5c09012SAndroid Build Coastguard Worker google.api.HttpBody body = 1; 2334*d5c09012SAndroid Build Coastguard Worker 2335*d5c09012SAndroid Build Coastguard Worker // Project in which the specified trigger lives 2336*d5c09012SAndroid Build Coastguard Worker string project_id = 2; 2337*d5c09012SAndroid Build Coastguard Worker 2338*d5c09012SAndroid Build Coastguard Worker // Name of the trigger to run the payload against 2339*d5c09012SAndroid Build Coastguard Worker string trigger = 3; 2340*d5c09012SAndroid Build Coastguard Worker 2341*d5c09012SAndroid Build Coastguard Worker // Secret token used for authorization if an OAuth token isn't provided. 2342*d5c09012SAndroid Build Coastguard Worker string secret = 4; 2343*d5c09012SAndroid Build Coastguard Worker} 2344*d5c09012SAndroid Build Coastguard Worker 2345*d5c09012SAndroid Build Coastguard Worker// ReceiveTriggerWebhookResponse [Experimental] is the response object for the 2346*d5c09012SAndroid Build Coastguard Worker// ReceiveTriggerWebhook method. 2347*d5c09012SAndroid Build Coastguard Workermessage ReceiveTriggerWebhookResponse {} 2348*d5c09012SAndroid Build Coastguard Worker 2349*d5c09012SAndroid Build Coastguard Workermessage GitHubEnterpriseConfig { 2350*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 2351*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/GithubEnterpriseConfig" 2352*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/githubEnterpriseConfigs/{config}" 2353*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/githubEnterpriseConfigs/{config}" 2354*d5c09012SAndroid Build Coastguard Worker }; 2355*d5c09012SAndroid Build Coastguard Worker 2356*d5c09012SAndroid Build Coastguard Worker // Optional. The full resource name for the GitHubEnterpriseConfig 2357*d5c09012SAndroid Build Coastguard Worker // For example: 2358*d5c09012SAndroid Build Coastguard Worker // "projects/{$project_id}/locations/{$location_id}/githubEnterpriseConfigs/{$config_id}" 2359*d5c09012SAndroid Build Coastguard Worker string name = 7 [(google.api.field_behavior) = OPTIONAL]; 2360*d5c09012SAndroid Build Coastguard Worker 2361*d5c09012SAndroid Build Coastguard Worker // The URL of the github enterprise host the configuration is for. 2362*d5c09012SAndroid Build Coastguard Worker string host_url = 3; 2363*d5c09012SAndroid Build Coastguard Worker 2364*d5c09012SAndroid Build Coastguard Worker // Required. The GitHub app id of the Cloud Build app on the GitHub Enterprise 2365*d5c09012SAndroid Build Coastguard Worker // server. 2366*d5c09012SAndroid Build Coastguard Worker int64 app_id = 4 [(google.api.field_behavior) = REQUIRED]; 2367*d5c09012SAndroid Build Coastguard Worker 2368*d5c09012SAndroid Build Coastguard Worker // Output only. Time when the installation was associated with the project. 2369*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 6 2370*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 2371*d5c09012SAndroid Build Coastguard Worker 2372*d5c09012SAndroid Build Coastguard Worker // The key that should be attached to webhook calls to the ReceiveWebhook 2373*d5c09012SAndroid Build Coastguard Worker // endpoint. 2374*d5c09012SAndroid Build Coastguard Worker string webhook_key = 8; 2375*d5c09012SAndroid Build Coastguard Worker 2376*d5c09012SAndroid Build Coastguard Worker // Optional. The network to be used when reaching out to the GitHub 2377*d5c09012SAndroid Build Coastguard Worker // Enterprise server. The VPC network must be enabled for private 2378*d5c09012SAndroid Build Coastguard Worker // service connection. This should be set if the GitHub Enterprise server is 2379*d5c09012SAndroid Build Coastguard Worker // hosted on-premises and not reachable by public internet. 2380*d5c09012SAndroid Build Coastguard Worker // If this field is left empty, no network peering will occur and calls to 2381*d5c09012SAndroid Build Coastguard Worker // the GitHub Enterprise server will be made over the public internet. 2382*d5c09012SAndroid Build Coastguard Worker // Must be in the format 2383*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/global/networks/{network}`, where {project} 2384*d5c09012SAndroid Build Coastguard Worker // is a project number or id and {network} is the name of a 2385*d5c09012SAndroid Build Coastguard Worker // VPC network in the project. 2386*d5c09012SAndroid Build Coastguard Worker string peered_network = 9 [ 2387*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OPTIONAL, 2388*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "compute.googleapis.com/Network" } 2389*d5c09012SAndroid Build Coastguard Worker ]; 2390*d5c09012SAndroid Build Coastguard Worker 2391*d5c09012SAndroid Build Coastguard Worker // Names of secrets in Secret Manager. 2392*d5c09012SAndroid Build Coastguard Worker GitHubEnterpriseSecrets secrets = 10; 2393*d5c09012SAndroid Build Coastguard Worker 2394*d5c09012SAndroid Build Coastguard Worker // Name to display for this config. 2395*d5c09012SAndroid Build Coastguard Worker string display_name = 11; 2396*d5c09012SAndroid Build Coastguard Worker 2397*d5c09012SAndroid Build Coastguard Worker // Optional. SSL certificate to use for requests to GitHub Enterprise. 2398*d5c09012SAndroid Build Coastguard Worker string ssl_ca = 12 [(google.api.field_behavior) = OPTIONAL]; 2399*d5c09012SAndroid Build Coastguard Worker} 2400*d5c09012SAndroid Build Coastguard Worker 2401*d5c09012SAndroid Build Coastguard Worker// GitHubEnterpriseSecrets represents the names of all necessary secrets in 2402*d5c09012SAndroid Build Coastguard Worker// Secret Manager for a GitHub Enterprise server. 2403*d5c09012SAndroid Build Coastguard Worker// Format is: projects/<project number>/secrets/<secret name>. 2404*d5c09012SAndroid Build Coastguard Workermessage GitHubEnterpriseSecrets { 2405*d5c09012SAndroid Build Coastguard Worker // The resource name for the private key secret version. 2406*d5c09012SAndroid Build Coastguard Worker string private_key_version_name = 5 [(google.api.resource_reference) = { 2407*d5c09012SAndroid Build Coastguard Worker type: "secretmanager.googleapis.com/SecretVersion" 2408*d5c09012SAndroid Build Coastguard Worker }]; 2409*d5c09012SAndroid Build Coastguard Worker 2410*d5c09012SAndroid Build Coastguard Worker // The resource name for the webhook secret secret version in Secret Manager. 2411*d5c09012SAndroid Build Coastguard Worker string webhook_secret_version_name = 6 [(google.api.resource_reference) = { 2412*d5c09012SAndroid Build Coastguard Worker type: "secretmanager.googleapis.com/SecretVersion" 2413*d5c09012SAndroid Build Coastguard Worker }]; 2414*d5c09012SAndroid Build Coastguard Worker 2415*d5c09012SAndroid Build Coastguard Worker // The resource name for the OAuth secret secret version in Secret Manager. 2416*d5c09012SAndroid Build Coastguard Worker string oauth_secret_version_name = 7 [(google.api.resource_reference) = { 2417*d5c09012SAndroid Build Coastguard Worker type: "secretmanager.googleapis.com/SecretVersion" 2418*d5c09012SAndroid Build Coastguard Worker }]; 2419*d5c09012SAndroid Build Coastguard Worker 2420*d5c09012SAndroid Build Coastguard Worker // The resource name for the OAuth client ID secret version in Secret Manager. 2421*d5c09012SAndroid Build Coastguard Worker string oauth_client_id_version_name = 8 [(google.api.resource_reference) = { 2422*d5c09012SAndroid Build Coastguard Worker type: "secretmanager.googleapis.com/SecretVersion" 2423*d5c09012SAndroid Build Coastguard Worker }]; 2424*d5c09012SAndroid Build Coastguard Worker} 2425*d5c09012SAndroid Build Coastguard Worker 2426*d5c09012SAndroid Build Coastguard Worker// Configuration for a `WorkerPool`. 2427*d5c09012SAndroid Build Coastguard Worker// 2428*d5c09012SAndroid Build Coastguard Worker// Cloud Build owns and maintains a pool of workers for general use and have no 2429*d5c09012SAndroid Build Coastguard Worker// access to a project's private network. By default, builds submitted to 2430*d5c09012SAndroid Build Coastguard Worker// Cloud Build will use a worker from this pool. 2431*d5c09012SAndroid Build Coastguard Worker// 2432*d5c09012SAndroid Build Coastguard Worker// If your build needs access to resources on a private network, 2433*d5c09012SAndroid Build Coastguard Worker// create and use a `WorkerPool` to run your builds. Private `WorkerPool`s give 2434*d5c09012SAndroid Build Coastguard Worker// your builds access to any single VPC network that you 2435*d5c09012SAndroid Build Coastguard Worker// administer, including any on-prem resources connected to that VPC 2436*d5c09012SAndroid Build Coastguard Worker// network. For an overview of private pools, see 2437*d5c09012SAndroid Build Coastguard Worker// [Private pools 2438*d5c09012SAndroid Build Coastguard Worker// overview](https://cloud.google.com/build/docs/private-pools/private-pools-overview). 2439*d5c09012SAndroid Build Coastguard Workermessage WorkerPool { 2440*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 2441*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/WorkerPool" 2442*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/workerPools/{worker_pool}" 2443*d5c09012SAndroid Build Coastguard Worker plural: "workerPools" 2444*d5c09012SAndroid Build Coastguard Worker singular: "workerPool" 2445*d5c09012SAndroid Build Coastguard Worker style: DECLARATIVE_FRIENDLY 2446*d5c09012SAndroid Build Coastguard Worker }; 2447*d5c09012SAndroid Build Coastguard Worker 2448*d5c09012SAndroid Build Coastguard Worker // State of the `WorkerPool`. 2449*d5c09012SAndroid Build Coastguard Worker enum State { 2450*d5c09012SAndroid Build Coastguard Worker // State of the `WorkerPool` is unknown. 2451*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 2452*d5c09012SAndroid Build Coastguard Worker 2453*d5c09012SAndroid Build Coastguard Worker // `WorkerPool` is being created. 2454*d5c09012SAndroid Build Coastguard Worker CREATING = 1; 2455*d5c09012SAndroid Build Coastguard Worker 2456*d5c09012SAndroid Build Coastguard Worker // `WorkerPool` is running. 2457*d5c09012SAndroid Build Coastguard Worker RUNNING = 2; 2458*d5c09012SAndroid Build Coastguard Worker 2459*d5c09012SAndroid Build Coastguard Worker // `WorkerPool` is being deleted: cancelling builds and draining workers. 2460*d5c09012SAndroid Build Coastguard Worker DELETING = 3; 2461*d5c09012SAndroid Build Coastguard Worker 2462*d5c09012SAndroid Build Coastguard Worker // `WorkerPool` is deleted. 2463*d5c09012SAndroid Build Coastguard Worker DELETED = 4; 2464*d5c09012SAndroid Build Coastguard Worker 2465*d5c09012SAndroid Build Coastguard Worker // `WorkerPool` is being updated; new builds cannot be run. 2466*d5c09012SAndroid Build Coastguard Worker UPDATING = 5; 2467*d5c09012SAndroid Build Coastguard Worker } 2468*d5c09012SAndroid Build Coastguard Worker 2469*d5c09012SAndroid Build Coastguard Worker // Output only. The resource name of the `WorkerPool`, with format 2470*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location}/workerPools/{worker_pool}`. 2471*d5c09012SAndroid Build Coastguard Worker // The value of `{worker_pool}` is provided by `worker_pool_id` in 2472*d5c09012SAndroid Build Coastguard Worker // `CreateWorkerPool` request and the value of `{location}` is determined by 2473*d5c09012SAndroid Build Coastguard Worker // the endpoint accessed. 2474*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 2475*d5c09012SAndroid Build Coastguard Worker 2476*d5c09012SAndroid Build Coastguard Worker // A user-specified, human-readable name for the `WorkerPool`. If provided, 2477*d5c09012SAndroid Build Coastguard Worker // this value must be 1-63 characters. 2478*d5c09012SAndroid Build Coastguard Worker string display_name = 2; 2479*d5c09012SAndroid Build Coastguard Worker 2480*d5c09012SAndroid Build Coastguard Worker // Output only. A unique identifier for the `WorkerPool`. 2481*d5c09012SAndroid Build Coastguard Worker string uid = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 2482*d5c09012SAndroid Build Coastguard Worker 2483*d5c09012SAndroid Build Coastguard Worker // User specified annotations. See https://google.aip.dev/128#annotations 2484*d5c09012SAndroid Build Coastguard Worker // for more details such as format and size limitations. 2485*d5c09012SAndroid Build Coastguard Worker map<string, string> annotations = 4; 2486*d5c09012SAndroid Build Coastguard Worker 2487*d5c09012SAndroid Build Coastguard Worker // Output only. Time at which the request to create the `WorkerPool` was 2488*d5c09012SAndroid Build Coastguard Worker // received. 2489*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 5 2490*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 2491*d5c09012SAndroid Build Coastguard Worker 2492*d5c09012SAndroid Build Coastguard Worker // Output only. Time at which the request to update the `WorkerPool` was 2493*d5c09012SAndroid Build Coastguard Worker // received. 2494*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 6 2495*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 2496*d5c09012SAndroid Build Coastguard Worker 2497*d5c09012SAndroid Build Coastguard Worker // Output only. Time at which the request to delete the `WorkerPool` was 2498*d5c09012SAndroid Build Coastguard Worker // received. 2499*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp delete_time = 7 2500*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 2501*d5c09012SAndroid Build Coastguard Worker 2502*d5c09012SAndroid Build Coastguard Worker // Output only. `WorkerPool` state. 2503*d5c09012SAndroid Build Coastguard Worker State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; 2504*d5c09012SAndroid Build Coastguard Worker 2505*d5c09012SAndroid Build Coastguard Worker // Configuration for the `WorkerPool`. 2506*d5c09012SAndroid Build Coastguard Worker oneof config { 2507*d5c09012SAndroid Build Coastguard Worker // Legacy Private Pool configuration. 2508*d5c09012SAndroid Build Coastguard Worker PrivatePoolV1Config private_pool_v1_config = 12; 2509*d5c09012SAndroid Build Coastguard Worker } 2510*d5c09012SAndroid Build Coastguard Worker 2511*d5c09012SAndroid Build Coastguard Worker // Output only. Checksum computed by the server. May be sent on update and 2512*d5c09012SAndroid Build Coastguard Worker // delete requests to ensure that the client has an up-to-date value before 2513*d5c09012SAndroid Build Coastguard Worker // proceeding. 2514*d5c09012SAndroid Build Coastguard Worker string etag = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; 2515*d5c09012SAndroid Build Coastguard Worker} 2516*d5c09012SAndroid Build Coastguard Worker 2517*d5c09012SAndroid Build Coastguard Worker// Configuration for a V1 `PrivatePool`. 2518*d5c09012SAndroid Build Coastguard Workermessage PrivatePoolV1Config { 2519*d5c09012SAndroid Build Coastguard Worker // Defines the configuration to be used for creating workers in 2520*d5c09012SAndroid Build Coastguard Worker // the pool. 2521*d5c09012SAndroid Build Coastguard Worker message WorkerConfig { 2522*d5c09012SAndroid Build Coastguard Worker // Machine type of a worker, such as `e2-medium`. 2523*d5c09012SAndroid Build Coastguard Worker // See [Worker pool config 2524*d5c09012SAndroid Build Coastguard Worker // file](https://cloud.google.com/build/docs/private-pools/worker-pool-config-file-schema). 2525*d5c09012SAndroid Build Coastguard Worker // If left blank, Cloud Build will use a sensible default. 2526*d5c09012SAndroid Build Coastguard Worker string machine_type = 1; 2527*d5c09012SAndroid Build Coastguard Worker 2528*d5c09012SAndroid Build Coastguard Worker // Size of the disk attached to the worker, in GB. 2529*d5c09012SAndroid Build Coastguard Worker // See [Worker pool config 2530*d5c09012SAndroid Build Coastguard Worker // file](https://cloud.google.com/build/docs/private-pools/worker-pool-config-file-schema). 2531*d5c09012SAndroid Build Coastguard Worker // Specify a value of up to 2000. If `0` is specified, Cloud Build will use 2532*d5c09012SAndroid Build Coastguard Worker // a standard disk size. 2533*d5c09012SAndroid Build Coastguard Worker int64 disk_size_gb = 2; 2534*d5c09012SAndroid Build Coastguard Worker } 2535*d5c09012SAndroid Build Coastguard Worker 2536*d5c09012SAndroid Build Coastguard Worker // Defines the network configuration for the pool. 2537*d5c09012SAndroid Build Coastguard Worker message NetworkConfig { 2538*d5c09012SAndroid Build Coastguard Worker // Defines the egress option for the pool. 2539*d5c09012SAndroid Build Coastguard Worker enum EgressOption { 2540*d5c09012SAndroid Build Coastguard Worker // If set, defaults to PUBLIC_EGRESS. 2541*d5c09012SAndroid Build Coastguard Worker EGRESS_OPTION_UNSPECIFIED = 0; 2542*d5c09012SAndroid Build Coastguard Worker 2543*d5c09012SAndroid Build Coastguard Worker // If set, workers are created without any public address, which prevents 2544*d5c09012SAndroid Build Coastguard Worker // network egress to public IPs unless a network proxy is configured. 2545*d5c09012SAndroid Build Coastguard Worker NO_PUBLIC_EGRESS = 1; 2546*d5c09012SAndroid Build Coastguard Worker 2547*d5c09012SAndroid Build Coastguard Worker // If set, workers are created with a public address which allows for 2548*d5c09012SAndroid Build Coastguard Worker // public internet egress. 2549*d5c09012SAndroid Build Coastguard Worker PUBLIC_EGRESS = 2; 2550*d5c09012SAndroid Build Coastguard Worker } 2551*d5c09012SAndroid Build Coastguard Worker 2552*d5c09012SAndroid Build Coastguard Worker // Required. Immutable. The network definition that the workers are peered 2553*d5c09012SAndroid Build Coastguard Worker // to. If this section is left empty, the workers will be peered to 2554*d5c09012SAndroid Build Coastguard Worker // `WorkerPool.project_id` on the service producer network. Must be in the 2555*d5c09012SAndroid Build Coastguard Worker // format `projects/{project}/global/networks/{network}`, where `{project}` 2556*d5c09012SAndroid Build Coastguard Worker // is a project number, such as `12345`, and `{network}` is the name of a 2557*d5c09012SAndroid Build Coastguard Worker // VPC network in the project. See 2558*d5c09012SAndroid Build Coastguard Worker // [Understanding network configuration 2559*d5c09012SAndroid Build Coastguard Worker // options](https://cloud.google.com/build/docs/private-pools/set-up-private-pool-environment) 2560*d5c09012SAndroid Build Coastguard Worker string peered_network = 1 [ 2561*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IMMUTABLE, 2562*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 2563*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 2564*d5c09012SAndroid Build Coastguard Worker type: "compute.googleapis.com/Network" 2565*d5c09012SAndroid Build Coastguard Worker } 2566*d5c09012SAndroid Build Coastguard Worker ]; 2567*d5c09012SAndroid Build Coastguard Worker 2568*d5c09012SAndroid Build Coastguard Worker // Option to configure network egress for the workers. 2569*d5c09012SAndroid Build Coastguard Worker EgressOption egress_option = 2; 2570*d5c09012SAndroid Build Coastguard Worker 2571*d5c09012SAndroid Build Coastguard Worker // Immutable. Subnet IP range within the peered network. This is specified 2572*d5c09012SAndroid Build Coastguard Worker // in CIDR notation with a slash and the subnet prefix size. You can 2573*d5c09012SAndroid Build Coastguard Worker // optionally specify an IP address before the subnet prefix value. e.g. 2574*d5c09012SAndroid Build Coastguard Worker // `192.168.0.0/29` would specify an IP range starting at 192.168.0.0 with a 2575*d5c09012SAndroid Build Coastguard Worker // prefix size of 29 bits. 2576*d5c09012SAndroid Build Coastguard Worker // `/16` would specify a prefix size of 16 bits, with an automatically 2577*d5c09012SAndroid Build Coastguard Worker // determined IP within the peered VPC. 2578*d5c09012SAndroid Build Coastguard Worker // If unspecified, a value of `/24` will be used. 2579*d5c09012SAndroid Build Coastguard Worker string peered_network_ip_range = 3 2580*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = IMMUTABLE]; 2581*d5c09012SAndroid Build Coastguard Worker } 2582*d5c09012SAndroid Build Coastguard Worker 2583*d5c09012SAndroid Build Coastguard Worker // Machine configuration for the workers in the pool. 2584*d5c09012SAndroid Build Coastguard Worker WorkerConfig worker_config = 1; 2585*d5c09012SAndroid Build Coastguard Worker 2586*d5c09012SAndroid Build Coastguard Worker // Network configuration for the pool. 2587*d5c09012SAndroid Build Coastguard Worker NetworkConfig network_config = 2; 2588*d5c09012SAndroid Build Coastguard Worker} 2589*d5c09012SAndroid Build Coastguard Worker 2590*d5c09012SAndroid Build Coastguard Worker// Request to create a new `WorkerPool`. 2591*d5c09012SAndroid Build Coastguard Workermessage CreateWorkerPoolRequest { 2592*d5c09012SAndroid Build Coastguard Worker // Required. The parent resource where this worker pool will be created. 2593*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}`. 2594*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 2595*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 2596*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 2597*d5c09012SAndroid Build Coastguard Worker type: "locations.googleapis.com/Location" 2598*d5c09012SAndroid Build Coastguard Worker } 2599*d5c09012SAndroid Build Coastguard Worker ]; 2600*d5c09012SAndroid Build Coastguard Worker 2601*d5c09012SAndroid Build Coastguard Worker // Required. `WorkerPool` resource to create. 2602*d5c09012SAndroid Build Coastguard Worker WorkerPool worker_pool = 2 [(google.api.field_behavior) = REQUIRED]; 2603*d5c09012SAndroid Build Coastguard Worker 2604*d5c09012SAndroid Build Coastguard Worker // Required. Immutable. The ID to use for the `WorkerPool`, which will become 2605*d5c09012SAndroid Build Coastguard Worker // the final component of the resource name. 2606*d5c09012SAndroid Build Coastguard Worker // 2607*d5c09012SAndroid Build Coastguard Worker // This value should be 1-63 characters, and valid characters 2608*d5c09012SAndroid Build Coastguard Worker // are /[a-z][0-9]-/. 2609*d5c09012SAndroid Build Coastguard Worker string worker_pool_id = 3 [ 2610*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IMMUTABLE, 2611*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED 2612*d5c09012SAndroid Build Coastguard Worker ]; 2613*d5c09012SAndroid Build Coastguard Worker 2614*d5c09012SAndroid Build Coastguard Worker // If set, validate the request and preview the response, but do not actually 2615*d5c09012SAndroid Build Coastguard Worker // post it. 2616*d5c09012SAndroid Build Coastguard Worker bool validate_only = 4; 2617*d5c09012SAndroid Build Coastguard Worker} 2618*d5c09012SAndroid Build Coastguard Worker 2619*d5c09012SAndroid Build Coastguard Worker// Request to get a `WorkerPool` with the specified name. 2620*d5c09012SAndroid Build Coastguard Workermessage GetWorkerPoolRequest { 2621*d5c09012SAndroid Build Coastguard Worker // Required. The name of the `WorkerPool` to retrieve. 2622*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}/workerPools/{workerPool}`. 2623*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 2624*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 2625*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 2626*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/WorkerPool" 2627*d5c09012SAndroid Build Coastguard Worker } 2628*d5c09012SAndroid Build Coastguard Worker ]; 2629*d5c09012SAndroid Build Coastguard Worker} 2630*d5c09012SAndroid Build Coastguard Worker 2631*d5c09012SAndroid Build Coastguard Worker// Request to delete a `WorkerPool`. 2632*d5c09012SAndroid Build Coastguard Workermessage DeleteWorkerPoolRequest { 2633*d5c09012SAndroid Build Coastguard Worker // Required. The name of the `WorkerPool` to delete. 2634*d5c09012SAndroid Build Coastguard Worker // Format: 2635*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location}/workerPools/{workerPool}`. 2636*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 2637*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 2638*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 2639*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/WorkerPool" 2640*d5c09012SAndroid Build Coastguard Worker } 2641*d5c09012SAndroid Build Coastguard Worker ]; 2642*d5c09012SAndroid Build Coastguard Worker 2643*d5c09012SAndroid Build Coastguard Worker // Optional. If provided, it must match the server's etag on the workerpool 2644*d5c09012SAndroid Build Coastguard Worker // for the request to be processed. 2645*d5c09012SAndroid Build Coastguard Worker string etag = 2 [(google.api.field_behavior) = OPTIONAL]; 2646*d5c09012SAndroid Build Coastguard Worker 2647*d5c09012SAndroid Build Coastguard Worker // If set to true, and the `WorkerPool` is not found, the request will succeed 2648*d5c09012SAndroid Build Coastguard Worker // but no action will be taken on the server. 2649*d5c09012SAndroid Build Coastguard Worker bool allow_missing = 3; 2650*d5c09012SAndroid Build Coastguard Worker 2651*d5c09012SAndroid Build Coastguard Worker // If set, validate the request and preview the response, but do not actually 2652*d5c09012SAndroid Build Coastguard Worker // post it. 2653*d5c09012SAndroid Build Coastguard Worker bool validate_only = 4; 2654*d5c09012SAndroid Build Coastguard Worker} 2655*d5c09012SAndroid Build Coastguard Worker 2656*d5c09012SAndroid Build Coastguard Worker// Request to update a `WorkerPool`. 2657*d5c09012SAndroid Build Coastguard Workermessage UpdateWorkerPoolRequest { 2658*d5c09012SAndroid Build Coastguard Worker // Required. The `WorkerPool` to update. 2659*d5c09012SAndroid Build Coastguard Worker // 2660*d5c09012SAndroid Build Coastguard Worker // The `name` field is used to identify the `WorkerPool` to update. 2661*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}/workerPools/{workerPool}`. 2662*d5c09012SAndroid Build Coastguard Worker WorkerPool worker_pool = 1 [(google.api.field_behavior) = REQUIRED]; 2663*d5c09012SAndroid Build Coastguard Worker 2664*d5c09012SAndroid Build Coastguard Worker // A mask specifying which fields in `worker_pool` to update. 2665*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 2; 2666*d5c09012SAndroid Build Coastguard Worker 2667*d5c09012SAndroid Build Coastguard Worker // If set, validate the request and preview the response, but do not actually 2668*d5c09012SAndroid Build Coastguard Worker // post it. 2669*d5c09012SAndroid Build Coastguard Worker bool validate_only = 4; 2670*d5c09012SAndroid Build Coastguard Worker} 2671*d5c09012SAndroid Build Coastguard Worker 2672*d5c09012SAndroid Build Coastguard Worker// Request to list `WorkerPool`s. 2673*d5c09012SAndroid Build Coastguard Workermessage ListWorkerPoolsRequest { 2674*d5c09012SAndroid Build Coastguard Worker // Required. The parent of the collection of `WorkerPools`. 2675*d5c09012SAndroid Build Coastguard Worker // Format: `projects/{project}/locations/{location}`. 2676*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 2677*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 2678*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 2679*d5c09012SAndroid Build Coastguard Worker type: "locations.googleapis.com/Location" 2680*d5c09012SAndroid Build Coastguard Worker } 2681*d5c09012SAndroid Build Coastguard Worker ]; 2682*d5c09012SAndroid Build Coastguard Worker 2683*d5c09012SAndroid Build Coastguard Worker // The maximum number of `WorkerPool`s to return. The service may return 2684*d5c09012SAndroid Build Coastguard Worker // fewer than this value. If omitted, the server will use a sensible default. 2685*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2; 2686*d5c09012SAndroid Build Coastguard Worker 2687*d5c09012SAndroid Build Coastguard Worker // A page token, received from a previous `ListWorkerPools` call. Provide this 2688*d5c09012SAndroid Build Coastguard Worker // to retrieve the subsequent page. 2689*d5c09012SAndroid Build Coastguard Worker string page_token = 3; 2690*d5c09012SAndroid Build Coastguard Worker} 2691*d5c09012SAndroid Build Coastguard Worker 2692*d5c09012SAndroid Build Coastguard Worker// Response containing existing `WorkerPools`. 2693*d5c09012SAndroid Build Coastguard Workermessage ListWorkerPoolsResponse { 2694*d5c09012SAndroid Build Coastguard Worker // `WorkerPools` for the specified project. 2695*d5c09012SAndroid Build Coastguard Worker repeated WorkerPool worker_pools = 1; 2696*d5c09012SAndroid Build Coastguard Worker 2697*d5c09012SAndroid Build Coastguard Worker // Continuation token used to page through large result sets. Provide this 2698*d5c09012SAndroid Build Coastguard Worker // value in a subsequent ListWorkerPoolsRequest to return the next page of 2699*d5c09012SAndroid Build Coastguard Worker // results. 2700*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 2701*d5c09012SAndroid Build Coastguard Worker} 2702*d5c09012SAndroid Build Coastguard Worker 2703*d5c09012SAndroid Build Coastguard Worker// Metadata for the `CreateWorkerPool` operation. 2704*d5c09012SAndroid Build Coastguard Workermessage CreateWorkerPoolOperationMetadata { 2705*d5c09012SAndroid Build Coastguard Worker // The resource name of the `WorkerPool` to create. 2706*d5c09012SAndroid Build Coastguard Worker // Format: 2707*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location}/workerPools/{worker_pool}`. 2708*d5c09012SAndroid Build Coastguard Worker string worker_pool = 1 [(google.api.resource_reference) = { 2709*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/WorkerPool" 2710*d5c09012SAndroid Build Coastguard Worker }]; 2711*d5c09012SAndroid Build Coastguard Worker 2712*d5c09012SAndroid Build Coastguard Worker // Time the operation was created. 2713*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 2; 2714*d5c09012SAndroid Build Coastguard Worker 2715*d5c09012SAndroid Build Coastguard Worker // Time the operation was completed. 2716*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp complete_time = 3; 2717*d5c09012SAndroid Build Coastguard Worker} 2718*d5c09012SAndroid Build Coastguard Worker 2719*d5c09012SAndroid Build Coastguard Worker// Metadata for the `UpdateWorkerPool` operation. 2720*d5c09012SAndroid Build Coastguard Workermessage UpdateWorkerPoolOperationMetadata { 2721*d5c09012SAndroid Build Coastguard Worker // The resource name of the `WorkerPool` being updated. 2722*d5c09012SAndroid Build Coastguard Worker // Format: 2723*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location}/workerPools/{worker_pool}`. 2724*d5c09012SAndroid Build Coastguard Worker string worker_pool = 1 [(google.api.resource_reference) = { 2725*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/WorkerPool" 2726*d5c09012SAndroid Build Coastguard Worker }]; 2727*d5c09012SAndroid Build Coastguard Worker 2728*d5c09012SAndroid Build Coastguard Worker // Time the operation was created. 2729*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 2; 2730*d5c09012SAndroid Build Coastguard Worker 2731*d5c09012SAndroid Build Coastguard Worker // Time the operation was completed. 2732*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp complete_time = 3; 2733*d5c09012SAndroid Build Coastguard Worker} 2734*d5c09012SAndroid Build Coastguard Worker 2735*d5c09012SAndroid Build Coastguard Worker// Metadata for the `DeleteWorkerPool` operation. 2736*d5c09012SAndroid Build Coastguard Workermessage DeleteWorkerPoolOperationMetadata { 2737*d5c09012SAndroid Build Coastguard Worker // The resource name of the `WorkerPool` being deleted. 2738*d5c09012SAndroid Build Coastguard Worker // Format: 2739*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location}/workerPools/{worker_pool}`. 2740*d5c09012SAndroid Build Coastguard Worker string worker_pool = 1 [(google.api.resource_reference) = { 2741*d5c09012SAndroid Build Coastguard Worker type: "cloudbuild.googleapis.com/WorkerPool" 2742*d5c09012SAndroid Build Coastguard Worker }]; 2743*d5c09012SAndroid Build Coastguard Worker 2744*d5c09012SAndroid Build Coastguard Worker // Time the operation was created. 2745*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 2; 2746*d5c09012SAndroid Build Coastguard Worker 2747*d5c09012SAndroid Build Coastguard Worker // Time the operation was completed. 2748*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp complete_time = 3; 2749*d5c09012SAndroid Build Coastguard Worker} 2750