xref: /aosp_15_r20/external/googleapis/google/cloud/config/v1/config.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.config.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/field_info.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
27*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/struct.proto";
28*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
29*d5c09012SAndroid Build Coastguard Workerimport "google/rpc/status.proto";
30*d5c09012SAndroid Build Coastguard Worker
31*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Config.V1";
32*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/config/apiv1/configpb;configpb";
33*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
34*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ConfigProto";
35*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.config.v1";
36*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Config\\V1";
37*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::ConfigService::V1";
38*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = {
39*d5c09012SAndroid Build Coastguard Worker  type: "iam.googleapis.com/ServiceAccount"
40*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/serviceAccounts/{service_account}"
41*d5c09012SAndroid Build Coastguard Worker};
42*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = {
43*d5c09012SAndroid Build Coastguard Worker  type: "cloudbuild.googleapis.com/WorkerPool"
44*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}/workerPools/{worker_pool}"
45*d5c09012SAndroid Build Coastguard Worker};
46*d5c09012SAndroid Build Coastguard Worker
47*d5c09012SAndroid Build Coastguard Worker// Infrastructure Manager is a managed service that automates the deployment and
48*d5c09012SAndroid Build Coastguard Worker// management of Google Cloud infrastructure resources.
49*d5c09012SAndroid Build Coastguard Workerservice Config {
50*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "config.googleapis.com";
51*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
52*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform";
53*d5c09012SAndroid Build Coastguard Worker
54*d5c09012SAndroid Build Coastguard Worker  // Lists [Deployment][google.cloud.config.v1.Deployment]s in a given project
55*d5c09012SAndroid Build Coastguard Worker  // and location.
56*d5c09012SAndroid Build Coastguard Worker  rpc ListDeployments(ListDeploymentsRequest)
57*d5c09012SAndroid Build Coastguard Worker      returns (ListDeploymentsResponse) {
58*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
59*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*}/deployments"
60*d5c09012SAndroid Build Coastguard Worker    };
61*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
62*d5c09012SAndroid Build Coastguard Worker  }
63*d5c09012SAndroid Build Coastguard Worker
64*d5c09012SAndroid Build Coastguard Worker  // Gets details about a [Deployment][google.cloud.config.v1.Deployment].
65*d5c09012SAndroid Build Coastguard Worker  rpc GetDeployment(GetDeploymentRequest) returns (Deployment) {
66*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
67*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/deployments/*}"
68*d5c09012SAndroid Build Coastguard Worker    };
69*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
70*d5c09012SAndroid Build Coastguard Worker  }
71*d5c09012SAndroid Build Coastguard Worker
72*d5c09012SAndroid Build Coastguard Worker  // Creates a [Deployment][google.cloud.config.v1.Deployment].
73*d5c09012SAndroid Build Coastguard Worker  rpc CreateDeployment(CreateDeploymentRequest)
74*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
75*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
76*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*}/deployments"
77*d5c09012SAndroid Build Coastguard Worker      body: "deployment"
78*d5c09012SAndroid Build Coastguard Worker    };
79*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,deployment,deployment_id";
80*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
81*d5c09012SAndroid Build Coastguard Worker      response_type: "Deployment"
82*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
83*d5c09012SAndroid Build Coastguard Worker    };
84*d5c09012SAndroid Build Coastguard Worker  }
85*d5c09012SAndroid Build Coastguard Worker
86*d5c09012SAndroid Build Coastguard Worker  // Updates a [Deployment][google.cloud.config.v1.Deployment].
87*d5c09012SAndroid Build Coastguard Worker  rpc UpdateDeployment(UpdateDeploymentRequest)
88*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
89*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
90*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/{deployment.name=projects/*/locations/*/deployments/*}"
91*d5c09012SAndroid Build Coastguard Worker      body: "deployment"
92*d5c09012SAndroid Build Coastguard Worker    };
93*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "deployment,update_mask";
94*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
95*d5c09012SAndroid Build Coastguard Worker      response_type: "Deployment"
96*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
97*d5c09012SAndroid Build Coastguard Worker    };
98*d5c09012SAndroid Build Coastguard Worker  }
99*d5c09012SAndroid Build Coastguard Worker
100*d5c09012SAndroid Build Coastguard Worker  // Deletes a [Deployment][google.cloud.config.v1.Deployment].
101*d5c09012SAndroid Build Coastguard Worker  rpc DeleteDeployment(DeleteDeploymentRequest)
102*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
103*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
104*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=projects/*/locations/*/deployments/*}"
105*d5c09012SAndroid Build Coastguard Worker    };
106*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
107*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
108*d5c09012SAndroid Build Coastguard Worker      response_type: "Deployment"
109*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
110*d5c09012SAndroid Build Coastguard Worker    };
111*d5c09012SAndroid Build Coastguard Worker  }
112*d5c09012SAndroid Build Coastguard Worker
113*d5c09012SAndroid Build Coastguard Worker  // Lists [Revision][google.cloud.config.v1.Revision]s of a deployment.
114*d5c09012SAndroid Build Coastguard Worker  rpc ListRevisions(ListRevisionsRequest) returns (ListRevisionsResponse) {
115*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
116*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*/deployments/*}/revisions"
117*d5c09012SAndroid Build Coastguard Worker    };
118*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
119*d5c09012SAndroid Build Coastguard Worker  }
120*d5c09012SAndroid Build Coastguard Worker
121*d5c09012SAndroid Build Coastguard Worker  // Gets details about a [Revision][google.cloud.config.v1.Revision].
122*d5c09012SAndroid Build Coastguard Worker  rpc GetRevision(GetRevisionRequest) returns (Revision) {
123*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
124*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/deployments/*/revisions/*}"
125*d5c09012SAndroid Build Coastguard Worker    };
126*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
127*d5c09012SAndroid Build Coastguard Worker  }
128*d5c09012SAndroid Build Coastguard Worker
129*d5c09012SAndroid Build Coastguard Worker  // Gets details about a [Resource][google.cloud.config.v1.Resource] deployed
130*d5c09012SAndroid Build Coastguard Worker  // by Infra Manager.
131*d5c09012SAndroid Build Coastguard Worker  rpc GetResource(GetResourceRequest) returns (Resource) {
132*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
133*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/deployments/*/revisions/*/resources/*}"
134*d5c09012SAndroid Build Coastguard Worker    };
135*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
136*d5c09012SAndroid Build Coastguard Worker  }
137*d5c09012SAndroid Build Coastguard Worker
138*d5c09012SAndroid Build Coastguard Worker  // Lists [Resource][google.cloud.config.v1.Resource]s in a given revision.
139*d5c09012SAndroid Build Coastguard Worker  rpc ListResources(ListResourcesRequest) returns (ListResourcesResponse) {
140*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
141*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*/deployments/*/revisions/*}/resources"
142*d5c09012SAndroid Build Coastguard Worker    };
143*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
144*d5c09012SAndroid Build Coastguard Worker  }
145*d5c09012SAndroid Build Coastguard Worker
146*d5c09012SAndroid Build Coastguard Worker  // Exports Terraform state file from a given deployment.
147*d5c09012SAndroid Build Coastguard Worker  rpc ExportDeploymentStatefile(ExportDeploymentStatefileRequest)
148*d5c09012SAndroid Build Coastguard Worker      returns (Statefile) {
149*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
150*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*/deployments/*}:exportState"
151*d5c09012SAndroid Build Coastguard Worker      body: "*"
152*d5c09012SAndroid Build Coastguard Worker    };
153*d5c09012SAndroid Build Coastguard Worker  }
154*d5c09012SAndroid Build Coastguard Worker
155*d5c09012SAndroid Build Coastguard Worker  // Exports Terraform state file from a given revision.
156*d5c09012SAndroid Build Coastguard Worker  rpc ExportRevisionStatefile(ExportRevisionStatefileRequest)
157*d5c09012SAndroid Build Coastguard Worker      returns (Statefile) {
158*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
159*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*/deployments/*/revisions/*}:exportState"
160*d5c09012SAndroid Build Coastguard Worker      body: "*"
161*d5c09012SAndroid Build Coastguard Worker    };
162*d5c09012SAndroid Build Coastguard Worker  }
163*d5c09012SAndroid Build Coastguard Worker
164*d5c09012SAndroid Build Coastguard Worker  // Imports Terraform state file in a given deployment. The state file does not
165*d5c09012SAndroid Build Coastguard Worker  // take effect until the Deployment has been unlocked.
166*d5c09012SAndroid Build Coastguard Worker  rpc ImportStatefile(ImportStatefileRequest) returns (Statefile) {
167*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
168*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*/deployments/*}:importState"
169*d5c09012SAndroid Build Coastguard Worker      body: "*"
170*d5c09012SAndroid Build Coastguard Worker    };
171*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,lock_id";
172*d5c09012SAndroid Build Coastguard Worker  }
173*d5c09012SAndroid Build Coastguard Worker
174*d5c09012SAndroid Build Coastguard Worker  // Deletes Terraform state file in a given deployment.
175*d5c09012SAndroid Build Coastguard Worker  rpc DeleteStatefile(DeleteStatefileRequest) returns (google.protobuf.Empty) {
176*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
177*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{name=projects/*/locations/*/deployments/*}:deleteState"
178*d5c09012SAndroid Build Coastguard Worker      body: "*"
179*d5c09012SAndroid Build Coastguard Worker    };
180*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
181*d5c09012SAndroid Build Coastguard Worker  }
182*d5c09012SAndroid Build Coastguard Worker
183*d5c09012SAndroid Build Coastguard Worker  // Locks a deployment.
184*d5c09012SAndroid Build Coastguard Worker  rpc LockDeployment(LockDeploymentRequest)
185*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
186*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
187*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{name=projects/*/locations/*/deployments/*}:lock"
188*d5c09012SAndroid Build Coastguard Worker      body: "*"
189*d5c09012SAndroid Build Coastguard Worker    };
190*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
191*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
192*d5c09012SAndroid Build Coastguard Worker      response_type: "Deployment"
193*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
194*d5c09012SAndroid Build Coastguard Worker    };
195*d5c09012SAndroid Build Coastguard Worker  }
196*d5c09012SAndroid Build Coastguard Worker
197*d5c09012SAndroid Build Coastguard Worker  // Unlocks a locked deployment.
198*d5c09012SAndroid Build Coastguard Worker  rpc UnlockDeployment(UnlockDeploymentRequest)
199*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
200*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
201*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{name=projects/*/locations/*/deployments/*}:unlock"
202*d5c09012SAndroid Build Coastguard Worker      body: "*"
203*d5c09012SAndroid Build Coastguard Worker    };
204*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name,lock_id";
205*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
206*d5c09012SAndroid Build Coastguard Worker      response_type: "Deployment"
207*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
208*d5c09012SAndroid Build Coastguard Worker    };
209*d5c09012SAndroid Build Coastguard Worker  }
210*d5c09012SAndroid Build Coastguard Worker
211*d5c09012SAndroid Build Coastguard Worker  // Exports the lock info on a locked deployment.
212*d5c09012SAndroid Build Coastguard Worker  rpc ExportLockInfo(ExportLockInfoRequest) returns (LockInfo) {
213*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
214*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/deployments/*}:exportLock"
215*d5c09012SAndroid Build Coastguard Worker    };
216*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
217*d5c09012SAndroid Build Coastguard Worker  }
218*d5c09012SAndroid Build Coastguard Worker
219*d5c09012SAndroid Build Coastguard Worker  // Creates a [Preview][google.cloud.config.v1.Preview].
220*d5c09012SAndroid Build Coastguard Worker  rpc CreatePreview(CreatePreviewRequest)
221*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
222*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
223*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*}/previews"
224*d5c09012SAndroid Build Coastguard Worker      body: "preview"
225*d5c09012SAndroid Build Coastguard Worker    };
226*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,preview";
227*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
228*d5c09012SAndroid Build Coastguard Worker      response_type: "Preview"
229*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
230*d5c09012SAndroid Build Coastguard Worker    };
231*d5c09012SAndroid Build Coastguard Worker  }
232*d5c09012SAndroid Build Coastguard Worker
233*d5c09012SAndroid Build Coastguard Worker  // Gets details about a [Preview][google.cloud.config.v1.Preview].
234*d5c09012SAndroid Build Coastguard Worker  rpc GetPreview(GetPreviewRequest) returns (Preview) {
235*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
236*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/previews/*}"
237*d5c09012SAndroid Build Coastguard Worker    };
238*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
239*d5c09012SAndroid Build Coastguard Worker  }
240*d5c09012SAndroid Build Coastguard Worker
241*d5c09012SAndroid Build Coastguard Worker  // Lists [Preview][google.cloud.config.v1.Preview]s in a given project and
242*d5c09012SAndroid Build Coastguard Worker  // location.
243*d5c09012SAndroid Build Coastguard Worker  rpc ListPreviews(ListPreviewsRequest) returns (ListPreviewsResponse) {
244*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
245*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*}/previews"
246*d5c09012SAndroid Build Coastguard Worker    };
247*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
248*d5c09012SAndroid Build Coastguard Worker  }
249*d5c09012SAndroid Build Coastguard Worker
250*d5c09012SAndroid Build Coastguard Worker  // Deletes a [Preview][google.cloud.config.v1.Preview].
251*d5c09012SAndroid Build Coastguard Worker  rpc DeletePreview(DeletePreviewRequest)
252*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
253*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
254*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=projects/*/locations/*/previews/*}"
255*d5c09012SAndroid Build Coastguard Worker    };
256*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
257*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
258*d5c09012SAndroid Build Coastguard Worker      response_type: "Preview"
259*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
260*d5c09012SAndroid Build Coastguard Worker    };
261*d5c09012SAndroid Build Coastguard Worker  }
262*d5c09012SAndroid Build Coastguard Worker
263*d5c09012SAndroid Build Coastguard Worker  // Export [Preview][google.cloud.config.v1.Preview] results.
264*d5c09012SAndroid Build Coastguard Worker  rpc ExportPreviewResult(ExportPreviewResultRequest)
265*d5c09012SAndroid Build Coastguard Worker      returns (ExportPreviewResultResponse) {
266*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
267*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*/previews/*}:export"
268*d5c09012SAndroid Build Coastguard Worker      body: "*"
269*d5c09012SAndroid Build Coastguard Worker    };
270*d5c09012SAndroid Build Coastguard Worker  }
271*d5c09012SAndroid Build Coastguard Worker
272*d5c09012SAndroid Build Coastguard Worker  // Lists [TerraformVersion][google.cloud.config.v1.TerraformVersion]s in a
273*d5c09012SAndroid Build Coastguard Worker  // given project and location.
274*d5c09012SAndroid Build Coastguard Worker  rpc ListTerraformVersions(ListTerraformVersionsRequest)
275*d5c09012SAndroid Build Coastguard Worker      returns (ListTerraformVersionsResponse) {
276*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
277*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*}/terraformVersions"
278*d5c09012SAndroid Build Coastguard Worker    };
279*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
280*d5c09012SAndroid Build Coastguard Worker  }
281*d5c09012SAndroid Build Coastguard Worker
282*d5c09012SAndroid Build Coastguard Worker  // Gets details about a
283*d5c09012SAndroid Build Coastguard Worker  // [TerraformVersion][google.cloud.config.v1.TerraformVersion].
284*d5c09012SAndroid Build Coastguard Worker  rpc GetTerraformVersion(GetTerraformVersionRequest)
285*d5c09012SAndroid Build Coastguard Worker      returns (TerraformVersion) {
286*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
287*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/terraformVersions/*}"
288*d5c09012SAndroid Build Coastguard Worker    };
289*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
290*d5c09012SAndroid Build Coastguard Worker  }
291*d5c09012SAndroid Build Coastguard Worker}
292*d5c09012SAndroid Build Coastguard Worker
293*d5c09012SAndroid Build Coastguard Worker// Enum values to control quota checks for resources in terraform
294*d5c09012SAndroid Build Coastguard Worker// configuration files.
295*d5c09012SAndroid Build Coastguard Workerenum QuotaValidation {
296*d5c09012SAndroid Build Coastguard Worker  // The default value.
297*d5c09012SAndroid Build Coastguard Worker  // QuotaValidation on terraform configuration files will be disabled in
298*d5c09012SAndroid Build Coastguard Worker  // this case.
299*d5c09012SAndroid Build Coastguard Worker  QUOTA_VALIDATION_UNSPECIFIED = 0;
300*d5c09012SAndroid Build Coastguard Worker
301*d5c09012SAndroid Build Coastguard Worker  // Enable computing quotas for resources in terraform configuration files to
302*d5c09012SAndroid Build Coastguard Worker  // get visibility on resources with insufficient quotas.
303*d5c09012SAndroid Build Coastguard Worker  ENABLED = 1;
304*d5c09012SAndroid Build Coastguard Worker
305*d5c09012SAndroid Build Coastguard Worker  // Enforce quota checks so deployment fails if there isn't sufficient quotas
306*d5c09012SAndroid Build Coastguard Worker  // available to deploy resources in terraform configuration files.
307*d5c09012SAndroid Build Coastguard Worker  ENFORCED = 2;
308*d5c09012SAndroid Build Coastguard Worker}
309*d5c09012SAndroid Build Coastguard Worker
310*d5c09012SAndroid Build Coastguard Worker// A Deployment is a group of resources and configs managed and provisioned by
311*d5c09012SAndroid Build Coastguard Worker// Infra Manager.
312*d5c09012SAndroid Build Coastguard Workermessage Deployment {
313*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
314*d5c09012SAndroid Build Coastguard Worker    type: "config.googleapis.com/Deployment"
315*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/deployments/{deployment}"
316*d5c09012SAndroid Build Coastguard Worker  };
317*d5c09012SAndroid Build Coastguard Worker
318*d5c09012SAndroid Build Coastguard Worker  // Possible states of a deployment.
319*d5c09012SAndroid Build Coastguard Worker  enum State {
320*d5c09012SAndroid Build Coastguard Worker    // The default value. This value is used if the state is omitted.
321*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
322*d5c09012SAndroid Build Coastguard Worker
323*d5c09012SAndroid Build Coastguard Worker    // The deployment is being created.
324*d5c09012SAndroid Build Coastguard Worker    CREATING = 1;
325*d5c09012SAndroid Build Coastguard Worker
326*d5c09012SAndroid Build Coastguard Worker    // The deployment is healthy.
327*d5c09012SAndroid Build Coastguard Worker    ACTIVE = 2;
328*d5c09012SAndroid Build Coastguard Worker
329*d5c09012SAndroid Build Coastguard Worker    // The deployment is being updated.
330*d5c09012SAndroid Build Coastguard Worker    UPDATING = 3;
331*d5c09012SAndroid Build Coastguard Worker
332*d5c09012SAndroid Build Coastguard Worker    // The deployment is being deleted.
333*d5c09012SAndroid Build Coastguard Worker    DELETING = 4;
334*d5c09012SAndroid Build Coastguard Worker
335*d5c09012SAndroid Build Coastguard Worker    // The deployment has encountered an unexpected error.
336*d5c09012SAndroid Build Coastguard Worker    FAILED = 5;
337*d5c09012SAndroid Build Coastguard Worker
338*d5c09012SAndroid Build Coastguard Worker    // The deployment is no longer being actively reconciled.
339*d5c09012SAndroid Build Coastguard Worker    // This may be the result of recovering the project after deletion.
340*d5c09012SAndroid Build Coastguard Worker    SUSPENDED = 6;
341*d5c09012SAndroid Build Coastguard Worker
342*d5c09012SAndroid Build Coastguard Worker    // The deployment has been deleted.
343*d5c09012SAndroid Build Coastguard Worker    DELETED = 7;
344*d5c09012SAndroid Build Coastguard Worker  }
345*d5c09012SAndroid Build Coastguard Worker
346*d5c09012SAndroid Build Coastguard Worker  // Possible errors that can occur with deployments.
347*d5c09012SAndroid Build Coastguard Worker  enum ErrorCode {
348*d5c09012SAndroid Build Coastguard Worker    // No error code was specified.
349*d5c09012SAndroid Build Coastguard Worker    ERROR_CODE_UNSPECIFIED = 0;
350*d5c09012SAndroid Build Coastguard Worker
351*d5c09012SAndroid Build Coastguard Worker    // The revision failed. See Revision for more details.
352*d5c09012SAndroid Build Coastguard Worker    REVISION_FAILED = 1;
353*d5c09012SAndroid Build Coastguard Worker
354*d5c09012SAndroid Build Coastguard Worker    // Cloud Build failed due to a permission issue.
355*d5c09012SAndroid Build Coastguard Worker    CLOUD_BUILD_PERMISSION_DENIED = 3;
356*d5c09012SAndroid Build Coastguard Worker
357*d5c09012SAndroid Build Coastguard Worker    // Cloud Build job associated with a deployment deletion could not be
358*d5c09012SAndroid Build Coastguard Worker    // started.
359*d5c09012SAndroid Build Coastguard Worker    DELETE_BUILD_API_FAILED = 5;
360*d5c09012SAndroid Build Coastguard Worker
361*d5c09012SAndroid Build Coastguard Worker    // Cloud Build job associated with a deployment deletion was started but
362*d5c09012SAndroid Build Coastguard Worker    // failed.
363*d5c09012SAndroid Build Coastguard Worker    DELETE_BUILD_RUN_FAILED = 6;
364*d5c09012SAndroid Build Coastguard Worker
365*d5c09012SAndroid Build Coastguard Worker    // Cloud Storage bucket creation failed due to a permission issue.
366*d5c09012SAndroid Build Coastguard Worker    BUCKET_CREATION_PERMISSION_DENIED = 7;
367*d5c09012SAndroid Build Coastguard Worker
368*d5c09012SAndroid Build Coastguard Worker    // Cloud Storage bucket creation failed due to an issue unrelated to
369*d5c09012SAndroid Build Coastguard Worker    // permissions.
370*d5c09012SAndroid Build Coastguard Worker    BUCKET_CREATION_FAILED = 8;
371*d5c09012SAndroid Build Coastguard Worker  }
372*d5c09012SAndroid Build Coastguard Worker
373*d5c09012SAndroid Build Coastguard Worker  // Possible lock states of a deployment.
374*d5c09012SAndroid Build Coastguard Worker  enum LockState {
375*d5c09012SAndroid Build Coastguard Worker    // The default value. This value is used if the lock state is omitted.
376*d5c09012SAndroid Build Coastguard Worker    LOCK_STATE_UNSPECIFIED = 0;
377*d5c09012SAndroid Build Coastguard Worker
378*d5c09012SAndroid Build Coastguard Worker    // The deployment is locked.
379*d5c09012SAndroid Build Coastguard Worker    LOCKED = 1;
380*d5c09012SAndroid Build Coastguard Worker
381*d5c09012SAndroid Build Coastguard Worker    // The deployment is unlocked.
382*d5c09012SAndroid Build Coastguard Worker    UNLOCKED = 2;
383*d5c09012SAndroid Build Coastguard Worker
384*d5c09012SAndroid Build Coastguard Worker    // The deployment is being locked.
385*d5c09012SAndroid Build Coastguard Worker    LOCKING = 3;
386*d5c09012SAndroid Build Coastguard Worker
387*d5c09012SAndroid Build Coastguard Worker    // The deployment is being unlocked.
388*d5c09012SAndroid Build Coastguard Worker    UNLOCKING = 4;
389*d5c09012SAndroid Build Coastguard Worker
390*d5c09012SAndroid Build Coastguard Worker    // The deployment has failed to lock.
391*d5c09012SAndroid Build Coastguard Worker    LOCK_FAILED = 5;
392*d5c09012SAndroid Build Coastguard Worker
393*d5c09012SAndroid Build Coastguard Worker    // The deployment has failed to unlock.
394*d5c09012SAndroid Build Coastguard Worker    UNLOCK_FAILED = 6;
395*d5c09012SAndroid Build Coastguard Worker  }
396*d5c09012SAndroid Build Coastguard Worker
397*d5c09012SAndroid Build Coastguard Worker  // Blueprint to deploy.
398*d5c09012SAndroid Build Coastguard Worker  oneof blueprint {
399*d5c09012SAndroid Build Coastguard Worker    // A blueprint described using Terraform's HashiCorp Configuration Language
400*d5c09012SAndroid Build Coastguard Worker    // as a root module.
401*d5c09012SAndroid Build Coastguard Worker    TerraformBlueprint terraform_blueprint = 6;
402*d5c09012SAndroid Build Coastguard Worker  }
403*d5c09012SAndroid Build Coastguard Worker
404*d5c09012SAndroid Build Coastguard Worker  // Resource name of the deployment.
405*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/{project}/locations/{location}/deployments/{deployment}`
406*d5c09012SAndroid Build Coastguard Worker  string name = 1;
407*d5c09012SAndroid Build Coastguard Worker
408*d5c09012SAndroid Build Coastguard Worker  // Output only. Time when the deployment was created.
409*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 2
410*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
411*d5c09012SAndroid Build Coastguard Worker
412*d5c09012SAndroid Build Coastguard Worker  // Output only. Time when the deployment was last modified.
413*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 3
414*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
415*d5c09012SAndroid Build Coastguard Worker
416*d5c09012SAndroid Build Coastguard Worker  // User-defined metadata for the deployment.
417*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 4;
418*d5c09012SAndroid Build Coastguard Worker
419*d5c09012SAndroid Build Coastguard Worker  // Output only. Current state of the deployment.
420*d5c09012SAndroid Build Coastguard Worker  State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
421*d5c09012SAndroid Build Coastguard Worker
422*d5c09012SAndroid Build Coastguard Worker  // Output only. Revision name that was most recently applied.
423*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/{project}/locations/{location}/deployments/{deployment}/
424*d5c09012SAndroid Build Coastguard Worker  // revisions/{revision}`
425*d5c09012SAndroid Build Coastguard Worker  string latest_revision = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
426*d5c09012SAndroid Build Coastguard Worker
427*d5c09012SAndroid Build Coastguard Worker  // Output only. Additional information regarding the current state.
428*d5c09012SAndroid Build Coastguard Worker  string state_detail = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
429*d5c09012SAndroid Build Coastguard Worker
430*d5c09012SAndroid Build Coastguard Worker  // Output only. Error code describing errors that may have occurred.
431*d5c09012SAndroid Build Coastguard Worker  ErrorCode error_code = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
432*d5c09012SAndroid Build Coastguard Worker
433*d5c09012SAndroid Build Coastguard Worker  // Output only. Location of artifacts from a DeleteDeployment operation.
434*d5c09012SAndroid Build Coastguard Worker  ApplyResults delete_results = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
435*d5c09012SAndroid Build Coastguard Worker
436*d5c09012SAndroid Build Coastguard Worker  // Output only. Cloud Build instance UUID associated with deleting this
437*d5c09012SAndroid Build Coastguard Worker  // deployment.
438*d5c09012SAndroid Build Coastguard Worker  string delete_build = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
439*d5c09012SAndroid Build Coastguard Worker
440*d5c09012SAndroid Build Coastguard Worker  // Output only. Location of Cloud Build logs in Google Cloud Storage,
441*d5c09012SAndroid Build Coastguard Worker  // populated when deleting this deployment. Format: `gs://{bucket}/{object}`.
442*d5c09012SAndroid Build Coastguard Worker  string delete_logs = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
443*d5c09012SAndroid Build Coastguard Worker
444*d5c09012SAndroid Build Coastguard Worker  // Output only. Errors encountered when deleting this deployment.
445*d5c09012SAndroid Build Coastguard Worker  // Errors are truncated to 10 entries, see `delete_results` and `error_logs`
446*d5c09012SAndroid Build Coastguard Worker  // for full details.
447*d5c09012SAndroid Build Coastguard Worker  repeated TerraformError tf_errors = 13
448*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
449*d5c09012SAndroid Build Coastguard Worker
450*d5c09012SAndroid Build Coastguard Worker  // Output only. Location of Terraform error logs in Google Cloud Storage.
451*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://{bucket}/{object}`.
452*d5c09012SAndroid Build Coastguard Worker  string error_logs = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
453*d5c09012SAndroid Build Coastguard Worker
454*d5c09012SAndroid Build Coastguard Worker  // Optional. User-defined location of Cloud Build logs and artifacts in Google
455*d5c09012SAndroid Build Coastguard Worker  // Cloud Storage. Format: `gs://{bucket}/{folder}`
456*d5c09012SAndroid Build Coastguard Worker  //
457*d5c09012SAndroid Build Coastguard Worker  // A default bucket will be bootstrapped if the field is not set or empty.
458*d5c09012SAndroid Build Coastguard Worker  // Default bucket format: `gs://<project number>-<region>-blueprint-config`
459*d5c09012SAndroid Build Coastguard Worker  // Constraints:
460*d5c09012SAndroid Build Coastguard Worker  // - The bucket needs to be in the same project as the deployment
461*d5c09012SAndroid Build Coastguard Worker  // - The path cannot be within the path of `gcs_source`
462*d5c09012SAndroid Build Coastguard Worker  // - The field cannot be updated, including changing its presence
463*d5c09012SAndroid Build Coastguard Worker  optional string artifacts_gcs_bucket = 15
464*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
465*d5c09012SAndroid Build Coastguard Worker
466*d5c09012SAndroid Build Coastguard Worker  // Optional. User-specified Service Account (SA) credentials to be used when
467*d5c09012SAndroid Build Coastguard Worker  // actuating resources.
468*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/{projectID}/serviceAccounts/{serviceAccount}`
469*d5c09012SAndroid Build Coastguard Worker  optional string service_account = 16 [
470*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL,
471*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
472*d5c09012SAndroid Build Coastguard Worker      type: "iam.googleapis.com/ServiceAccount"
473*d5c09012SAndroid Build Coastguard Worker    }
474*d5c09012SAndroid Build Coastguard Worker  ];
475*d5c09012SAndroid Build Coastguard Worker
476*d5c09012SAndroid Build Coastguard Worker  // By default, Infra Manager will return a failure when
477*d5c09012SAndroid Build Coastguard Worker  // Terraform encounters a 409 code (resource conflict error) during actuation.
478*d5c09012SAndroid Build Coastguard Worker  // If this flag is set to true, Infra Manager will instead
479*d5c09012SAndroid Build Coastguard Worker  // attempt to automatically import the resource into the Terraform state (for
480*d5c09012SAndroid Build Coastguard Worker  // supported resource types) and continue actuation.
481*d5c09012SAndroid Build Coastguard Worker  //
482*d5c09012SAndroid Build Coastguard Worker  // Not all resource types are supported, refer to documentation.
483*d5c09012SAndroid Build Coastguard Worker  optional bool import_existing_resources = 17;
484*d5c09012SAndroid Build Coastguard Worker
485*d5c09012SAndroid Build Coastguard Worker  // Optional. The user-specified Cloud Build worker pool resource in which the
486*d5c09012SAndroid Build Coastguard Worker  // Cloud Build job will execute. Format:
487*d5c09012SAndroid Build Coastguard Worker  // `projects/{project}/locations/{location}/workerPools/{workerPoolId}`.
488*d5c09012SAndroid Build Coastguard Worker  // If this field is unspecified, the default Cloud Build worker pool will be
489*d5c09012SAndroid Build Coastguard Worker  // used.
490*d5c09012SAndroid Build Coastguard Worker  optional string worker_pool = 19 [
491*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL,
492*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
493*d5c09012SAndroid Build Coastguard Worker      type: "cloudbuild.googleapis.com/WorkerPool"
494*d5c09012SAndroid Build Coastguard Worker    }
495*d5c09012SAndroid Build Coastguard Worker  ];
496*d5c09012SAndroid Build Coastguard Worker
497*d5c09012SAndroid Build Coastguard Worker  // Output only. Current lock state of the deployment.
498*d5c09012SAndroid Build Coastguard Worker  LockState lock_state = 20 [(google.api.field_behavior) = OUTPUT_ONLY];
499*d5c09012SAndroid Build Coastguard Worker
500*d5c09012SAndroid Build Coastguard Worker  // Optional. The user-specified Terraform version constraint.
501*d5c09012SAndroid Build Coastguard Worker  // Example: "=1.3.10".
502*d5c09012SAndroid Build Coastguard Worker  optional string tf_version_constraint = 21
503*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
504*d5c09012SAndroid Build Coastguard Worker
505*d5c09012SAndroid Build Coastguard Worker  // Output only. The current Terraform version set on the deployment.
506*d5c09012SAndroid Build Coastguard Worker  // It is in the format of "Major.Minor.Patch", for example, "1.3.10".
507*d5c09012SAndroid Build Coastguard Worker  string tf_version = 22 [(google.api.field_behavior) = OUTPUT_ONLY];
508*d5c09012SAndroid Build Coastguard Worker
509*d5c09012SAndroid Build Coastguard Worker  // Optional. Input to control quota checks for resources in terraform
510*d5c09012SAndroid Build Coastguard Worker  // configuration files. There are limited resources on which quota validation
511*d5c09012SAndroid Build Coastguard Worker  // applies.
512*d5c09012SAndroid Build Coastguard Worker  QuotaValidation quota_validation = 23
513*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
514*d5c09012SAndroid Build Coastguard Worker
515*d5c09012SAndroid Build Coastguard Worker  // Optional. Arbitrary key-value metadata storage e.g. to help client tools
516*d5c09012SAndroid Build Coastguard Worker  // identify deployments during automation. See
517*d5c09012SAndroid Build Coastguard Worker  // https://google.aip.dev/148#annotations for details on format and size
518*d5c09012SAndroid Build Coastguard Worker  // limitations.
519*d5c09012SAndroid Build Coastguard Worker  map<string, string> annotations = 24 [(google.api.field_behavior) = OPTIONAL];
520*d5c09012SAndroid Build Coastguard Worker}
521*d5c09012SAndroid Build Coastguard Worker
522*d5c09012SAndroid Build Coastguard Worker// TerraformBlueprint describes the source of a Terraform root module which
523*d5c09012SAndroid Build Coastguard Worker// describes the resources and configs to be deployed.
524*d5c09012SAndroid Build Coastguard Workermessage TerraformBlueprint {
525*d5c09012SAndroid Build Coastguard Worker  // Location of the source configs.
526*d5c09012SAndroid Build Coastguard Worker  oneof source {
527*d5c09012SAndroid Build Coastguard Worker    // Required. URI of an object in Google Cloud Storage.
528*d5c09012SAndroid Build Coastguard Worker    // Format: `gs://{bucket}/{object}`
529*d5c09012SAndroid Build Coastguard Worker    //
530*d5c09012SAndroid Build Coastguard Worker    // URI may also specify an object version for zipped objects.
531*d5c09012SAndroid Build Coastguard Worker    // Format: `gs://{bucket}/{object}#{version}`
532*d5c09012SAndroid Build Coastguard Worker    string gcs_source = 1 [(google.api.field_behavior) = REQUIRED];
533*d5c09012SAndroid Build Coastguard Worker
534*d5c09012SAndroid Build Coastguard Worker    // Required. URI of a public Git repo.
535*d5c09012SAndroid Build Coastguard Worker    GitSource git_source = 2 [(google.api.field_behavior) = REQUIRED];
536*d5c09012SAndroid Build Coastguard Worker  }
537*d5c09012SAndroid Build Coastguard Worker
538*d5c09012SAndroid Build Coastguard Worker  // Input variable values for the Terraform blueprint.
539*d5c09012SAndroid Build Coastguard Worker  map<string, TerraformVariable> input_values = 4;
540*d5c09012SAndroid Build Coastguard Worker}
541*d5c09012SAndroid Build Coastguard Worker
542*d5c09012SAndroid Build Coastguard Worker// A Terraform input variable.
543*d5c09012SAndroid Build Coastguard Workermessage TerraformVariable {
544*d5c09012SAndroid Build Coastguard Worker  // Input variable value.
545*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Value input_value = 5;
546*d5c09012SAndroid Build Coastguard Worker}
547*d5c09012SAndroid Build Coastguard Worker
548*d5c09012SAndroid Build Coastguard Worker// Outputs and artifacts from applying a deployment.
549*d5c09012SAndroid Build Coastguard Workermessage ApplyResults {
550*d5c09012SAndroid Build Coastguard Worker  // Location of a blueprint copy and other manifests in Google Cloud Storage.
551*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://{bucket}/{object}`
552*d5c09012SAndroid Build Coastguard Worker  string content = 1;
553*d5c09012SAndroid Build Coastguard Worker
554*d5c09012SAndroid Build Coastguard Worker  // Location of artifacts (e.g. logs) in Google Cloud Storage.
555*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://{bucket}/{object}`
556*d5c09012SAndroid Build Coastguard Worker  string artifacts = 2;
557*d5c09012SAndroid Build Coastguard Worker
558*d5c09012SAndroid Build Coastguard Worker  // Map of output name to output info.
559*d5c09012SAndroid Build Coastguard Worker  map<string, TerraformOutput> outputs = 3;
560*d5c09012SAndroid Build Coastguard Worker}
561*d5c09012SAndroid Build Coastguard Worker
562*d5c09012SAndroid Build Coastguard Worker// Describes a Terraform output.
563*d5c09012SAndroid Build Coastguard Workermessage TerraformOutput {
564*d5c09012SAndroid Build Coastguard Worker  // Identifies whether Terraform has set this output as a potential
565*d5c09012SAndroid Build Coastguard Worker  // sensitive value.
566*d5c09012SAndroid Build Coastguard Worker  bool sensitive = 1;
567*d5c09012SAndroid Build Coastguard Worker
568*d5c09012SAndroid Build Coastguard Worker  // Value of output.
569*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Value value = 2;
570*d5c09012SAndroid Build Coastguard Worker}
571*d5c09012SAndroid Build Coastguard Worker
572*d5c09012SAndroid Build Coastguard Workermessage ListDeploymentsRequest {
573*d5c09012SAndroid Build Coastguard Worker  // Required. The parent in whose context the Deployments are listed. The
574*d5c09012SAndroid Build Coastguard Worker  // parent value is in the format:
575*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}'.
576*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
577*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
578*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
579*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
580*d5c09012SAndroid Build Coastguard Worker    }
581*d5c09012SAndroid Build Coastguard Worker  ];
582*d5c09012SAndroid Build Coastguard Worker
583*d5c09012SAndroid Build Coastguard Worker  // When requesting a page of resources, 'page_size' specifies number of
584*d5c09012SAndroid Build Coastguard Worker  // resources to return. If unspecified, at most 500 will be returned. The
585*d5c09012SAndroid Build Coastguard Worker  // maximum value is 1000.
586*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
587*d5c09012SAndroid Build Coastguard Worker
588*d5c09012SAndroid Build Coastguard Worker  // Token returned by previous call to 'ListDeployments' which specifies the
589*d5c09012SAndroid Build Coastguard Worker  // position in the list from where to continue listing the resources.
590*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
591*d5c09012SAndroid Build Coastguard Worker
592*d5c09012SAndroid Build Coastguard Worker  // Lists the Deployments that match the filter expression. A filter
593*d5c09012SAndroid Build Coastguard Worker  // expression filters the resources listed in the response. The expression
594*d5c09012SAndroid Build Coastguard Worker  // must be of the form '{field} {operator} {value}' where operators: '<', '>',
595*d5c09012SAndroid Build Coastguard Worker  // '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS
596*d5c09012SAndroid Build Coastguard Worker  // operator which is roughly synonymous with equality). {field} can refer to a
597*d5c09012SAndroid Build Coastguard Worker  // proto or JSON field, or a synthetic field. Field names can be camelCase or
598*d5c09012SAndroid Build Coastguard Worker  // snake_case.
599*d5c09012SAndroid Build Coastguard Worker  //
600*d5c09012SAndroid Build Coastguard Worker  // Examples:
601*d5c09012SAndroid Build Coastguard Worker  // - Filter by name:
602*d5c09012SAndroid Build Coastguard Worker  //   name = "projects/foo/locations/us-central1/deployments/bar
603*d5c09012SAndroid Build Coastguard Worker  //
604*d5c09012SAndroid Build Coastguard Worker  // - Filter by labels:
605*d5c09012SAndroid Build Coastguard Worker  //   - Resources that have a key called 'foo'
606*d5c09012SAndroid Build Coastguard Worker  //     labels.foo:*
607*d5c09012SAndroid Build Coastguard Worker  //   - Resources that have a key called 'foo' whose value is 'bar'
608*d5c09012SAndroid Build Coastguard Worker  //     labels.foo = bar
609*d5c09012SAndroid Build Coastguard Worker  //
610*d5c09012SAndroid Build Coastguard Worker  // - Filter by state:
611*d5c09012SAndroid Build Coastguard Worker  //   - Deployments in CREATING state.
612*d5c09012SAndroid Build Coastguard Worker  //     state=CREATING
613*d5c09012SAndroid Build Coastguard Worker  string filter = 4;
614*d5c09012SAndroid Build Coastguard Worker
615*d5c09012SAndroid Build Coastguard Worker  // Field to use to sort the list.
616*d5c09012SAndroid Build Coastguard Worker  string order_by = 5;
617*d5c09012SAndroid Build Coastguard Worker}
618*d5c09012SAndroid Build Coastguard Worker
619*d5c09012SAndroid Build Coastguard Workermessage ListDeploymentsResponse {
620*d5c09012SAndroid Build Coastguard Worker  // List of [Deployment][google.cloud.config.v1.Deployment]s.
621*d5c09012SAndroid Build Coastguard Worker  repeated Deployment deployments = 1;
622*d5c09012SAndroid Build Coastguard Worker
623*d5c09012SAndroid Build Coastguard Worker  // Token to be supplied to the next ListDeployments request via `page_token`
624*d5c09012SAndroid Build Coastguard Worker  // to obtain the next set of results.
625*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
626*d5c09012SAndroid Build Coastguard Worker
627*d5c09012SAndroid Build Coastguard Worker  // Locations that could not be reached.
628*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3;
629*d5c09012SAndroid Build Coastguard Worker}
630*d5c09012SAndroid Build Coastguard Worker
631*d5c09012SAndroid Build Coastguard Workermessage GetDeploymentRequest {
632*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the deployment. Format:
633*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
634*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
635*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
636*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
637*d5c09012SAndroid Build Coastguard Worker      type: "config.googleapis.com/Deployment"
638*d5c09012SAndroid Build Coastguard Worker    }
639*d5c09012SAndroid Build Coastguard Worker  ];
640*d5c09012SAndroid Build Coastguard Worker}
641*d5c09012SAndroid Build Coastguard Worker
642*d5c09012SAndroid Build Coastguard Worker// A request to list Revisions passed to a 'ListRevisions' call.
643*d5c09012SAndroid Build Coastguard Workermessage ListRevisionsRequest {
644*d5c09012SAndroid Build Coastguard Worker  // Required. The parent in whose context the Revisions are listed. The parent
645*d5c09012SAndroid Build Coastguard Worker  // value is in the format:
646*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
647*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
648*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
649*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
650*d5c09012SAndroid Build Coastguard Worker      type: "config.googleapis.com/Deployment"
651*d5c09012SAndroid Build Coastguard Worker    }
652*d5c09012SAndroid Build Coastguard Worker  ];
653*d5c09012SAndroid Build Coastguard Worker
654*d5c09012SAndroid Build Coastguard Worker  // When requesting a page of resources, `page_size` specifies number of
655*d5c09012SAndroid Build Coastguard Worker  // resources to return. If unspecified, at most 500 will be returned. The
656*d5c09012SAndroid Build Coastguard Worker  // maximum value is 1000.
657*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
658*d5c09012SAndroid Build Coastguard Worker
659*d5c09012SAndroid Build Coastguard Worker  // Token returned by previous call to 'ListRevisions' which specifies the
660*d5c09012SAndroid Build Coastguard Worker  // position in the list from where to continue listing the resources.
661*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
662*d5c09012SAndroid Build Coastguard Worker
663*d5c09012SAndroid Build Coastguard Worker  // Lists the Revisions that match the filter expression. A filter
664*d5c09012SAndroid Build Coastguard Worker  // expression filters the resources listed in the response. The expression
665*d5c09012SAndroid Build Coastguard Worker  // must be of the form '{field} {operator} {value}' where operators: '<', '>',
666*d5c09012SAndroid Build Coastguard Worker  // '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS
667*d5c09012SAndroid Build Coastguard Worker  // operator which is roughly synonymous with equality). {field} can refer to a
668*d5c09012SAndroid Build Coastguard Worker  // proto or JSON field, or a synthetic field. Field names can be camelCase or
669*d5c09012SAndroid Build Coastguard Worker  // snake_case.
670*d5c09012SAndroid Build Coastguard Worker  //
671*d5c09012SAndroid Build Coastguard Worker  // Examples:
672*d5c09012SAndroid Build Coastguard Worker  // - Filter by name:
673*d5c09012SAndroid Build Coastguard Worker  //   name = "projects/foo/locations/us-central1/deployments/dep/revisions/bar
674*d5c09012SAndroid Build Coastguard Worker  //
675*d5c09012SAndroid Build Coastguard Worker  // - Filter by labels:
676*d5c09012SAndroid Build Coastguard Worker  //   - Resources that have a key called 'foo'
677*d5c09012SAndroid Build Coastguard Worker  //     labels.foo:*
678*d5c09012SAndroid Build Coastguard Worker  //   - Resources that have a key called 'foo' whose value is 'bar'
679*d5c09012SAndroid Build Coastguard Worker  //     labels.foo = bar
680*d5c09012SAndroid Build Coastguard Worker  //
681*d5c09012SAndroid Build Coastguard Worker  // - Filter by state:
682*d5c09012SAndroid Build Coastguard Worker  //   - Revisions in CREATING state.
683*d5c09012SAndroid Build Coastguard Worker  //     state=CREATING
684*d5c09012SAndroid Build Coastguard Worker  string filter = 4;
685*d5c09012SAndroid Build Coastguard Worker
686*d5c09012SAndroid Build Coastguard Worker  // Field to use to sort the list.
687*d5c09012SAndroid Build Coastguard Worker  string order_by = 5;
688*d5c09012SAndroid Build Coastguard Worker}
689*d5c09012SAndroid Build Coastguard Worker
690*d5c09012SAndroid Build Coastguard Worker// A response to a 'ListRevisions' call. Contains a list of Revisions.
691*d5c09012SAndroid Build Coastguard Workermessage ListRevisionsResponse {
692*d5c09012SAndroid Build Coastguard Worker  // List of [Revision][google.cloud.config.v1.Revision]s.
693*d5c09012SAndroid Build Coastguard Worker  repeated Revision revisions = 1;
694*d5c09012SAndroid Build Coastguard Worker
695*d5c09012SAndroid Build Coastguard Worker  // A token to request the next page of resources from the 'ListRevisions'
696*d5c09012SAndroid Build Coastguard Worker  // method. The value of an empty string means that there are no more resources
697*d5c09012SAndroid Build Coastguard Worker  // to return.
698*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
699*d5c09012SAndroid Build Coastguard Worker
700*d5c09012SAndroid Build Coastguard Worker  // Locations that could not be reached.
701*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3;
702*d5c09012SAndroid Build Coastguard Worker}
703*d5c09012SAndroid Build Coastguard Worker
704*d5c09012SAndroid Build Coastguard Worker// A request to get a Revision from a 'GetRevision' call.
705*d5c09012SAndroid Build Coastguard Workermessage GetRevisionRequest {
706*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the Revision in the format:
707*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'.
708*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
709*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
710*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "config.googleapis.com/Revision" }
711*d5c09012SAndroid Build Coastguard Worker  ];
712*d5c09012SAndroid Build Coastguard Worker}
713*d5c09012SAndroid Build Coastguard Worker
714*d5c09012SAndroid Build Coastguard Workermessage CreateDeploymentRequest {
715*d5c09012SAndroid Build Coastguard Worker  // Required. The parent in whose context the Deployment is created. The parent
716*d5c09012SAndroid Build Coastguard Worker  // value is in the format: 'projects/{project_id}/locations/{location}'.
717*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
718*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
719*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
720*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
721*d5c09012SAndroid Build Coastguard Worker    }
722*d5c09012SAndroid Build Coastguard Worker  ];
723*d5c09012SAndroid Build Coastguard Worker
724*d5c09012SAndroid Build Coastguard Worker  // Required. The Deployment ID.
725*d5c09012SAndroid Build Coastguard Worker  string deployment_id = 2 [(google.api.field_behavior) = REQUIRED];
726*d5c09012SAndroid Build Coastguard Worker
727*d5c09012SAndroid Build Coastguard Worker  // Required. [Deployment][google.cloud.config.v1.Deployment] resource to be
728*d5c09012SAndroid Build Coastguard Worker  // created.
729*d5c09012SAndroid Build Coastguard Worker  Deployment deployment = 3 [(google.api.field_behavior) = REQUIRED];
730*d5c09012SAndroid Build Coastguard Worker
731*d5c09012SAndroid Build Coastguard Worker  // Optional. An optional request ID to identify requests. Specify a unique
732*d5c09012SAndroid Build Coastguard Worker  // request ID so that if you must retry your request, the server will know to
733*d5c09012SAndroid Build Coastguard Worker  // ignore the request if it has already been completed. The server will
734*d5c09012SAndroid Build Coastguard Worker  // guarantee that for at least 60 minutes since the first request.
735*d5c09012SAndroid Build Coastguard Worker  //
736*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and the
737*d5c09012SAndroid Build Coastguard Worker  // request times out. If you make the request again with the same request ID,
738*d5c09012SAndroid Build Coastguard Worker  // the server can check if original operation with the same request ID was
739*d5c09012SAndroid Build Coastguard Worker  // received, and if so, will ignore the second request. This prevents clients
740*d5c09012SAndroid Build Coastguard Worker  // from accidentally creating duplicate commitments.
741*d5c09012SAndroid Build Coastguard Worker  //
742*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
743*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
744*d5c09012SAndroid Build Coastguard Worker  string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
745*d5c09012SAndroid Build Coastguard Worker}
746*d5c09012SAndroid Build Coastguard Worker
747*d5c09012SAndroid Build Coastguard Workermessage UpdateDeploymentRequest {
748*d5c09012SAndroid Build Coastguard Worker  // Optional. Field mask used to specify the fields to be overwritten in the
749*d5c09012SAndroid Build Coastguard Worker  // Deployment resource by the update.
750*d5c09012SAndroid Build Coastguard Worker  //
751*d5c09012SAndroid Build Coastguard Worker  // The fields specified in the update_mask are relative to the resource, not
752*d5c09012SAndroid Build Coastguard Worker  // the full request. A field will be overwritten if it is in the mask. If the
753*d5c09012SAndroid Build Coastguard Worker  // user does not provide a mask then all fields will be overwritten.
754*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 1
755*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
756*d5c09012SAndroid Build Coastguard Worker
757*d5c09012SAndroid Build Coastguard Worker  // Required. [Deployment][google.cloud.config.v1.Deployment] to update.
758*d5c09012SAndroid Build Coastguard Worker  //
759*d5c09012SAndroid Build Coastguard Worker  // The deployment's `name` field is used to identify the resource to be
760*d5c09012SAndroid Build Coastguard Worker  // updated. Format:
761*d5c09012SAndroid Build Coastguard Worker  // `projects/{project}/locations/{location}/deployments/{deployment}`
762*d5c09012SAndroid Build Coastguard Worker  Deployment deployment = 2 [(google.api.field_behavior) = REQUIRED];
763*d5c09012SAndroid Build Coastguard Worker
764*d5c09012SAndroid Build Coastguard Worker  // Optional. An optional request ID to identify requests. Specify a unique
765*d5c09012SAndroid Build Coastguard Worker  // request ID so that if you must retry your request, the server will know to
766*d5c09012SAndroid Build Coastguard Worker  // ignore the request if it has already been completed. The server will
767*d5c09012SAndroid Build Coastguard Worker  // guarantee that for at least 60 minutes since the first request.
768*d5c09012SAndroid Build Coastguard Worker  //
769*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and the
770*d5c09012SAndroid Build Coastguard Worker  // request times out. If you make the request again with the same request ID,
771*d5c09012SAndroid Build Coastguard Worker  // the server can check if original operation with the same request ID was
772*d5c09012SAndroid Build Coastguard Worker  // received, and if so, will ignore the second request. This prevents clients
773*d5c09012SAndroid Build Coastguard Worker  // from accidentally creating duplicate commitments.
774*d5c09012SAndroid Build Coastguard Worker  //
775*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
776*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
777*d5c09012SAndroid Build Coastguard Worker  string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
778*d5c09012SAndroid Build Coastguard Worker}
779*d5c09012SAndroid Build Coastguard Worker
780*d5c09012SAndroid Build Coastguard Workermessage DeleteDeploymentRequest {
781*d5c09012SAndroid Build Coastguard Worker  // Policy on how resources actuated by the deployment should be deleted.
782*d5c09012SAndroid Build Coastguard Worker  enum DeletePolicy {
783*d5c09012SAndroid Build Coastguard Worker    // Unspecified policy, resources will be deleted.
784*d5c09012SAndroid Build Coastguard Worker    DELETE_POLICY_UNSPECIFIED = 0;
785*d5c09012SAndroid Build Coastguard Worker
786*d5c09012SAndroid Build Coastguard Worker    // Deletes resources actuated by the deployment.
787*d5c09012SAndroid Build Coastguard Worker    DELETE = 1;
788*d5c09012SAndroid Build Coastguard Worker
789*d5c09012SAndroid Build Coastguard Worker    // Abandons resources and only deletes the deployment and its metadata.
790*d5c09012SAndroid Build Coastguard Worker    ABANDON = 2;
791*d5c09012SAndroid Build Coastguard Worker  }
792*d5c09012SAndroid Build Coastguard Worker
793*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the Deployment in the format:
794*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
795*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
796*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
797*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
798*d5c09012SAndroid Build Coastguard Worker      type: "config.googleapis.com/Deployment"
799*d5c09012SAndroid Build Coastguard Worker    }
800*d5c09012SAndroid Build Coastguard Worker  ];
801*d5c09012SAndroid Build Coastguard Worker
802*d5c09012SAndroid Build Coastguard Worker  // Optional. An optional request ID to identify requests. Specify a unique
803*d5c09012SAndroid Build Coastguard Worker  // request ID so that if you must retry your request, the server will know to
804*d5c09012SAndroid Build Coastguard Worker  // ignore the request if it has already been completed. The server will
805*d5c09012SAndroid Build Coastguard Worker  // guarantee that for at least 60 minutes after the first request.
806*d5c09012SAndroid Build Coastguard Worker  //
807*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and the
808*d5c09012SAndroid Build Coastguard Worker  // request times out. If you make the request again with the same request ID,
809*d5c09012SAndroid Build Coastguard Worker  // the server can check if original operation with the same request ID was
810*d5c09012SAndroid Build Coastguard Worker  // received, and if so, will ignore the second request. This prevents clients
811*d5c09012SAndroid Build Coastguard Worker  // from accidentally creating duplicate commitments.
812*d5c09012SAndroid Build Coastguard Worker  //
813*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
814*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
815*d5c09012SAndroid Build Coastguard Worker  string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
816*d5c09012SAndroid Build Coastguard Worker
817*d5c09012SAndroid Build Coastguard Worker  // Optional. If set to true, any revisions for this deployment will also be
818*d5c09012SAndroid Build Coastguard Worker  // deleted. (Otherwise, the request will only work if the deployment has no
819*d5c09012SAndroid Build Coastguard Worker  // revisions.)
820*d5c09012SAndroid Build Coastguard Worker  bool force = 3 [(google.api.field_behavior) = OPTIONAL];
821*d5c09012SAndroid Build Coastguard Worker
822*d5c09012SAndroid Build Coastguard Worker  // Optional. Policy on how resources actuated by the deployment should be
823*d5c09012SAndroid Build Coastguard Worker  // deleted. If unspecified, the default behavior is to delete the underlying
824*d5c09012SAndroid Build Coastguard Worker  // resources.
825*d5c09012SAndroid Build Coastguard Worker  DeletePolicy delete_policy = 4 [(google.api.field_behavior) = OPTIONAL];
826*d5c09012SAndroid Build Coastguard Worker}
827*d5c09012SAndroid Build Coastguard Worker
828*d5c09012SAndroid Build Coastguard Worker// Represents the metadata of the long-running operation.
829*d5c09012SAndroid Build Coastguard Workermessage OperationMetadata {
830*d5c09012SAndroid Build Coastguard Worker  // Ephemeral metadata about the state of an operation for a particular
831*d5c09012SAndroid Build Coastguard Worker  // resource.
832*d5c09012SAndroid Build Coastguard Worker  oneof resource_metadata {
833*d5c09012SAndroid Build Coastguard Worker    // Output only. Metadata about the deployment operation state.
834*d5c09012SAndroid Build Coastguard Worker    DeploymentOperationMetadata deployment_metadata = 8
835*d5c09012SAndroid Build Coastguard Worker        [(google.api.field_behavior) = OUTPUT_ONLY];
836*d5c09012SAndroid Build Coastguard Worker
837*d5c09012SAndroid Build Coastguard Worker    // Output only. Metadata about the preview operation state.
838*d5c09012SAndroid Build Coastguard Worker    PreviewOperationMetadata preview_metadata = 9
839*d5c09012SAndroid Build Coastguard Worker        [(google.api.field_behavior) = OUTPUT_ONLY];
840*d5c09012SAndroid Build Coastguard Worker  }
841*d5c09012SAndroid Build Coastguard Worker
842*d5c09012SAndroid Build Coastguard Worker  // Output only. Time when the operation was created.
843*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 1
844*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
845*d5c09012SAndroid Build Coastguard Worker
846*d5c09012SAndroid Build Coastguard Worker  // Output only. Time when the operation finished running.
847*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 2
848*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
849*d5c09012SAndroid Build Coastguard Worker
850*d5c09012SAndroid Build Coastguard Worker  // Output only. Server-defined resource path for the target of the operation.
851*d5c09012SAndroid Build Coastguard Worker  string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
852*d5c09012SAndroid Build Coastguard Worker
853*d5c09012SAndroid Build Coastguard Worker  // Output only. Name of the verb executed by the operation.
854*d5c09012SAndroid Build Coastguard Worker  string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
855*d5c09012SAndroid Build Coastguard Worker
856*d5c09012SAndroid Build Coastguard Worker  // Output only. Human-readable status of the operation, if any.
857*d5c09012SAndroid Build Coastguard Worker  string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
858*d5c09012SAndroid Build Coastguard Worker
859*d5c09012SAndroid Build Coastguard Worker  // Output only. Identifies whether the user has requested cancellation of the
860*d5c09012SAndroid Build Coastguard Worker  // operation. Operations that have successfully been cancelled have
861*d5c09012SAndroid Build Coastguard Worker  // [Operation.error][] value with a
862*d5c09012SAndroid Build Coastguard Worker  // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
863*d5c09012SAndroid Build Coastguard Worker  // `Code.CANCELLED`.
864*d5c09012SAndroid Build Coastguard Worker  bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
865*d5c09012SAndroid Build Coastguard Worker
866*d5c09012SAndroid Build Coastguard Worker  // Output only. API version used to start the operation.
867*d5c09012SAndroid Build Coastguard Worker  string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
868*d5c09012SAndroid Build Coastguard Worker}
869*d5c09012SAndroid Build Coastguard Worker
870*d5c09012SAndroid Build Coastguard Worker// A child resource of a Deployment generated by a 'CreateDeployment' or
871*d5c09012SAndroid Build Coastguard Worker// 'UpdateDeployment' call. Each Revision contains metadata pertaining to a
872*d5c09012SAndroid Build Coastguard Worker// snapshot of a particular Deployment.
873*d5c09012SAndroid Build Coastguard Workermessage Revision {
874*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
875*d5c09012SAndroid Build Coastguard Worker    type: "config.googleapis.com/Revision"
876*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}"
877*d5c09012SAndroid Build Coastguard Worker  };
878*d5c09012SAndroid Build Coastguard Worker
879*d5c09012SAndroid Build Coastguard Worker  // Actions that generate a revision.
880*d5c09012SAndroid Build Coastguard Worker  enum Action {
881*d5c09012SAndroid Build Coastguard Worker    // The default value. This value is used if the action is omitted.
882*d5c09012SAndroid Build Coastguard Worker    ACTION_UNSPECIFIED = 0;
883*d5c09012SAndroid Build Coastguard Worker
884*d5c09012SAndroid Build Coastguard Worker    // The revision was generated by creating a deployment.
885*d5c09012SAndroid Build Coastguard Worker    CREATE = 1;
886*d5c09012SAndroid Build Coastguard Worker
887*d5c09012SAndroid Build Coastguard Worker    // The revision was generated by updating a deployment.
888*d5c09012SAndroid Build Coastguard Worker    UPDATE = 2;
889*d5c09012SAndroid Build Coastguard Worker
890*d5c09012SAndroid Build Coastguard Worker    // The revision was deleted.
891*d5c09012SAndroid Build Coastguard Worker    DELETE = 3;
892*d5c09012SAndroid Build Coastguard Worker  }
893*d5c09012SAndroid Build Coastguard Worker
894*d5c09012SAndroid Build Coastguard Worker  // Possible states of a revision.
895*d5c09012SAndroid Build Coastguard Worker  enum State {
896*d5c09012SAndroid Build Coastguard Worker    // The default value. This value is used if the state is omitted.
897*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
898*d5c09012SAndroid Build Coastguard Worker
899*d5c09012SAndroid Build Coastguard Worker    // The revision is being applied.
900*d5c09012SAndroid Build Coastguard Worker    APPLYING = 1;
901*d5c09012SAndroid Build Coastguard Worker
902*d5c09012SAndroid Build Coastguard Worker    // The revision was applied successfully.
903*d5c09012SAndroid Build Coastguard Worker    APPLIED = 2;
904*d5c09012SAndroid Build Coastguard Worker
905*d5c09012SAndroid Build Coastguard Worker    // The revision could not be applied successfully.
906*d5c09012SAndroid Build Coastguard Worker    FAILED = 3;
907*d5c09012SAndroid Build Coastguard Worker  }
908*d5c09012SAndroid Build Coastguard Worker
909*d5c09012SAndroid Build Coastguard Worker  // Possible errors if Revision could not be created or updated successfully.
910*d5c09012SAndroid Build Coastguard Worker  enum ErrorCode {
911*d5c09012SAndroid Build Coastguard Worker    // No error code was specified.
912*d5c09012SAndroid Build Coastguard Worker    ERROR_CODE_UNSPECIFIED = 0;
913*d5c09012SAndroid Build Coastguard Worker
914*d5c09012SAndroid Build Coastguard Worker    // Cloud Build failed due to a permission issue.
915*d5c09012SAndroid Build Coastguard Worker    CLOUD_BUILD_PERMISSION_DENIED = 1;
916*d5c09012SAndroid Build Coastguard Worker
917*d5c09012SAndroid Build Coastguard Worker    // Cloud Build job associated with creating or updating a deployment could
918*d5c09012SAndroid Build Coastguard Worker    // not be started.
919*d5c09012SAndroid Build Coastguard Worker    APPLY_BUILD_API_FAILED = 4;
920*d5c09012SAndroid Build Coastguard Worker
921*d5c09012SAndroid Build Coastguard Worker    // Cloud Build job associated with creating or updating a deployment was
922*d5c09012SAndroid Build Coastguard Worker    // started but failed.
923*d5c09012SAndroid Build Coastguard Worker    APPLY_BUILD_RUN_FAILED = 5;
924*d5c09012SAndroid Build Coastguard Worker
925*d5c09012SAndroid Build Coastguard Worker    // quota validation failed for one or more resources in terraform
926*d5c09012SAndroid Build Coastguard Worker    // configuration files.
927*d5c09012SAndroid Build Coastguard Worker    QUOTA_VALIDATION_FAILED = 7;
928*d5c09012SAndroid Build Coastguard Worker  }
929*d5c09012SAndroid Build Coastguard Worker
930*d5c09012SAndroid Build Coastguard Worker  // Blueprint that was deployed.
931*d5c09012SAndroid Build Coastguard Worker  oneof blueprint {
932*d5c09012SAndroid Build Coastguard Worker    // Output only. A blueprint described using Terraform's HashiCorp
933*d5c09012SAndroid Build Coastguard Worker    // Configuration Language as a root module.
934*d5c09012SAndroid Build Coastguard Worker    TerraformBlueprint terraform_blueprint = 6
935*d5c09012SAndroid Build Coastguard Worker        [(google.api.field_behavior) = OUTPUT_ONLY];
936*d5c09012SAndroid Build Coastguard Worker  }
937*d5c09012SAndroid Build Coastguard Worker
938*d5c09012SAndroid Build Coastguard Worker  // Revision name. Format:
939*d5c09012SAndroid Build Coastguard Worker  // `projects/{project}/locations/{location}/deployments/{deployment}/
940*d5c09012SAndroid Build Coastguard Worker  // revisions/{revision}`
941*d5c09012SAndroid Build Coastguard Worker  string name = 1;
942*d5c09012SAndroid Build Coastguard Worker
943*d5c09012SAndroid Build Coastguard Worker  // Output only. Time when the revision was created.
944*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 2
945*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
946*d5c09012SAndroid Build Coastguard Worker
947*d5c09012SAndroid Build Coastguard Worker  // Output only. Time when the revision was last modified.
948*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 3
949*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
950*d5c09012SAndroid Build Coastguard Worker
951*d5c09012SAndroid Build Coastguard Worker  // Output only. The action which created this revision
952*d5c09012SAndroid Build Coastguard Worker  Action action = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
953*d5c09012SAndroid Build Coastguard Worker
954*d5c09012SAndroid Build Coastguard Worker  // Output only. Current state of the revision.
955*d5c09012SAndroid Build Coastguard Worker  State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
956*d5c09012SAndroid Build Coastguard Worker
957*d5c09012SAndroid Build Coastguard Worker  // Output only. Outputs and artifacts from applying a deployment.
958*d5c09012SAndroid Build Coastguard Worker  ApplyResults apply_results = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
959*d5c09012SAndroid Build Coastguard Worker
960*d5c09012SAndroid Build Coastguard Worker  // Output only. Additional info regarding the current state.
961*d5c09012SAndroid Build Coastguard Worker  string state_detail = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
962*d5c09012SAndroid Build Coastguard Worker
963*d5c09012SAndroid Build Coastguard Worker  // Output only. Code describing any errors that may have occurred.
964*d5c09012SAndroid Build Coastguard Worker  ErrorCode error_code = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
965*d5c09012SAndroid Build Coastguard Worker
966*d5c09012SAndroid Build Coastguard Worker  // Output only. Cloud Build instance UUID associated with this revision.
967*d5c09012SAndroid Build Coastguard Worker  string build = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
968*d5c09012SAndroid Build Coastguard Worker
969*d5c09012SAndroid Build Coastguard Worker  // Output only. Location of Revision operation logs in
970*d5c09012SAndroid Build Coastguard Worker  // `gs://{bucket}/{object}` format.
971*d5c09012SAndroid Build Coastguard Worker  string logs = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
972*d5c09012SAndroid Build Coastguard Worker
973*d5c09012SAndroid Build Coastguard Worker  // Output only. Errors encountered when creating or updating this deployment.
974*d5c09012SAndroid Build Coastguard Worker  // Errors are truncated to 10 entries, see `delete_results` and `error_logs`
975*d5c09012SAndroid Build Coastguard Worker  // for full details.
976*d5c09012SAndroid Build Coastguard Worker  repeated TerraformError tf_errors = 12
977*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
978*d5c09012SAndroid Build Coastguard Worker
979*d5c09012SAndroid Build Coastguard Worker  // Output only. Location of Terraform error logs in Google Cloud Storage.
980*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://{bucket}/{object}`.
981*d5c09012SAndroid Build Coastguard Worker  string error_logs = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
982*d5c09012SAndroid Build Coastguard Worker
983*d5c09012SAndroid Build Coastguard Worker  // Output only. User-specified Service Account (SA) to be used as credential
984*d5c09012SAndroid Build Coastguard Worker  // to manage resources. Format:
985*d5c09012SAndroid Build Coastguard Worker  // `projects/{projectID}/serviceAccounts/{serviceAccount}`
986*d5c09012SAndroid Build Coastguard Worker  string service_account = 14 [
987*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OUTPUT_ONLY,
988*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
989*d5c09012SAndroid Build Coastguard Worker      type: "iam.googleapis.com/ServiceAccount"
990*d5c09012SAndroid Build Coastguard Worker    }
991*d5c09012SAndroid Build Coastguard Worker  ];
992*d5c09012SAndroid Build Coastguard Worker
993*d5c09012SAndroid Build Coastguard Worker  // Output only. By default, Infra Manager will return a failure when
994*d5c09012SAndroid Build Coastguard Worker  // Terraform encounters a 409 code (resource conflict error) during actuation.
995*d5c09012SAndroid Build Coastguard Worker  // If this flag is set to true, Infra Manager will instead
996*d5c09012SAndroid Build Coastguard Worker  // attempt to automatically import the resource into the Terraform state (for
997*d5c09012SAndroid Build Coastguard Worker  // supported resource types) and continue actuation.
998*d5c09012SAndroid Build Coastguard Worker  //
999*d5c09012SAndroid Build Coastguard Worker  // Not all resource types are supported, refer to documentation.
1000*d5c09012SAndroid Build Coastguard Worker  bool import_existing_resources = 15
1001*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1002*d5c09012SAndroid Build Coastguard Worker
1003*d5c09012SAndroid Build Coastguard Worker  // Output only. The user-specified Cloud Build worker pool resource in which
1004*d5c09012SAndroid Build Coastguard Worker  // the Cloud Build job will execute. Format:
1005*d5c09012SAndroid Build Coastguard Worker  // `projects/{project}/locations/{location}/workerPools/{workerPoolId}`.
1006*d5c09012SAndroid Build Coastguard Worker  // If this field is unspecified, the default Cloud Build worker pool will be
1007*d5c09012SAndroid Build Coastguard Worker  // used.
1008*d5c09012SAndroid Build Coastguard Worker  string worker_pool = 17 [
1009*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OUTPUT_ONLY,
1010*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1011*d5c09012SAndroid Build Coastguard Worker      type: "cloudbuild.googleapis.com/WorkerPool"
1012*d5c09012SAndroid Build Coastguard Worker    }
1013*d5c09012SAndroid Build Coastguard Worker  ];
1014*d5c09012SAndroid Build Coastguard Worker
1015*d5c09012SAndroid Build Coastguard Worker  // Output only. The user-specified Terraform version constraint.
1016*d5c09012SAndroid Build Coastguard Worker  // Example: "=1.3.10".
1017*d5c09012SAndroid Build Coastguard Worker  string tf_version_constraint = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
1018*d5c09012SAndroid Build Coastguard Worker
1019*d5c09012SAndroid Build Coastguard Worker  // Output only. The version of Terraform used to create the Revision.
1020*d5c09012SAndroid Build Coastguard Worker  // It is in the format of "Major.Minor.Patch", for example, "1.3.10".
1021*d5c09012SAndroid Build Coastguard Worker  string tf_version = 19 [(google.api.field_behavior) = OUTPUT_ONLY];
1022*d5c09012SAndroid Build Coastguard Worker
1023*d5c09012SAndroid Build Coastguard Worker  // Output only. Cloud Storage path containing quota validation results. This
1024*d5c09012SAndroid Build Coastguard Worker  // field is set when a user sets Deployment.quota_validation field to ENABLED
1025*d5c09012SAndroid Build Coastguard Worker  // or ENFORCED. Format: `gs://{bucket}/{object}`.
1026*d5c09012SAndroid Build Coastguard Worker  string quota_validation_results = 29
1027*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1028*d5c09012SAndroid Build Coastguard Worker
1029*d5c09012SAndroid Build Coastguard Worker  // Optional. Input to control quota checks for resources in terraform
1030*d5c09012SAndroid Build Coastguard Worker  // configuration files. There are limited resources on which quota validation
1031*d5c09012SAndroid Build Coastguard Worker  // applies.
1032*d5c09012SAndroid Build Coastguard Worker  QuotaValidation quota_validation = 20
1033*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
1034*d5c09012SAndroid Build Coastguard Worker}
1035*d5c09012SAndroid Build Coastguard Worker
1036*d5c09012SAndroid Build Coastguard Worker// Errors encountered during actuation using Terraform
1037*d5c09012SAndroid Build Coastguard Workermessage TerraformError {
1038*d5c09012SAndroid Build Coastguard Worker  // Address of the resource associated with the error,
1039*d5c09012SAndroid Build Coastguard Worker  // e.g. `google_compute_network.vpc_network`.
1040*d5c09012SAndroid Build Coastguard Worker  string resource_address = 1;
1041*d5c09012SAndroid Build Coastguard Worker
1042*d5c09012SAndroid Build Coastguard Worker  // HTTP response code returned from Google Cloud Platform APIs when Terraform
1043*d5c09012SAndroid Build Coastguard Worker  // fails to provision the resource. If unset or 0, no HTTP response code was
1044*d5c09012SAndroid Build Coastguard Worker  // returned by Terraform.
1045*d5c09012SAndroid Build Coastguard Worker  int32 http_response_code = 2;
1046*d5c09012SAndroid Build Coastguard Worker
1047*d5c09012SAndroid Build Coastguard Worker  // A human-readable error description.
1048*d5c09012SAndroid Build Coastguard Worker  string error_description = 3;
1049*d5c09012SAndroid Build Coastguard Worker
1050*d5c09012SAndroid Build Coastguard Worker  // Original error response from underlying Google API, if available.
1051*d5c09012SAndroid Build Coastguard Worker  google.rpc.Status error = 4;
1052*d5c09012SAndroid Build Coastguard Worker}
1053*d5c09012SAndroid Build Coastguard Worker
1054*d5c09012SAndroid Build Coastguard Worker// A set of files in a Git repository.
1055*d5c09012SAndroid Build Coastguard Workermessage GitSource {
1056*d5c09012SAndroid Build Coastguard Worker  // Optional. Repository URL.
1057*d5c09012SAndroid Build Coastguard Worker  // Example: 'https://github.com/kubernetes/examples.git'
1058*d5c09012SAndroid Build Coastguard Worker  optional string repo = 1 [(google.api.field_behavior) = OPTIONAL];
1059*d5c09012SAndroid Build Coastguard Worker
1060*d5c09012SAndroid Build Coastguard Worker  // Optional. Subdirectory inside the repository.
1061*d5c09012SAndroid Build Coastguard Worker  // Example: 'staging/my-package'
1062*d5c09012SAndroid Build Coastguard Worker  optional string directory = 2 [(google.api.field_behavior) = OPTIONAL];
1063*d5c09012SAndroid Build Coastguard Worker
1064*d5c09012SAndroid Build Coastguard Worker  // Optional. Git reference (e.g. branch or tag).
1065*d5c09012SAndroid Build Coastguard Worker  optional string ref = 3 [(google.api.field_behavior) = OPTIONAL];
1066*d5c09012SAndroid Build Coastguard Worker}
1067*d5c09012SAndroid Build Coastguard Worker
1068*d5c09012SAndroid Build Coastguard Worker// Ephemeral metadata content describing the state of a deployment operation.
1069*d5c09012SAndroid Build Coastguard Workermessage DeploymentOperationMetadata {
1070*d5c09012SAndroid Build Coastguard Worker  // The possible steps a deployment may be running.
1071*d5c09012SAndroid Build Coastguard Worker  enum DeploymentStep {
1072*d5c09012SAndroid Build Coastguard Worker    // Unspecified deployment step
1073*d5c09012SAndroid Build Coastguard Worker    DEPLOYMENT_STEP_UNSPECIFIED = 0;
1074*d5c09012SAndroid Build Coastguard Worker
1075*d5c09012SAndroid Build Coastguard Worker    // Infra Manager is creating a Google Cloud Storage bucket to store
1076*d5c09012SAndroid Build Coastguard Worker    // artifacts and metadata about the deployment and revision
1077*d5c09012SAndroid Build Coastguard Worker    PREPARING_STORAGE_BUCKET = 1;
1078*d5c09012SAndroid Build Coastguard Worker
1079*d5c09012SAndroid Build Coastguard Worker    // Downloading the blueprint onto the Google Cloud Storage bucket
1080*d5c09012SAndroid Build Coastguard Worker    DOWNLOADING_BLUEPRINT = 2;
1081*d5c09012SAndroid Build Coastguard Worker
1082*d5c09012SAndroid Build Coastguard Worker    // Initializing Terraform using `terraform init`
1083*d5c09012SAndroid Build Coastguard Worker    RUNNING_TF_INIT = 3;
1084*d5c09012SAndroid Build Coastguard Worker
1085*d5c09012SAndroid Build Coastguard Worker    // Running `terraform plan`
1086*d5c09012SAndroid Build Coastguard Worker    RUNNING_TF_PLAN = 4;
1087*d5c09012SAndroid Build Coastguard Worker
1088*d5c09012SAndroid Build Coastguard Worker    // Actuating resources using Terraform using `terraform apply`
1089*d5c09012SAndroid Build Coastguard Worker    RUNNING_TF_APPLY = 5;
1090*d5c09012SAndroid Build Coastguard Worker
1091*d5c09012SAndroid Build Coastguard Worker    // Destroying resources using Terraform using `terraform destroy`
1092*d5c09012SAndroid Build Coastguard Worker    RUNNING_TF_DESTROY = 6;
1093*d5c09012SAndroid Build Coastguard Worker
1094*d5c09012SAndroid Build Coastguard Worker    // Validating the uploaded TF state file when unlocking a deployment
1095*d5c09012SAndroid Build Coastguard Worker    RUNNING_TF_VALIDATE = 7;
1096*d5c09012SAndroid Build Coastguard Worker
1097*d5c09012SAndroid Build Coastguard Worker    // Unlocking a deployment
1098*d5c09012SAndroid Build Coastguard Worker    UNLOCKING_DEPLOYMENT = 8;
1099*d5c09012SAndroid Build Coastguard Worker
1100*d5c09012SAndroid Build Coastguard Worker    // Operation was successful
1101*d5c09012SAndroid Build Coastguard Worker    SUCCEEDED = 9;
1102*d5c09012SAndroid Build Coastguard Worker
1103*d5c09012SAndroid Build Coastguard Worker    // Operation failed
1104*d5c09012SAndroid Build Coastguard Worker    FAILED = 10;
1105*d5c09012SAndroid Build Coastguard Worker
1106*d5c09012SAndroid Build Coastguard Worker    // Validating the provided repository.
1107*d5c09012SAndroid Build Coastguard Worker    VALIDATING_REPOSITORY = 11;
1108*d5c09012SAndroid Build Coastguard Worker
1109*d5c09012SAndroid Build Coastguard Worker    // Running quota validation
1110*d5c09012SAndroid Build Coastguard Worker    RUNNING_QUOTA_VALIDATION = 12;
1111*d5c09012SAndroid Build Coastguard Worker  }
1112*d5c09012SAndroid Build Coastguard Worker
1113*d5c09012SAndroid Build Coastguard Worker  // The current step the deployment operation is running.
1114*d5c09012SAndroid Build Coastguard Worker  DeploymentStep step = 1;
1115*d5c09012SAndroid Build Coastguard Worker
1116*d5c09012SAndroid Build Coastguard Worker  // Outputs and artifacts from applying a deployment.
1117*d5c09012SAndroid Build Coastguard Worker  ApplyResults apply_results = 2;
1118*d5c09012SAndroid Build Coastguard Worker
1119*d5c09012SAndroid Build Coastguard Worker  // Output only. Cloud Build instance UUID associated with this operation.
1120*d5c09012SAndroid Build Coastguard Worker  string build = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
1121*d5c09012SAndroid Build Coastguard Worker
1122*d5c09012SAndroid Build Coastguard Worker  // Output only. Location of Deployment operations logs in
1123*d5c09012SAndroid Build Coastguard Worker  // `gs://{bucket}/{object}` format.
1124*d5c09012SAndroid Build Coastguard Worker  string logs = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
1125*d5c09012SAndroid Build Coastguard Worker}
1126*d5c09012SAndroid Build Coastguard Worker
1127*d5c09012SAndroid Build Coastguard Worker// Resource represents a Google Cloud Platform resource actuated by IM.
1128*d5c09012SAndroid Build Coastguard Worker// Resources are child resources of Revisions.
1129*d5c09012SAndroid Build Coastguard Workermessage Resource {
1130*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
1131*d5c09012SAndroid Build Coastguard Worker    type: "config.googleapis.com/Resource"
1132*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}/resources/{resource}"
1133*d5c09012SAndroid Build Coastguard Worker  };
1134*d5c09012SAndroid Build Coastguard Worker
1135*d5c09012SAndroid Build Coastguard Worker  // Possible intent of the resource.
1136*d5c09012SAndroid Build Coastguard Worker  enum Intent {
1137*d5c09012SAndroid Build Coastguard Worker    // The default value. This value is used if the intent is omitted.
1138*d5c09012SAndroid Build Coastguard Worker    INTENT_UNSPECIFIED = 0;
1139*d5c09012SAndroid Build Coastguard Worker
1140*d5c09012SAndroid Build Coastguard Worker    // Infra Manager will create this Resource.
1141*d5c09012SAndroid Build Coastguard Worker    CREATE = 1;
1142*d5c09012SAndroid Build Coastguard Worker
1143*d5c09012SAndroid Build Coastguard Worker    // Infra Manager will update this Resource.
1144*d5c09012SAndroid Build Coastguard Worker    UPDATE = 2;
1145*d5c09012SAndroid Build Coastguard Worker
1146*d5c09012SAndroid Build Coastguard Worker    // Infra Manager will delete this Resource.
1147*d5c09012SAndroid Build Coastguard Worker    DELETE = 3;
1148*d5c09012SAndroid Build Coastguard Worker
1149*d5c09012SAndroid Build Coastguard Worker    // Infra Manager will destroy and recreate this Resource.
1150*d5c09012SAndroid Build Coastguard Worker    RECREATE = 4;
1151*d5c09012SAndroid Build Coastguard Worker
1152*d5c09012SAndroid Build Coastguard Worker    // Infra Manager will leave this Resource untouched.
1153*d5c09012SAndroid Build Coastguard Worker    UNCHANGED = 5;
1154*d5c09012SAndroid Build Coastguard Worker  }
1155*d5c09012SAndroid Build Coastguard Worker
1156*d5c09012SAndroid Build Coastguard Worker  // Possible states of a resource.
1157*d5c09012SAndroid Build Coastguard Worker  enum State {
1158*d5c09012SAndroid Build Coastguard Worker    // The default value. This value is used if the state is omitted.
1159*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
1160*d5c09012SAndroid Build Coastguard Worker
1161*d5c09012SAndroid Build Coastguard Worker    // Resource has been planned for reconcile.
1162*d5c09012SAndroid Build Coastguard Worker    PLANNED = 1;
1163*d5c09012SAndroid Build Coastguard Worker
1164*d5c09012SAndroid Build Coastguard Worker    // Resource is actively reconciling into the intended state.
1165*d5c09012SAndroid Build Coastguard Worker    IN_PROGRESS = 2;
1166*d5c09012SAndroid Build Coastguard Worker
1167*d5c09012SAndroid Build Coastguard Worker    // Resource has reconciled to intended state.
1168*d5c09012SAndroid Build Coastguard Worker    RECONCILED = 3;
1169*d5c09012SAndroid Build Coastguard Worker
1170*d5c09012SAndroid Build Coastguard Worker    // Resource failed to reconcile.
1171*d5c09012SAndroid Build Coastguard Worker    FAILED = 4;
1172*d5c09012SAndroid Build Coastguard Worker  }
1173*d5c09012SAndroid Build Coastguard Worker
1174*d5c09012SAndroid Build Coastguard Worker  // Output only. Resource name.
1175*d5c09012SAndroid Build Coastguard Worker  // Format:
1176*d5c09012SAndroid Build Coastguard Worker  // `projects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}/resources/{resource}`
1177*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
1178*d5c09012SAndroid Build Coastguard Worker
1179*d5c09012SAndroid Build Coastguard Worker  // Output only. Terraform-specific info if this resource was created using
1180*d5c09012SAndroid Build Coastguard Worker  // Terraform.
1181*d5c09012SAndroid Build Coastguard Worker  ResourceTerraformInfo terraform_info = 2
1182*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1183*d5c09012SAndroid Build Coastguard Worker
1184*d5c09012SAndroid Build Coastguard Worker  // Output only. Map of Cloud Asset Inventory (CAI) type to CAI info (e.g. CAI
1185*d5c09012SAndroid Build Coastguard Worker  // ID). CAI type format follows
1186*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/asset-inventory/docs/supported-asset-types
1187*d5c09012SAndroid Build Coastguard Worker  map<string, ResourceCAIInfo> cai_assets = 3
1188*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1189*d5c09012SAndroid Build Coastguard Worker
1190*d5c09012SAndroid Build Coastguard Worker  // Output only. Intent of the resource.
1191*d5c09012SAndroid Build Coastguard Worker  Intent intent = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
1192*d5c09012SAndroid Build Coastguard Worker
1193*d5c09012SAndroid Build Coastguard Worker  // Output only. Current state of the resource.
1194*d5c09012SAndroid Build Coastguard Worker  State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
1195*d5c09012SAndroid Build Coastguard Worker}
1196*d5c09012SAndroid Build Coastguard Worker
1197*d5c09012SAndroid Build Coastguard Worker// Terraform info of a Resource.
1198*d5c09012SAndroid Build Coastguard Workermessage ResourceTerraformInfo {
1199*d5c09012SAndroid Build Coastguard Worker  // TF resource address that uniquely identifies this resource within this
1200*d5c09012SAndroid Build Coastguard Worker  // deployment.
1201*d5c09012SAndroid Build Coastguard Worker  string address = 1;
1202*d5c09012SAndroid Build Coastguard Worker
1203*d5c09012SAndroid Build Coastguard Worker  // TF resource type
1204*d5c09012SAndroid Build Coastguard Worker  string type = 2;
1205*d5c09012SAndroid Build Coastguard Worker
1206*d5c09012SAndroid Build Coastguard Worker  // ID attribute of the TF resource
1207*d5c09012SAndroid Build Coastguard Worker  string id = 3;
1208*d5c09012SAndroid Build Coastguard Worker}
1209*d5c09012SAndroid Build Coastguard Worker
1210*d5c09012SAndroid Build Coastguard Worker// CAI info of a Resource.
1211*d5c09012SAndroid Build Coastguard Workermessage ResourceCAIInfo {
1212*d5c09012SAndroid Build Coastguard Worker  // CAI resource name in the format following
1213*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/apis/design/resource_names#full_resource_name
1214*d5c09012SAndroid Build Coastguard Worker  string full_resource_name = 1;
1215*d5c09012SAndroid Build Coastguard Worker}
1216*d5c09012SAndroid Build Coastguard Worker
1217*d5c09012SAndroid Build Coastguard Worker// A request to get a Resource from a 'GetResource' call.
1218*d5c09012SAndroid Build Coastguard Workermessage GetResourceRequest {
1219*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the Resource in the format:
1220*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}/resource/{resource}'.
1221*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
1222*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1223*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "config.googleapis.com/Resource" }
1224*d5c09012SAndroid Build Coastguard Worker  ];
1225*d5c09012SAndroid Build Coastguard Worker}
1226*d5c09012SAndroid Build Coastguard Worker
1227*d5c09012SAndroid Build Coastguard Worker// A request to list Resources passed to a 'ListResources' call.
1228*d5c09012SAndroid Build Coastguard Workermessage ListResourcesRequest {
1229*d5c09012SAndroid Build Coastguard Worker  // Required. The parent in whose context the Resources are listed. The parent
1230*d5c09012SAndroid Build Coastguard Worker  // value is in the format:
1231*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'.
1232*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1233*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1234*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "config.googleapis.com/Revision" }
1235*d5c09012SAndroid Build Coastguard Worker  ];
1236*d5c09012SAndroid Build Coastguard Worker
1237*d5c09012SAndroid Build Coastguard Worker  // When requesting a page of resources, 'page_size' specifies number of
1238*d5c09012SAndroid Build Coastguard Worker  // resources to return. If unspecified, at most 500 will be returned. The
1239*d5c09012SAndroid Build Coastguard Worker  // maximum value is 1000.
1240*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
1241*d5c09012SAndroid Build Coastguard Worker
1242*d5c09012SAndroid Build Coastguard Worker  // Token returned by previous call to 'ListResources' which specifies the
1243*d5c09012SAndroid Build Coastguard Worker  // position in the list from where to continue listing the resources.
1244*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
1245*d5c09012SAndroid Build Coastguard Worker
1246*d5c09012SAndroid Build Coastguard Worker  // Lists the Resources that match the filter expression. A filter
1247*d5c09012SAndroid Build Coastguard Worker  // expression filters the resources listed in the response. The expression
1248*d5c09012SAndroid Build Coastguard Worker  // must be of the form '{field} {operator} {value}' where operators: '<', '>',
1249*d5c09012SAndroid Build Coastguard Worker  // '<=',
1250*d5c09012SAndroid Build Coastguard Worker  // '>=',
1251*d5c09012SAndroid Build Coastguard Worker  // '!=', '=', ':' are supported (colon ':' represents a HAS operator which is
1252*d5c09012SAndroid Build Coastguard Worker  // roughly synonymous with equality). {field} can refer to a proto or JSON
1253*d5c09012SAndroid Build Coastguard Worker  // field, or a synthetic field. Field names can be camelCase or snake_case.
1254*d5c09012SAndroid Build Coastguard Worker  //
1255*d5c09012SAndroid Build Coastguard Worker  // Examples:
1256*d5c09012SAndroid Build Coastguard Worker  // - Filter by name:
1257*d5c09012SAndroid Build Coastguard Worker  //   name =
1258*d5c09012SAndroid Build Coastguard Worker  //   "projects/foo/locations/us-central1/deployments/dep/revisions/bar/resources/baz
1259*d5c09012SAndroid Build Coastguard Worker  string filter = 4;
1260*d5c09012SAndroid Build Coastguard Worker
1261*d5c09012SAndroid Build Coastguard Worker  // Field to use to sort the list.
1262*d5c09012SAndroid Build Coastguard Worker  string order_by = 5;
1263*d5c09012SAndroid Build Coastguard Worker}
1264*d5c09012SAndroid Build Coastguard Worker
1265*d5c09012SAndroid Build Coastguard Worker// A response to a 'ListResources' call. Contains a list of Resources.
1266*d5c09012SAndroid Build Coastguard Workermessage ListResourcesResponse {
1267*d5c09012SAndroid Build Coastguard Worker  // List of [Resources][]s.
1268*d5c09012SAndroid Build Coastguard Worker  repeated Resource resources = 1;
1269*d5c09012SAndroid Build Coastguard Worker
1270*d5c09012SAndroid Build Coastguard Worker  // A token to request the next page of resources from the 'ListResources'
1271*d5c09012SAndroid Build Coastguard Worker  // method. The value of an empty string means that there are no more resources
1272*d5c09012SAndroid Build Coastguard Worker  // to return.
1273*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
1274*d5c09012SAndroid Build Coastguard Worker
1275*d5c09012SAndroid Build Coastguard Worker  // Locations that could not be reached.
1276*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3;
1277*d5c09012SAndroid Build Coastguard Worker}
1278*d5c09012SAndroid Build Coastguard Worker
1279*d5c09012SAndroid Build Coastguard Worker// Contains info about a Terraform state file
1280*d5c09012SAndroid Build Coastguard Workermessage Statefile {
1281*d5c09012SAndroid Build Coastguard Worker  // Output only. Cloud Storage signed URI used for downloading or uploading the
1282*d5c09012SAndroid Build Coastguard Worker  // state file.
1283*d5c09012SAndroid Build Coastguard Worker  string signed_uri = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
1284*d5c09012SAndroid Build Coastguard Worker}
1285*d5c09012SAndroid Build Coastguard Worker
1286*d5c09012SAndroid Build Coastguard Worker// A request to export a state file passed to a 'ExportDeploymentStatefile'
1287*d5c09012SAndroid Build Coastguard Worker// call.
1288*d5c09012SAndroid Build Coastguard Workermessage ExportDeploymentStatefileRequest {
1289*d5c09012SAndroid Build Coastguard Worker  // Required. The parent in whose context the statefile is listed. The parent
1290*d5c09012SAndroid Build Coastguard Worker  // value is in the format:
1291*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
1292*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1293*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1294*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1295*d5c09012SAndroid Build Coastguard Worker      type: "config.googleapis.com/Deployment"
1296*d5c09012SAndroid Build Coastguard Worker    }
1297*d5c09012SAndroid Build Coastguard Worker  ];
1298*d5c09012SAndroid Build Coastguard Worker
1299*d5c09012SAndroid Build Coastguard Worker  // Optional. If this flag is set to true, the exported deployment state file
1300*d5c09012SAndroid Build Coastguard Worker  // will be the draft state. This will enable the draft file to be validated
1301*d5c09012SAndroid Build Coastguard Worker  // before copying it over to the working state on unlock.
1302*d5c09012SAndroid Build Coastguard Worker  bool draft = 3 [(google.api.field_behavior) = OPTIONAL];
1303*d5c09012SAndroid Build Coastguard Worker}
1304*d5c09012SAndroid Build Coastguard Worker
1305*d5c09012SAndroid Build Coastguard Worker// A request to export a state file passed to a 'ExportRevisionStatefile'
1306*d5c09012SAndroid Build Coastguard Worker// call.
1307*d5c09012SAndroid Build Coastguard Workermessage ExportRevisionStatefileRequest {
1308*d5c09012SAndroid Build Coastguard Worker  // Required. The parent in whose context the statefile is listed. The parent
1309*d5c09012SAndroid Build Coastguard Worker  // value is in the format:
1310*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'.
1311*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1312*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1313*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "config.googleapis.com/Revision" }
1314*d5c09012SAndroid Build Coastguard Worker  ];
1315*d5c09012SAndroid Build Coastguard Worker}
1316*d5c09012SAndroid Build Coastguard Worker
1317*d5c09012SAndroid Build Coastguard Worker// A request to import a state file passed to a 'ImportStatefile' call.
1318*d5c09012SAndroid Build Coastguard Workermessage ImportStatefileRequest {
1319*d5c09012SAndroid Build Coastguard Worker  // Required. The parent in whose context the statefile is listed. The parent
1320*d5c09012SAndroid Build Coastguard Worker  // value is in the format:
1321*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
1322*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1323*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1324*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1325*d5c09012SAndroid Build Coastguard Worker      type: "config.googleapis.com/Deployment"
1326*d5c09012SAndroid Build Coastguard Worker    }
1327*d5c09012SAndroid Build Coastguard Worker  ];
1328*d5c09012SAndroid Build Coastguard Worker
1329*d5c09012SAndroid Build Coastguard Worker  // Required. Lock ID of the lock file to verify that the user who is importing
1330*d5c09012SAndroid Build Coastguard Worker  // the state file previously locked the Deployment.
1331*d5c09012SAndroid Build Coastguard Worker  int64 lock_id = 2 [(google.api.field_behavior) = REQUIRED];
1332*d5c09012SAndroid Build Coastguard Worker
1333*d5c09012SAndroid Build Coastguard Worker  // Optional.
1334*d5c09012SAndroid Build Coastguard Worker  bool skip_draft = 3 [(google.api.field_behavior) = OPTIONAL];
1335*d5c09012SAndroid Build Coastguard Worker}
1336*d5c09012SAndroid Build Coastguard Worker
1337*d5c09012SAndroid Build Coastguard Worker// A request to delete a state file passed to a 'DeleteStatefile' call.
1338*d5c09012SAndroid Build Coastguard Workermessage DeleteStatefileRequest {
1339*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the deployment in the format:
1340*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
1341*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
1342*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1343*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1344*d5c09012SAndroid Build Coastguard Worker      type: "config.googleapis.com/Deployment"
1345*d5c09012SAndroid Build Coastguard Worker    }
1346*d5c09012SAndroid Build Coastguard Worker  ];
1347*d5c09012SAndroid Build Coastguard Worker
1348*d5c09012SAndroid Build Coastguard Worker  // Required. Lock ID of the lock file to verify that the user who is deleting
1349*d5c09012SAndroid Build Coastguard Worker  // the state file previously locked the Deployment.
1350*d5c09012SAndroid Build Coastguard Worker  int64 lock_id = 2 [(google.api.field_behavior) = REQUIRED];
1351*d5c09012SAndroid Build Coastguard Worker}
1352*d5c09012SAndroid Build Coastguard Worker
1353*d5c09012SAndroid Build Coastguard Worker// A request to lock a deployment passed to a 'LockDeployment' call.
1354*d5c09012SAndroid Build Coastguard Workermessage LockDeploymentRequest {
1355*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the deployment in the format:
1356*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
1357*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
1358*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1359*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1360*d5c09012SAndroid Build Coastguard Worker      type: "config.googleapis.com/Deployment"
1361*d5c09012SAndroid Build Coastguard Worker    }
1362*d5c09012SAndroid Build Coastguard Worker  ];
1363*d5c09012SAndroid Build Coastguard Worker}
1364*d5c09012SAndroid Build Coastguard Worker
1365*d5c09012SAndroid Build Coastguard Worker// A request to unlock a state file passed to a 'UnlockDeployment' call.
1366*d5c09012SAndroid Build Coastguard Workermessage UnlockDeploymentRequest {
1367*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the deployment in the format:
1368*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
1369*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
1370*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1371*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1372*d5c09012SAndroid Build Coastguard Worker      type: "config.googleapis.com/Deployment"
1373*d5c09012SAndroid Build Coastguard Worker    }
1374*d5c09012SAndroid Build Coastguard Worker  ];
1375*d5c09012SAndroid Build Coastguard Worker
1376*d5c09012SAndroid Build Coastguard Worker  // Required. Lock ID of the lock file to be unlocked.
1377*d5c09012SAndroid Build Coastguard Worker  int64 lock_id = 2 [(google.api.field_behavior) = REQUIRED];
1378*d5c09012SAndroid Build Coastguard Worker}
1379*d5c09012SAndroid Build Coastguard Worker
1380*d5c09012SAndroid Build Coastguard Worker// A request to get a state file lock info passed to a 'ExportLockInfo' call.
1381*d5c09012SAndroid Build Coastguard Workermessage ExportLockInfoRequest {
1382*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the deployment in the format:
1383*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
1384*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
1385*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1386*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1387*d5c09012SAndroid Build Coastguard Worker      type: "config.googleapis.com/Deployment"
1388*d5c09012SAndroid Build Coastguard Worker    }
1389*d5c09012SAndroid Build Coastguard Worker  ];
1390*d5c09012SAndroid Build Coastguard Worker}
1391*d5c09012SAndroid Build Coastguard Worker
1392*d5c09012SAndroid Build Coastguard Worker// Details about the lock which locked the deployment.
1393*d5c09012SAndroid Build Coastguard Workermessage LockInfo {
1394*d5c09012SAndroid Build Coastguard Worker  // Unique ID for the lock to be overridden with generation ID in the backend.
1395*d5c09012SAndroid Build Coastguard Worker  int64 lock_id = 1;
1396*d5c09012SAndroid Build Coastguard Worker
1397*d5c09012SAndroid Build Coastguard Worker  // Terraform operation, provided by the caller.
1398*d5c09012SAndroid Build Coastguard Worker  string operation = 2;
1399*d5c09012SAndroid Build Coastguard Worker
1400*d5c09012SAndroid Build Coastguard Worker  // Extra information to store with the lock, provided by the caller.
1401*d5c09012SAndroid Build Coastguard Worker  string info = 3;
1402*d5c09012SAndroid Build Coastguard Worker
1403*d5c09012SAndroid Build Coastguard Worker  // user@hostname when available
1404*d5c09012SAndroid Build Coastguard Worker  string who = 4;
1405*d5c09012SAndroid Build Coastguard Worker
1406*d5c09012SAndroid Build Coastguard Worker  // Terraform version
1407*d5c09012SAndroid Build Coastguard Worker  string version = 5;
1408*d5c09012SAndroid Build Coastguard Worker
1409*d5c09012SAndroid Build Coastguard Worker  // Time that the lock was taken.
1410*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 6;
1411*d5c09012SAndroid Build Coastguard Worker}
1412*d5c09012SAndroid Build Coastguard Worker
1413*d5c09012SAndroid Build Coastguard Worker// A preview represents a set of actions Infra Manager would perform
1414*d5c09012SAndroid Build Coastguard Worker// to move the resources towards the desired state as specified in the
1415*d5c09012SAndroid Build Coastguard Worker// configuration.
1416*d5c09012SAndroid Build Coastguard Workermessage Preview {
1417*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
1418*d5c09012SAndroid Build Coastguard Worker    type: "config.googleapis.com/Preview"
1419*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/previews/{preview}"
1420*d5c09012SAndroid Build Coastguard Worker    plural: "previews"
1421*d5c09012SAndroid Build Coastguard Worker    singular: "preview"
1422*d5c09012SAndroid Build Coastguard Worker  };
1423*d5c09012SAndroid Build Coastguard Worker
1424*d5c09012SAndroid Build Coastguard Worker  // Possible states of a preview.
1425*d5c09012SAndroid Build Coastguard Worker  enum State {
1426*d5c09012SAndroid Build Coastguard Worker    // The default value. This value is used if the state is unknown.
1427*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
1428*d5c09012SAndroid Build Coastguard Worker
1429*d5c09012SAndroid Build Coastguard Worker    // The preview is being created.
1430*d5c09012SAndroid Build Coastguard Worker    CREATING = 1;
1431*d5c09012SAndroid Build Coastguard Worker
1432*d5c09012SAndroid Build Coastguard Worker    // The preview has succeeded.
1433*d5c09012SAndroid Build Coastguard Worker    SUCCEEDED = 2;
1434*d5c09012SAndroid Build Coastguard Worker
1435*d5c09012SAndroid Build Coastguard Worker    // The preview is being applied.
1436*d5c09012SAndroid Build Coastguard Worker    APPLYING = 3;
1437*d5c09012SAndroid Build Coastguard Worker
1438*d5c09012SAndroid Build Coastguard Worker    // The preview is stale. A preview can become stale if a revision has been
1439*d5c09012SAndroid Build Coastguard Worker    // applied after this preview was created.
1440*d5c09012SAndroid Build Coastguard Worker    STALE = 4;
1441*d5c09012SAndroid Build Coastguard Worker
1442*d5c09012SAndroid Build Coastguard Worker    // The preview is being deleted.
1443*d5c09012SAndroid Build Coastguard Worker    DELETING = 5;
1444*d5c09012SAndroid Build Coastguard Worker
1445*d5c09012SAndroid Build Coastguard Worker    // The preview has encountered an unexpected error.
1446*d5c09012SAndroid Build Coastguard Worker    FAILED = 6;
1447*d5c09012SAndroid Build Coastguard Worker
1448*d5c09012SAndroid Build Coastguard Worker    // The preview has been deleted.
1449*d5c09012SAndroid Build Coastguard Worker    DELETED = 7;
1450*d5c09012SAndroid Build Coastguard Worker  }
1451*d5c09012SAndroid Build Coastguard Worker
1452*d5c09012SAndroid Build Coastguard Worker  // Preview mode provides options for customizing preview operations.
1453*d5c09012SAndroid Build Coastguard Worker  enum PreviewMode {
1454*d5c09012SAndroid Build Coastguard Worker    // Unspecified policy, default mode will be used.
1455*d5c09012SAndroid Build Coastguard Worker    PREVIEW_MODE_UNSPECIFIED = 0;
1456*d5c09012SAndroid Build Coastguard Worker
1457*d5c09012SAndroid Build Coastguard Worker    // DEFAULT mode generates an execution plan for reconciling current resource
1458*d5c09012SAndroid Build Coastguard Worker    // state into expected resource state.
1459*d5c09012SAndroid Build Coastguard Worker    DEFAULT = 1;
1460*d5c09012SAndroid Build Coastguard Worker
1461*d5c09012SAndroid Build Coastguard Worker    // DELETE mode generates as execution plan for destroying current resources.
1462*d5c09012SAndroid Build Coastguard Worker    DELETE = 2;
1463*d5c09012SAndroid Build Coastguard Worker  }
1464*d5c09012SAndroid Build Coastguard Worker
1465*d5c09012SAndroid Build Coastguard Worker  // Possible errors that can occur with previews.
1466*d5c09012SAndroid Build Coastguard Worker  enum ErrorCode {
1467*d5c09012SAndroid Build Coastguard Worker    // No error code was specified.
1468*d5c09012SAndroid Build Coastguard Worker    ERROR_CODE_UNSPECIFIED = 0;
1469*d5c09012SAndroid Build Coastguard Worker
1470*d5c09012SAndroid Build Coastguard Worker    // Cloud Build failed due to a permissions issue.
1471*d5c09012SAndroid Build Coastguard Worker    CLOUD_BUILD_PERMISSION_DENIED = 1;
1472*d5c09012SAndroid Build Coastguard Worker
1473*d5c09012SAndroid Build Coastguard Worker    // Cloud Storage bucket failed to create due to a permissions issue.
1474*d5c09012SAndroid Build Coastguard Worker    BUCKET_CREATION_PERMISSION_DENIED = 2;
1475*d5c09012SAndroid Build Coastguard Worker
1476*d5c09012SAndroid Build Coastguard Worker    // Cloud Storage bucket failed for a non-permissions-related issue.
1477*d5c09012SAndroid Build Coastguard Worker    BUCKET_CREATION_FAILED = 3;
1478*d5c09012SAndroid Build Coastguard Worker
1479*d5c09012SAndroid Build Coastguard Worker    // Acquiring lock on provided deployment reference failed.
1480*d5c09012SAndroid Build Coastguard Worker    DEPLOYMENT_LOCK_ACQUIRE_FAILED = 4;
1481*d5c09012SAndroid Build Coastguard Worker
1482*d5c09012SAndroid Build Coastguard Worker    // Preview encountered an error when trying to access Cloud Build API.
1483*d5c09012SAndroid Build Coastguard Worker    PREVIEW_BUILD_API_FAILED = 5;
1484*d5c09012SAndroid Build Coastguard Worker
1485*d5c09012SAndroid Build Coastguard Worker    // Preview created a build but build failed and logs were generated.
1486*d5c09012SAndroid Build Coastguard Worker    PREVIEW_BUILD_RUN_FAILED = 6;
1487*d5c09012SAndroid Build Coastguard Worker  }
1488*d5c09012SAndroid Build Coastguard Worker
1489*d5c09012SAndroid Build Coastguard Worker  // Blueprint to preview.
1490*d5c09012SAndroid Build Coastguard Worker  oneof blueprint {
1491*d5c09012SAndroid Build Coastguard Worker    // The terraform blueprint to preview.
1492*d5c09012SAndroid Build Coastguard Worker    TerraformBlueprint terraform_blueprint = 6;
1493*d5c09012SAndroid Build Coastguard Worker  }
1494*d5c09012SAndroid Build Coastguard Worker
1495*d5c09012SAndroid Build Coastguard Worker  // Identifier. Resource name of the preview. Resource name can be user
1496*d5c09012SAndroid Build Coastguard Worker  // provided or server generated ID if unspecified. Format:
1497*d5c09012SAndroid Build Coastguard Worker  // `projects/{project}/locations/{location}/previews/{preview}`
1498*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = IDENTIFIER];
1499*d5c09012SAndroid Build Coastguard Worker
1500*d5c09012SAndroid Build Coastguard Worker  // Output only. Time the preview was created.
1501*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 2
1502*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1503*d5c09012SAndroid Build Coastguard Worker
1504*d5c09012SAndroid Build Coastguard Worker  // Optional. User-defined labels for the preview.
1505*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 3 [(google.api.field_behavior) = OPTIONAL];
1506*d5c09012SAndroid Build Coastguard Worker
1507*d5c09012SAndroid Build Coastguard Worker  // Output only. Current state of the preview.
1508*d5c09012SAndroid Build Coastguard Worker  State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
1509*d5c09012SAndroid Build Coastguard Worker
1510*d5c09012SAndroid Build Coastguard Worker  // Optional. Optional deployment reference. If specified, the preview will be
1511*d5c09012SAndroid Build Coastguard Worker  // performed using the provided deployment's current state and use any
1512*d5c09012SAndroid Build Coastguard Worker  // relevant fields from the deployment unless explicitly specified in the
1513*d5c09012SAndroid Build Coastguard Worker  // preview create request.
1514*d5c09012SAndroid Build Coastguard Worker  string deployment = 5 [
1515*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL,
1516*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1517*d5c09012SAndroid Build Coastguard Worker      type: "config.googleapis.com/Deployment"
1518*d5c09012SAndroid Build Coastguard Worker    }
1519*d5c09012SAndroid Build Coastguard Worker  ];
1520*d5c09012SAndroid Build Coastguard Worker
1521*d5c09012SAndroid Build Coastguard Worker  // Optional. Current mode of preview.
1522*d5c09012SAndroid Build Coastguard Worker  PreviewMode preview_mode = 15 [(google.api.field_behavior) = OPTIONAL];
1523*d5c09012SAndroid Build Coastguard Worker
1524*d5c09012SAndroid Build Coastguard Worker  // Optional. User-specified Service Account (SA) credentials to be used when
1525*d5c09012SAndroid Build Coastguard Worker  // previewing resources.
1526*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/{projectID}/serviceAccounts/{serviceAccount}`
1527*d5c09012SAndroid Build Coastguard Worker  string service_account = 7 [
1528*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL,
1529*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1530*d5c09012SAndroid Build Coastguard Worker      type: "iam.googleapis.com/ServiceAccount"
1531*d5c09012SAndroid Build Coastguard Worker    }
1532*d5c09012SAndroid Build Coastguard Worker  ];
1533*d5c09012SAndroid Build Coastguard Worker
1534*d5c09012SAndroid Build Coastguard Worker  // Optional. User-defined location of Cloud Build logs, artifacts, and
1535*d5c09012SAndroid Build Coastguard Worker  // in Google Cloud Storage.
1536*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://{bucket}/{folder}`
1537*d5c09012SAndroid Build Coastguard Worker  // A default bucket will be bootstrapped if the field is not set or empty
1538*d5c09012SAndroid Build Coastguard Worker  // Default Bucket Format: `gs://<project number>-<region>-blueprint-config`
1539*d5c09012SAndroid Build Coastguard Worker  // Constraints:
1540*d5c09012SAndroid Build Coastguard Worker  // - The bucket needs to be in the same project as the deployment
1541*d5c09012SAndroid Build Coastguard Worker  // - The path cannot be within the path of `gcs_source`
1542*d5c09012SAndroid Build Coastguard Worker  // If omitted and deployment resource ref provided has artifacts_gcs_bucket
1543*d5c09012SAndroid Build Coastguard Worker  // defined, that artifact bucket is used.
1544*d5c09012SAndroid Build Coastguard Worker  optional string artifacts_gcs_bucket = 8
1545*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
1546*d5c09012SAndroid Build Coastguard Worker
1547*d5c09012SAndroid Build Coastguard Worker  // Optional. The user-specified Worker Pool resource in which the Cloud Build
1548*d5c09012SAndroid Build Coastguard Worker  // job will execute. Format
1549*d5c09012SAndroid Build Coastguard Worker  // projects/{project}/locations/{location}/workerPools/{workerPoolId} If this
1550*d5c09012SAndroid Build Coastguard Worker  // field is unspecified, the default Cloud Build worker pool will be used. If
1551*d5c09012SAndroid Build Coastguard Worker  // omitted and deployment resource ref provided has worker_pool defined, that
1552*d5c09012SAndroid Build Coastguard Worker  // worker pool is used.
1553*d5c09012SAndroid Build Coastguard Worker  optional string worker_pool = 9 [
1554*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL,
1555*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1556*d5c09012SAndroid Build Coastguard Worker      type: "cloudbuild.googleapis.com/WorkerPool"
1557*d5c09012SAndroid Build Coastguard Worker    }
1558*d5c09012SAndroid Build Coastguard Worker  ];
1559*d5c09012SAndroid Build Coastguard Worker
1560*d5c09012SAndroid Build Coastguard Worker  // Output only. Code describing any errors that may have occurred.
1561*d5c09012SAndroid Build Coastguard Worker  ErrorCode error_code = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
1562*d5c09012SAndroid Build Coastguard Worker
1563*d5c09012SAndroid Build Coastguard Worker  // Output only. Additional information regarding the current state.
1564*d5c09012SAndroid Build Coastguard Worker  google.rpc.Status error_status = 11
1565*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1566*d5c09012SAndroid Build Coastguard Worker
1567*d5c09012SAndroid Build Coastguard Worker  // Output only. Cloud Build instance UUID associated with this preview.
1568*d5c09012SAndroid Build Coastguard Worker  string build = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
1569*d5c09012SAndroid Build Coastguard Worker
1570*d5c09012SAndroid Build Coastguard Worker  // Output only. Summary of errors encountered during Terraform preview.
1571*d5c09012SAndroid Build Coastguard Worker  // It has a size limit of 10, i.e. only top 10 errors will be summarized here.
1572*d5c09012SAndroid Build Coastguard Worker  repeated TerraformError tf_errors = 13
1573*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1574*d5c09012SAndroid Build Coastguard Worker
1575*d5c09012SAndroid Build Coastguard Worker  // Output only. Link to tf-error.ndjson file, which contains the full list of
1576*d5c09012SAndroid Build Coastguard Worker  // the errors encountered during a Terraform preview.
1577*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://{bucket}/{object}`.
1578*d5c09012SAndroid Build Coastguard Worker  string error_logs = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
1579*d5c09012SAndroid Build Coastguard Worker
1580*d5c09012SAndroid Build Coastguard Worker  // Output only. Artifacts from preview.
1581*d5c09012SAndroid Build Coastguard Worker  PreviewArtifacts preview_artifacts = 16
1582*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1583*d5c09012SAndroid Build Coastguard Worker
1584*d5c09012SAndroid Build Coastguard Worker  // Output only. Location of preview logs in `gs://{bucket}/{object}` format.
1585*d5c09012SAndroid Build Coastguard Worker  string logs = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
1586*d5c09012SAndroid Build Coastguard Worker
1587*d5c09012SAndroid Build Coastguard Worker  // Output only. The current Terraform version set on the preview.
1588*d5c09012SAndroid Build Coastguard Worker  // It is in the format of "Major.Minor.Patch", for example, "1.3.10".
1589*d5c09012SAndroid Build Coastguard Worker  string tf_version = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
1590*d5c09012SAndroid Build Coastguard Worker
1591*d5c09012SAndroid Build Coastguard Worker  // Optional. The user-specified Terraform version constraint.
1592*d5c09012SAndroid Build Coastguard Worker  // Example: "=1.3.10".
1593*d5c09012SAndroid Build Coastguard Worker  optional string tf_version_constraint = 19
1594*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
1595*d5c09012SAndroid Build Coastguard Worker}
1596*d5c09012SAndroid Build Coastguard Worker
1597*d5c09012SAndroid Build Coastguard Worker// Ephemeral metadata content describing the state of a preview operation.
1598*d5c09012SAndroid Build Coastguard Workermessage PreviewOperationMetadata {
1599*d5c09012SAndroid Build Coastguard Worker  // The possible steps a preview may be running.
1600*d5c09012SAndroid Build Coastguard Worker  enum PreviewStep {
1601*d5c09012SAndroid Build Coastguard Worker    // Unspecified preview step.
1602*d5c09012SAndroid Build Coastguard Worker    PREVIEW_STEP_UNSPECIFIED = 0;
1603*d5c09012SAndroid Build Coastguard Worker
1604*d5c09012SAndroid Build Coastguard Worker    // Infra Manager is creating a Google Cloud Storage bucket to store
1605*d5c09012SAndroid Build Coastguard Worker    // artifacts and metadata about the preview.
1606*d5c09012SAndroid Build Coastguard Worker    PREPARING_STORAGE_BUCKET = 1;
1607*d5c09012SAndroid Build Coastguard Worker
1608*d5c09012SAndroid Build Coastguard Worker    // Downloading the blueprint onto the Google Cloud Storage bucket.
1609*d5c09012SAndroid Build Coastguard Worker    DOWNLOADING_BLUEPRINT = 2;
1610*d5c09012SAndroid Build Coastguard Worker
1611*d5c09012SAndroid Build Coastguard Worker    // Initializing Terraform using `terraform init`.
1612*d5c09012SAndroid Build Coastguard Worker    RUNNING_TF_INIT = 3;
1613*d5c09012SAndroid Build Coastguard Worker
1614*d5c09012SAndroid Build Coastguard Worker    // Running `terraform plan`.
1615*d5c09012SAndroid Build Coastguard Worker    RUNNING_TF_PLAN = 4;
1616*d5c09012SAndroid Build Coastguard Worker
1617*d5c09012SAndroid Build Coastguard Worker    // Fetching a deployment.
1618*d5c09012SAndroid Build Coastguard Worker    FETCHING_DEPLOYMENT = 5;
1619*d5c09012SAndroid Build Coastguard Worker
1620*d5c09012SAndroid Build Coastguard Worker    // Locking a deployment.
1621*d5c09012SAndroid Build Coastguard Worker    LOCKING_DEPLOYMENT = 6;
1622*d5c09012SAndroid Build Coastguard Worker
1623*d5c09012SAndroid Build Coastguard Worker    // Unlocking a deployment.
1624*d5c09012SAndroid Build Coastguard Worker    UNLOCKING_DEPLOYMENT = 7;
1625*d5c09012SAndroid Build Coastguard Worker
1626*d5c09012SAndroid Build Coastguard Worker    // Operation was successful.
1627*d5c09012SAndroid Build Coastguard Worker    SUCCEEDED = 8;
1628*d5c09012SAndroid Build Coastguard Worker
1629*d5c09012SAndroid Build Coastguard Worker    // Operation failed.
1630*d5c09012SAndroid Build Coastguard Worker    FAILED = 9;
1631*d5c09012SAndroid Build Coastguard Worker
1632*d5c09012SAndroid Build Coastguard Worker    // Validating the provided repository.
1633*d5c09012SAndroid Build Coastguard Worker    VALIDATING_REPOSITORY = 10;
1634*d5c09012SAndroid Build Coastguard Worker  }
1635*d5c09012SAndroid Build Coastguard Worker
1636*d5c09012SAndroid Build Coastguard Worker  // The current step the preview operation is running.
1637*d5c09012SAndroid Build Coastguard Worker  PreviewStep step = 1;
1638*d5c09012SAndroid Build Coastguard Worker
1639*d5c09012SAndroid Build Coastguard Worker  // Artifacts from preview.
1640*d5c09012SAndroid Build Coastguard Worker  PreviewArtifacts preview_artifacts = 2;
1641*d5c09012SAndroid Build Coastguard Worker
1642*d5c09012SAndroid Build Coastguard Worker  // Output only. Location of preview logs in `gs://{bucket}/{object}` format.
1643*d5c09012SAndroid Build Coastguard Worker  string logs = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
1644*d5c09012SAndroid Build Coastguard Worker
1645*d5c09012SAndroid Build Coastguard Worker  // Output only. Cloud Build instance UUID associated with this preview.
1646*d5c09012SAndroid Build Coastguard Worker  string build = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
1647*d5c09012SAndroid Build Coastguard Worker}
1648*d5c09012SAndroid Build Coastguard Worker
1649*d5c09012SAndroid Build Coastguard Worker// Artifacts created by preview.
1650*d5c09012SAndroid Build Coastguard Workermessage PreviewArtifacts {
1651*d5c09012SAndroid Build Coastguard Worker  // Output only. Location of a blueprint copy and other content in Google Cloud
1652*d5c09012SAndroid Build Coastguard Worker  // Storage. Format: `gs://{bucket}/{object}`
1653*d5c09012SAndroid Build Coastguard Worker  string content = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
1654*d5c09012SAndroid Build Coastguard Worker
1655*d5c09012SAndroid Build Coastguard Worker  // Output only. Location of artifacts in Google Cloud Storage.
1656*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://{bucket}/{object}`
1657*d5c09012SAndroid Build Coastguard Worker  string artifacts = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
1658*d5c09012SAndroid Build Coastguard Worker}
1659*d5c09012SAndroid Build Coastguard Worker
1660*d5c09012SAndroid Build Coastguard Worker// A request to create a preview.
1661*d5c09012SAndroid Build Coastguard Workermessage CreatePreviewRequest {
1662*d5c09012SAndroid Build Coastguard Worker  // Required. The parent in whose context the Preview is created. The parent
1663*d5c09012SAndroid Build Coastguard Worker  // value is in the format: 'projects/{project_id}/locations/{location}'.
1664*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1665*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1666*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1667*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
1668*d5c09012SAndroid Build Coastguard Worker    }
1669*d5c09012SAndroid Build Coastguard Worker  ];
1670*d5c09012SAndroid Build Coastguard Worker
1671*d5c09012SAndroid Build Coastguard Worker  // Optional. The preview ID.
1672*d5c09012SAndroid Build Coastguard Worker  string preview_id = 2 [(google.api.field_behavior) = OPTIONAL];
1673*d5c09012SAndroid Build Coastguard Worker
1674*d5c09012SAndroid Build Coastguard Worker  // Required. [Preview][google.cloud.config.v1.Preview] resource to be created.
1675*d5c09012SAndroid Build Coastguard Worker  Preview preview = 3 [(google.api.field_behavior) = REQUIRED];
1676*d5c09012SAndroid Build Coastguard Worker
1677*d5c09012SAndroid Build Coastguard Worker  // Optional. An optional request ID to identify requests. Specify a unique
1678*d5c09012SAndroid Build Coastguard Worker  // request ID so that if you must retry your request, the server will know to
1679*d5c09012SAndroid Build Coastguard Worker  // ignore the request if it has already been completed. The server will
1680*d5c09012SAndroid Build Coastguard Worker  // guarantee that for at least 60 minutes since the first request.
1681*d5c09012SAndroid Build Coastguard Worker  //
1682*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and the
1683*d5c09012SAndroid Build Coastguard Worker  // request times out. If you make the request again with the same request ID,
1684*d5c09012SAndroid Build Coastguard Worker  // the server can check if original operation with the same request ID was
1685*d5c09012SAndroid Build Coastguard Worker  // received, and if so, will ignore the second request. This prevents clients
1686*d5c09012SAndroid Build Coastguard Worker  // from accidentally creating duplicate commitments.
1687*d5c09012SAndroid Build Coastguard Worker  //
1688*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
1689*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
1690*d5c09012SAndroid Build Coastguard Worker  string request_id = 4 [
1691*d5c09012SAndroid Build Coastguard Worker    (google.api.field_info).format = UUID4,
1692*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL
1693*d5c09012SAndroid Build Coastguard Worker  ];
1694*d5c09012SAndroid Build Coastguard Worker}
1695*d5c09012SAndroid Build Coastguard Worker
1696*d5c09012SAndroid Build Coastguard Worker// A request to get details about a preview.
1697*d5c09012SAndroid Build Coastguard Workermessage GetPreviewRequest {
1698*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the preview. Format:
1699*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/previews/{preview}'.
1700*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
1701*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1702*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "config.googleapis.com/Preview" }
1703*d5c09012SAndroid Build Coastguard Worker  ];
1704*d5c09012SAndroid Build Coastguard Worker}
1705*d5c09012SAndroid Build Coastguard Worker
1706*d5c09012SAndroid Build Coastguard Worker// A request to list all previews for a given project and location.
1707*d5c09012SAndroid Build Coastguard Workermessage ListPreviewsRequest {
1708*d5c09012SAndroid Build Coastguard Worker  // Required. The parent in whose context the Previews are listed. The parent
1709*d5c09012SAndroid Build Coastguard Worker  // value is in the format: 'projects/{project_id}/locations/{location}'.
1710*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1711*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1712*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1713*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
1714*d5c09012SAndroid Build Coastguard Worker    }
1715*d5c09012SAndroid Build Coastguard Worker  ];
1716*d5c09012SAndroid Build Coastguard Worker
1717*d5c09012SAndroid Build Coastguard Worker  // Optional. When requesting a page of resources, 'page_size' specifies number
1718*d5c09012SAndroid Build Coastguard Worker  // of resources to return. If unspecified, at most 500 will be returned. The
1719*d5c09012SAndroid Build Coastguard Worker  // maximum value is 1000.
1720*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
1721*d5c09012SAndroid Build Coastguard Worker
1722*d5c09012SAndroid Build Coastguard Worker  // Optional. Token returned by previous call to 'ListDeployments' which
1723*d5c09012SAndroid Build Coastguard Worker  // specifies the position in the list from where to continue listing the
1724*d5c09012SAndroid Build Coastguard Worker  // resources.
1725*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
1726*d5c09012SAndroid Build Coastguard Worker
1727*d5c09012SAndroid Build Coastguard Worker  // Optional. Lists the Deployments that match the filter expression. A filter
1728*d5c09012SAndroid Build Coastguard Worker  // expression filters the resources listed in the response. The expression
1729*d5c09012SAndroid Build Coastguard Worker  // must be of the form '{field} {operator} {value}' where operators: '<', '>',
1730*d5c09012SAndroid Build Coastguard Worker  // '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS
1731*d5c09012SAndroid Build Coastguard Worker  // operator which is roughly synonymous with equality). {field} can refer to a
1732*d5c09012SAndroid Build Coastguard Worker  // proto or JSON field, or a synthetic field. Field names can be camelCase or
1733*d5c09012SAndroid Build Coastguard Worker  // snake_case.
1734*d5c09012SAndroid Build Coastguard Worker  //
1735*d5c09012SAndroid Build Coastguard Worker  // Examples:
1736*d5c09012SAndroid Build Coastguard Worker  // - Filter by name:
1737*d5c09012SAndroid Build Coastguard Worker  //   name = "projects/foo/locations/us-central1/deployments/bar
1738*d5c09012SAndroid Build Coastguard Worker  //
1739*d5c09012SAndroid Build Coastguard Worker  // - Filter by labels:
1740*d5c09012SAndroid Build Coastguard Worker  //   - Resources that have a key called 'foo'
1741*d5c09012SAndroid Build Coastguard Worker  //     labels.foo:*
1742*d5c09012SAndroid Build Coastguard Worker  //   - Resources that have a key called 'foo' whose value is 'bar'
1743*d5c09012SAndroid Build Coastguard Worker  //     labels.foo = bar
1744*d5c09012SAndroid Build Coastguard Worker  //
1745*d5c09012SAndroid Build Coastguard Worker  // - Filter by state:
1746*d5c09012SAndroid Build Coastguard Worker  //   - Deployments in CREATING state.
1747*d5c09012SAndroid Build Coastguard Worker  //     state=CREATING
1748*d5c09012SAndroid Build Coastguard Worker  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
1749*d5c09012SAndroid Build Coastguard Worker
1750*d5c09012SAndroid Build Coastguard Worker  // Optional. Field to use to sort the list.
1751*d5c09012SAndroid Build Coastguard Worker  string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
1752*d5c09012SAndroid Build Coastguard Worker}
1753*d5c09012SAndroid Build Coastguard Worker
1754*d5c09012SAndroid Build Coastguard Worker// A response to a `ListPreviews` call. Contains a list of Previews.
1755*d5c09012SAndroid Build Coastguard Workermessage ListPreviewsResponse {
1756*d5c09012SAndroid Build Coastguard Worker  // List of [Previews][]s.
1757*d5c09012SAndroid Build Coastguard Worker  repeated Preview previews = 1;
1758*d5c09012SAndroid Build Coastguard Worker
1759*d5c09012SAndroid Build Coastguard Worker  // Token to be supplied to the next ListPreviews request via `page_token`
1760*d5c09012SAndroid Build Coastguard Worker  // to obtain the next set of results.
1761*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
1762*d5c09012SAndroid Build Coastguard Worker
1763*d5c09012SAndroid Build Coastguard Worker  // Locations that could not be reached.
1764*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3;
1765*d5c09012SAndroid Build Coastguard Worker}
1766*d5c09012SAndroid Build Coastguard Worker
1767*d5c09012SAndroid Build Coastguard Worker// A request to delete a preview.
1768*d5c09012SAndroid Build Coastguard Workermessage DeletePreviewRequest {
1769*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the Preview in the format:
1770*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/previews/{preview}'.
1771*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
1772*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1773*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "config.googleapis.com/Preview" }
1774*d5c09012SAndroid Build Coastguard Worker  ];
1775*d5c09012SAndroid Build Coastguard Worker
1776*d5c09012SAndroid Build Coastguard Worker  // Optional. An optional request ID to identify requests. Specify a unique
1777*d5c09012SAndroid Build Coastguard Worker  // request ID so that if you must retry your request, the server will know to
1778*d5c09012SAndroid Build Coastguard Worker  // ignore the request if it has already been completed. The server will
1779*d5c09012SAndroid Build Coastguard Worker  // guarantee that for at least 60 minutes after the first request.
1780*d5c09012SAndroid Build Coastguard Worker  //
1781*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and the
1782*d5c09012SAndroid Build Coastguard Worker  // request times out. If you make the request again with the same request ID,
1783*d5c09012SAndroid Build Coastguard Worker  // the server can check if original operation with the same request ID was
1784*d5c09012SAndroid Build Coastguard Worker  // received, and if so, will ignore the second request. This prevents clients
1785*d5c09012SAndroid Build Coastguard Worker  // from accidentally creating duplicate commitments.
1786*d5c09012SAndroid Build Coastguard Worker  //
1787*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
1788*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
1789*d5c09012SAndroid Build Coastguard Worker  string request_id = 2 [
1790*d5c09012SAndroid Build Coastguard Worker    (google.api.field_info).format = UUID4,
1791*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL
1792*d5c09012SAndroid Build Coastguard Worker  ];
1793*d5c09012SAndroid Build Coastguard Worker}
1794*d5c09012SAndroid Build Coastguard Worker
1795*d5c09012SAndroid Build Coastguard Worker// A request to export preview results.
1796*d5c09012SAndroid Build Coastguard Workermessage ExportPreviewResultRequest {
1797*d5c09012SAndroid Build Coastguard Worker  // Required. The preview whose results should be exported. The preview value
1798*d5c09012SAndroid Build Coastguard Worker  // is in the format:
1799*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/previews/{preview}'.
1800*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1801*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1802*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "config.googleapis.com/Preview" }
1803*d5c09012SAndroid Build Coastguard Worker  ];
1804*d5c09012SAndroid Build Coastguard Worker}
1805*d5c09012SAndroid Build Coastguard Worker
1806*d5c09012SAndroid Build Coastguard Worker// A response to `ExportPreviewResult` call. Contains preview results.
1807*d5c09012SAndroid Build Coastguard Workermessage ExportPreviewResultResponse {
1808*d5c09012SAndroid Build Coastguard Worker  // Output only. Signed URLs for accessing the plan files.
1809*d5c09012SAndroid Build Coastguard Worker  PreviewResult result = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
1810*d5c09012SAndroid Build Coastguard Worker}
1811*d5c09012SAndroid Build Coastguard Worker
1812*d5c09012SAndroid Build Coastguard Worker// Contains a signed Cloud Storage URLs.
1813*d5c09012SAndroid Build Coastguard Workermessage PreviewResult {
1814*d5c09012SAndroid Build Coastguard Worker  // Output only. Plan binary signed URL
1815*d5c09012SAndroid Build Coastguard Worker  string binary_signed_uri = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
1816*d5c09012SAndroid Build Coastguard Worker
1817*d5c09012SAndroid Build Coastguard Worker  // Output only. Plan JSON signed URL
1818*d5c09012SAndroid Build Coastguard Worker  string json_signed_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
1819*d5c09012SAndroid Build Coastguard Worker}
1820*d5c09012SAndroid Build Coastguard Worker
1821*d5c09012SAndroid Build Coastguard Worker// The request message for the GetTerraformVersion method.
1822*d5c09012SAndroid Build Coastguard Workermessage GetTerraformVersionRequest {
1823*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the TerraformVersion. Format:
1824*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/terraformVersions/{terraform_version}'
1825*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
1826*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1827*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1828*d5c09012SAndroid Build Coastguard Worker      type: "config.googleapis.com/TerraformVersion"
1829*d5c09012SAndroid Build Coastguard Worker    }
1830*d5c09012SAndroid Build Coastguard Worker  ];
1831*d5c09012SAndroid Build Coastguard Worker}
1832*d5c09012SAndroid Build Coastguard Worker
1833*d5c09012SAndroid Build Coastguard Worker// The request message for the ListTerraformVersions method.
1834*d5c09012SAndroid Build Coastguard Workermessage ListTerraformVersionsRequest {
1835*d5c09012SAndroid Build Coastguard Worker  // Required. The parent in whose context the TerraformVersions are listed. The
1836*d5c09012SAndroid Build Coastguard Worker  // parent value is in the format:
1837*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}'.
1838*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1839*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1840*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1841*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
1842*d5c09012SAndroid Build Coastguard Worker    }
1843*d5c09012SAndroid Build Coastguard Worker  ];
1844*d5c09012SAndroid Build Coastguard Worker
1845*d5c09012SAndroid Build Coastguard Worker  // Optional. When requesting a page of resources, 'page_size' specifies number
1846*d5c09012SAndroid Build Coastguard Worker  // of resources to return. If unspecified, at most 500 will be returned. The
1847*d5c09012SAndroid Build Coastguard Worker  // maximum value is 1000.
1848*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
1849*d5c09012SAndroid Build Coastguard Worker
1850*d5c09012SAndroid Build Coastguard Worker  // Optional. Token returned by previous call to 'ListTerraformVersions' which
1851*d5c09012SAndroid Build Coastguard Worker  // specifies the position in the list from where to continue listing the
1852*d5c09012SAndroid Build Coastguard Worker  // resources.
1853*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
1854*d5c09012SAndroid Build Coastguard Worker
1855*d5c09012SAndroid Build Coastguard Worker  // Optional. Lists the TerraformVersions that match the filter expression. A
1856*d5c09012SAndroid Build Coastguard Worker  // filter expression filters the resources listed in the response. The
1857*d5c09012SAndroid Build Coastguard Worker  // expression must be of the form '{field} {operator} {value}' where
1858*d5c09012SAndroid Build Coastguard Worker  // operators: '<', '>',
1859*d5c09012SAndroid Build Coastguard Worker  // '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS
1860*d5c09012SAndroid Build Coastguard Worker  // operator which is roughly synonymous with equality). {field} can refer to a
1861*d5c09012SAndroid Build Coastguard Worker  // proto or JSON field, or a synthetic field. Field names can be camelCase or
1862*d5c09012SAndroid Build Coastguard Worker  // snake_case.
1863*d5c09012SAndroid Build Coastguard Worker  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
1864*d5c09012SAndroid Build Coastguard Worker
1865*d5c09012SAndroid Build Coastguard Worker  // Optional. Field to use to sort the list.
1866*d5c09012SAndroid Build Coastguard Worker  string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
1867*d5c09012SAndroid Build Coastguard Worker}
1868*d5c09012SAndroid Build Coastguard Worker
1869*d5c09012SAndroid Build Coastguard Worker// The response message for the `ListTerraformVersions` method.
1870*d5c09012SAndroid Build Coastguard Workermessage ListTerraformVersionsResponse {
1871*d5c09012SAndroid Build Coastguard Worker  // List of [TerraformVersion][google.cloud.config.v1.TerraformVersion]s.
1872*d5c09012SAndroid Build Coastguard Worker  repeated TerraformVersion terraform_versions = 1;
1873*d5c09012SAndroid Build Coastguard Worker
1874*d5c09012SAndroid Build Coastguard Worker  // Token to be supplied to the next ListTerraformVersions request via
1875*d5c09012SAndroid Build Coastguard Worker  // `page_token` to obtain the next set of results.
1876*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
1877*d5c09012SAndroid Build Coastguard Worker
1878*d5c09012SAndroid Build Coastguard Worker  // Unreachable resources, if any.
1879*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3;
1880*d5c09012SAndroid Build Coastguard Worker}
1881*d5c09012SAndroid Build Coastguard Worker
1882*d5c09012SAndroid Build Coastguard Worker// A TerraformVersion represents the support state the corresponding
1883*d5c09012SAndroid Build Coastguard Worker// Terraform version.
1884*d5c09012SAndroid Build Coastguard Workermessage TerraformVersion {
1885*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
1886*d5c09012SAndroid Build Coastguard Worker    type: "config.googleapis.com/TerraformVersion"
1887*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/terraformVersions/{terraform_version}"
1888*d5c09012SAndroid Build Coastguard Worker    plural: "terraformVersions"
1889*d5c09012SAndroid Build Coastguard Worker    singular: "terraformVersion"
1890*d5c09012SAndroid Build Coastguard Worker  };
1891*d5c09012SAndroid Build Coastguard Worker
1892*d5c09012SAndroid Build Coastguard Worker  // Possible states of a TerraformVersion.
1893*d5c09012SAndroid Build Coastguard Worker  enum State {
1894*d5c09012SAndroid Build Coastguard Worker    // The default value. This value is used if the state is omitted.
1895*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
1896*d5c09012SAndroid Build Coastguard Worker
1897*d5c09012SAndroid Build Coastguard Worker    // The version is actively supported.
1898*d5c09012SAndroid Build Coastguard Worker    ACTIVE = 1;
1899*d5c09012SAndroid Build Coastguard Worker
1900*d5c09012SAndroid Build Coastguard Worker    // The version is deprecated.
1901*d5c09012SAndroid Build Coastguard Worker    DEPRECATED = 2;
1902*d5c09012SAndroid Build Coastguard Worker
1903*d5c09012SAndroid Build Coastguard Worker    // The version is obsolete.
1904*d5c09012SAndroid Build Coastguard Worker    OBSOLETE = 3;
1905*d5c09012SAndroid Build Coastguard Worker  }
1906*d5c09012SAndroid Build Coastguard Worker
1907*d5c09012SAndroid Build Coastguard Worker  // Identifier. The version name is in the format:
1908*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project_id}/locations/{location}/terraformVersions/{terraform_version}'.
1909*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = IDENTIFIER];
1910*d5c09012SAndroid Build Coastguard Worker
1911*d5c09012SAndroid Build Coastguard Worker  // Output only. The state of the version, ACTIVE, DEPRECATED or OBSOLETE.
1912*d5c09012SAndroid Build Coastguard Worker  State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
1913*d5c09012SAndroid Build Coastguard Worker
1914*d5c09012SAndroid Build Coastguard Worker  // Output only. When the version is supported.
1915*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp support_time = 3
1916*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1917*d5c09012SAndroid Build Coastguard Worker
1918*d5c09012SAndroid Build Coastguard Worker  // Output only. When the version is deprecated.
1919*d5c09012SAndroid Build Coastguard Worker  optional google.protobuf.Timestamp deprecate_time = 4
1920*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1921*d5c09012SAndroid Build Coastguard Worker
1922*d5c09012SAndroid Build Coastguard Worker  // Output only. When the version is obsolete.
1923*d5c09012SAndroid Build Coastguard Worker  optional google.protobuf.Timestamp obsolete_time = 5
1924*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1925*d5c09012SAndroid Build Coastguard Worker}
1926