123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986 |
- // Copyright 2022 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.cloud.deploy.v1;
- import "google/api/annotations.proto";
- import "google/api/client.proto";
- import "google/api/field_behavior.proto";
- import "google/api/resource.proto";
- import "google/longrunning/operations.proto";
- import "google/protobuf/duration.proto";
- import "google/protobuf/field_mask.proto";
- import "google/protobuf/timestamp.proto";
- import "google/type/date.proto";
- option go_package = "google.golang.org/genproto/googleapis/cloud/deploy/v1;deploy";
- option java_multiple_files = true;
- option java_outer_classname = "CloudDeployProto";
- option java_package = "com.google.cloud.deploy.v1";
- option (google.api.resource_definition) = {
- type: "cloudbuild.googleapis.com/Build"
- pattern: "projects/{project}/locations/{location}/builds/{build}"
- };
- option (google.api.resource_definition) = {
- type: "container.googleapis.com/Cluster"
- pattern: "projects/{project}/locations/{location}/clusters/{cluster}"
- };
- option (google.api.resource_definition) = {
- type: "clouddeploy.googleapis.com/Operation"
- pattern: "projects/{project}/locations/{location}/operations/{operation}"
- };
- option (google.api.resource_definition) = {
- type: "cloudbuild.googleapis.com/WorkerPool"
- pattern: "projects/{project}/locations/{location}/workerPools/{worker_pool}"
- };
- option (google.api.resource_definition) = {
- type: "gkehub.googleapis.com/Membership"
- pattern: "projects/{project}/locations/{location}/memberships/{membership}"
- };
- // CloudDeploy service creates and manages Continuous Delivery operations
- // on Google Cloud Platform via Skaffold (https://skaffold.dev).
- service CloudDeploy {
- option (google.api.default_host) = "clouddeploy.googleapis.com";
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
- // Lists DeliveryPipelines in a given project and location.
- rpc ListDeliveryPipelines(ListDeliveryPipelinesRequest) returns (ListDeliveryPipelinesResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*}/deliveryPipelines"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets details of a single DeliveryPipeline.
- rpc GetDeliveryPipeline(GetDeliveryPipelineRequest) returns (DeliveryPipeline) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/deliveryPipelines/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Creates a new DeliveryPipeline in a given project and location.
- rpc CreateDeliveryPipeline(CreateDeliveryPipelineRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*}/deliveryPipelines"
- body: "delivery_pipeline"
- };
- option (google.api.method_signature) = "parent,delivery_pipeline,delivery_pipeline_id";
- option (google.longrunning.operation_info) = {
- response_type: "DeliveryPipeline"
- metadata_type: "OperationMetadata"
- };
- }
- // Updates the parameters of a single DeliveryPipeline.
- rpc UpdateDeliveryPipeline(UpdateDeliveryPipelineRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- patch: "/v1/{delivery_pipeline.name=projects/*/locations/*/deliveryPipelines/*}"
- body: "delivery_pipeline"
- };
- option (google.api.method_signature) = "delivery_pipeline,update_mask";
- option (google.longrunning.operation_info) = {
- response_type: "DeliveryPipeline"
- metadata_type: "OperationMetadata"
- };
- }
- // Deletes a single DeliveryPipeline.
- rpc DeleteDeliveryPipeline(DeleteDeliveryPipelineRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/locations/*/deliveryPipelines/*}"
- };
- option (google.api.method_signature) = "name";
- option (google.longrunning.operation_info) = {
- response_type: "google.protobuf.Empty"
- metadata_type: "OperationMetadata"
- };
- }
- // Lists Targets in a given project and location.
- rpc ListTargets(ListTargetsRequest) returns (ListTargetsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*}/targets"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets details of a single Target.
- rpc GetTarget(GetTargetRequest) returns (Target) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/targets/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Creates a new Target in a given project and location.
- rpc CreateTarget(CreateTargetRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*}/targets"
- body: "target"
- };
- option (google.api.method_signature) = "parent,target,target_id";
- option (google.longrunning.operation_info) = {
- response_type: "Target"
- metadata_type: "OperationMetadata"
- };
- }
- // Updates the parameters of a single Target.
- rpc UpdateTarget(UpdateTargetRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- patch: "/v1/{target.name=projects/*/locations/*/targets/*}"
- body: "target"
- };
- option (google.api.method_signature) = "target,update_mask";
- option (google.longrunning.operation_info) = {
- response_type: "Target"
- metadata_type: "OperationMetadata"
- };
- }
- // Deletes a single Target.
- rpc DeleteTarget(DeleteTargetRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/locations/*/targets/*}"
- };
- option (google.api.method_signature) = "name";
- option (google.longrunning.operation_info) = {
- response_type: "google.protobuf.Empty"
- metadata_type: "OperationMetadata"
- };
- }
- // Lists Releases in a given project and location.
- rpc ListReleases(ListReleasesRequest) returns (ListReleasesResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/releases"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets details of a single Release.
- rpc GetRelease(GetReleaseRequest) returns (Release) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Creates a new Release in a given project and location.
- rpc CreateRelease(CreateReleaseRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/releases"
- body: "release"
- };
- option (google.api.method_signature) = "parent,release,release_id";
- option (google.longrunning.operation_info) = {
- response_type: "Release"
- metadata_type: "OperationMetadata"
- };
- }
- // Abandons a Release in the Delivery Pipeline.
- rpc AbandonRelease(AbandonReleaseRequest) returns (AbandonReleaseResponse) {
- option (google.api.http) = {
- post: "/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*}:abandon"
- body: "*"
- };
- option (google.api.method_signature) = "name";
- }
- // Approves a Rollout.
- rpc ApproveRollout(ApproveRolloutRequest) returns (ApproveRolloutResponse) {
- option (google.api.http) = {
- post: "/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:approve"
- body: "*"
- };
- option (google.api.method_signature) = "name";
- }
- // Lists Rollouts in a given project and location.
- rpc ListRollouts(ListRolloutsRequest) returns (ListRolloutsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*/deliveryPipelines/*/releases/*}/rollouts"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets details of a single Rollout.
- rpc GetRollout(GetRolloutRequest) returns (Rollout) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Creates a new Rollout in a given project and location.
- rpc CreateRollout(CreateRolloutRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*/deliveryPipelines/*/releases/*}/rollouts"
- body: "rollout"
- };
- option (google.api.method_signature) = "parent,rollout,rollout_id";
- option (google.longrunning.operation_info) = {
- response_type: "Rollout"
- metadata_type: "OperationMetadata"
- };
- }
- // Retries the specified Job in a Rollout.
- rpc RetryJob(RetryJobRequest) returns (RetryJobResponse) {
- option (google.api.http) = {
- post: "/v1/{rollout=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:retryJob"
- body: "*"
- };
- option (google.api.method_signature) = "rollout,phase_id,job_id";
- }
- // Lists JobRuns in a given project and location.
- rpc ListJobRuns(ListJobRunsRequest) returns (ListJobRunsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}/jobRuns"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets details of a single JobRun.
- rpc GetJobRun(GetJobRunRequest) returns (JobRun) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*/jobRuns/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Gets the configuration for a location.
- rpc GetConfig(GetConfigRequest) returns (Config) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/config}"
- };
- option (google.api.method_signature) = "name";
- }
- }
- // A `DeliveryPipeline` resource in the Google Cloud Deploy API.
- //
- // A `DeliveryPipeline` defines a pipeline through which a Skaffold
- // configuration can progress.
- message DeliveryPipeline {
- option (google.api.resource) = {
- type: "clouddeploy.googleapis.com/DeliveryPipeline"
- pattern: "projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}"
- };
- // Optional. Name of the `DeliveryPipeline`. Format is projects/{project}/
- // locations/{location}/deliveryPipelines/[a-z][a-z0-9\-]{0,62}.
- string name = 1 [(google.api.field_behavior) = OPTIONAL];
- // Output only. Unique identifier of the `DeliveryPipeline`.
- string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Description of the `DeliveryPipeline`. Max length is 255 characters.
- string description = 3;
- // User annotations. These attributes can only be set and used by the
- // user, and not by Google Cloud Deploy.
- map<string, string> annotations = 4;
- // Labels are attributes that can be set and used by both the
- // user and by Google Cloud Deploy. Labels must meet the following
- // constraints:
- //
- // * Keys and values can contain only lowercase letters, numeric characters,
- // underscores, and dashes.
- // * All characters must use UTF-8 encoding, and international characters are
- // allowed.
- // * Keys must start with a lowercase letter or international character.
- // * Each resource is limited to a maximum of 64 labels.
- //
- // Both keys and values are additionally constrained to be <= 128 bytes.
- map<string, string> labels = 5;
- // Output only. Time at which the pipeline was created.
- google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Most recent time at which the pipeline was updated.
- google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
- // The ordering configuration of the `DeliveryPipeline`.
- oneof pipeline {
- // SerialPipeline defines a sequential set of stages for a
- // `DeliveryPipeline`.
- SerialPipeline serial_pipeline = 8;
- }
- // Output only. Information around the state of the Delivery Pipeline.
- PipelineCondition condition = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
- // This checksum is computed by the server based on the value of other
- // fields, and may be sent on update and delete requests to ensure the
- // client has an up-to-date value before proceeding.
- string etag = 10;
- // When suspended, no new releases or rollouts can be created,
- // but in-progress ones will complete.
- bool suspended = 12;
- }
- // SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`.
- message SerialPipeline {
- // Each stage specifies configuration for a `Target`. The ordering
- // of this list defines the promotion flow.
- repeated Stage stages = 1;
- }
- // Stage specifies a location to which to deploy.
- message Stage {
- // The target_id to which this stage points. This field refers exclusively to
- // the last segment of a target name. For example, this field would just be
- // `my-target` (rather than
- // `projects/project/locations/location/targets/my-target`). The location of
- // the `Target` is inferred to be the same as the location of the
- // `DeliveryPipeline` that contains this `Stage`.
- string target_id = 1;
- // Skaffold profiles to use when rendering the manifest for this stage's
- // `Target`.
- repeated string profiles = 2;
- // Optional. The strategy to use for a `Rollout` to this stage.
- Strategy strategy = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // Strategy contains deployment strategy information.
- message Strategy {
- // Deployment strategy details.
- oneof deployment_strategy {
- // Standard deployment strategy executes a single deploy and allows
- // verifying the deployment.
- Standard standard = 1;
- }
- }
- // Standard represents the standard deployment strategy.
- message Standard {
- // Whether to verify a deployment.
- bool verify = 1;
- }
- // PipelineReadyCondition contains information around the status of the
- // Pipeline.
- message PipelineReadyCondition {
- // True if the Pipeline is in a valid state. Otherwise at least one condition
- // in `PipelineCondition` is in an invalid state. Iterate over those
- // conditions and see which condition(s) has status = false to find out what
- // is wrong with the Pipeline.
- bool status = 3;
- // Last time the condition was updated.
- google.protobuf.Timestamp update_time = 4;
- }
- // TargetsPresentCondition contains information on any Targets defined in
- // the Delivery Pipeline that do not actually exist.
- message TargetsPresentCondition {
- // True if there aren't any missing Targets.
- bool status = 1;
- // The list of Target names that are missing. For example,
- // projects/{project_id}/locations/{location_name}/targets/{target_name}.
- repeated string missing_targets = 2 [(google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/Target"
- }];
- // Last time the condition was updated.
- google.protobuf.Timestamp update_time = 4;
- }
- // PipelineCondition contains all conditions relevant to a Delivery Pipeline.
- message PipelineCondition {
- // Details around the Pipeline's overall status.
- PipelineReadyCondition pipeline_ready_condition = 1;
- // Detalis around targets enumerated in the pipeline.
- TargetsPresentCondition targets_present_condition = 3;
- }
- // The request object for `ListDeliveryPipelines`.
- message ListDeliveryPipelinesRequest {
- // Required. The parent, which owns this collection of pipelines. Format must be
- // projects/{project_id}/locations/{location_name}.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "clouddeploy.googleapis.com/DeliveryPipeline"
- }
- ];
- // The maximum number of pipelines to return. The service may return
- // fewer than this value. If unspecified, at most 50 pipelines will
- // be returned. The maximum value is 1000; values above 1000 will be set
- // to 1000.
- int32 page_size = 2;
- // A page token, received from a previous `ListDeliveryPipelines` call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other provided parameters match
- // the call that provided the page token.
- string page_token = 3;
- // Filter pipelines to be returned. See https://google.aip.dev/160 for more
- // details.
- string filter = 4;
- // Field to sort by. See https://google.aip.dev/132#ordering for more details.
- string order_by = 5;
- }
- // The response object from `ListDeliveryPipelines`.
- message ListDeliveryPipelinesResponse {
- // The `DeliveryPipeline` objects.
- repeated DeliveryPipeline delivery_pipelines = 1;
- // A token, which can be sent as `page_token` to retrieve the next page.
- // If this field is omitted, there are no subsequent pages.
- string next_page_token = 2;
- // Locations that could not be reached.
- repeated string unreachable = 3;
- }
- // The request object for `GetDeliveryPipeline`
- message GetDeliveryPipelineRequest {
- // Required. Name of the `DeliveryPipeline`. Format must be
- // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/DeliveryPipeline"
- }
- ];
- }
- // The request object for `CreateDeliveryPipeline`.
- message CreateDeliveryPipelineRequest {
- // Required. The parent collection in which the `DeliveryPipeline` should be created.
- // Format should be projects/{project_id}/locations/{location_name}.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "clouddeploy.googleapis.com/DeliveryPipeline"
- }
- ];
- // Required. ID of the `DeliveryPipeline`.
- string delivery_pipeline_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The `DeliveryPipeline` to create.
- DeliveryPipeline delivery_pipeline = 3 [(google.api.field_behavior) = REQUIRED];
- // Optional. A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and the
- // request times out. If you make the request again with the same request ID,
- // the server can check if original operation with the same request ID was
- // received, and if so, will ignore the second request. This prevents clients
- // from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If set to true, the request is validated and the user is provided with
- // an expected result, but no actual change is made.
- bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // The request object for `UpdateDeliveryPipeline`.
- message UpdateDeliveryPipelineRequest {
- // Required. Field mask is used to specify the fields to be overwritten in the
- // `DeliveryPipeline` resource by the update.
- // The fields specified in the update_mask are relative to the resource, not
- // the full request. A field will be overwritten if it is in the mask. If the
- // user does not provide a mask then all fields will be overwritten.
- google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED];
- // Required. The `DeliveryPipeline` to update.
- DeliveryPipeline delivery_pipeline = 2 [(google.api.field_behavior) = REQUIRED];
- // Optional. A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and the
- // request times out. If you make the request again with the same request ID,
- // the server can check if original operation with the same request ID was
- // received, and if so, will ignore the second request. This prevents clients
- // from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If set to true, updating a `DeliveryPipeline` that does not exist will
- // result in the creation of a new `DeliveryPipeline`.
- bool allow_missing = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If set to true, the request is validated and the user is provided with
- // an expected result, but no actual change is made.
- bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // The request object for `DeleteDeliveryPipeline`.
- message DeleteDeliveryPipelineRequest {
- // Required. The name of the `DeliveryPipeline` to delete. Format should be
- // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/DeliveryPipeline"
- }
- ];
- // Optional. A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes after the first request.
- //
- // For example, consider a situation where you make an initial request and the
- // request times out. If you make the request again with the same request ID,
- // the server can check if original operation with the same request ID was
- // received, and if so, will ignore the second request. This prevents clients
- // from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If set to true, then deleting an already deleted or non-existing
- // `DeliveryPipeline` will succeed.
- bool allow_missing = 3 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If set, validate the request and preview the review, but do not actually
- // post it.
- bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If set to true, all child resources under this pipeline will also be
- // deleted. Otherwise, the request will only work if the pipeline has
- // no child resources.
- bool force = 6 [(google.api.field_behavior) = OPTIONAL];
- // Optional. This checksum is computed by the server based on the value of other
- // fields, and may be sent on update and delete requests to ensure the
- // client has an up-to-date value before proceeding.
- string etag = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // A `Target` resource in the Google Cloud Deploy API.
- //
- // A `Target` defines a location to which a Skaffold configuration
- // can be deployed.
- message Target {
- option (google.api.resource) = {
- type: "clouddeploy.googleapis.com/Target"
- pattern: "projects/{project}/locations/{location}/targets/{target}"
- };
- // Optional. Name of the `Target`. Format is
- // projects/{project}/locations/{location}/targets/[a-z][a-z0-9\-]{0,62}.
- string name = 1 [(google.api.field_behavior) = OPTIONAL];
- // Output only. Resource id of the `Target`.
- string target_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Unique identifier of the `Target`.
- string uid = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Optional. Description of the `Target`. Max length is 255 characters.
- string description = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. User annotations. These attributes can only be set and used by the
- // user, and not by Google Cloud Deploy. See
- // https://google.aip.dev/128#annotations for more details such as format and
- // size limitations.
- map<string, string> annotations = 5 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Labels are attributes that can be set and used by both the
- // user and by Google Cloud Deploy. Labels must meet the following
- // constraints:
- //
- // * Keys and values can contain only lowercase letters, numeric characters,
- // underscores, and dashes.
- // * All characters must use UTF-8 encoding, and international characters are
- // allowed.
- // * Keys must start with a lowercase letter or international character.
- // * Each resource is limited to a maximum of 64 labels.
- //
- // Both keys and values are additionally constrained to be <= 128 bytes.
- map<string, string> labels = 6 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Whether or not the `Target` requires approval.
- bool require_approval = 13 [(google.api.field_behavior) = OPTIONAL];
- // Output only. Time at which the `Target` was created.
- google.protobuf.Timestamp create_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Most recent time at which the `Target` was updated.
- google.protobuf.Timestamp update_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Destination to which the Skaffold configuration is applied during a
- // rollout.
- oneof deployment_target {
- // Information specifying a GKE Cluster.
- GkeCluster gke = 15;
- // Information specifying an Anthos Cluster.
- AnthosCluster anthos_cluster = 17;
- // Information specifying a Cloud Run deployment target.
- CloudRunLocation run = 18;
- }
- // Optional. This checksum is computed by the server based on the value of other
- // fields, and may be sent on update and delete requests to ensure the
- // client has an up-to-date value before proceeding.
- string etag = 12 [(google.api.field_behavior) = OPTIONAL];
- // Configurations for all execution that relates to this `Target`.
- // Each `ExecutionEnvironmentUsage` value may only be used in a single
- // configuration; using the same value multiple times is an error.
- // When one or more configurations are specified, they must include the
- // `RENDER` and `DEPLOY` `ExecutionEnvironmentUsage` values.
- // When no configurations are specified, execution will use the default
- // specified in `DefaultPool`.
- repeated ExecutionConfig execution_configs = 16;
- }
- // Configuration of the environment to use when calling Skaffold.
- message ExecutionConfig {
- // Possible usages of this configuration.
- enum ExecutionEnvironmentUsage {
- // Default value. This value is unused.
- EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED = 0;
- // Use for rendering.
- RENDER = 1;
- // Use for deploying and deployment hooks.
- DEPLOY = 2;
- // Use for deployment verification.
- VERIFY = 3;
- }
- // Required. Usages when this configuration should be applied.
- repeated ExecutionEnvironmentUsage usages = 1 [(google.api.field_behavior) = REQUIRED];
- // Details of the environment.
- oneof execution_environment {
- // Optional. Use default Cloud Build pool.
- DefaultPool default_pool = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Use private Cloud Build pool.
- PrivatePool private_pool = 3 [(google.api.field_behavior) = OPTIONAL];
- }
- // Optional. The resource name of the `WorkerPool`, with the format
- // `projects/{project}/locations/{location}/workerPools/{worker_pool}`.
- // If this optional field is unspecified, the default Cloud Build pool will be
- // used.
- string worker_pool = 4 [
- (google.api.field_behavior) = OPTIONAL,
- (google.api.resource_reference) = {
- type: "cloudbuild.googleapis.com/WorkerPool"
- }
- ];
- // Optional. Google service account to use for execution. If unspecified,
- // the project execution service account
- // (<PROJECT_NUMBER>-compute@developer.gserviceaccount.com) is used.
- string service_account = 5 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Cloud Storage location in which to store execution outputs. This can
- // either be a bucket ("gs://my-bucket") or a path within a bucket
- // ("gs://my-bucket/my-dir").
- // If unspecified, a default bucket located in the same region will be used.
- string artifact_storage = 6 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Execution timeout for a Cloud Build Execution. This must be between 10m and
- // 24h in seconds format.
- // If unspecified, a default timeout of 1h is used.
- google.protobuf.Duration execution_timeout = 7 [(google.api.field_behavior) = OPTIONAL];
- }
- // Execution using the default Cloud Build pool.
- message DefaultPool {
- // Optional. Google service account to use for execution. If unspecified,
- // the project execution service account
- // (<PROJECT_NUMBER>-compute@developer.gserviceaccount.com) will be used.
- string service_account = 1 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Cloud Storage location where execution outputs should be stored. This can
- // either be a bucket ("gs://my-bucket") or a path within a bucket
- // ("gs://my-bucket/my-dir").
- // If unspecified, a default bucket located in the same region will be used.
- string artifact_storage = 2 [(google.api.field_behavior) = OPTIONAL];
- }
- // Execution using a private Cloud Build pool.
- message PrivatePool {
- // Required. Resource name of the Cloud Build worker pool to use. The format is
- // `projects/{project}/locations/{location}/workerPools/{pool}`.
- string worker_pool = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "cloudbuild.googleapis.com/WorkerPool"
- }
- ];
- // Optional. Google service account to use for execution. If unspecified,
- // the project execution service account
- // (<PROJECT_NUMBER>-compute@developer.gserviceaccount.com) will be used.
- string service_account = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Cloud Storage location where execution outputs should be stored. This can
- // either be a bucket ("gs://my-bucket") or a path within a bucket
- // ("gs://my-bucket/my-dir").
- // If unspecified, a default bucket located in the same region will be used.
- string artifact_storage = 3 [(google.api.field_behavior) = OPTIONAL];
- }
- // Information specifying a GKE Cluster.
- message GkeCluster {
- // Information specifying a GKE Cluster. Format is
- // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}.
- string cluster = 1 [(google.api.resource_reference) = {
- type: "container.googleapis.com/Cluster"
- }];
- // Optional. If true, `cluster` is accessed using the private IP address of the control
- // plane endpoint. Otherwise, the default IP address of the control plane
- // endpoint is used. The default IP address is the private IP address for
- // clusters with private control-plane endpoints and the public IP address
- // otherwise.
- //
- // Only specify this option when `cluster` is a [private GKE
- // cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept).
- bool internal_ip = 2 [(google.api.field_behavior) = OPTIONAL];
- }
- // Information specifying an Anthos Cluster.
- message AnthosCluster {
- // Membership of the GKE Hub-registered cluster to which to apply the Skaffold
- // configuration. Format is
- // `projects/{project}/locations/{location}/memberships/{membership_name}`.
- string membership = 1 [(google.api.resource_reference) = {
- type: "gkehub.googleapis.com/Membership"
- }];
- }
- // Information specifying where to deploy a Cloud Run Service.
- message CloudRunLocation {
- // Required. The location for the Cloud Run Service. Format must be
- // `projects/{project}/locations/{location}`.
- string location = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "locations.googleapis.com/Location"
- }
- ];
- }
- // The request object for `ListTargets`.
- message ListTargetsRequest {
- // Required. The parent, which owns this collection of targets. Format must be
- // projects/{project_id}/locations/{location_name}.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "clouddeploy.googleapis.com/Target"
- }
- ];
- // Optional. The maximum number of `Target` objects to return. The service may return
- // fewer than this value. If unspecified, at most 50 `Target` objects will be
- // returned. The maximum value is 1000; values above 1000 will be set to 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. A page token, received from a previous `ListTargets` call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other provided parameters match
- // the call that provided the page token.
- string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Filter targets to be returned. See https://google.aip.dev/160 for more
- // details.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.
- string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // The response object from `ListTargets`.
- message ListTargetsResponse {
- // The `Target` objects.
- repeated Target targets = 1;
- // A token, which can be sent as `page_token` to retrieve the next page.
- // If this field is omitted, there are no subsequent pages.
- string next_page_token = 2;
- // Locations that could not be reached.
- repeated string unreachable = 3;
- }
- // The request object for `GetTarget`.
- message GetTargetRequest {
- // Required. Name of the `Target`. Format must be
- // projects/{project_id}/locations/{location_name}/targets/{target_name}.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/Target"
- }
- ];
- }
- // The request object for `CreateTarget`.
- message CreateTargetRequest {
- // Required. The parent collection in which the `Target` should be created.
- // Format should be
- // projects/{project_id}/locations/{location_name}.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "clouddeploy.googleapis.com/Target"
- }
- ];
- // Required. ID of the `Target`.
- string target_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The `Target` to create.
- Target target = 3 [(google.api.field_behavior) = REQUIRED];
- // Optional. A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and the
- // request times out. If you make the request again with the same request ID,
- // the server can check if original operation with the same request ID was
- // received, and if so, will ignore the second request. This prevents clients
- // from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If set to true, the request is validated and the user is provided with
- // an expected result, but no actual change is made.
- bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // The request object for `UpdateTarget`.
- message UpdateTargetRequest {
- // Required. Field mask is used to specify the fields to be overwritten in the
- // Target resource by the update.
- // The fields specified in the update_mask are relative to the resource, not
- // the full request. A field will be overwritten if it is in the mask. If the
- // user does not provide a mask then all fields will be overwritten.
- google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED];
- // Required. The `Target` to update.
- Target target = 2 [(google.api.field_behavior) = REQUIRED];
- // Optional. A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and the
- // request times out. If you make the request again with the same request ID,
- // the server can check if original operation with the same request ID was
- // received, and if so, will ignore the second request. This prevents clients
- // from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If set to true, updating a `Target` that does not exist will
- // result in the creation of a new `Target`.
- bool allow_missing = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If set to true, the request is validated and the user is provided with
- // an expected result, but no actual change is made.
- bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // The request object for `DeleteTarget`.
- message DeleteTargetRequest {
- // Required. The name of the `Target` to delete. Format should be
- // projects/{project_id}/locations/{location_name}/targets/{target_name}.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/Target"
- }
- ];
- // Optional. A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes after the first request.
- //
- // For example, consider a situation where you make an initial request and the
- // request times out. If you make the request again with the same request ID,
- // the server can check if original operation with the same request ID was
- // received, and if so, will ignore the second request. This prevents clients
- // from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If set to true, then deleting an already deleted or non-existing
- // DeliveryPipeline will succeed.
- bool allow_missing = 3 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If set, validate the request and preview the review, but do not actually
- // post it.
- bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. This checksum is computed by the server based on the value of other
- // fields, and may be sent on update and delete requests to ensure the
- // client has an up-to-date value before proceeding.
- string etag = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // A `Release` resource in the Google Cloud Deploy API.
- //
- // A `Release` defines a specific Skaffold configuration instance
- // that can be deployed.
- message Release {
- option (google.api.resource) = {
- type: "clouddeploy.googleapis.com/Release"
- pattern: "projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/releases/{release}"
- };
- // Valid states of the render operation.
- enum RenderState {
- // The render state is unspecified.
- RENDER_STATE_UNSPECIFIED = 0;
- // All rendering operations have completed successfully.
- SUCCEEDED = 1;
- // All rendering operations have completed, and one or more have failed.
- FAILED = 2;
- // Rendering has started and is not complete.
- IN_PROGRESS = 3;
- }
- // Details of rendering for a single target.
- message TargetRender {
- // Valid states of the render operation.
- enum TargetRenderState {
- // The render operation state is unspecified.
- TARGET_RENDER_STATE_UNSPECIFIED = 0;
- // The render operation has completed successfully.
- SUCCEEDED = 1;
- // The render operation has failed.
- FAILED = 2;
- // The render operation is in progress.
- IN_PROGRESS = 3;
- }
- // Well-known rendering failures.
- enum FailureCause {
- // No reason for failure is specified.
- FAILURE_CAUSE_UNSPECIFIED = 0;
- // Cloud Build is not available, either because it is not enabled or
- // because Google Cloud Deploy has insufficient permissions. See [required
- // permission](/deploy/docs/cloud-deploy-service-account#required_permissions).
- CLOUD_BUILD_UNAVAILABLE = 1;
- // The render operation did not complete successfully; check Cloud Build
- // logs.
- EXECUTION_FAILED = 2;
- }
- // Output only. The resource name of the Cloud Build `Build` object that is used to
- // render the manifest for this target. Format is
- // `projects/{project}/locations/{location}/builds/{build}`.
- string rendering_build = 1 [
- (google.api.field_behavior) = OUTPUT_ONLY,
- (google.api.resource_reference) = {
- type: "cloudbuild.googleapis.com/Build"
- }
- ];
- // Output only. Current state of the render operation for this Target.
- TargetRenderState rendering_state = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Reason this render failed. This will always be unspecified while the
- // render in progress.
- FailureCause failure_cause = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Additional information about the render failure, if available.
- string failure_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Optional. Name of the `Release`. Format is projects/{project}/
- // locations/{location}/deliveryPipelines/{deliveryPipeline}/
- // releases/[a-z][a-z0-9\-]{0,62}.
- string name = 1 [(google.api.field_behavior) = OPTIONAL];
- // Output only. Unique identifier of the `Release`.
- string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Description of the `Release`. Max length is 255 characters.
- string description = 3;
- // User annotations. These attributes can only be set and used by the
- // user, and not by Google Cloud Deploy. See
- // https://google.aip.dev/128#annotations for more details such as format and
- // size limitations.
- map<string, string> annotations = 4;
- // Labels are attributes that can be set and used by both the
- // user and by Google Cloud Deploy. Labels must meet the following
- // constraints:
- //
- // * Keys and values can contain only lowercase letters, numeric characters,
- // underscores, and dashes.
- // * All characters must use UTF-8 encoding, and international characters are
- // allowed.
- // * Keys must start with a lowercase letter or international character.
- // * Each resource is limited to a maximum of 64 labels.
- //
- // Both keys and values are additionally constrained to be <= 128 bytes.
- map<string, string> labels = 5;
- // Output only. Indicates whether this is an abandoned release.
- bool abandoned = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Time at which the `Release` was created.
- google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Time at which the render began.
- google.protobuf.Timestamp render_start_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Time at which the render completed.
- google.protobuf.Timestamp render_end_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Cloud Storage URI of tar.gz archive containing Skaffold configuration.
- string skaffold_config_uri = 17;
- // Filepath of the Skaffold config inside of the config URI.
- string skaffold_config_path = 9;
- // List of artifacts to pass through to Skaffold command.
- repeated BuildArtifact build_artifacts = 10;
- // Output only. Snapshot of the parent pipeline taken at release creation time.
- DeliveryPipeline delivery_pipeline_snapshot = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Snapshot of the targets taken at release creation time.
- repeated Target target_snapshots = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Current state of the render operation.
- RenderState render_state = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
- // This checksum is computed by the server based on the value of other
- // fields, and may be sent on update and delete requests to ensure the
- // client has an up-to-date value before proceeding.
- string etag = 16;
- // The Skaffold version to use when operating on this release, such as
- // "1.20.0". Not all versions are valid; Google Cloud Deploy supports a
- // specific set of versions.
- //
- // If unset, the most recent supported Skaffold version will be used.
- string skaffold_version = 19;
- // Output only. Map from target ID to the target artifacts created
- // during the render operation.
- map<string, TargetArtifact> target_artifacts = 20 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Map from target ID to details of the render operation for that target.
- map<string, TargetRender> target_renders = 22 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Description of an a image to use during Skaffold rendering.
- message BuildArtifact {
- // Image name in Skaffold configuration.
- string image = 3;
- // Image tag to use. This will generally be the full path to an image, such
- // as "gcr.io/my-project/busybox:1.2.3" or
- // "gcr.io/my-project/busybox@sha256:abc123".
- string tag = 2;
- }
- // The artifacts produced by a target render operation.
- message TargetArtifact {
- oneof uri {
- // Output only. URI of a directory containing the artifacts. This contains
- // deployment configuration used by Skaffold during a rollout, and all
- // paths are relative to this location.
- string artifact_uri = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Output only. File path of the resolved Skaffold configuration relative to the URI.
- string skaffold_config_path = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. File path of the rendered manifest relative to the URI.
- string manifest_path = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // The request object for `ListReleases`.
- message ListReleasesRequest {
- // Required. The `DeliveryPipeline` which owns this collection of `Release` objects.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/DeliveryPipeline"
- }
- ];
- // Optional. The maximum number of `Release` objects to return. The service may return
- // fewer than this value. If unspecified, at most 50 `Release` objects will be
- // returned. The maximum value is 1000; values above 1000 will be set to 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. A page token, received from a previous `ListReleases` call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other provided parameters match
- // the call that provided the page token.
- string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Filter releases to be returned. See https://google.aip.dev/160 for more
- // details.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.
- string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // The response object from `ListReleases`.
- message ListReleasesResponse {
- // The `Release` objects.
- repeated Release releases = 1;
- // A token, which can be sent as `page_token` to retrieve the next page.
- // If this field is omitted, there are no subsequent pages.
- string next_page_token = 2;
- // Locations that could not be reached.
- repeated string unreachable = 3;
- }
- // The request object for `GetRelease`.
- message GetReleaseRequest {
- // Required. Name of the `Release`. Format must be
- // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/Release"
- }
- ];
- }
- // The request object for `CreateRelease`,
- message CreateReleaseRequest {
- // Required. The parent collection in which the `Release` should be created.
- // Format should be
- // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/DeliveryPipeline"
- }
- ];
- // Required. ID of the `Release`.
- string release_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The `Release` to create.
- Release release = 3 [(google.api.field_behavior) = REQUIRED];
- // Optional. A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and the
- // request times out. If you make the request again with the same request ID,
- // the server can check if original operation with the same request ID was
- // received, and if so, will ignore the second request. This prevents clients
- // from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If set to true, the request is validated and the user is provided with
- // an expected result, but no actual change is made.
- bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // A `Rollout` resource in the Google Cloud Deploy API.
- //
- // A `Rollout` contains information around a specific deployment to a `Target`.
- message Rollout {
- option (google.api.resource) = {
- type: "clouddeploy.googleapis.com/Rollout"
- pattern: "projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/releases/{release}/rollouts/{rollout}"
- };
- // Valid approval states of a `Rollout`.
- enum ApprovalState {
- // The `Rollout` has an unspecified approval state.
- APPROVAL_STATE_UNSPECIFIED = 0;
- // The `Rollout` requires approval.
- NEEDS_APPROVAL = 1;
- // The `Rollout` does not require approval.
- DOES_NOT_NEED_APPROVAL = 2;
- // The `Rollout` has been approved.
- APPROVED = 3;
- // The `Rollout` has been rejected.
- REJECTED = 4;
- }
- // Valid states of a `Rollout`.
- enum State {
- // The `Rollout` has an unspecified state.
- STATE_UNSPECIFIED = 0;
- // The `Rollout` has completed successfully.
- SUCCEEDED = 1;
- // The `Rollout` has failed.
- FAILED = 2;
- // The `Rollout` is being deployed.
- IN_PROGRESS = 3;
- // The `Rollout` needs approval.
- PENDING_APPROVAL = 4;
- // An approver rejected the `Rollout`.
- APPROVAL_REJECTED = 5;
- // The `Rollout` is waiting for an earlier Rollout(s) to complete on this
- // `Target`.
- PENDING = 6;
- // The `Rollout` is waiting for the `Release` to be fully rendered.
- PENDING_RELEASE = 7;
- }
- // Well-known rollout failures.
- enum FailureCause {
- // No reason for failure is specified.
- FAILURE_CAUSE_UNSPECIFIED = 0;
- // Cloud Build is not available, either because it is not enabled or because
- // Cloud Deploy has insufficient permissions. See [required
- // permission](/deploy/docs/cloud-deploy-service-account#required_permissions).
- CLOUD_BUILD_UNAVAILABLE = 1;
- // The deploy operation did not complete successfully; check Cloud Build
- // logs.
- EXECUTION_FAILED = 2;
- // Deployment did not complete within the alloted time.
- DEADLINE_EXCEEDED = 3;
- // Release is in a failed state.
- RELEASE_FAILED = 4;
- // Release is abandoned.
- RELEASE_ABANDONED = 5;
- // No skaffold verify configuration was found.
- VERIFICATION_CONFIG_NOT_FOUND = 6;
- }
- // Optional. Name of the `Rollout`. Format is projects/{project}/
- // locations/{location}/deliveryPipelines/{deliveryPipeline}/
- // releases/{release}/rollouts/[a-z][a-z0-9\-]{0,62}.
- string name = 1 [(google.api.field_behavior) = OPTIONAL];
- // Output only. Unique identifier of the `Rollout`.
- string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Description of the `Rollout` for user purposes. Max length is 255
- // characters.
- string description = 3;
- // User annotations. These attributes can only be set and used by the
- // user, and not by Google Cloud Deploy. See
- // https://google.aip.dev/128#annotations for more details such as format and
- // size limitations.
- map<string, string> annotations = 4;
- // Labels are attributes that can be set and used by both the
- // user and by Google Cloud Deploy. Labels must meet the following
- // constraints:
- //
- // * Keys and values can contain only lowercase letters, numeric characters,
- // underscores, and dashes.
- // * All characters must use UTF-8 encoding, and international characters are
- // allowed.
- // * Keys must start with a lowercase letter or international character.
- // * Each resource is limited to a maximum of 64 labels.
- //
- // Both keys and values are additionally constrained to be <= 128 bytes.
- map<string, string> labels = 5;
- // Output only. Time at which the `Rollout` was created.
- google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Time at which the `Rollout` was approved.
- google.protobuf.Timestamp approve_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Time at which the `Rollout` was enqueued.
- google.protobuf.Timestamp enqueue_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Time at which the `Rollout` started deploying.
- google.protobuf.Timestamp deploy_start_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Time at which the `Rollout` finished deploying.
- google.protobuf.Timestamp deploy_end_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Required. The ID of Target to which this `Rollout` is deploying.
- string target_id = 18 [(google.api.field_behavior) = REQUIRED];
- // Output only. Approval state of the `Rollout`.
- ApprovalState approval_state = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Current state of the `Rollout`.
- State state = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Additional information about the rollout failure, if available.
- string failure_reason = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The resource name of the Cloud Build `Build` object that is used to deploy
- // the Rollout. Format is
- // `projects/{project}/locations/{location}/builds/{build}`.
- string deploying_build = 17 [
- (google.api.field_behavior) = OUTPUT_ONLY,
- (google.api.resource_reference) = {
- type: "cloudbuild.googleapis.com/Build"
- }
- ];
- // This checksum is computed by the server based on the value of other
- // fields, and may be sent on update and delete requests to ensure the
- // client has an up-to-date value before proceeding.
- string etag = 16;
- // Output only. The reason this rollout failed. This will always be unspecified while the
- // rollout is in progress.
- FailureCause deploy_failure_cause = 19 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The phases that represent the workflows of this `Rollout`.
- repeated Phase phases = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Metadata contains information about the rollout.
- Metadata metadata = 24 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Metadata includes information associated with a `Rollout`.
- message Metadata {
- // Output only. The name of the Cloud Run Service that is associated with a `Rollout`.
- CloudRunMetadata cloud_run = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // DeployJobRunMetadata surfaces information associated with a `DeployJobRun` to
- // the user.
- message DeployJobRunMetadata {
- // Output only. The name of the Cloud Run Service that is associated with a `DeployJobRun`.
- CloudRunMetadata cloud_run = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // CloudRunMetadata contains information from a Cloud Run deployment.
- message CloudRunMetadata {
- // Output only. The name of the Cloud Run Service that is associated with a `Rollout`.
- // Format is projects/{project}/locations/{location}/services/{service}.
- string service = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The Cloud Run Service urls that are associated with a `Rollout`.
- repeated string service_urls = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The Cloud Run Revision id associated with a `Rollout`.
- string revision = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Phase represents a collection of jobs that are logically grouped together
- // for a `Rollout`.
- message Phase {
- // Valid states of a Phase.
- enum State {
- // The Phase has an unspecified state.
- STATE_UNSPECIFIED = 0;
- // The Phase is waiting for an earlier Phase(s) to complete.
- PENDING = 1;
- // The Phase is in progress.
- IN_PROGRESS = 2;
- // The Phase has succeeded.
- SUCCEEDED = 3;
- // The Phase has failed.
- FAILED = 4;
- // The Phase was aborted.
- ABORTED = 5;
- }
- // Output only. The ID of the Phase.
- string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Current state of the Phase.
- State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // The job composition of this Phase.
- oneof jobs {
- // Output only. Deployment job composition.
- DeploymentJobs deployment_jobs = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- }
- // Deployment job composition.
- message DeploymentJobs {
- // Output only. The deploy Job. This is the first job run in the phase.
- Job deploy_job = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The verify Job. Runs after a deploy if the deploy succeeds.
- Job verify_job = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Job represents an operation for a `Rollout`.
- message Job {
- // Valid states of a Job.
- enum State {
- // The Job has an unspecified state.
- STATE_UNSPECIFIED = 0;
- // The Job is waiting for an earlier Phase(s) or Job(s) to complete.
- PENDING = 1;
- // The Job is disabled.
- DISABLED = 2;
- // The Job is in progress.
- IN_PROGRESS = 3;
- // The Job succeeded.
- SUCCEEDED = 4;
- // The Job failed.
- FAILED = 5;
- // The Job was aborted.
- ABORTED = 6;
- }
- // Output only. The ID of the Job.
- string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The current state of the Job.
- State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The name of the `JobRun` responsible for the most recent invocation of this
- // Job.
- string job_run = 3 [
- (google.api.field_behavior) = OUTPUT_ONLY,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/JobRun"
- }
- ];
- // The type of Job.
- oneof job_type {
- // Output only. A deploy Job.
- DeployJob deploy_job = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. A verify Job.
- VerifyJob verify_job = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- }
- // A deploy Job.
- message DeployJob {
- }
- // A verify Job.
- message VerifyJob {
- }
- // ListRolloutsRequest is the request object used by `ListRollouts`.
- message ListRolloutsRequest {
- // Required. The `Release` which owns this collection of `Rollout` objects.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/Release"
- }
- ];
- // Optional. The maximum number of `Rollout` objects to return. The service may return
- // fewer than this value. If unspecified, at most 50 `Rollout` objects will be
- // returned. The maximum value is 1000; values above 1000 will be set to 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. A page token, received from a previous `ListRollouts` call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other provided parameters match
- // the call that provided the page token.
- string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Filter rollouts to be returned. See https://google.aip.dev/160 for more
- // details.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.
- string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // ListRolloutsResponse is the response object reutrned by `ListRollouts`.
- message ListRolloutsResponse {
- // The `Rollout` objects.
- repeated Rollout rollouts = 1;
- // A token, which can be sent as `page_token` to retrieve the next page.
- // If this field is omitted, there are no subsequent pages.
- string next_page_token = 2;
- // Locations that could not be reached.
- repeated string unreachable = 3;
- }
- // GetRolloutRequest is the request object used by `GetRollout`.
- message GetRolloutRequest {
- // Required. Name of the `Rollout`. Format must be
- // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}/rollouts/{rollout_name}.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/Rollout"
- }
- ];
- }
- // CreateRolloutRequest is the request object used by `CreateRollout`.
- message CreateRolloutRequest {
- // Required. The parent collection in which the `Rollout` should be created.
- // Format should be
- // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/Release"
- }
- ];
- // Required. ID of the `Rollout`.
- string rollout_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The `Rollout` to create.
- Rollout rollout = 3 [(google.api.field_behavior) = REQUIRED];
- // Optional. A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and the
- // request times out. If you make the request again with the same request ID,
- // the server can check if original operation with the same request ID was
- // received, and if so, will ignore the second request. This prevents clients
- // from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If set to true, the request is validated and the user is provided with
- // an expected result, but no actual change is made.
- bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // Represents the metadata of the long-running operation.
- message OperationMetadata {
- // Output only. The time the operation was created.
- google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time the operation finished running.
- google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Server-defined resource path for the target of the operation.
- string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Name of the verb executed by the operation.
- string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Human-readable status of the operation, if any.
- string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Identifies whether the user has requested cancellation
- // of the operation. Operations that have successfully been cancelled
- // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
- // corresponding to `Code.CANCELLED`.
- bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. API version used to start the operation.
- string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // The request object used by `ApproveRollout`.
- message ApproveRolloutRequest {
- // Required. Name of the Rollout. Format is
- // projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/
- // releases/{release}/rollouts/{rollout}.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/Rollout"
- }
- ];
- // Required. True = approve; false = reject
- bool approved = 2 [(google.api.field_behavior) = REQUIRED];
- }
- // The response object from `ApproveRollout`.
- message ApproveRolloutResponse {
- }
- // RetryJobRequest is the request object used by `RetryJob`.
- message RetryJobRequest {
- // Required. Name of the Rollout. Format is
- // projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/
- // releases/{release}/rollouts/{rollout}.
- string rollout = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/Rollout"
- }
- ];
- // Required. The phase ID the Job to retry belongs to.
- string phase_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The job ID for the Job to retry.
- string job_id = 3 [(google.api.field_behavior) = REQUIRED];
- }
- // The response object from 'RetryJob'.
- message RetryJobResponse {
- }
- // The request object used by `AbandonRelease`.
- message AbandonReleaseRequest {
- // Required. Name of the Release. Format is
- // projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/
- // releases/{release}.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/Release"
- }
- ];
- }
- // The response object for `AbandonRelease`.
- message AbandonReleaseResponse {
- }
- // A `JobRun` resource in the Google Cloud Deploy API.
- //
- // A `JobRun` contains information of a single `Rollout` job evaluation.
- message JobRun {
- option (google.api.resource) = {
- type: "clouddeploy.googleapis.com/JobRun"
- pattern: "projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/releases/{release}/rollouts/{rollout}/jobRuns/{job_run}"
- };
- // Valid states of a `JobRun`.
- enum State {
- // The `JobRun` has an unspecified state.
- STATE_UNSPECIFIED = 0;
- // The `JobRun` is in progress.
- IN_PROGRESS = 1;
- // The `JobRun` has succeeded.
- SUCCEEDED = 2;
- // The `JobRun` has failed.
- FAILED = 3;
- }
- // Optional. Name of the `JobRun`. Format is projects/{project}/locations/{location}/
- // deliveryPipelines/{deliveryPipeline}/releases/{releases}/rollouts/
- // {rollouts}/jobRuns/{uuid}.
- string name = 1 [(google.api.field_behavior) = OPTIONAL];
- // Output only. Unique identifier of the `JobRun`.
- string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. ID of the `Rollout` phase this `JobRun` belongs in.
- string phase_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. ID of the `Rollout` job this `JobRun` corresponds to.
- string job_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Time at which the `JobRun` was created.
- google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Time at which the `JobRun` was started.
- google.protobuf.Timestamp start_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Time at which the `JobRun` ended.
- google.protobuf.Timestamp end_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The current state of the `JobRun`.
- State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
- // The `JobRun` type and the information for that type.
- oneof job_run {
- // Output only. Information specific to a deploy `JobRun`.
- DeployJobRun deploy_job_run = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Information specific to a verify `JobRun`.
- VerifyJobRun verify_job_run = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Output only. This checksum is computed by the server based on the value of other
- // fields, and may be sent on update and delete requests to ensure the
- // client has an up-to-date value before proceeding.
- string etag = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // DeployJobRun contains information specific to a deploy `JobRun`.
- message DeployJobRun {
- // Well-known deploy failures.
- enum FailureCause {
- // No reason for failure is specified.
- FAILURE_CAUSE_UNSPECIFIED = 0;
- // Cloud Build is not available, either because it is not enabled or because
- // Google Cloud Deploy has insufficient permissions. See [Required
- // permission](/deploy/docs/cloud-deploy-service-account#required_permissions).
- CLOUD_BUILD_UNAVAILABLE = 1;
- // The deploy operation did not complete successfully; check Cloud Build
- // logs.
- EXECUTION_FAILED = 2;
- // The deploy build did not complete within the alloted time.
- DEADLINE_EXCEEDED = 3;
- }
- // Output only. The resource name of the Cloud Build `Build` object that is used to deploy.
- // Format is projects/{project}/locations/{location}/builds/{build}.
- string build = 1 [
- (google.api.field_behavior) = OUTPUT_ONLY,
- (google.api.resource_reference) = {
- type: "cloudbuild.googleapis.com/Build"
- }
- ];
- // Output only. The reason the deploy failed. This will always be unspecified while the
- // deploy is in progress or if it succeeded.
- FailureCause failure_cause = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Additional information about the deploy failure, if available.
- string failure_message = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Metadata containing information about the deploy job run.
- DeployJobRunMetadata metadata = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // VerifyJobRun contains information specific to a verify `JobRun`.
- message VerifyJobRun {
- // Well-known verify failures.
- enum FailureCause {
- // No reason for failure is specified.
- FAILURE_CAUSE_UNSPECIFIED = 0;
- // Cloud Build is not available, either because it is not enabled or because
- // Google Cloud Deploy has insufficient permissions. See [required
- // permission](/deploy/docs/cloud-deploy-service-account#required_permissions).
- CLOUD_BUILD_UNAVAILABLE = 1;
- // The verify operation did not complete successfully; check Cloud Build
- // logs.
- EXECUTION_FAILED = 2;
- // The verify build did not complete within the alloted time.
- DEADLINE_EXCEEDED = 3;
- // No Skaffold verify configuration was found.
- VERIFICATION_CONFIG_NOT_FOUND = 4;
- }
- // Output only. The resource name of the Cloud Build `Build` object that is used to verify.
- // Format is projects/{project}/locations/{location}/builds/{build}.
- string build = 1 [
- (google.api.field_behavior) = OUTPUT_ONLY,
- (google.api.resource_reference) = {
- type: "cloudbuild.googleapis.com/Build"
- }
- ];
- // Output only. URI of a directory containing the verify artifacts. This contains the
- // Skaffold event log.
- string artifact_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. File path of the Skaffold event log relative to the artifact URI.
- string event_log_path = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The reason the verify failed. This will always be unspecified while the
- // verify is in progress or if it succeeded.
- FailureCause failure_cause = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Additional information about the verify failure, if available.
- string failure_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // ListJobRunsRequest is the request object used by `ListJobRuns`.
- message ListJobRunsRequest {
- // Required. The `Rollout` which owns this collection of `JobRun` objects.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/Rollout"
- }
- ];
- // Optional. The maximum number of `JobRun` objects to return. The service may return
- // fewer than this value. If unspecified, at most 50 `JobRun` objects will be
- // returned. The maximum value is 1000; values above 1000 will be set to 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. A page token, received from a previous `ListJobRuns` call. Provide this
- // to retrieve the subsequent page.
- //
- // When paginating, all other provided parameters match the call that provided
- // the page token.
- string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Filter results to be returned. See https://google.aip.dev/160 for more
- // details.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.
- string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // ListJobRunsResponse is the response object returned by `ListJobRuns`.
- message ListJobRunsResponse {
- // The `JobRun` objects.
- repeated JobRun job_runs = 1;
- // A token, which can be sent as `page_token` to retrieve the next page. If
- // this field is omitted, there are no subsequent pages.
- string next_page_token = 2;
- // Locations that could not be reached
- repeated string unreachable = 3;
- }
- // GetJobRunRequest is the request object used by `GetJobRun`.
- message GetJobRunRequest {
- // Required. Name of the `JobRun`. Format must be
- // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}/rollouts/{rollout_name}/jobRuns/{job_run_name}.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/JobRun"
- }
- ];
- }
- // Service-wide configuration.
- message Config {
- option (google.api.resource) = {
- type: "clouddeploy.googleapis.com/Config"
- pattern: "projects/{project}/locations/{location}/config"
- };
- // Name of the configuration.
- string name = 1;
- // Output only. All supported versions of Skaffold.
- repeated SkaffoldVersion supported_versions = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Default Skaffold version that is assigned when a Release is created without
- // specifying a Skaffold version.
- string default_skaffold_version = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Details of a supported Skaffold version.
- message SkaffoldVersion {
- // Release version number. For example, "1.20.3".
- string version = 1;
- // Date when this version is expected to no longer be supported.
- google.type.Date support_end_date = 2;
- }
- // Request to get a configuration.
- message GetConfigRequest {
- // Required. Name of requested configuration.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "clouddeploy.googleapis.com/Config"
- }
- ];
- }
|