xref: /aosp_15_r20/external/googleapis/google/cloud/dataproc/v1/shared.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.dataproc.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/duration.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
23*d5c09012SAndroid Build Coastguard Worker
24*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dataproc/v2/apiv1/dataprocpb;dataprocpb";
25*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
26*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "SharedProto";
27*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.dataproc.v1";
28*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = {
29*d5c09012SAndroid Build Coastguard Worker  type: "container.googleapis.com/Cluster"
30*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}/clusters/{cluster}"
31*d5c09012SAndroid Build Coastguard Worker};
32*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = {
33*d5c09012SAndroid Build Coastguard Worker  type: "metastore.googleapis.com/Service"
34*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}/services/{service}"
35*d5c09012SAndroid Build Coastguard Worker};
36*d5c09012SAndroid Build Coastguard Worker
37*d5c09012SAndroid Build Coastguard Worker// Runtime configuration for a workload.
38*d5c09012SAndroid Build Coastguard Workermessage RuntimeConfig {
39*d5c09012SAndroid Build Coastguard Worker  // Optional. Version of the batch runtime.
40*d5c09012SAndroid Build Coastguard Worker  string version = 1 [(google.api.field_behavior) = OPTIONAL];
41*d5c09012SAndroid Build Coastguard Worker
42*d5c09012SAndroid Build Coastguard Worker  // Optional. Optional custom container image for the job runtime environment.
43*d5c09012SAndroid Build Coastguard Worker  // If not specified, a default container image will be used.
44*d5c09012SAndroid Build Coastguard Worker  string container_image = 2 [(google.api.field_behavior) = OPTIONAL];
45*d5c09012SAndroid Build Coastguard Worker
46*d5c09012SAndroid Build Coastguard Worker  // Optional. A mapping of property names to values, which are used to
47*d5c09012SAndroid Build Coastguard Worker  // configure workload execution.
48*d5c09012SAndroid Build Coastguard Worker  map<string, string> properties = 3 [(google.api.field_behavior) = OPTIONAL];
49*d5c09012SAndroid Build Coastguard Worker
50*d5c09012SAndroid Build Coastguard Worker  // Optional. Dependency repository configuration.
51*d5c09012SAndroid Build Coastguard Worker  RepositoryConfig repository_config = 5
52*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
53*d5c09012SAndroid Build Coastguard Worker}
54*d5c09012SAndroid Build Coastguard Worker
55*d5c09012SAndroid Build Coastguard Worker// Environment configuration for a workload.
56*d5c09012SAndroid Build Coastguard Workermessage EnvironmentConfig {
57*d5c09012SAndroid Build Coastguard Worker  // Optional. Execution configuration for a workload.
58*d5c09012SAndroid Build Coastguard Worker  ExecutionConfig execution_config = 1 [(google.api.field_behavior) = OPTIONAL];
59*d5c09012SAndroid Build Coastguard Worker
60*d5c09012SAndroid Build Coastguard Worker  // Optional. Peripherals configuration that workload has access to.
61*d5c09012SAndroid Build Coastguard Worker  PeripheralsConfig peripherals_config = 2
62*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
63*d5c09012SAndroid Build Coastguard Worker}
64*d5c09012SAndroid Build Coastguard Worker
65*d5c09012SAndroid Build Coastguard Worker// Execution configuration for a workload.
66*d5c09012SAndroid Build Coastguard Workermessage ExecutionConfig {
67*d5c09012SAndroid Build Coastguard Worker  // Optional. Service account that used to execute workload.
68*d5c09012SAndroid Build Coastguard Worker  string service_account = 2 [(google.api.field_behavior) = OPTIONAL];
69*d5c09012SAndroid Build Coastguard Worker
70*d5c09012SAndroid Build Coastguard Worker  // Network configuration for workload execution.
71*d5c09012SAndroid Build Coastguard Worker  oneof network {
72*d5c09012SAndroid Build Coastguard Worker    // Optional. Network URI to connect workload to.
73*d5c09012SAndroid Build Coastguard Worker    string network_uri = 4 [(google.api.field_behavior) = OPTIONAL];
74*d5c09012SAndroid Build Coastguard Worker
75*d5c09012SAndroid Build Coastguard Worker    // Optional. Subnetwork URI to connect workload to.
76*d5c09012SAndroid Build Coastguard Worker    string subnetwork_uri = 5 [(google.api.field_behavior) = OPTIONAL];
77*d5c09012SAndroid Build Coastguard Worker  }
78*d5c09012SAndroid Build Coastguard Worker
79*d5c09012SAndroid Build Coastguard Worker  // Optional. Tags used for network traffic control.
80*d5c09012SAndroid Build Coastguard Worker  repeated string network_tags = 6 [(google.api.field_behavior) = OPTIONAL];
81*d5c09012SAndroid Build Coastguard Worker
82*d5c09012SAndroid Build Coastguard Worker  // Optional. The Cloud KMS key to use for encryption.
83*d5c09012SAndroid Build Coastguard Worker  string kms_key = 7 [(google.api.field_behavior) = OPTIONAL];
84*d5c09012SAndroid Build Coastguard Worker
85*d5c09012SAndroid Build Coastguard Worker  // Optional. Applies to sessions only. The duration to keep the session alive
86*d5c09012SAndroid Build Coastguard Worker  // while it's idling. Exceeding this threshold causes the session to
87*d5c09012SAndroid Build Coastguard Worker  // terminate. This field cannot be set on a batch workload. Minimum value is
88*d5c09012SAndroid Build Coastguard Worker  // 10 minutes; maximum value is 14 days (see JSON representation of
89*d5c09012SAndroid Build Coastguard Worker  // [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).
90*d5c09012SAndroid Build Coastguard Worker  // Defaults to 1 hour if not set.
91*d5c09012SAndroid Build Coastguard Worker  // If both `ttl` and `idle_ttl` are specified for an interactive session,
92*d5c09012SAndroid Build Coastguard Worker  // the conditions are treated as `OR` conditions: the workload will be
93*d5c09012SAndroid Build Coastguard Worker  // terminated when it has been idle for `idle_ttl` or when `ttl` has been
94*d5c09012SAndroid Build Coastguard Worker  // exceeded, whichever occurs first.
95*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Duration idle_ttl = 8
96*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
97*d5c09012SAndroid Build Coastguard Worker
98*d5c09012SAndroid Build Coastguard Worker  // Optional. The duration after which the workload will be terminated,
99*d5c09012SAndroid Build Coastguard Worker  // specified as the JSON representation for
100*d5c09012SAndroid Build Coastguard Worker  // [Duration](https://protobuf.dev/programming-guides/proto3/#json).
101*d5c09012SAndroid Build Coastguard Worker  // When the workload exceeds this duration, it will be unconditionally
102*d5c09012SAndroid Build Coastguard Worker  // terminated without waiting for ongoing work to finish. If `ttl` is not
103*d5c09012SAndroid Build Coastguard Worker  // specified for a batch workload, the workload will be allowed to run until
104*d5c09012SAndroid Build Coastguard Worker  // it exits naturally (or run forever without exiting). If `ttl` is not
105*d5c09012SAndroid Build Coastguard Worker  // specified for an interactive session, it defaults to 24 hours. If `ttl` is
106*d5c09012SAndroid Build Coastguard Worker  // not specified for a batch that uses 2.1+ runtime version, it defaults to 4
107*d5c09012SAndroid Build Coastguard Worker  // hours. Minimum value is 10 minutes; maximum value is 14 days. If both `ttl`
108*d5c09012SAndroid Build Coastguard Worker  // and `idle_ttl` are specified (for an interactive session), the conditions
109*d5c09012SAndroid Build Coastguard Worker  // are treated as `OR` conditions: the workload will be terminated when it has
110*d5c09012SAndroid Build Coastguard Worker  // been idle for `idle_ttl` or when `ttl` has been exceeded, whichever occurs
111*d5c09012SAndroid Build Coastguard Worker  // first.
112*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Duration ttl = 9 [(google.api.field_behavior) = OPTIONAL];
113*d5c09012SAndroid Build Coastguard Worker
114*d5c09012SAndroid Build Coastguard Worker  // Optional. A Cloud Storage bucket used to stage workload dependencies,
115*d5c09012SAndroid Build Coastguard Worker  // config files, and store workload output and other ephemeral data, such as
116*d5c09012SAndroid Build Coastguard Worker  // Spark history files. If you do not specify a staging bucket, Cloud Dataproc
117*d5c09012SAndroid Build Coastguard Worker  // will determine a Cloud Storage location according to the region where your
118*d5c09012SAndroid Build Coastguard Worker  // workload is running, and then create and manage project-level, per-location
119*d5c09012SAndroid Build Coastguard Worker  // staging and temporary buckets.
120*d5c09012SAndroid Build Coastguard Worker  // **This field requires a Cloud Storage bucket name, not a `gs://...` URI to
121*d5c09012SAndroid Build Coastguard Worker  // a Cloud Storage bucket.**
122*d5c09012SAndroid Build Coastguard Worker  string staging_bucket = 10 [(google.api.field_behavior) = OPTIONAL];
123*d5c09012SAndroid Build Coastguard Worker}
124*d5c09012SAndroid Build Coastguard Worker
125*d5c09012SAndroid Build Coastguard Worker// Spark History Server configuration for the workload.
126*d5c09012SAndroid Build Coastguard Workermessage SparkHistoryServerConfig {
127*d5c09012SAndroid Build Coastguard Worker  // Optional. Resource name of an existing Dataproc Cluster to act as a Spark
128*d5c09012SAndroid Build Coastguard Worker  // History Server for the workload.
129*d5c09012SAndroid Build Coastguard Worker  //
130*d5c09012SAndroid Build Coastguard Worker  // Example:
131*d5c09012SAndroid Build Coastguard Worker  //
132*d5c09012SAndroid Build Coastguard Worker  // * `projects/[project_id]/regions/[region]/clusters/[cluster_name]`
133*d5c09012SAndroid Build Coastguard Worker  string dataproc_cluster = 1 [(google.api.field_behavior) = OPTIONAL];
134*d5c09012SAndroid Build Coastguard Worker}
135*d5c09012SAndroid Build Coastguard Worker
136*d5c09012SAndroid Build Coastguard Worker// Auxiliary services configuration for a workload.
137*d5c09012SAndroid Build Coastguard Workermessage PeripheralsConfig {
138*d5c09012SAndroid Build Coastguard Worker  // Optional. Resource name of an existing Dataproc Metastore service.
139*d5c09012SAndroid Build Coastguard Worker  //
140*d5c09012SAndroid Build Coastguard Worker  // Example:
141*d5c09012SAndroid Build Coastguard Worker  //
142*d5c09012SAndroid Build Coastguard Worker  // * `projects/[project_id]/locations/[region]/services/[service_id]`
143*d5c09012SAndroid Build Coastguard Worker  string metastore_service = 1 [
144*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL,
145*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
146*d5c09012SAndroid Build Coastguard Worker      type: "metastore.googleapis.com/Service"
147*d5c09012SAndroid Build Coastguard Worker    }
148*d5c09012SAndroid Build Coastguard Worker  ];
149*d5c09012SAndroid Build Coastguard Worker
150*d5c09012SAndroid Build Coastguard Worker  // Optional. The Spark History Server configuration for the workload.
151*d5c09012SAndroid Build Coastguard Worker  SparkHistoryServerConfig spark_history_server_config = 2
152*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
153*d5c09012SAndroid Build Coastguard Worker}
154*d5c09012SAndroid Build Coastguard Worker
155*d5c09012SAndroid Build Coastguard Worker// Runtime information about workload execution.
156*d5c09012SAndroid Build Coastguard Workermessage RuntimeInfo {
157*d5c09012SAndroid Build Coastguard Worker  // Output only. Map of remote access endpoints (such as web interfaces and
158*d5c09012SAndroid Build Coastguard Worker  // APIs) to their URIs.
159*d5c09012SAndroid Build Coastguard Worker  map<string, string> endpoints = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
160*d5c09012SAndroid Build Coastguard Worker
161*d5c09012SAndroid Build Coastguard Worker  // Output only. A URI pointing to the location of the stdout and stderr of the
162*d5c09012SAndroid Build Coastguard Worker  // workload.
163*d5c09012SAndroid Build Coastguard Worker  string output_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
164*d5c09012SAndroid Build Coastguard Worker
165*d5c09012SAndroid Build Coastguard Worker  // Output only. A URI pointing to the location of the diagnostics tarball.
166*d5c09012SAndroid Build Coastguard Worker  string diagnostic_output_uri = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
167*d5c09012SAndroid Build Coastguard Worker
168*d5c09012SAndroid Build Coastguard Worker  // Output only. Approximate workload resource usage, calculated when
169*d5c09012SAndroid Build Coastguard Worker  // the workload completes (see [Dataproc Serverless pricing]
170*d5c09012SAndroid Build Coastguard Worker  // (https://cloud.google.com/dataproc-serverless/pricing)).
171*d5c09012SAndroid Build Coastguard Worker  //
172*d5c09012SAndroid Build Coastguard Worker  // **Note:** This metric calculation may change in the future, for
173*d5c09012SAndroid Build Coastguard Worker  // example, to capture cumulative workload resource
174*d5c09012SAndroid Build Coastguard Worker  // consumption during workload execution (see the
175*d5c09012SAndroid Build Coastguard Worker  // [Dataproc Serverless release notes]
176*d5c09012SAndroid Build Coastguard Worker  // (https://cloud.google.com/dataproc-serverless/docs/release-notes)
177*d5c09012SAndroid Build Coastguard Worker  // for announcements, changes, fixes
178*d5c09012SAndroid Build Coastguard Worker  // and other Dataproc developments).
179*d5c09012SAndroid Build Coastguard Worker  UsageMetrics approximate_usage = 6
180*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
181*d5c09012SAndroid Build Coastguard Worker
182*d5c09012SAndroid Build Coastguard Worker  // Output only. Snapshot of current workload resource usage.
183*d5c09012SAndroid Build Coastguard Worker  UsageSnapshot current_usage = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
184*d5c09012SAndroid Build Coastguard Worker}
185*d5c09012SAndroid Build Coastguard Worker
186*d5c09012SAndroid Build Coastguard Worker// Usage metrics represent approximate total resources consumed by a workload.
187*d5c09012SAndroid Build Coastguard Workermessage UsageMetrics {
188*d5c09012SAndroid Build Coastguard Worker  // Optional. DCU (Dataproc Compute Units) usage in (`milliDCU` x `seconds`)
189*d5c09012SAndroid Build Coastguard Worker  // (see [Dataproc Serverless pricing]
190*d5c09012SAndroid Build Coastguard Worker  // (https://cloud.google.com/dataproc-serverless/pricing)).
191*d5c09012SAndroid Build Coastguard Worker  int64 milli_dcu_seconds = 1 [(google.api.field_behavior) = OPTIONAL];
192*d5c09012SAndroid Build Coastguard Worker
193*d5c09012SAndroid Build Coastguard Worker  // Optional. Shuffle storage usage in (`GB` x `seconds`) (see
194*d5c09012SAndroid Build Coastguard Worker  // [Dataproc Serverless pricing]
195*d5c09012SAndroid Build Coastguard Worker  // (https://cloud.google.com/dataproc-serverless/pricing)).
196*d5c09012SAndroid Build Coastguard Worker  int64 shuffle_storage_gb_seconds = 2 [(google.api.field_behavior) = OPTIONAL];
197*d5c09012SAndroid Build Coastguard Worker
198*d5c09012SAndroid Build Coastguard Worker  // Optional. Accelerator usage in (`milliAccelerator` x `seconds`) (see
199*d5c09012SAndroid Build Coastguard Worker  // [Dataproc Serverless pricing]
200*d5c09012SAndroid Build Coastguard Worker  // (https://cloud.google.com/dataproc-serverless/pricing)).
201*d5c09012SAndroid Build Coastguard Worker  int64 milli_accelerator_seconds = 3 [(google.api.field_behavior) = OPTIONAL];
202*d5c09012SAndroid Build Coastguard Worker
203*d5c09012SAndroid Build Coastguard Worker  // Optional. Accelerator type being used, if any
204*d5c09012SAndroid Build Coastguard Worker  string accelerator_type = 4 [(google.api.field_behavior) = OPTIONAL];
205*d5c09012SAndroid Build Coastguard Worker}
206*d5c09012SAndroid Build Coastguard Worker
207*d5c09012SAndroid Build Coastguard Worker// The usage snapshot represents the resources consumed by a workload at a
208*d5c09012SAndroid Build Coastguard Worker// specified time.
209*d5c09012SAndroid Build Coastguard Workermessage UsageSnapshot {
210*d5c09012SAndroid Build Coastguard Worker  // Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) (see
211*d5c09012SAndroid Build Coastguard Worker  // [Dataproc Serverless pricing]
212*d5c09012SAndroid Build Coastguard Worker  // (https://cloud.google.com/dataproc-serverless/pricing)).
213*d5c09012SAndroid Build Coastguard Worker  int64 milli_dcu = 1 [(google.api.field_behavior) = OPTIONAL];
214*d5c09012SAndroid Build Coastguard Worker
215*d5c09012SAndroid Build Coastguard Worker  // Optional. Shuffle Storage in gigabytes (GB). (see [Dataproc Serverless
216*d5c09012SAndroid Build Coastguard Worker  // pricing] (https://cloud.google.com/dataproc-serverless/pricing))
217*d5c09012SAndroid Build Coastguard Worker  int64 shuffle_storage_gb = 2 [(google.api.field_behavior) = OPTIONAL];
218*d5c09012SAndroid Build Coastguard Worker
219*d5c09012SAndroid Build Coastguard Worker  // Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) charged at
220*d5c09012SAndroid Build Coastguard Worker  // premium tier (see [Dataproc Serverless pricing]
221*d5c09012SAndroid Build Coastguard Worker  // (https://cloud.google.com/dataproc-serverless/pricing)).
222*d5c09012SAndroid Build Coastguard Worker  int64 milli_dcu_premium = 4 [(google.api.field_behavior) = OPTIONAL];
223*d5c09012SAndroid Build Coastguard Worker
224*d5c09012SAndroid Build Coastguard Worker  // Optional. Shuffle Storage in gigabytes (GB) charged at premium tier. (see
225*d5c09012SAndroid Build Coastguard Worker  // [Dataproc Serverless pricing]
226*d5c09012SAndroid Build Coastguard Worker  // (https://cloud.google.com/dataproc-serverless/pricing))
227*d5c09012SAndroid Build Coastguard Worker  int64 shuffle_storage_gb_premium = 5 [(google.api.field_behavior) = OPTIONAL];
228*d5c09012SAndroid Build Coastguard Worker
229*d5c09012SAndroid Build Coastguard Worker  // Optional. Milli (one-thousandth) accelerator. (see [Dataproc
230*d5c09012SAndroid Build Coastguard Worker  // Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing))
231*d5c09012SAndroid Build Coastguard Worker  int64 milli_accelerator = 6 [(google.api.field_behavior) = OPTIONAL];
232*d5c09012SAndroid Build Coastguard Worker
233*d5c09012SAndroid Build Coastguard Worker  // Optional. Accelerator type being used, if any
234*d5c09012SAndroid Build Coastguard Worker  string accelerator_type = 7 [(google.api.field_behavior) = OPTIONAL];
235*d5c09012SAndroid Build Coastguard Worker
236*d5c09012SAndroid Build Coastguard Worker  // Optional. The timestamp of the usage snapshot.
237*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp snapshot_time = 3
238*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
239*d5c09012SAndroid Build Coastguard Worker}
240*d5c09012SAndroid Build Coastguard Worker
241*d5c09012SAndroid Build Coastguard Worker// The cluster's GKE config.
242*d5c09012SAndroid Build Coastguard Workermessage GkeClusterConfig {
243*d5c09012SAndroid Build Coastguard Worker  // Optional. A target GKE cluster to deploy to. It must be in the same project
244*d5c09012SAndroid Build Coastguard Worker  // and region as the Dataproc cluster (the GKE cluster can be zonal or
245*d5c09012SAndroid Build Coastguard Worker  // regional). Format:
246*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project}/locations/{location}/clusters/{cluster_id}'
247*d5c09012SAndroid Build Coastguard Worker  string gke_cluster_target = 2 [
248*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL,
249*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
250*d5c09012SAndroid Build Coastguard Worker      type: "container.googleapis.com/Cluster"
251*d5c09012SAndroid Build Coastguard Worker    }
252*d5c09012SAndroid Build Coastguard Worker  ];
253*d5c09012SAndroid Build Coastguard Worker
254*d5c09012SAndroid Build Coastguard Worker  // Optional. GKE node pools where workloads will be scheduled. At least one
255*d5c09012SAndroid Build Coastguard Worker  // node pool must be assigned the `DEFAULT`
256*d5c09012SAndroid Build Coastguard Worker  // [GkeNodePoolTarget.Role][google.cloud.dataproc.v1.GkeNodePoolTarget.Role].
257*d5c09012SAndroid Build Coastguard Worker  // If a `GkeNodePoolTarget` is not specified, Dataproc constructs a `DEFAULT`
258*d5c09012SAndroid Build Coastguard Worker  // `GkeNodePoolTarget`. Each role can be given to only one
259*d5c09012SAndroid Build Coastguard Worker  // `GkeNodePoolTarget`. All node pools must have the same location settings.
260*d5c09012SAndroid Build Coastguard Worker  repeated GkeNodePoolTarget node_pool_target = 3
261*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
262*d5c09012SAndroid Build Coastguard Worker}
263*d5c09012SAndroid Build Coastguard Worker
264*d5c09012SAndroid Build Coastguard Worker// The configuration for running the Dataproc cluster on Kubernetes.
265*d5c09012SAndroid Build Coastguard Workermessage KubernetesClusterConfig {
266*d5c09012SAndroid Build Coastguard Worker  // Optional. A namespace within the Kubernetes cluster to deploy into. If this
267*d5c09012SAndroid Build Coastguard Worker  // namespace does not exist, it is created. If it exists, Dataproc verifies
268*d5c09012SAndroid Build Coastguard Worker  // that another Dataproc VirtualCluster is not installed into it. If not
269*d5c09012SAndroid Build Coastguard Worker  // specified, the name of the Dataproc Cluster is used.
270*d5c09012SAndroid Build Coastguard Worker  string kubernetes_namespace = 1 [(google.api.field_behavior) = OPTIONAL];
271*d5c09012SAndroid Build Coastguard Worker
272*d5c09012SAndroid Build Coastguard Worker  oneof config {
273*d5c09012SAndroid Build Coastguard Worker    // Required. The configuration for running the Dataproc cluster on GKE.
274*d5c09012SAndroid Build Coastguard Worker    GkeClusterConfig gke_cluster_config = 2
275*d5c09012SAndroid Build Coastguard Worker        [(google.api.field_behavior) = REQUIRED];
276*d5c09012SAndroid Build Coastguard Worker  }
277*d5c09012SAndroid Build Coastguard Worker
278*d5c09012SAndroid Build Coastguard Worker  // Optional. The software configuration for this Dataproc cluster running on
279*d5c09012SAndroid Build Coastguard Worker  // Kubernetes.
280*d5c09012SAndroid Build Coastguard Worker  KubernetesSoftwareConfig kubernetes_software_config = 3
281*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
282*d5c09012SAndroid Build Coastguard Worker}
283*d5c09012SAndroid Build Coastguard Worker
284*d5c09012SAndroid Build Coastguard Worker// The software configuration for this Dataproc cluster running on Kubernetes.
285*d5c09012SAndroid Build Coastguard Workermessage KubernetesSoftwareConfig {
286*d5c09012SAndroid Build Coastguard Worker  // The components that should be installed in this Dataproc cluster. The key
287*d5c09012SAndroid Build Coastguard Worker  // must be a string from the KubernetesComponent enumeration. The value is
288*d5c09012SAndroid Build Coastguard Worker  // the version of the software to be installed.
289*d5c09012SAndroid Build Coastguard Worker  // At least one entry must be specified.
290*d5c09012SAndroid Build Coastguard Worker  map<string, string> component_version = 1;
291*d5c09012SAndroid Build Coastguard Worker
292*d5c09012SAndroid Build Coastguard Worker  // The properties to set on daemon config files.
293*d5c09012SAndroid Build Coastguard Worker  //
294*d5c09012SAndroid Build Coastguard Worker  // Property keys are specified in `prefix:property` format, for example
295*d5c09012SAndroid Build Coastguard Worker  // `spark:spark.kubernetes.container.image`. The following are supported
296*d5c09012SAndroid Build Coastguard Worker  // prefixes and their mappings:
297*d5c09012SAndroid Build Coastguard Worker  //
298*d5c09012SAndroid Build Coastguard Worker  // * spark:  `spark-defaults.conf`
299*d5c09012SAndroid Build Coastguard Worker  //
300*d5c09012SAndroid Build Coastguard Worker  // For more information, see [Cluster
301*d5c09012SAndroid Build Coastguard Worker  // properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).
302*d5c09012SAndroid Build Coastguard Worker  map<string, string> properties = 2;
303*d5c09012SAndroid Build Coastguard Worker}
304*d5c09012SAndroid Build Coastguard Worker
305*d5c09012SAndroid Build Coastguard Worker// GKE node pools that Dataproc workloads run on.
306*d5c09012SAndroid Build Coastguard Workermessage GkeNodePoolTarget {
307*d5c09012SAndroid Build Coastguard Worker  // `Role` specifies the tasks that will run on the node pool. Roles can be
308*d5c09012SAndroid Build Coastguard Worker  // specific to workloads. Exactly one
309*d5c09012SAndroid Build Coastguard Worker  // [GkeNodePoolTarget][google.cloud.dataproc.v1.GkeNodePoolTarget] within the
310*d5c09012SAndroid Build Coastguard Worker  // virtual cluster must have the `DEFAULT` role, which is used to run all
311*d5c09012SAndroid Build Coastguard Worker  // workloads that are not associated with a node pool.
312*d5c09012SAndroid Build Coastguard Worker  enum Role {
313*d5c09012SAndroid Build Coastguard Worker    // Role is unspecified.
314*d5c09012SAndroid Build Coastguard Worker    ROLE_UNSPECIFIED = 0;
315*d5c09012SAndroid Build Coastguard Worker
316*d5c09012SAndroid Build Coastguard Worker    // At least one node pool must have the `DEFAULT` role.
317*d5c09012SAndroid Build Coastguard Worker    // Work assigned to a role that is not associated with a node pool
318*d5c09012SAndroid Build Coastguard Worker    // is assigned to the node pool with the `DEFAULT` role. For example,
319*d5c09012SAndroid Build Coastguard Worker    // work assigned to the `CONTROLLER` role will be assigned to the node pool
320*d5c09012SAndroid Build Coastguard Worker    // with the `DEFAULT` role if no node pool has the `CONTROLLER` role.
321*d5c09012SAndroid Build Coastguard Worker    DEFAULT = 1;
322*d5c09012SAndroid Build Coastguard Worker
323*d5c09012SAndroid Build Coastguard Worker    // Run work associated with the Dataproc control plane (for example,
324*d5c09012SAndroid Build Coastguard Worker    // controllers and webhooks). Very low resource requirements.
325*d5c09012SAndroid Build Coastguard Worker    CONTROLLER = 2;
326*d5c09012SAndroid Build Coastguard Worker
327*d5c09012SAndroid Build Coastguard Worker    // Run work associated with a Spark driver of a job.
328*d5c09012SAndroid Build Coastguard Worker    SPARK_DRIVER = 3;
329*d5c09012SAndroid Build Coastguard Worker
330*d5c09012SAndroid Build Coastguard Worker    // Run work associated with a Spark executor of a job.
331*d5c09012SAndroid Build Coastguard Worker    SPARK_EXECUTOR = 4;
332*d5c09012SAndroid Build Coastguard Worker  }
333*d5c09012SAndroid Build Coastguard Worker
334*d5c09012SAndroid Build Coastguard Worker  // Required. The target GKE node pool.
335*d5c09012SAndroid Build Coastguard Worker  // Format:
336*d5c09012SAndroid Build Coastguard Worker  // 'projects/{project}/locations/{location}/clusters/{cluster}/nodePools/{node_pool}'
337*d5c09012SAndroid Build Coastguard Worker  string node_pool = 1 [(google.api.field_behavior) = REQUIRED];
338*d5c09012SAndroid Build Coastguard Worker
339*d5c09012SAndroid Build Coastguard Worker  // Required. The roles associated with the GKE node pool.
340*d5c09012SAndroid Build Coastguard Worker  repeated Role roles = 2 [(google.api.field_behavior) = REQUIRED];
341*d5c09012SAndroid Build Coastguard Worker
342*d5c09012SAndroid Build Coastguard Worker  // Input only. The configuration for the GKE node pool.
343*d5c09012SAndroid Build Coastguard Worker  //
344*d5c09012SAndroid Build Coastguard Worker  // If specified, Dataproc attempts to create a node pool with the
345*d5c09012SAndroid Build Coastguard Worker  // specified shape. If one with the same name already exists, it is
346*d5c09012SAndroid Build Coastguard Worker  // verified against all specified fields. If a field differs, the
347*d5c09012SAndroid Build Coastguard Worker  // virtual cluster creation will fail.
348*d5c09012SAndroid Build Coastguard Worker  //
349*d5c09012SAndroid Build Coastguard Worker  // If omitted, any node pool with the specified name is used. If a
350*d5c09012SAndroid Build Coastguard Worker  // node pool with the specified name does not exist, Dataproc create a
351*d5c09012SAndroid Build Coastguard Worker  // node pool with default values.
352*d5c09012SAndroid Build Coastguard Worker  //
353*d5c09012SAndroid Build Coastguard Worker  // This is an input only field. It will not be returned by the API.
354*d5c09012SAndroid Build Coastguard Worker  GkeNodePoolConfig node_pool_config = 3
355*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = INPUT_ONLY];
356*d5c09012SAndroid Build Coastguard Worker}
357*d5c09012SAndroid Build Coastguard Worker
358*d5c09012SAndroid Build Coastguard Worker// The configuration of a GKE node pool used by a [Dataproc-on-GKE
359*d5c09012SAndroid Build Coastguard Worker// cluster](https://cloud.google.com/dataproc/docs/concepts/jobs/dataproc-gke#create-a-dataproc-on-gke-cluster).
360*d5c09012SAndroid Build Coastguard Workermessage GkeNodePoolConfig {
361*d5c09012SAndroid Build Coastguard Worker  // Parameters that describe cluster nodes.
362*d5c09012SAndroid Build Coastguard Worker  message GkeNodeConfig {
363*d5c09012SAndroid Build Coastguard Worker    // Optional. The name of a Compute Engine [machine
364*d5c09012SAndroid Build Coastguard Worker    // type](https://cloud.google.com/compute/docs/machine-types).
365*d5c09012SAndroid Build Coastguard Worker    string machine_type = 1 [(google.api.field_behavior) = OPTIONAL];
366*d5c09012SAndroid Build Coastguard Worker
367*d5c09012SAndroid Build Coastguard Worker    // Optional. The number of local SSD disks to attach to the node, which is
368*d5c09012SAndroid Build Coastguard Worker    // limited by the maximum number of disks allowable per zone (see [Adding
369*d5c09012SAndroid Build Coastguard Worker    // Local SSDs](https://cloud.google.com/compute/docs/disks/local-ssd)).
370*d5c09012SAndroid Build Coastguard Worker    int32 local_ssd_count = 7 [(google.api.field_behavior) = OPTIONAL];
371*d5c09012SAndroid Build Coastguard Worker
372*d5c09012SAndroid Build Coastguard Worker    // Optional. Whether the nodes are created as legacy [preemptible VM
373*d5c09012SAndroid Build Coastguard Worker    // instances] (https://cloud.google.com/compute/docs/instances/preemptible).
374*d5c09012SAndroid Build Coastguard Worker    // Also see
375*d5c09012SAndroid Build Coastguard Worker    // [Spot][google.cloud.dataproc.v1.GkeNodePoolConfig.GkeNodeConfig.spot]
376*d5c09012SAndroid Build Coastguard Worker    // VMs, preemptible VM instances without a maximum lifetime. Legacy and Spot
377*d5c09012SAndroid Build Coastguard Worker    // preemptible nodes cannot be used in a node pool with the `CONTROLLER`
378*d5c09012SAndroid Build Coastguard Worker    // [role]
379*d5c09012SAndroid Build Coastguard Worker    // (/dataproc/docs/reference/rest/v1/projects.regions.clusters#role)
380*d5c09012SAndroid Build Coastguard Worker    // or in the DEFAULT node pool if the CONTROLLER role is not assigned (the
381*d5c09012SAndroid Build Coastguard Worker    // DEFAULT node pool will assume the CONTROLLER role).
382*d5c09012SAndroid Build Coastguard Worker    bool preemptible = 10 [(google.api.field_behavior) = OPTIONAL];
383*d5c09012SAndroid Build Coastguard Worker
384*d5c09012SAndroid Build Coastguard Worker    // Optional. A list of [hardware
385*d5c09012SAndroid Build Coastguard Worker    // accelerators](https://cloud.google.com/compute/docs/gpus) to attach to
386*d5c09012SAndroid Build Coastguard Worker    // each node.
387*d5c09012SAndroid Build Coastguard Worker    repeated GkeNodePoolAcceleratorConfig accelerators = 11
388*d5c09012SAndroid Build Coastguard Worker        [(google.api.field_behavior) = OPTIONAL];
389*d5c09012SAndroid Build Coastguard Worker
390*d5c09012SAndroid Build Coastguard Worker    // Optional. [Minimum CPU
391*d5c09012SAndroid Build Coastguard Worker    // platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
392*d5c09012SAndroid Build Coastguard Worker    // to be used by this instance. The instance may be scheduled on the
393*d5c09012SAndroid Build Coastguard Worker    // specified or a newer CPU platform. Specify the friendly names of CPU
394*d5c09012SAndroid Build Coastguard Worker    // platforms, such as "Intel Haswell"` or Intel Sandy Bridge".
395*d5c09012SAndroid Build Coastguard Worker    string min_cpu_platform = 13 [(google.api.field_behavior) = OPTIONAL];
396*d5c09012SAndroid Build Coastguard Worker
397*d5c09012SAndroid Build Coastguard Worker    // Optional. The [Customer Managed Encryption Key (CMEK)]
398*d5c09012SAndroid Build Coastguard Worker    // (https://cloud.google.com/kubernetes-engine/docs/how-to/using-cmek)
399*d5c09012SAndroid Build Coastguard Worker    // used to encrypt the boot disk attached to each node in the node pool.
400*d5c09012SAndroid Build Coastguard Worker    // Specify the key using the following format:
401*d5c09012SAndroid Build Coastguard Worker    // <code>projects/<var>KEY_PROJECT_ID</var>/locations/<var>LOCATION</var>/keyRings/<var>RING_NAME</var>/cryptoKeys/<var>KEY_NAME</var></code>.
402*d5c09012SAndroid Build Coastguard Worker    string boot_disk_kms_key = 23 [(google.api.field_behavior) = OPTIONAL];
403*d5c09012SAndroid Build Coastguard Worker
404*d5c09012SAndroid Build Coastguard Worker    // Optional. Whether the nodes are created as [Spot VM instances]
405*d5c09012SAndroid Build Coastguard Worker    // (https://cloud.google.com/compute/docs/instances/spot).
406*d5c09012SAndroid Build Coastguard Worker    // Spot VMs are the latest update to legacy
407*d5c09012SAndroid Build Coastguard Worker    // [preemptible
408*d5c09012SAndroid Build Coastguard Worker    // VMs][google.cloud.dataproc.v1.GkeNodePoolConfig.GkeNodeConfig.preemptible].
409*d5c09012SAndroid Build Coastguard Worker    // Spot VMs do not have a maximum lifetime. Legacy and Spot preemptible
410*d5c09012SAndroid Build Coastguard Worker    // nodes cannot be used in a node pool with the `CONTROLLER`
411*d5c09012SAndroid Build Coastguard Worker    // [role](/dataproc/docs/reference/rest/v1/projects.regions.clusters#role)
412*d5c09012SAndroid Build Coastguard Worker    // or in the DEFAULT node pool if the CONTROLLER role is not assigned (the
413*d5c09012SAndroid Build Coastguard Worker    // DEFAULT node pool will assume the CONTROLLER role).
414*d5c09012SAndroid Build Coastguard Worker    bool spot = 32 [(google.api.field_behavior) = OPTIONAL];
415*d5c09012SAndroid Build Coastguard Worker  }
416*d5c09012SAndroid Build Coastguard Worker
417*d5c09012SAndroid Build Coastguard Worker  // A GkeNodeConfigAcceleratorConfig represents a Hardware Accelerator request
418*d5c09012SAndroid Build Coastguard Worker  // for a node pool.
419*d5c09012SAndroid Build Coastguard Worker  message GkeNodePoolAcceleratorConfig {
420*d5c09012SAndroid Build Coastguard Worker    // The number of accelerator cards exposed to an instance.
421*d5c09012SAndroid Build Coastguard Worker    int64 accelerator_count = 1;
422*d5c09012SAndroid Build Coastguard Worker
423*d5c09012SAndroid Build Coastguard Worker    // The accelerator type resource namename (see GPUs on Compute Engine).
424*d5c09012SAndroid Build Coastguard Worker    string accelerator_type = 2;
425*d5c09012SAndroid Build Coastguard Worker
426*d5c09012SAndroid Build Coastguard Worker    // Size of partitions to create on the GPU. Valid values are described in
427*d5c09012SAndroid Build Coastguard Worker    // the NVIDIA [mig user
428*d5c09012SAndroid Build Coastguard Worker    // guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
429*d5c09012SAndroid Build Coastguard Worker    string gpu_partition_size = 3;
430*d5c09012SAndroid Build Coastguard Worker  }
431*d5c09012SAndroid Build Coastguard Worker
432*d5c09012SAndroid Build Coastguard Worker  // GkeNodePoolAutoscaling contains information the cluster autoscaler needs to
433*d5c09012SAndroid Build Coastguard Worker  // adjust the size of the node pool to the current cluster usage.
434*d5c09012SAndroid Build Coastguard Worker  message GkeNodePoolAutoscalingConfig {
435*d5c09012SAndroid Build Coastguard Worker    // The minimum number of nodes in the node pool. Must be >= 0 and <=
436*d5c09012SAndroid Build Coastguard Worker    // max_node_count.
437*d5c09012SAndroid Build Coastguard Worker    int32 min_node_count = 2;
438*d5c09012SAndroid Build Coastguard Worker
439*d5c09012SAndroid Build Coastguard Worker    // The maximum number of nodes in the node pool. Must be >= min_node_count,
440*d5c09012SAndroid Build Coastguard Worker    // and must be > 0.
441*d5c09012SAndroid Build Coastguard Worker    // **Note:** Quota must be sufficient to scale up the cluster.
442*d5c09012SAndroid Build Coastguard Worker    int32 max_node_count = 3;
443*d5c09012SAndroid Build Coastguard Worker  }
444*d5c09012SAndroid Build Coastguard Worker
445*d5c09012SAndroid Build Coastguard Worker  // Optional. The node pool configuration.
446*d5c09012SAndroid Build Coastguard Worker  GkeNodeConfig config = 2 [(google.api.field_behavior) = OPTIONAL];
447*d5c09012SAndroid Build Coastguard Worker
448*d5c09012SAndroid Build Coastguard Worker  // Optional. The list of Compute Engine
449*d5c09012SAndroid Build Coastguard Worker  // [zones](https://cloud.google.com/compute/docs/zones#available) where
450*d5c09012SAndroid Build Coastguard Worker  // node pool nodes associated with a Dataproc on GKE virtual cluster
451*d5c09012SAndroid Build Coastguard Worker  // will be located.
452*d5c09012SAndroid Build Coastguard Worker  //
453*d5c09012SAndroid Build Coastguard Worker  // **Note:** All node pools associated with a virtual cluster
454*d5c09012SAndroid Build Coastguard Worker  // must be located in the same region as the virtual cluster, and they must
455*d5c09012SAndroid Build Coastguard Worker  // be located in the same zone within that region.
456*d5c09012SAndroid Build Coastguard Worker  //
457*d5c09012SAndroid Build Coastguard Worker  // If a location is not specified during node pool creation, Dataproc on GKE
458*d5c09012SAndroid Build Coastguard Worker  // will choose the zone.
459*d5c09012SAndroid Build Coastguard Worker  repeated string locations = 13 [(google.api.field_behavior) = OPTIONAL];
460*d5c09012SAndroid Build Coastguard Worker
461*d5c09012SAndroid Build Coastguard Worker  // Optional. The autoscaler configuration for this node pool. The autoscaler
462*d5c09012SAndroid Build Coastguard Worker  // is enabled only when a valid configuration is present.
463*d5c09012SAndroid Build Coastguard Worker  GkeNodePoolAutoscalingConfig autoscaling = 4
464*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
465*d5c09012SAndroid Build Coastguard Worker}
466*d5c09012SAndroid Build Coastguard Worker
467*d5c09012SAndroid Build Coastguard Worker// Configuration for dependency repositories
468*d5c09012SAndroid Build Coastguard Workermessage RepositoryConfig {
469*d5c09012SAndroid Build Coastguard Worker  // Optional. Configuration for PyPi repository.
470*d5c09012SAndroid Build Coastguard Worker  PyPiRepositoryConfig pypi_repository_config = 1
471*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
472*d5c09012SAndroid Build Coastguard Worker}
473*d5c09012SAndroid Build Coastguard Worker
474*d5c09012SAndroid Build Coastguard Worker// Configuration for PyPi repository
475*d5c09012SAndroid Build Coastguard Workermessage PyPiRepositoryConfig {
476*d5c09012SAndroid Build Coastguard Worker  // Optional. PyPi repository address
477*d5c09012SAndroid Build Coastguard Worker  string pypi_repository = 1 [(google.api.field_behavior) = OPTIONAL];
478*d5c09012SAndroid Build Coastguard Worker}
479*d5c09012SAndroid Build Coastguard Worker
480*d5c09012SAndroid Build Coastguard Worker// Cluster components that can be activated.
481*d5c09012SAndroid Build Coastguard Workerenum Component {
482*d5c09012SAndroid Build Coastguard Worker  // Unspecified component. Specifying this will cause Cluster creation to fail.
483*d5c09012SAndroid Build Coastguard Worker  COMPONENT_UNSPECIFIED = 0;
484*d5c09012SAndroid Build Coastguard Worker
485*d5c09012SAndroid Build Coastguard Worker  // The Anaconda python distribution. The Anaconda component is not supported
486*d5c09012SAndroid Build Coastguard Worker  // in the Dataproc [2.0 image]
487*d5c09012SAndroid Build Coastguard Worker  // (/https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-release-2.0).
488*d5c09012SAndroid Build Coastguard Worker  // The 2.0 image is pre-installed with Miniconda.
489*d5c09012SAndroid Build Coastguard Worker  ANACONDA = 5;
490*d5c09012SAndroid Build Coastguard Worker
491*d5c09012SAndroid Build Coastguard Worker  // Docker
492*d5c09012SAndroid Build Coastguard Worker  DOCKER = 13;
493*d5c09012SAndroid Build Coastguard Worker
494*d5c09012SAndroid Build Coastguard Worker  // The Druid query engine. (alpha)
495*d5c09012SAndroid Build Coastguard Worker  DRUID = 9;
496*d5c09012SAndroid Build Coastguard Worker
497*d5c09012SAndroid Build Coastguard Worker  // Flink
498*d5c09012SAndroid Build Coastguard Worker  FLINK = 14;
499*d5c09012SAndroid Build Coastguard Worker
500*d5c09012SAndroid Build Coastguard Worker  // HBase. (beta)
501*d5c09012SAndroid Build Coastguard Worker  HBASE = 11;
502*d5c09012SAndroid Build Coastguard Worker
503*d5c09012SAndroid Build Coastguard Worker  // The Hive Web HCatalog (the REST service for accessing HCatalog).
504*d5c09012SAndroid Build Coastguard Worker  HIVE_WEBHCAT = 3;
505*d5c09012SAndroid Build Coastguard Worker
506*d5c09012SAndroid Build Coastguard Worker  // Hudi.
507*d5c09012SAndroid Build Coastguard Worker  HUDI = 18;
508*d5c09012SAndroid Build Coastguard Worker
509*d5c09012SAndroid Build Coastguard Worker  // The Jupyter Notebook.
510*d5c09012SAndroid Build Coastguard Worker  JUPYTER = 1;
511*d5c09012SAndroid Build Coastguard Worker
512*d5c09012SAndroid Build Coastguard Worker  // The Presto query engine.
513*d5c09012SAndroid Build Coastguard Worker  PRESTO = 6;
514*d5c09012SAndroid Build Coastguard Worker
515*d5c09012SAndroid Build Coastguard Worker  // The Trino query engine.
516*d5c09012SAndroid Build Coastguard Worker  TRINO = 17;
517*d5c09012SAndroid Build Coastguard Worker
518*d5c09012SAndroid Build Coastguard Worker  // The Ranger service.
519*d5c09012SAndroid Build Coastguard Worker  RANGER = 12;
520*d5c09012SAndroid Build Coastguard Worker
521*d5c09012SAndroid Build Coastguard Worker  // The Solr service.
522*d5c09012SAndroid Build Coastguard Worker  SOLR = 10;
523*d5c09012SAndroid Build Coastguard Worker
524*d5c09012SAndroid Build Coastguard Worker  // The Zeppelin notebook.
525*d5c09012SAndroid Build Coastguard Worker  ZEPPELIN = 4;
526*d5c09012SAndroid Build Coastguard Worker
527*d5c09012SAndroid Build Coastguard Worker  // The Zookeeper service.
528*d5c09012SAndroid Build Coastguard Worker  ZOOKEEPER = 8;
529*d5c09012SAndroid Build Coastguard Worker}
530*d5c09012SAndroid Build Coastguard Worker
531*d5c09012SAndroid Build Coastguard Worker// Actions in response to failure of a resource associated with a cluster.
532*d5c09012SAndroid Build Coastguard Workerenum FailureAction {
533*d5c09012SAndroid Build Coastguard Worker  // When FailureAction is unspecified, failure action defaults to NO_ACTION.
534*d5c09012SAndroid Build Coastguard Worker  FAILURE_ACTION_UNSPECIFIED = 0;
535*d5c09012SAndroid Build Coastguard Worker
536*d5c09012SAndroid Build Coastguard Worker  // Take no action on failure to create a cluster resource. NO_ACTION is the
537*d5c09012SAndroid Build Coastguard Worker  // default.
538*d5c09012SAndroid Build Coastguard Worker  NO_ACTION = 1;
539*d5c09012SAndroid Build Coastguard Worker
540*d5c09012SAndroid Build Coastguard Worker  // Delete the failed cluster resource.
541*d5c09012SAndroid Build Coastguard Worker  DELETE = 2;
542*d5c09012SAndroid Build Coastguard Worker}
543