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/protobuf/struct.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 23*d5c09012SAndroid Build Coastguard Worker 24*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Dataflow.V1Beta3"; 25*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dataflow/apiv1beta3/dataflowpb;dataflowpb"; 26*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 27*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "MessagesProto"; 28*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.dataflow.v1beta3"; 29*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Dataflow\\V1beta3"; 30*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Dataflow::V1beta3"; 31*d5c09012SAndroid Build Coastguard Worker 32*d5c09012SAndroid Build Coastguard Worker// The Dataflow Messages API is used for monitoring the progress of 33*d5c09012SAndroid Build Coastguard Worker// Dataflow jobs. 34*d5c09012SAndroid Build Coastguard Workerservice MessagesV1Beta3 { 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 // Request the job status. 43*d5c09012SAndroid Build Coastguard Worker // 44*d5c09012SAndroid Build Coastguard Worker // To request the status of a job, we recommend using 45*d5c09012SAndroid Build Coastguard Worker // `projects.locations.jobs.messages.list` with a [regional endpoint] 46*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using 47*d5c09012SAndroid Build Coastguard Worker // `projects.jobs.messages.list` is not recommended, as you can only request 48*d5c09012SAndroid Build Coastguard Worker // the status of jobs that are running in `us-central1`. 49*d5c09012SAndroid Build Coastguard Worker rpc ListJobMessages(ListJobMessagesRequest) returns (ListJobMessagesResponse) { 50*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 51*d5c09012SAndroid Build Coastguard Worker get: "/v1b3/projects/{project_id}/locations/{location}/jobs/{job_id}/messages" 52*d5c09012SAndroid Build Coastguard Worker additional_bindings { 53*d5c09012SAndroid Build Coastguard Worker get: "/v1b3/projects/{project_id}/jobs/{job_id}/messages" 54*d5c09012SAndroid Build Coastguard Worker } 55*d5c09012SAndroid Build Coastguard Worker }; 56*d5c09012SAndroid Build Coastguard Worker } 57*d5c09012SAndroid Build Coastguard Worker} 58*d5c09012SAndroid Build Coastguard Worker 59*d5c09012SAndroid Build Coastguard Worker// A particular message pertaining to a Dataflow job. 60*d5c09012SAndroid Build Coastguard Workermessage JobMessage { 61*d5c09012SAndroid Build Coastguard Worker // Deprecated. 62*d5c09012SAndroid Build Coastguard Worker string id = 1; 63*d5c09012SAndroid Build Coastguard Worker 64*d5c09012SAndroid Build Coastguard Worker // The timestamp of the message. 65*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp time = 2; 66*d5c09012SAndroid Build Coastguard Worker 67*d5c09012SAndroid Build Coastguard Worker // The text of the message. 68*d5c09012SAndroid Build Coastguard Worker string message_text = 3; 69*d5c09012SAndroid Build Coastguard Worker 70*d5c09012SAndroid Build Coastguard Worker // Importance level of the message. 71*d5c09012SAndroid Build Coastguard Worker JobMessageImportance message_importance = 4; 72*d5c09012SAndroid Build Coastguard Worker} 73*d5c09012SAndroid Build Coastguard Worker 74*d5c09012SAndroid Build Coastguard Worker// Indicates the importance of the message. 75*d5c09012SAndroid Build Coastguard Workerenum JobMessageImportance { 76*d5c09012SAndroid Build Coastguard Worker // The message importance isn't specified, or is unknown. 77*d5c09012SAndroid Build Coastguard Worker JOB_MESSAGE_IMPORTANCE_UNKNOWN = 0; 78*d5c09012SAndroid Build Coastguard Worker 79*d5c09012SAndroid Build Coastguard Worker // The message is at the 'debug' level: typically only useful for 80*d5c09012SAndroid Build Coastguard Worker // software engineers working on the code the job is running. 81*d5c09012SAndroid Build Coastguard Worker // Typically, Dataflow pipeline runners do not display log messages 82*d5c09012SAndroid Build Coastguard Worker // at this level by default. 83*d5c09012SAndroid Build Coastguard Worker JOB_MESSAGE_DEBUG = 1; 84*d5c09012SAndroid Build Coastguard Worker 85*d5c09012SAndroid Build Coastguard Worker // The message is at the 'detailed' level: somewhat verbose, but 86*d5c09012SAndroid Build Coastguard Worker // potentially useful to users. Typically, Dataflow pipeline 87*d5c09012SAndroid Build Coastguard Worker // runners do not display log messages at this level by default. 88*d5c09012SAndroid Build Coastguard Worker // These messages are displayed by default in the Dataflow 89*d5c09012SAndroid Build Coastguard Worker // monitoring UI. 90*d5c09012SAndroid Build Coastguard Worker JOB_MESSAGE_DETAILED = 2; 91*d5c09012SAndroid Build Coastguard Worker 92*d5c09012SAndroid Build Coastguard Worker // The message is at the 'basic' level: useful for keeping 93*d5c09012SAndroid Build Coastguard Worker // track of the execution of a Dataflow pipeline. Typically, 94*d5c09012SAndroid Build Coastguard Worker // Dataflow pipeline runners display log messages at this level by 95*d5c09012SAndroid Build Coastguard Worker // default, and these messages are displayed by default in the 96*d5c09012SAndroid Build Coastguard Worker // Dataflow monitoring UI. 97*d5c09012SAndroid Build Coastguard Worker JOB_MESSAGE_BASIC = 5; 98*d5c09012SAndroid Build Coastguard Worker 99*d5c09012SAndroid Build Coastguard Worker // The message is at the 'warning' level: indicating a condition 100*d5c09012SAndroid Build Coastguard Worker // pertaining to a job which may require human intervention. 101*d5c09012SAndroid Build Coastguard Worker // Typically, Dataflow pipeline runners display log messages at this 102*d5c09012SAndroid Build Coastguard Worker // level by default, and these messages are displayed by default in 103*d5c09012SAndroid Build Coastguard Worker // the Dataflow monitoring UI. 104*d5c09012SAndroid Build Coastguard Worker JOB_MESSAGE_WARNING = 3; 105*d5c09012SAndroid Build Coastguard Worker 106*d5c09012SAndroid Build Coastguard Worker // The message is at the 'error' level: indicating a condition 107*d5c09012SAndroid Build Coastguard Worker // preventing a job from succeeding. Typically, Dataflow pipeline 108*d5c09012SAndroid Build Coastguard Worker // runners display log messages at this level by default, and these 109*d5c09012SAndroid Build Coastguard Worker // messages are displayed by default in the Dataflow monitoring UI. 110*d5c09012SAndroid Build Coastguard Worker JOB_MESSAGE_ERROR = 4; 111*d5c09012SAndroid Build Coastguard Worker} 112*d5c09012SAndroid Build Coastguard Worker 113*d5c09012SAndroid Build Coastguard Worker// A rich message format, including a human readable string, a key for 114*d5c09012SAndroid Build Coastguard Worker// identifying the message, and structured data associated with the message for 115*d5c09012SAndroid Build Coastguard Worker// programmatic consumption. 116*d5c09012SAndroid Build Coastguard Workermessage StructuredMessage { 117*d5c09012SAndroid Build Coastguard Worker // Structured data associated with this message. 118*d5c09012SAndroid Build Coastguard Worker message Parameter { 119*d5c09012SAndroid Build Coastguard Worker // Key or name for this parameter. 120*d5c09012SAndroid Build Coastguard Worker string key = 1; 121*d5c09012SAndroid Build Coastguard Worker 122*d5c09012SAndroid Build Coastguard Worker // Value for this parameter. 123*d5c09012SAndroid Build Coastguard Worker google.protobuf.Value value = 2; 124*d5c09012SAndroid Build Coastguard Worker } 125*d5c09012SAndroid Build Coastguard Worker 126*d5c09012SAndroid Build Coastguard Worker // Human-readable version of message. 127*d5c09012SAndroid Build Coastguard Worker string message_text = 1; 128*d5c09012SAndroid Build Coastguard Worker 129*d5c09012SAndroid Build Coastguard Worker // Identifier for this message type. Used by external systems to 130*d5c09012SAndroid Build Coastguard Worker // internationalize or personalize message. 131*d5c09012SAndroid Build Coastguard Worker string message_key = 2; 132*d5c09012SAndroid Build Coastguard Worker 133*d5c09012SAndroid Build Coastguard Worker // The structured data associated with this message. 134*d5c09012SAndroid Build Coastguard Worker repeated Parameter parameters = 3; 135*d5c09012SAndroid Build Coastguard Worker} 136*d5c09012SAndroid Build Coastguard Worker 137*d5c09012SAndroid Build Coastguard Worker// A structured message reporting an autoscaling decision made by the Dataflow 138*d5c09012SAndroid Build Coastguard Worker// service. 139*d5c09012SAndroid Build Coastguard Workermessage AutoscalingEvent { 140*d5c09012SAndroid Build Coastguard Worker // Indicates the type of autoscaling event. 141*d5c09012SAndroid Build Coastguard Worker enum AutoscalingEventType { 142*d5c09012SAndroid Build Coastguard Worker // Default type for the enum. Value should never be returned. 143*d5c09012SAndroid Build Coastguard Worker TYPE_UNKNOWN = 0; 144*d5c09012SAndroid Build Coastguard Worker 145*d5c09012SAndroid Build Coastguard Worker // The TARGET_NUM_WORKERS_CHANGED type should be used when the target 146*d5c09012SAndroid Build Coastguard Worker // worker pool size has changed at the start of an actuation. An event 147*d5c09012SAndroid Build Coastguard Worker // should always be specified as TARGET_NUM_WORKERS_CHANGED if it reflects 148*d5c09012SAndroid Build Coastguard Worker // a change in the target_num_workers. 149*d5c09012SAndroid Build Coastguard Worker TARGET_NUM_WORKERS_CHANGED = 1; 150*d5c09012SAndroid Build Coastguard Worker 151*d5c09012SAndroid Build Coastguard Worker // The CURRENT_NUM_WORKERS_CHANGED type should be used when actual worker 152*d5c09012SAndroid Build Coastguard Worker // pool size has been changed, but the target_num_workers has not changed. 153*d5c09012SAndroid Build Coastguard Worker CURRENT_NUM_WORKERS_CHANGED = 2; 154*d5c09012SAndroid Build Coastguard Worker 155*d5c09012SAndroid Build Coastguard Worker // The ACTUATION_FAILURE type should be used when we want to report 156*d5c09012SAndroid Build Coastguard Worker // an error to the user indicating why the current number of workers 157*d5c09012SAndroid Build Coastguard Worker // in the pool could not be changed. 158*d5c09012SAndroid Build Coastguard Worker // Displayed in the current status and history widgets. 159*d5c09012SAndroid Build Coastguard Worker ACTUATION_FAILURE = 3; 160*d5c09012SAndroid Build Coastguard Worker 161*d5c09012SAndroid Build Coastguard Worker // Used when we want to report to the user a reason why we are 162*d5c09012SAndroid Build Coastguard Worker // not currently adjusting the number of workers. 163*d5c09012SAndroid Build Coastguard Worker // Should specify both target_num_workers, current_num_workers and a 164*d5c09012SAndroid Build Coastguard Worker // decision_message. 165*d5c09012SAndroid Build Coastguard Worker NO_CHANGE = 4; 166*d5c09012SAndroid Build Coastguard Worker } 167*d5c09012SAndroid Build Coastguard Worker 168*d5c09012SAndroid Build Coastguard Worker // The current number of workers the job has. 169*d5c09012SAndroid Build Coastguard Worker int64 current_num_workers = 1; 170*d5c09012SAndroid Build Coastguard Worker 171*d5c09012SAndroid Build Coastguard Worker // The target number of workers the worker pool wants to resize to use. 172*d5c09012SAndroid Build Coastguard Worker int64 target_num_workers = 2; 173*d5c09012SAndroid Build Coastguard Worker 174*d5c09012SAndroid Build Coastguard Worker // The type of autoscaling event to report. 175*d5c09012SAndroid Build Coastguard Worker AutoscalingEventType event_type = 3; 176*d5c09012SAndroid Build Coastguard Worker 177*d5c09012SAndroid Build Coastguard Worker // A message describing why the system decided to adjust the current 178*d5c09012SAndroid Build Coastguard Worker // number of workers, why it failed, or why the system decided to 179*d5c09012SAndroid Build Coastguard Worker // not make any changes to the number of workers. 180*d5c09012SAndroid Build Coastguard Worker StructuredMessage description = 4; 181*d5c09012SAndroid Build Coastguard Worker 182*d5c09012SAndroid Build Coastguard Worker // The time this event was emitted to indicate a new target or current 183*d5c09012SAndroid Build Coastguard Worker // num_workers value. 184*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp time = 5; 185*d5c09012SAndroid Build Coastguard Worker 186*d5c09012SAndroid Build Coastguard Worker // A short and friendly name for the worker pool this event refers to. 187*d5c09012SAndroid Build Coastguard Worker string worker_pool = 7; 188*d5c09012SAndroid Build Coastguard Worker} 189*d5c09012SAndroid Build Coastguard Worker 190*d5c09012SAndroid Build Coastguard Worker// Request to list job messages. 191*d5c09012SAndroid Build Coastguard Worker// Up to max_results messages will be returned in the time range specified 192*d5c09012SAndroid Build Coastguard Worker// starting with the oldest messages first. If no time range is specified 193*d5c09012SAndroid Build Coastguard Worker// the results with start with the oldest message. 194*d5c09012SAndroid Build Coastguard Workermessage ListJobMessagesRequest { 195*d5c09012SAndroid Build Coastguard Worker // A project id. 196*d5c09012SAndroid Build Coastguard Worker string project_id = 1; 197*d5c09012SAndroid Build Coastguard Worker 198*d5c09012SAndroid Build Coastguard Worker // The job to get messages about. 199*d5c09012SAndroid Build Coastguard Worker string job_id = 2; 200*d5c09012SAndroid Build Coastguard Worker 201*d5c09012SAndroid Build Coastguard Worker // Filter to only get messages with importance >= level 202*d5c09012SAndroid Build Coastguard Worker JobMessageImportance minimum_importance = 3; 203*d5c09012SAndroid Build Coastguard Worker 204*d5c09012SAndroid Build Coastguard Worker // If specified, determines the maximum number of messages to 205*d5c09012SAndroid Build Coastguard Worker // return. If unspecified, the service may choose an appropriate 206*d5c09012SAndroid Build Coastguard Worker // default, or may return an arbitrarily large number of results. 207*d5c09012SAndroid Build Coastguard Worker int32 page_size = 4; 208*d5c09012SAndroid Build Coastguard Worker 209*d5c09012SAndroid Build Coastguard Worker // If supplied, this should be the value of next_page_token returned 210*d5c09012SAndroid Build Coastguard Worker // by an earlier call. This will cause the next page of results to 211*d5c09012SAndroid Build Coastguard Worker // be returned. 212*d5c09012SAndroid Build Coastguard Worker string page_token = 5; 213*d5c09012SAndroid Build Coastguard Worker 214*d5c09012SAndroid Build Coastguard Worker // If specified, return only messages with timestamps >= start_time. 215*d5c09012SAndroid Build Coastguard Worker // The default is the job creation time (i.e. beginning of messages). 216*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 6; 217*d5c09012SAndroid Build Coastguard Worker 218*d5c09012SAndroid Build Coastguard Worker // Return only messages with timestamps < end_time. The default is now 219*d5c09012SAndroid Build Coastguard Worker // (i.e. return up to the latest messages available). 220*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 7; 221*d5c09012SAndroid Build Coastguard Worker 222*d5c09012SAndroid Build Coastguard Worker // The [regional endpoint] 223*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that 224*d5c09012SAndroid Build Coastguard Worker // contains the job specified by job_id. 225*d5c09012SAndroid Build Coastguard Worker string location = 8; 226*d5c09012SAndroid Build Coastguard Worker} 227*d5c09012SAndroid Build Coastguard Worker 228*d5c09012SAndroid Build Coastguard Worker// Response to a request to list job messages. 229*d5c09012SAndroid Build Coastguard Workermessage ListJobMessagesResponse { 230*d5c09012SAndroid Build Coastguard Worker // Messages in ascending timestamp order. 231*d5c09012SAndroid Build Coastguard Worker repeated JobMessage job_messages = 1; 232*d5c09012SAndroid Build Coastguard Worker 233*d5c09012SAndroid Build Coastguard Worker // The token to obtain the next page of results if there are more. 234*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 235*d5c09012SAndroid Build Coastguard Worker 236*d5c09012SAndroid Build Coastguard Worker // Autoscaling events in ascending timestamp order. 237*d5c09012SAndroid Build Coastguard Worker repeated AutoscalingEvent autoscaling_events = 3; 238*d5c09012SAndroid Build Coastguard Worker} 239