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