1*d5c09012SAndroid Build Coastguard Worker// Copyright 2022 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.dataflow.v1beta3; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/dataflow/v1beta3/environment.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/dataflow/v1beta3/jobs.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/rpc/status.proto"; 24*d5c09012SAndroid Build Coastguard Worker 25*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Dataflow.V1Beta3"; 26*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dataflow/apiv1beta3/dataflowpb;dataflowpb"; 27*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 28*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "TemplatesProto"; 29*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.dataflow.v1beta3"; 30*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Dataflow\\V1beta3"; 31*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Dataflow::V1beta3"; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Worker// Provides a method to create Cloud Dataflow jobs from templates. 34*d5c09012SAndroid Build Coastguard Workerservice TemplatesService { 35*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "dataflow.googleapis.com"; 36*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 37*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform," 38*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/compute," 39*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/compute.readonly," 40*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/userinfo.email"; 41*d5c09012SAndroid Build Coastguard Worker 42*d5c09012SAndroid Build Coastguard Worker // Creates a Cloud Dataflow job from a template. 43*d5c09012SAndroid Build Coastguard Worker rpc CreateJobFromTemplate(CreateJobFromTemplateRequest) returns (Job) { 44*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 45*d5c09012SAndroid Build Coastguard Worker post: "/v1b3/projects/{project_id}/locations/{location}/templates" 46*d5c09012SAndroid Build Coastguard Worker body: "*" 47*d5c09012SAndroid Build Coastguard Worker additional_bindings { 48*d5c09012SAndroid Build Coastguard Worker post: "/v1b3/projects/{project_id}/templates" 49*d5c09012SAndroid Build Coastguard Worker body: "*" 50*d5c09012SAndroid Build Coastguard Worker } 51*d5c09012SAndroid Build Coastguard Worker }; 52*d5c09012SAndroid Build Coastguard Worker } 53*d5c09012SAndroid Build Coastguard Worker 54*d5c09012SAndroid Build Coastguard Worker // Launch a template. 55*d5c09012SAndroid Build Coastguard Worker rpc LaunchTemplate(LaunchTemplateRequest) returns (LaunchTemplateResponse) { 56*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 57*d5c09012SAndroid Build Coastguard Worker post: "/v1b3/projects/{project_id}/locations/{location}/templates:launch" 58*d5c09012SAndroid Build Coastguard Worker body: "launch_parameters" 59*d5c09012SAndroid Build Coastguard Worker additional_bindings { 60*d5c09012SAndroid Build Coastguard Worker post: "/v1b3/projects/{project_id}/templates:launch" 61*d5c09012SAndroid Build Coastguard Worker body: "launch_parameters" 62*d5c09012SAndroid Build Coastguard Worker } 63*d5c09012SAndroid Build Coastguard Worker }; 64*d5c09012SAndroid Build Coastguard Worker } 65*d5c09012SAndroid Build Coastguard Worker 66*d5c09012SAndroid Build Coastguard Worker // Get the template associated with a template. 67*d5c09012SAndroid Build Coastguard Worker rpc GetTemplate(GetTemplateRequest) returns (GetTemplateResponse) { 68*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 69*d5c09012SAndroid Build Coastguard Worker get: "/v1b3/projects/{project_id}/locations/{location}/templates:get" 70*d5c09012SAndroid Build Coastguard Worker additional_bindings { 71*d5c09012SAndroid Build Coastguard Worker get: "/v1b3/projects/{project_id}/templates:get" 72*d5c09012SAndroid Build Coastguard Worker } 73*d5c09012SAndroid Build Coastguard Worker }; 74*d5c09012SAndroid Build Coastguard Worker } 75*d5c09012SAndroid Build Coastguard Worker} 76*d5c09012SAndroid Build Coastguard Worker 77*d5c09012SAndroid Build Coastguard Worker// Provides a service for Flex templates. This feature is not ready yet. 78*d5c09012SAndroid Build Coastguard Workerservice FlexTemplatesService { 79*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "dataflow.googleapis.com"; 80*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 81*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform," 82*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/compute," 83*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/compute.readonly," 84*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/userinfo.email"; 85*d5c09012SAndroid Build Coastguard Worker 86*d5c09012SAndroid Build Coastguard Worker // Launch a job with a FlexTemplate. 87*d5c09012SAndroid Build Coastguard Worker rpc LaunchFlexTemplate(LaunchFlexTemplateRequest) returns (LaunchFlexTemplateResponse) { 88*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 89*d5c09012SAndroid Build Coastguard Worker post: "/v1b3/projects/{project_id}/locations/{location}/flexTemplates:launch" 90*d5c09012SAndroid Build Coastguard Worker body: "*" 91*d5c09012SAndroid Build Coastguard Worker }; 92*d5c09012SAndroid Build Coastguard Worker } 93*d5c09012SAndroid Build Coastguard Worker} 94*d5c09012SAndroid Build Coastguard Worker 95*d5c09012SAndroid Build Coastguard Worker// Response to the request to launch a job from Flex Template. 96*d5c09012SAndroid Build Coastguard Workermessage LaunchFlexTemplateResponse { 97*d5c09012SAndroid Build Coastguard Worker // The job that was launched, if the request was not a dry run and 98*d5c09012SAndroid Build Coastguard Worker // the job was successfully launched. 99*d5c09012SAndroid Build Coastguard Worker Job job = 1; 100*d5c09012SAndroid Build Coastguard Worker} 101*d5c09012SAndroid Build Coastguard Worker 102*d5c09012SAndroid Build Coastguard Worker// Container Spec. 103*d5c09012SAndroid Build Coastguard Workermessage ContainerSpec { 104*d5c09012SAndroid Build Coastguard Worker // Name of the docker container image. E.g., gcr.io/project/some-image 105*d5c09012SAndroid Build Coastguard Worker string image = 1; 106*d5c09012SAndroid Build Coastguard Worker 107*d5c09012SAndroid Build Coastguard Worker // Metadata describing a template including description and validation rules. 108*d5c09012SAndroid Build Coastguard Worker TemplateMetadata metadata = 2; 109*d5c09012SAndroid Build Coastguard Worker 110*d5c09012SAndroid Build Coastguard Worker // Required. SDK info of the Flex Template. 111*d5c09012SAndroid Build Coastguard Worker SDKInfo sdk_info = 3; 112*d5c09012SAndroid Build Coastguard Worker 113*d5c09012SAndroid Build Coastguard Worker // Default runtime environment for the job. 114*d5c09012SAndroid Build Coastguard Worker FlexTemplateRuntimeEnvironment default_environment = 4; 115*d5c09012SAndroid Build Coastguard Worker} 116*d5c09012SAndroid Build Coastguard Worker 117*d5c09012SAndroid Build Coastguard Worker// Launch FlexTemplate Parameter. 118*d5c09012SAndroid Build Coastguard Workermessage LaunchFlexTemplateParameter { 119*d5c09012SAndroid Build Coastguard Worker // Required. The job name to use for the created job. For update job request, 120*d5c09012SAndroid Build Coastguard Worker // job name should be same as the existing running job. 121*d5c09012SAndroid Build Coastguard Worker string job_name = 1; 122*d5c09012SAndroid Build Coastguard Worker 123*d5c09012SAndroid Build Coastguard Worker // Launch Mechanism. 124*d5c09012SAndroid Build Coastguard Worker oneof template { 125*d5c09012SAndroid Build Coastguard Worker // Spec about the container image to launch. 126*d5c09012SAndroid Build Coastguard Worker ContainerSpec container_spec = 4; 127*d5c09012SAndroid Build Coastguard Worker 128*d5c09012SAndroid Build Coastguard Worker // Cloud Storage path to a file with json serialized ContainerSpec as 129*d5c09012SAndroid Build Coastguard Worker // content. 130*d5c09012SAndroid Build Coastguard Worker string container_spec_gcs_path = 5; 131*d5c09012SAndroid Build Coastguard Worker } 132*d5c09012SAndroid Build Coastguard Worker 133*d5c09012SAndroid Build Coastguard Worker // The parameters for FlexTemplate. 134*d5c09012SAndroid Build Coastguard Worker // Ex. {"num_workers":"5"} 135*d5c09012SAndroid Build Coastguard Worker map<string, string> parameters = 2; 136*d5c09012SAndroid Build Coastguard Worker 137*d5c09012SAndroid Build Coastguard Worker // Launch options for this flex template job. This is a common set of options 138*d5c09012SAndroid Build Coastguard Worker // across languages and templates. This should not be used to pass job 139*d5c09012SAndroid Build Coastguard Worker // parameters. 140*d5c09012SAndroid Build Coastguard Worker map<string, string> launch_options = 6; 141*d5c09012SAndroid Build Coastguard Worker 142*d5c09012SAndroid Build Coastguard Worker // The runtime environment for the FlexTemplate job 143*d5c09012SAndroid Build Coastguard Worker FlexTemplateRuntimeEnvironment environment = 7; 144*d5c09012SAndroid Build Coastguard Worker 145*d5c09012SAndroid Build Coastguard Worker // Set this to true if you are sending a request to update a running 146*d5c09012SAndroid Build Coastguard Worker // streaming job. When set, the job name should be the same as the 147*d5c09012SAndroid Build Coastguard Worker // running job. 148*d5c09012SAndroid Build Coastguard Worker bool update = 8; 149*d5c09012SAndroid Build Coastguard Worker 150*d5c09012SAndroid Build Coastguard Worker // Use this to pass transform_name_mappings for streaming update jobs. 151*d5c09012SAndroid Build Coastguard Worker // Ex:{"oldTransformName":"newTransformName",...}' 152*d5c09012SAndroid Build Coastguard Worker map<string, string> transform_name_mappings = 9; 153*d5c09012SAndroid Build Coastguard Worker} 154*d5c09012SAndroid Build Coastguard Worker 155*d5c09012SAndroid Build Coastguard Worker// The environment values to be set at runtime for flex template. 156*d5c09012SAndroid Build Coastguard Workermessage FlexTemplateRuntimeEnvironment { 157*d5c09012SAndroid Build Coastguard Worker // The initial number of Google Compute Engine instances for the job. 158*d5c09012SAndroid Build Coastguard Worker int32 num_workers = 1; 159*d5c09012SAndroid Build Coastguard Worker 160*d5c09012SAndroid Build Coastguard Worker // The maximum number of Google Compute Engine instances to be made 161*d5c09012SAndroid Build Coastguard Worker // available to your pipeline during execution, from 1 to 1000. 162*d5c09012SAndroid Build Coastguard Worker int32 max_workers = 2; 163*d5c09012SAndroid Build Coastguard Worker 164*d5c09012SAndroid Build Coastguard Worker // The Compute Engine [availability 165*d5c09012SAndroid Build Coastguard Worker // zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) 166*d5c09012SAndroid Build Coastguard Worker // for launching worker instances to run your pipeline. 167*d5c09012SAndroid Build Coastguard Worker // In the future, worker_zone will take precedence. 168*d5c09012SAndroid Build Coastguard Worker string zone = 3; 169*d5c09012SAndroid Build Coastguard Worker 170*d5c09012SAndroid Build Coastguard Worker // The email address of the service account to run the job as. 171*d5c09012SAndroid Build Coastguard Worker string service_account_email = 4; 172*d5c09012SAndroid Build Coastguard Worker 173*d5c09012SAndroid Build Coastguard Worker // The Cloud Storage path to use for temporary files. 174*d5c09012SAndroid Build Coastguard Worker // Must be a valid Cloud Storage URL, beginning with `gs://`. 175*d5c09012SAndroid Build Coastguard Worker string temp_location = 5; 176*d5c09012SAndroid Build Coastguard Worker 177*d5c09012SAndroid Build Coastguard Worker // The machine type to use for the job. Defaults to the value from the 178*d5c09012SAndroid Build Coastguard Worker // template if not specified. 179*d5c09012SAndroid Build Coastguard Worker string machine_type = 6; 180*d5c09012SAndroid Build Coastguard Worker 181*d5c09012SAndroid Build Coastguard Worker // Additional experiment flags for the job. 182*d5c09012SAndroid Build Coastguard Worker repeated string additional_experiments = 7; 183*d5c09012SAndroid Build Coastguard Worker 184*d5c09012SAndroid Build Coastguard Worker // Network to which VMs will be assigned. If empty or unspecified, 185*d5c09012SAndroid Build Coastguard Worker // the service will use the network "default". 186*d5c09012SAndroid Build Coastguard Worker string network = 8; 187*d5c09012SAndroid Build Coastguard Worker 188*d5c09012SAndroid Build Coastguard Worker // Subnetwork to which VMs will be assigned, if desired. You can specify a 189*d5c09012SAndroid Build Coastguard Worker // subnetwork using either a complete URL or an abbreviated path. Expected to 190*d5c09012SAndroid Build Coastguard Worker // be of the form 191*d5c09012SAndroid Build Coastguard Worker // "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" 192*d5c09012SAndroid Build Coastguard Worker // or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located in 193*d5c09012SAndroid Build Coastguard Worker // a Shared VPC network, you must use the complete URL. 194*d5c09012SAndroid Build Coastguard Worker string subnetwork = 9; 195*d5c09012SAndroid Build Coastguard Worker 196*d5c09012SAndroid Build Coastguard Worker // Additional user labels to be specified for the job. 197*d5c09012SAndroid Build Coastguard Worker // Keys and values must follow the restrictions specified in the [labeling 198*d5c09012SAndroid Build Coastguard Worker // restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) 199*d5c09012SAndroid Build Coastguard Worker // page. 200*d5c09012SAndroid Build Coastguard Worker // An object containing a list of "key": value pairs. 201*d5c09012SAndroid Build Coastguard Worker // Example: { "name": "wrench", "mass": "1kg", "count": "3" }. 202*d5c09012SAndroid Build Coastguard Worker map<string, string> additional_user_labels = 10; 203*d5c09012SAndroid Build Coastguard Worker 204*d5c09012SAndroid Build Coastguard Worker // Name for the Cloud KMS key for the job. 205*d5c09012SAndroid Build Coastguard Worker // Key format is: 206*d5c09012SAndroid Build Coastguard Worker // projects/<project>/locations/<location>/keyRings/<keyring>/cryptoKeys/<key> 207*d5c09012SAndroid Build Coastguard Worker string kms_key_name = 11; 208*d5c09012SAndroid Build Coastguard Worker 209*d5c09012SAndroid Build Coastguard Worker // Configuration for VM IPs. 210*d5c09012SAndroid Build Coastguard Worker WorkerIPAddressConfiguration ip_configuration = 12; 211*d5c09012SAndroid Build Coastguard Worker 212*d5c09012SAndroid Build Coastguard Worker // The Compute Engine region 213*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in 214*d5c09012SAndroid Build Coastguard Worker // which worker processing should occur, e.g. "us-west1". Mutually exclusive 215*d5c09012SAndroid Build Coastguard Worker // with worker_zone. If neither worker_region nor worker_zone is specified, 216*d5c09012SAndroid Build Coastguard Worker // default to the control plane's region. 217*d5c09012SAndroid Build Coastguard Worker string worker_region = 13; 218*d5c09012SAndroid Build Coastguard Worker 219*d5c09012SAndroid Build Coastguard Worker // The Compute Engine zone 220*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in 221*d5c09012SAndroid Build Coastguard Worker // which worker processing should occur, e.g. "us-west1-a". Mutually exclusive 222*d5c09012SAndroid Build Coastguard Worker // with worker_region. If neither worker_region nor worker_zone is specified, 223*d5c09012SAndroid Build Coastguard Worker // a zone in the control plane's region is chosen based on available capacity. 224*d5c09012SAndroid Build Coastguard Worker // If both `worker_zone` and `zone` are set, `worker_zone` takes precedence. 225*d5c09012SAndroid Build Coastguard Worker string worker_zone = 14; 226*d5c09012SAndroid Build Coastguard Worker 227*d5c09012SAndroid Build Coastguard Worker // Whether to enable Streaming Engine for the job. 228*d5c09012SAndroid Build Coastguard Worker bool enable_streaming_engine = 15; 229*d5c09012SAndroid Build Coastguard Worker 230*d5c09012SAndroid Build Coastguard Worker // Set FlexRS goal for the job. 231*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/dataflow/docs/guides/flexrs 232*d5c09012SAndroid Build Coastguard Worker FlexResourceSchedulingGoal flexrs_goal = 16; 233*d5c09012SAndroid Build Coastguard Worker 234*d5c09012SAndroid Build Coastguard Worker // The Cloud Storage path for staging local files. 235*d5c09012SAndroid Build Coastguard Worker // Must be a valid Cloud Storage URL, beginning with `gs://`. 236*d5c09012SAndroid Build Coastguard Worker string staging_location = 17; 237*d5c09012SAndroid Build Coastguard Worker 238*d5c09012SAndroid Build Coastguard Worker // Docker registry location of container image to use for the 'worker harness. 239*d5c09012SAndroid Build Coastguard Worker // Default is the container for the version of the SDK. Note this field is 240*d5c09012SAndroid Build Coastguard Worker // only valid for portable pipelines. 241*d5c09012SAndroid Build Coastguard Worker string sdk_container_image = 18; 242*d5c09012SAndroid Build Coastguard Worker 243*d5c09012SAndroid Build Coastguard Worker // Worker disk size, in gigabytes. 244*d5c09012SAndroid Build Coastguard Worker int32 disk_size_gb = 20; 245*d5c09012SAndroid Build Coastguard Worker 246*d5c09012SAndroid Build Coastguard Worker // The algorithm to use for autoscaling 247*d5c09012SAndroid Build Coastguard Worker AutoscalingAlgorithm autoscaling_algorithm = 21; 248*d5c09012SAndroid Build Coastguard Worker 249*d5c09012SAndroid Build Coastguard Worker // If true, save a heap dump before killing a thread or process which is GC 250*d5c09012SAndroid Build Coastguard Worker // thrashing or out of memory. The location of the heap file will either be 251*d5c09012SAndroid Build Coastguard Worker // echoed back to the user, or the user will be given the opportunity to 252*d5c09012SAndroid Build Coastguard Worker // download the heap file. 253*d5c09012SAndroid Build Coastguard Worker bool dump_heap_on_oom = 22; 254*d5c09012SAndroid Build Coastguard Worker 255*d5c09012SAndroid Build Coastguard Worker // Cloud Storage bucket (directory) to upload heap dumps to the given 256*d5c09012SAndroid Build Coastguard Worker // location. Enabling this implies that heap dumps should be generated on OOM 257*d5c09012SAndroid Build Coastguard Worker // (dump_heap_on_oom is set to true). 258*d5c09012SAndroid Build Coastguard Worker string save_heap_dumps_to_gcs_path = 23; 259*d5c09012SAndroid Build Coastguard Worker 260*d5c09012SAndroid Build Coastguard Worker // The machine type to use for launching the job. The default is 261*d5c09012SAndroid Build Coastguard Worker // n1-standard-1. 262*d5c09012SAndroid Build Coastguard Worker string launcher_machine_type = 24; 263*d5c09012SAndroid Build Coastguard Worker} 264*d5c09012SAndroid Build Coastguard Worker 265*d5c09012SAndroid Build Coastguard Worker// A request to launch a Cloud Dataflow job from a FlexTemplate. 266*d5c09012SAndroid Build Coastguard Workermessage LaunchFlexTemplateRequest { 267*d5c09012SAndroid Build Coastguard Worker // Required. The ID of the Cloud Platform project that the job belongs to. 268*d5c09012SAndroid Build Coastguard Worker string project_id = 1; 269*d5c09012SAndroid Build Coastguard Worker 270*d5c09012SAndroid Build Coastguard Worker // Required. Parameter to launch a job form Flex Template. 271*d5c09012SAndroid Build Coastguard Worker LaunchFlexTemplateParameter launch_parameter = 2; 272*d5c09012SAndroid Build Coastguard Worker 273*d5c09012SAndroid Build Coastguard Worker // Required. The [regional endpoint] 274*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to 275*d5c09012SAndroid Build Coastguard Worker // which to direct the request. E.g., us-central1, us-west1. 276*d5c09012SAndroid Build Coastguard Worker string location = 3; 277*d5c09012SAndroid Build Coastguard Worker 278*d5c09012SAndroid Build Coastguard Worker // If true, the request is validated but not actually executed. 279*d5c09012SAndroid Build Coastguard Worker // Defaults to false. 280*d5c09012SAndroid Build Coastguard Worker bool validate_only = 4; 281*d5c09012SAndroid Build Coastguard Worker} 282*d5c09012SAndroid Build Coastguard Worker 283*d5c09012SAndroid Build Coastguard Worker// The environment values to set at runtime. 284*d5c09012SAndroid Build Coastguard Workermessage RuntimeEnvironment { 285*d5c09012SAndroid Build Coastguard Worker // The initial number of Google Compute Engine instnaces for the job. 286*d5c09012SAndroid Build Coastguard Worker int32 num_workers = 11; 287*d5c09012SAndroid Build Coastguard Worker 288*d5c09012SAndroid Build Coastguard Worker // The maximum number of Google Compute Engine instances to be made 289*d5c09012SAndroid Build Coastguard Worker // available to your pipeline during execution, from 1 to 1000. 290*d5c09012SAndroid Build Coastguard Worker int32 max_workers = 1; 291*d5c09012SAndroid Build Coastguard Worker 292*d5c09012SAndroid Build Coastguard Worker // The Compute Engine [availability 293*d5c09012SAndroid Build Coastguard Worker // zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) 294*d5c09012SAndroid Build Coastguard Worker // for launching worker instances to run your pipeline. 295*d5c09012SAndroid Build Coastguard Worker // In the future, worker_zone will take precedence. 296*d5c09012SAndroid Build Coastguard Worker string zone = 2; 297*d5c09012SAndroid Build Coastguard Worker 298*d5c09012SAndroid Build Coastguard Worker // The email address of the service account to run the job as. 299*d5c09012SAndroid Build Coastguard Worker string service_account_email = 3; 300*d5c09012SAndroid Build Coastguard Worker 301*d5c09012SAndroid Build Coastguard Worker // The Cloud Storage path to use for temporary files. 302*d5c09012SAndroid Build Coastguard Worker // Must be a valid Cloud Storage URL, beginning with `gs://`. 303*d5c09012SAndroid Build Coastguard Worker string temp_location = 4; 304*d5c09012SAndroid Build Coastguard Worker 305*d5c09012SAndroid Build Coastguard Worker // Whether to bypass the safety checks for the job's temporary directory. 306*d5c09012SAndroid Build Coastguard Worker // Use with caution. 307*d5c09012SAndroid Build Coastguard Worker bool bypass_temp_dir_validation = 5; 308*d5c09012SAndroid Build Coastguard Worker 309*d5c09012SAndroid Build Coastguard Worker // The machine type to use for the job. Defaults to the value from the 310*d5c09012SAndroid Build Coastguard Worker // template if not specified. 311*d5c09012SAndroid Build Coastguard Worker string machine_type = 6; 312*d5c09012SAndroid Build Coastguard Worker 313*d5c09012SAndroid Build Coastguard Worker // Additional experiment flags for the job, specified with the 314*d5c09012SAndroid Build Coastguard Worker // `--experiments` option. 315*d5c09012SAndroid Build Coastguard Worker repeated string additional_experiments = 7; 316*d5c09012SAndroid Build Coastguard Worker 317*d5c09012SAndroid Build Coastguard Worker // Network to which VMs will be assigned. If empty or unspecified, 318*d5c09012SAndroid Build Coastguard Worker // the service will use the network "default". 319*d5c09012SAndroid Build Coastguard Worker string network = 8; 320*d5c09012SAndroid Build Coastguard Worker 321*d5c09012SAndroid Build Coastguard Worker // Subnetwork to which VMs will be assigned, if desired. You can specify a 322*d5c09012SAndroid Build Coastguard Worker // subnetwork using either a complete URL or an abbreviated path. Expected to 323*d5c09012SAndroid Build Coastguard Worker // be of the form 324*d5c09012SAndroid Build Coastguard Worker // "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" 325*d5c09012SAndroid Build Coastguard Worker // or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located in 326*d5c09012SAndroid Build Coastguard Worker // a Shared VPC network, you must use the complete URL. 327*d5c09012SAndroid Build Coastguard Worker string subnetwork = 9; 328*d5c09012SAndroid Build Coastguard Worker 329*d5c09012SAndroid Build Coastguard Worker // Additional user labels to be specified for the job. 330*d5c09012SAndroid Build Coastguard Worker // Keys and values should follow the restrictions specified in the [labeling 331*d5c09012SAndroid Build Coastguard Worker // restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) 332*d5c09012SAndroid Build Coastguard Worker // page. 333*d5c09012SAndroid Build Coastguard Worker // An object containing a list of "key": value pairs. 334*d5c09012SAndroid Build Coastguard Worker // Example: { "name": "wrench", "mass": "1kg", "count": "3" }. 335*d5c09012SAndroid Build Coastguard Worker map<string, string> additional_user_labels = 10; 336*d5c09012SAndroid Build Coastguard Worker 337*d5c09012SAndroid Build Coastguard Worker // Name for the Cloud KMS key for the job. 338*d5c09012SAndroid Build Coastguard Worker // Key format is: 339*d5c09012SAndroid Build Coastguard Worker // projects/<project>/locations/<location>/keyRings/<keyring>/cryptoKeys/<key> 340*d5c09012SAndroid Build Coastguard Worker string kms_key_name = 12; 341*d5c09012SAndroid Build Coastguard Worker 342*d5c09012SAndroid Build Coastguard Worker // Configuration for VM IPs. 343*d5c09012SAndroid Build Coastguard Worker WorkerIPAddressConfiguration ip_configuration = 14; 344*d5c09012SAndroid Build Coastguard Worker 345*d5c09012SAndroid Build Coastguard Worker // The Compute Engine region 346*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in 347*d5c09012SAndroid Build Coastguard Worker // which worker processing should occur, e.g. "us-west1". Mutually exclusive 348*d5c09012SAndroid Build Coastguard Worker // with worker_zone. If neither worker_region nor worker_zone is specified, 349*d5c09012SAndroid Build Coastguard Worker // default to the control plane's region. 350*d5c09012SAndroid Build Coastguard Worker string worker_region = 15; 351*d5c09012SAndroid Build Coastguard Worker 352*d5c09012SAndroid Build Coastguard Worker // The Compute Engine zone 353*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in 354*d5c09012SAndroid Build Coastguard Worker // which worker processing should occur, e.g. "us-west1-a". Mutually exclusive 355*d5c09012SAndroid Build Coastguard Worker // with worker_region. If neither worker_region nor worker_zone is specified, 356*d5c09012SAndroid Build Coastguard Worker // a zone in the control plane's region is chosen based on available capacity. 357*d5c09012SAndroid Build Coastguard Worker // If both `worker_zone` and `zone` are set, `worker_zone` takes precedence. 358*d5c09012SAndroid Build Coastguard Worker string worker_zone = 16; 359*d5c09012SAndroid Build Coastguard Worker 360*d5c09012SAndroid Build Coastguard Worker // Whether to enable Streaming Engine for the job. 361*d5c09012SAndroid Build Coastguard Worker bool enable_streaming_engine = 17; 362*d5c09012SAndroid Build Coastguard Worker} 363*d5c09012SAndroid Build Coastguard Worker 364*d5c09012SAndroid Build Coastguard Worker// Metadata for a specific parameter. 365*d5c09012SAndroid Build Coastguard Workermessage ParameterMetadata { 366*d5c09012SAndroid Build Coastguard Worker // Required. The name of the parameter. 367*d5c09012SAndroid Build Coastguard Worker string name = 1; 368*d5c09012SAndroid Build Coastguard Worker 369*d5c09012SAndroid Build Coastguard Worker // Required. The label to display for the parameter. 370*d5c09012SAndroid Build Coastguard Worker string label = 2; 371*d5c09012SAndroid Build Coastguard Worker 372*d5c09012SAndroid Build Coastguard Worker // Required. The help text to display for the parameter. 373*d5c09012SAndroid Build Coastguard Worker string help_text = 3; 374*d5c09012SAndroid Build Coastguard Worker 375*d5c09012SAndroid Build Coastguard Worker // Optional. Whether the parameter is optional. Defaults to false. 376*d5c09012SAndroid Build Coastguard Worker bool is_optional = 4; 377*d5c09012SAndroid Build Coastguard Worker 378*d5c09012SAndroid Build Coastguard Worker // Optional. Regexes that the parameter must match. 379*d5c09012SAndroid Build Coastguard Worker repeated string regexes = 5; 380*d5c09012SAndroid Build Coastguard Worker 381*d5c09012SAndroid Build Coastguard Worker // Optional. The type of the parameter. 382*d5c09012SAndroid Build Coastguard Worker // Used for selecting input picker. 383*d5c09012SAndroid Build Coastguard Worker ParameterType param_type = 6; 384*d5c09012SAndroid Build Coastguard Worker 385*d5c09012SAndroid Build Coastguard Worker // Optional. Additional metadata for describing this parameter. 386*d5c09012SAndroid Build Coastguard Worker map<string, string> custom_metadata = 7; 387*d5c09012SAndroid Build Coastguard Worker} 388*d5c09012SAndroid Build Coastguard Worker 389*d5c09012SAndroid Build Coastguard Worker// ParameterType specifies what kind of input we need for this parameter. 390*d5c09012SAndroid Build Coastguard Workerenum ParameterType { 391*d5c09012SAndroid Build Coastguard Worker // Default input type. 392*d5c09012SAndroid Build Coastguard Worker DEFAULT = 0; 393*d5c09012SAndroid Build Coastguard Worker 394*d5c09012SAndroid Build Coastguard Worker // The parameter specifies generic text input. 395*d5c09012SAndroid Build Coastguard Worker TEXT = 1; 396*d5c09012SAndroid Build Coastguard Worker 397*d5c09012SAndroid Build Coastguard Worker // The parameter specifies a Cloud Storage Bucket to read from. 398*d5c09012SAndroid Build Coastguard Worker GCS_READ_BUCKET = 2; 399*d5c09012SAndroid Build Coastguard Worker 400*d5c09012SAndroid Build Coastguard Worker // The parameter specifies a Cloud Storage Bucket to write to. 401*d5c09012SAndroid Build Coastguard Worker GCS_WRITE_BUCKET = 3; 402*d5c09012SAndroid Build Coastguard Worker 403*d5c09012SAndroid Build Coastguard Worker // The parameter specifies a Cloud Storage file path to read from. 404*d5c09012SAndroid Build Coastguard Worker GCS_READ_FILE = 4; 405*d5c09012SAndroid Build Coastguard Worker 406*d5c09012SAndroid Build Coastguard Worker // The parameter specifies a Cloud Storage file path to write to. 407*d5c09012SAndroid Build Coastguard Worker GCS_WRITE_FILE = 5; 408*d5c09012SAndroid Build Coastguard Worker 409*d5c09012SAndroid Build Coastguard Worker // The parameter specifies a Cloud Storage folder path to read from. 410*d5c09012SAndroid Build Coastguard Worker GCS_READ_FOLDER = 6; 411*d5c09012SAndroid Build Coastguard Worker 412*d5c09012SAndroid Build Coastguard Worker // The parameter specifies a Cloud Storage folder to write to. 413*d5c09012SAndroid Build Coastguard Worker GCS_WRITE_FOLDER = 7; 414*d5c09012SAndroid Build Coastguard Worker 415*d5c09012SAndroid Build Coastguard Worker // The parameter specifies a Pub/Sub Topic. 416*d5c09012SAndroid Build Coastguard Worker PUBSUB_TOPIC = 8; 417*d5c09012SAndroid Build Coastguard Worker 418*d5c09012SAndroid Build Coastguard Worker // The parameter specifies a Pub/Sub Subscription. 419*d5c09012SAndroid Build Coastguard Worker PUBSUB_SUBSCRIPTION = 9; 420*d5c09012SAndroid Build Coastguard Worker} 421*d5c09012SAndroid Build Coastguard Worker 422*d5c09012SAndroid Build Coastguard Worker// Metadata describing a template. 423*d5c09012SAndroid Build Coastguard Workermessage TemplateMetadata { 424*d5c09012SAndroid Build Coastguard Worker // Required. The name of the template. 425*d5c09012SAndroid Build Coastguard Worker string name = 1; 426*d5c09012SAndroid Build Coastguard Worker 427*d5c09012SAndroid Build Coastguard Worker // Optional. A description of the template. 428*d5c09012SAndroid Build Coastguard Worker string description = 2; 429*d5c09012SAndroid Build Coastguard Worker 430*d5c09012SAndroid Build Coastguard Worker // The parameters for the template. 431*d5c09012SAndroid Build Coastguard Worker repeated ParameterMetadata parameters = 3; 432*d5c09012SAndroid Build Coastguard Worker} 433*d5c09012SAndroid Build Coastguard Worker 434*d5c09012SAndroid Build Coastguard Worker// SDK Information. 435*d5c09012SAndroid Build Coastguard Workermessage SDKInfo { 436*d5c09012SAndroid Build Coastguard Worker // SDK Language. 437*d5c09012SAndroid Build Coastguard Worker enum Language { 438*d5c09012SAndroid Build Coastguard Worker // UNKNOWN Language. 439*d5c09012SAndroid Build Coastguard Worker UNKNOWN = 0; 440*d5c09012SAndroid Build Coastguard Worker 441*d5c09012SAndroid Build Coastguard Worker // Java. 442*d5c09012SAndroid Build Coastguard Worker JAVA = 1; 443*d5c09012SAndroid Build Coastguard Worker 444*d5c09012SAndroid Build Coastguard Worker // Python. 445*d5c09012SAndroid Build Coastguard Worker PYTHON = 2; 446*d5c09012SAndroid Build Coastguard Worker } 447*d5c09012SAndroid Build Coastguard Worker 448*d5c09012SAndroid Build Coastguard Worker // Required. The SDK Language. 449*d5c09012SAndroid Build Coastguard Worker Language language = 1; 450*d5c09012SAndroid Build Coastguard Worker 451*d5c09012SAndroid Build Coastguard Worker // Optional. The SDK version. 452*d5c09012SAndroid Build Coastguard Worker string version = 2; 453*d5c09012SAndroid Build Coastguard Worker} 454*d5c09012SAndroid Build Coastguard Worker 455*d5c09012SAndroid Build Coastguard Worker// RuntimeMetadata describing a runtime environment. 456*d5c09012SAndroid Build Coastguard Workermessage RuntimeMetadata { 457*d5c09012SAndroid Build Coastguard Worker // SDK Info for the template. 458*d5c09012SAndroid Build Coastguard Worker SDKInfo sdk_info = 1; 459*d5c09012SAndroid Build Coastguard Worker 460*d5c09012SAndroid Build Coastguard Worker // The parameters for the template. 461*d5c09012SAndroid Build Coastguard Worker repeated ParameterMetadata parameters = 2; 462*d5c09012SAndroid Build Coastguard Worker} 463*d5c09012SAndroid Build Coastguard Worker 464*d5c09012SAndroid Build Coastguard Worker// A request to create a Cloud Dataflow job from a template. 465*d5c09012SAndroid Build Coastguard Workermessage CreateJobFromTemplateRequest { 466*d5c09012SAndroid Build Coastguard Worker // Required. The ID of the Cloud Platform project that the job belongs to. 467*d5c09012SAndroid Build Coastguard Worker string project_id = 1; 468*d5c09012SAndroid Build Coastguard Worker 469*d5c09012SAndroid Build Coastguard Worker // Required. The job name to use for the created job. 470*d5c09012SAndroid Build Coastguard Worker string job_name = 4; 471*d5c09012SAndroid Build Coastguard Worker 472*d5c09012SAndroid Build Coastguard Worker // The template from which to create the job. 473*d5c09012SAndroid Build Coastguard Worker oneof template { 474*d5c09012SAndroid Build Coastguard Worker // Required. A Cloud Storage path to the template from which to 475*d5c09012SAndroid Build Coastguard Worker // create the job. 476*d5c09012SAndroid Build Coastguard Worker // Must be a valid Cloud Storage URL, beginning with `gs://`. 477*d5c09012SAndroid Build Coastguard Worker string gcs_path = 2; 478*d5c09012SAndroid Build Coastguard Worker } 479*d5c09012SAndroid Build Coastguard Worker 480*d5c09012SAndroid Build Coastguard Worker // The runtime parameters to pass to the job. 481*d5c09012SAndroid Build Coastguard Worker map<string, string> parameters = 3; 482*d5c09012SAndroid Build Coastguard Worker 483*d5c09012SAndroid Build Coastguard Worker // The runtime environment for the job. 484*d5c09012SAndroid Build Coastguard Worker RuntimeEnvironment environment = 5; 485*d5c09012SAndroid Build Coastguard Worker 486*d5c09012SAndroid Build Coastguard Worker // The [regional endpoint] 487*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to 488*d5c09012SAndroid Build Coastguard Worker // which to direct the request. 489*d5c09012SAndroid Build Coastguard Worker string location = 6; 490*d5c09012SAndroid Build Coastguard Worker} 491*d5c09012SAndroid Build Coastguard Worker 492*d5c09012SAndroid Build Coastguard Worker// A request to retrieve a Cloud Dataflow job template. 493*d5c09012SAndroid Build Coastguard Workermessage GetTemplateRequest { 494*d5c09012SAndroid Build Coastguard Worker // The various views of a template that may be retrieved. 495*d5c09012SAndroid Build Coastguard Worker enum TemplateView { 496*d5c09012SAndroid Build Coastguard Worker // Template view that retrieves only the metadata associated with the 497*d5c09012SAndroid Build Coastguard Worker // template. 498*d5c09012SAndroid Build Coastguard Worker METADATA_ONLY = 0; 499*d5c09012SAndroid Build Coastguard Worker } 500*d5c09012SAndroid Build Coastguard Worker 501*d5c09012SAndroid Build Coastguard Worker // Required. The ID of the Cloud Platform project that the job belongs to. 502*d5c09012SAndroid Build Coastguard Worker string project_id = 1; 503*d5c09012SAndroid Build Coastguard Worker 504*d5c09012SAndroid Build Coastguard Worker // The template from which to create the job. 505*d5c09012SAndroid Build Coastguard Worker oneof template { 506*d5c09012SAndroid Build Coastguard Worker // Required. A Cloud Storage path to the template from which to 507*d5c09012SAndroid Build Coastguard Worker // create the job. 508*d5c09012SAndroid Build Coastguard Worker // Must be valid Cloud Storage URL, beginning with 'gs://'. 509*d5c09012SAndroid Build Coastguard Worker string gcs_path = 2; 510*d5c09012SAndroid Build Coastguard Worker } 511*d5c09012SAndroid Build Coastguard Worker 512*d5c09012SAndroid Build Coastguard Worker // The view to retrieve. Defaults to METADATA_ONLY. 513*d5c09012SAndroid Build Coastguard Worker TemplateView view = 3; 514*d5c09012SAndroid Build Coastguard Worker 515*d5c09012SAndroid Build Coastguard Worker // The [regional endpoint] 516*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to 517*d5c09012SAndroid Build Coastguard Worker // which to direct the request. 518*d5c09012SAndroid Build Coastguard Worker string location = 4; 519*d5c09012SAndroid Build Coastguard Worker} 520*d5c09012SAndroid Build Coastguard Worker 521*d5c09012SAndroid Build Coastguard Worker// The response to a GetTemplate request. 522*d5c09012SAndroid Build Coastguard Workermessage GetTemplateResponse { 523*d5c09012SAndroid Build Coastguard Worker // Template Type. 524*d5c09012SAndroid Build Coastguard Worker enum TemplateType { 525*d5c09012SAndroid Build Coastguard Worker // Unknown Template Type. 526*d5c09012SAndroid Build Coastguard Worker UNKNOWN = 0; 527*d5c09012SAndroid Build Coastguard Worker 528*d5c09012SAndroid Build Coastguard Worker // Legacy Template. 529*d5c09012SAndroid Build Coastguard Worker LEGACY = 1; 530*d5c09012SAndroid Build Coastguard Worker 531*d5c09012SAndroid Build Coastguard Worker // Flex Template. 532*d5c09012SAndroid Build Coastguard Worker FLEX = 2; 533*d5c09012SAndroid Build Coastguard Worker } 534*d5c09012SAndroid Build Coastguard Worker 535*d5c09012SAndroid Build Coastguard Worker // The status of the get template request. Any problems with the 536*d5c09012SAndroid Build Coastguard Worker // request will be indicated in the error_details. 537*d5c09012SAndroid Build Coastguard Worker google.rpc.Status status = 1; 538*d5c09012SAndroid Build Coastguard Worker 539*d5c09012SAndroid Build Coastguard Worker // The template metadata describing the template name, available 540*d5c09012SAndroid Build Coastguard Worker // parameters, etc. 541*d5c09012SAndroid Build Coastguard Worker TemplateMetadata metadata = 2; 542*d5c09012SAndroid Build Coastguard Worker 543*d5c09012SAndroid Build Coastguard Worker // Template Type. 544*d5c09012SAndroid Build Coastguard Worker TemplateType template_type = 3; 545*d5c09012SAndroid Build Coastguard Worker 546*d5c09012SAndroid Build Coastguard Worker // Describes the runtime metadata with SDKInfo and available parameters. 547*d5c09012SAndroid Build Coastguard Worker RuntimeMetadata runtime_metadata = 4; 548*d5c09012SAndroid Build Coastguard Worker} 549*d5c09012SAndroid Build Coastguard Worker 550*d5c09012SAndroid Build Coastguard Worker// Parameters to provide to the template being launched. 551*d5c09012SAndroid Build Coastguard Workermessage LaunchTemplateParameters { 552*d5c09012SAndroid Build Coastguard Worker // Required. The job name to use for the created job. 553*d5c09012SAndroid Build Coastguard Worker string job_name = 1; 554*d5c09012SAndroid Build Coastguard Worker 555*d5c09012SAndroid Build Coastguard Worker // The runtime parameters to pass to the job. 556*d5c09012SAndroid Build Coastguard Worker map<string, string> parameters = 2; 557*d5c09012SAndroid Build Coastguard Worker 558*d5c09012SAndroid Build Coastguard Worker // The runtime environment for the job. 559*d5c09012SAndroid Build Coastguard Worker RuntimeEnvironment environment = 3; 560*d5c09012SAndroid Build Coastguard Worker 561*d5c09012SAndroid Build Coastguard Worker // If set, replace the existing pipeline with the name specified by jobName 562*d5c09012SAndroid Build Coastguard Worker // with this pipeline, preserving state. 563*d5c09012SAndroid Build Coastguard Worker bool update = 4; 564*d5c09012SAndroid Build Coastguard Worker 565*d5c09012SAndroid Build Coastguard Worker // Only applicable when updating a pipeline. Map of transform name prefixes of 566*d5c09012SAndroid Build Coastguard Worker // the job to be replaced to the corresponding name prefixes of the new job. 567*d5c09012SAndroid Build Coastguard Worker map<string, string> transform_name_mapping = 5; 568*d5c09012SAndroid Build Coastguard Worker} 569*d5c09012SAndroid Build Coastguard Worker 570*d5c09012SAndroid Build Coastguard Worker// A request to launch a template. 571*d5c09012SAndroid Build Coastguard Workermessage LaunchTemplateRequest { 572*d5c09012SAndroid Build Coastguard Worker // Required. The ID of the Cloud Platform project that the job belongs to. 573*d5c09012SAndroid Build Coastguard Worker string project_id = 1; 574*d5c09012SAndroid Build Coastguard Worker 575*d5c09012SAndroid Build Coastguard Worker // If true, the request is validated but not actually executed. 576*d5c09012SAndroid Build Coastguard Worker // Defaults to false. 577*d5c09012SAndroid Build Coastguard Worker bool validate_only = 2; 578*d5c09012SAndroid Build Coastguard Worker 579*d5c09012SAndroid Build Coastguard Worker // The template from which to create the job. 580*d5c09012SAndroid Build Coastguard Worker oneof template { 581*d5c09012SAndroid Build Coastguard Worker // A Cloud Storage path to the template from which to create 582*d5c09012SAndroid Build Coastguard Worker // the job. 583*d5c09012SAndroid Build Coastguard Worker // Must be valid Cloud Storage URL, beginning with 'gs://'. 584*d5c09012SAndroid Build Coastguard Worker string gcs_path = 3; 585*d5c09012SAndroid Build Coastguard Worker 586*d5c09012SAndroid Build Coastguard Worker // Params for launching a dynamic template. 587*d5c09012SAndroid Build Coastguard Worker DynamicTemplateLaunchParams dynamic_template = 6; 588*d5c09012SAndroid Build Coastguard Worker } 589*d5c09012SAndroid Build Coastguard Worker 590*d5c09012SAndroid Build Coastguard Worker // The parameters of the template to launch. This should be part of the 591*d5c09012SAndroid Build Coastguard Worker // body of the POST request. 592*d5c09012SAndroid Build Coastguard Worker LaunchTemplateParameters launch_parameters = 4; 593*d5c09012SAndroid Build Coastguard Worker 594*d5c09012SAndroid Build Coastguard Worker // The [regional endpoint] 595*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to 596*d5c09012SAndroid Build Coastguard Worker // which to direct the request. 597*d5c09012SAndroid Build Coastguard Worker string location = 5; 598*d5c09012SAndroid Build Coastguard Worker} 599*d5c09012SAndroid Build Coastguard Worker 600*d5c09012SAndroid Build Coastguard Worker// Response to the request to launch a template. 601*d5c09012SAndroid Build Coastguard Workermessage LaunchTemplateResponse { 602*d5c09012SAndroid Build Coastguard Worker // The job that was launched, if the request was not a dry run and 603*d5c09012SAndroid Build Coastguard Worker // the job was successfully launched. 604*d5c09012SAndroid Build Coastguard Worker Job job = 1; 605*d5c09012SAndroid Build Coastguard Worker} 606*d5c09012SAndroid Build Coastguard Worker 607*d5c09012SAndroid Build Coastguard Worker// Used in the error_details field of a google.rpc.Status message, this 608*d5c09012SAndroid Build Coastguard Worker// indicates problems with the template parameter. 609*d5c09012SAndroid Build Coastguard Workermessage InvalidTemplateParameters { 610*d5c09012SAndroid Build Coastguard Worker // A specific template-parameter violation. 611*d5c09012SAndroid Build Coastguard Worker message ParameterViolation { 612*d5c09012SAndroid Build Coastguard Worker // The parameter that failed to validate. 613*d5c09012SAndroid Build Coastguard Worker string parameter = 1; 614*d5c09012SAndroid Build Coastguard Worker 615*d5c09012SAndroid Build Coastguard Worker // A description of why the parameter failed to validate. 616*d5c09012SAndroid Build Coastguard Worker string description = 2; 617*d5c09012SAndroid Build Coastguard Worker } 618*d5c09012SAndroid Build Coastguard Worker 619*d5c09012SAndroid Build Coastguard Worker // Describes all parameter violations in a template request. 620*d5c09012SAndroid Build Coastguard Worker repeated ParameterViolation parameter_violations = 1; 621*d5c09012SAndroid Build Coastguard Worker} 622*d5c09012SAndroid Build Coastguard Worker 623*d5c09012SAndroid Build Coastguard Worker// Params which should be passed when launching a dynamic template. 624*d5c09012SAndroid Build Coastguard Workermessage DynamicTemplateLaunchParams { 625*d5c09012SAndroid Build Coastguard Worker // Path to dynamic template spec file on Cloud Storage. 626*d5c09012SAndroid Build Coastguard Worker // The file must be a Json serialized DynamicTemplateFieSpec object. 627*d5c09012SAndroid Build Coastguard Worker string gcs_path = 1; 628*d5c09012SAndroid Build Coastguard Worker 629*d5c09012SAndroid Build Coastguard Worker // Cloud Storage path for staging dependencies. 630*d5c09012SAndroid Build Coastguard Worker // Must be a valid Cloud Storage URL, beginning with `gs://`. 631*d5c09012SAndroid Build Coastguard Worker string staging_location = 2; 632*d5c09012SAndroid Build Coastguard Worker} 633