You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
614 lines
20 KiB
614 lines
20 KiB
6 years ago
|
// Copyright 2017 Google Inc.
|
||
|
//
|
||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
// you may not use this file except in compliance with the License.
|
||
|
// You may obtain a copy of the License at
|
||
|
//
|
||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||
|
//
|
||
|
// Unless required by applicable law or agreed to in writing, software
|
||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
// See the License for the specific language governing permissions and
|
||
|
// limitations under the License.
|
||
|
|
||
|
syntax = "proto3";
|
||
|
|
||
|
package google.cloud.ml.v1;
|
||
|
|
||
|
import "google/api/annotations.proto";
|
||
|
import "google/api/auth.proto";
|
||
|
import "google/protobuf/empty.proto";
|
||
|
import "google/protobuf/timestamp.proto";
|
||
|
|
||
|
option go_package = "google.golang.org/genproto/googleapis/cloud/ml/v1;ml";
|
||
|
option java_multiple_files = true;
|
||
|
option java_outer_classname = "JobServiceProto";
|
||
|
option java_package = "com.google.cloud.ml.api.v1";
|
||
|
|
||
|
// Copyright 2017 Google Inc. All Rights Reserved.
|
||
|
//
|
||
|
// Proto file for the Google Cloud Machine Learning Engine.
|
||
|
// Describes the 'job service' to manage training and prediction jobs.
|
||
|
|
||
|
// Service to create and manage training and batch prediction jobs.
|
||
|
service JobService {
|
||
|
// Creates a training or a batch prediction job.
|
||
|
rpc CreateJob(CreateJobRequest) returns (Job) {
|
||
|
option (google.api.http) = {
|
||
|
post: "/v1/{parent=projects/*}/jobs"
|
||
|
body: "job"
|
||
|
};
|
||
|
}
|
||
|
|
||
|
// Lists the jobs in the project.
|
||
|
rpc ListJobs(ListJobsRequest) returns (ListJobsResponse) {
|
||
|
option (google.api.http) = {
|
||
|
get: "/v1/{parent=projects/*}/jobs"
|
||
|
};
|
||
|
}
|
||
|
|
||
|
// Describes a job.
|
||
|
rpc GetJob(GetJobRequest) returns (Job) {
|
||
|
option (google.api.http) = {
|
||
|
get: "/v1/{name=projects/*/jobs/*}"
|
||
|
};
|
||
|
}
|
||
|
|
||
|
// Cancels a running job.
|
||
|
rpc CancelJob(CancelJobRequest) returns (google.protobuf.Empty) {
|
||
|
option (google.api.http) = {
|
||
|
post: "/v1/{name=projects/*/jobs/*}:cancel"
|
||
|
body: "*"
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Represents input parameters for a training job.
|
||
|
message TrainingInput {
|
||
|
// A scale tier is an abstract representation of the resources Cloud ML
|
||
|
// will allocate to a training job. When selecting a scale tier for your
|
||
|
// training job, you should consider the size of your training dataset and
|
||
|
// the complexity of your model. As the tiers increase, virtual machines are
|
||
|
// added to handle your job, and the individual machines in the cluster
|
||
|
// generally have more memory and greater processing power than they do at
|
||
|
// lower tiers. The number of training units charged per hour of processing
|
||
|
// increases as tiers get more advanced. Refer to the
|
||
|
// [pricing guide](/ml/pricing) for more details. Note that in addition to
|
||
|
// incurring costs, your use of training resources is constrained by the
|
||
|
// [quota policy](/ml/quota).
|
||
|
enum ScaleTier {
|
||
|
// A single worker instance. This tier is suitable for learning how to use
|
||
|
// Cloud ML, and for experimenting with new models using small datasets.
|
||
|
BASIC = 0;
|
||
|
|
||
|
// Many workers and a few parameter servers.
|
||
|
STANDARD_1 = 1;
|
||
|
|
||
|
// A large number of workers with many parameter servers.
|
||
|
PREMIUM_1 = 3;
|
||
|
|
||
|
// A single worker instance [with a GPU](ml/docs/how-tos/using-gpus).
|
||
|
BASIC_GPU = 6;
|
||
|
|
||
|
// The CUSTOM tier is not a set tier, but rather enables you to use your
|
||
|
// own cluster specification. When you use this tier, set values to
|
||
|
// configure your processing cluster according to these guidelines:
|
||
|
//
|
||
|
// * You _must_ set `TrainingInput.masterType` to specify the type
|
||
|
// of machine to use for your master node. This is the only required
|
||
|
// setting.
|
||
|
//
|
||
|
// * You _may_ set `TrainingInput.workerCount` to specify the number of
|
||
|
// workers to use. If you specify one or more workers, you _must_ also
|
||
|
// set `TrainingInput.workerType` to specify the type of machine to use
|
||
|
// for your worker nodes.
|
||
|
//
|
||
|
// * You _may_ set `TrainingInput.parameterServerCount` to specify the
|
||
|
// number of parameter servers to use. If you specify one or more
|
||
|
// parameter servers, you _must_ also set
|
||
|
// `TrainingInput.parameterServerType` to specify the type of machine to
|
||
|
// use for your parameter servers.
|
||
|
//
|
||
|
// Note that all of your workers must use the same machine type, which can
|
||
|
// be different from your parameter server type and master type. Your
|
||
|
// parameter servers must likewise use the same machine type, which can be
|
||
|
// different from your worker type and master type.
|
||
|
CUSTOM = 5;
|
||
|
}
|
||
|
|
||
|
// Required. Specifies the machine types, the number of replicas for workers
|
||
|
// and parameter servers.
|
||
|
ScaleTier scale_tier = 1;
|
||
|
|
||
|
// Optional. Specifies the type of virtual machine to use for your training
|
||
|
// job's master worker.
|
||
|
//
|
||
|
// The following types are supported:
|
||
|
//
|
||
|
// <dl>
|
||
|
// <dt>standard</dt>
|
||
|
// <dd>
|
||
|
// A basic machine configuration suitable for training simple models with
|
||
|
// small to moderate datasets.
|
||
|
// </dd>
|
||
|
// <dt>large_model</dt>
|
||
|
// <dd>
|
||
|
// A machine with a lot of memory, specially suited for parameter servers
|
||
|
// when your model is large (having many hidden layers or layers with very
|
||
|
// large numbers of nodes).
|
||
|
// </dd>
|
||
|
// <dt>complex_model_s</dt>
|
||
|
// <dd>
|
||
|
// A machine suitable for the master and workers of the cluster when your
|
||
|
// model requires more computation than the standard machine can handle
|
||
|
// satisfactorily.
|
||
|
// </dd>
|
||
|
// <dt>complex_model_m</dt>
|
||
|
// <dd>
|
||
|
// A machine with roughly twice the number of cores and roughly double the
|
||
|
// memory of <code suppresswarning="true">complex_model_s</code>.
|
||
|
// </dd>
|
||
|
// <dt>complex_model_l</dt>
|
||
|
// <dd>
|
||
|
// A machine with roughly twice the number of cores and roughly double the
|
||
|
// memory of <code suppresswarning="true">complex_model_m</code>.
|
||
|
// </dd>
|
||
|
// <dt>standard_gpu</dt>
|
||
|
// <dd>
|
||
|
// A machine equivalent to <code suppresswarning="true">standard</code> that
|
||
|
// also includes a
|
||
|
// <a href="ml/docs/how-tos/using-gpus">
|
||
|
// GPU that you can use in your trainer</a>.
|
||
|
// </dd>
|
||
|
// <dt>complex_model_m_gpu</dt>
|
||
|
// <dd>
|
||
|
// A machine equivalent to
|
||
|
// <code suppresswarning="true">coplex_model_m</code> that also includes
|
||
|
// four GPUs.
|
||
|
// </dd>
|
||
|
// </dl>
|
||
|
//
|
||
|
// You must set this value when `scaleTier` is set to `CUSTOM`.
|
||
|
string master_type = 2;
|
||
|
|
||
|
// Optional. Specifies the type of virtual machine to use for your training
|
||
|
// job's worker nodes.
|
||
|
//
|
||
|
// The supported values are the same as those described in the entry for
|
||
|
// `masterType`.
|
||
|
//
|
||
|
// This value must be present when `scaleTier` is set to `CUSTOM` and
|
||
|
// `workerCount` is greater than zero.
|
||
|
string worker_type = 3;
|
||
|
|
||
|
// Optional. Specifies the type of virtual machine to use for your training
|
||
|
// job's parameter server.
|
||
|
//
|
||
|
// The supported values are the same as those described in the entry for
|
||
|
// `master_type`.
|
||
|
//
|
||
|
// This value must be present when `scaleTier` is set to `CUSTOM` and
|
||
|
// `parameter_server_count` is greater than zero.
|
||
|
string parameter_server_type = 4;
|
||
|
|
||
|
// Optional. The number of worker replicas to use for the training job. Each
|
||
|
// replica in the cluster will be of the type specified in `worker_type`.
|
||
|
//
|
||
|
// This value can only be used when `scale_tier` is set to `CUSTOM`. If you
|
||
|
// set this value, you must also set `worker_type`.
|
||
|
int64 worker_count = 5;
|
||
|
|
||
|
// Optional. The number of parameter server replicas to use for the training
|
||
|
// job. Each replica in the cluster will be of the type specified in
|
||
|
// `parameter_server_type`.
|
||
|
//
|
||
|
// This value can only be used when `scale_tier` is set to `CUSTOM`.If you
|
||
|
// set this value, you must also set `parameter_server_type`.
|
||
|
int64 parameter_server_count = 6;
|
||
|
|
||
|
// Required. The Google Cloud Storage location of the packages with
|
||
|
// the training program and any additional dependencies.
|
||
|
repeated string package_uris = 7;
|
||
|
|
||
|
// Required. The Python module name to run after installing the packages.
|
||
|
string python_module = 8;
|
||
|
|
||
|
// Optional. Command line arguments to pass to the program.
|
||
|
repeated string args = 10;
|
||
|
|
||
|
// Optional. The set of Hyperparameters to tune.
|
||
|
HyperparameterSpec hyperparameters = 12;
|
||
|
|
||
|
// Required. The Google Compute Engine region to run the training job in.
|
||
|
string region = 14;
|
||
|
|
||
|
// Optional. A Google Cloud Storage path in which to store training outputs
|
||
|
// and other data needed for training. This path is passed to your TensorFlow
|
||
|
// program as the 'job_dir' command-line argument. The benefit of specifying
|
||
|
// this field is that Cloud ML validates the path for use in training.
|
||
|
string job_dir = 16;
|
||
|
|
||
|
// Optional. The Google Cloud ML runtime version to use for training. If not
|
||
|
// set, Google Cloud ML will choose the latest stable version.
|
||
|
string runtime_version = 15;
|
||
|
}
|
||
|
|
||
|
// Represents a set of hyperparameters to optimize.
|
||
|
message HyperparameterSpec {
|
||
|
// The available types of optimization goals.
|
||
|
enum GoalType {
|
||
|
// Goal Type will default to maximize.
|
||
|
GOAL_TYPE_UNSPECIFIED = 0;
|
||
|
|
||
|
// Maximize the goal metric.
|
||
|
MAXIMIZE = 1;
|
||
|
|
||
|
// Minimize the goal metric.
|
||
|
MINIMIZE = 2;
|
||
|
}
|
||
|
|
||
|
// Required. The type of goal to use for tuning. Available types are
|
||
|
// `MAXIMIZE` and `MINIMIZE`.
|
||
|
//
|
||
|
// Defaults to `MAXIMIZE`.
|
||
|
GoalType goal = 1;
|
||
|
|
||
|
// Required. The set of parameters to tune.
|
||
|
repeated ParameterSpec params = 2;
|
||
|
|
||
|
// Optional. How many training trials should be attempted to optimize
|
||
|
// the specified hyperparameters.
|
||
|
//
|
||
|
// Defaults to one.
|
||
|
int32 max_trials = 3;
|
||
|
|
||
|
// Optional. The number of training trials to run concurrently.
|
||
|
// You can reduce the time it takes to perform hyperparameter tuning by adding
|
||
|
// trials in parallel. However, each trail only benefits from the information
|
||
|
// gained in completed trials. That means that a trial does not get access to
|
||
|
// the results of trials running at the same time, which could reduce the
|
||
|
// quality of the overall optimization.
|
||
|
//
|
||
|
// Each trial will use the same scale tier and machine types.
|
||
|
//
|
||
|
// Defaults to one.
|
||
|
int32 max_parallel_trials = 4;
|
||
|
|
||
|
// Optional. The Tensorflow summary tag name to use for optimizing trials. For
|
||
|
// current versions of Tensorflow, this tag name should exactly match what is
|
||
|
// shown in Tensorboard, including all scopes. For versions of Tensorflow
|
||
|
// prior to 0.12, this should be only the tag passed to tf.Summary.
|
||
|
// By default, "training/hptuning/metric" will be used.
|
||
|
string hyperparameter_metric_tag = 5;
|
||
|
}
|
||
|
|
||
|
// Represents a single hyperparameter to optimize.
|
||
|
message ParameterSpec {
|
||
|
// The type of the parameter.
|
||
|
enum ParameterType {
|
||
|
// You must specify a valid type. Using this unspecified type will result in
|
||
|
// an error.
|
||
|
PARAMETER_TYPE_UNSPECIFIED = 0;
|
||
|
|
||
|
// Type for real-valued parameters.
|
||
|
DOUBLE = 1;
|
||
|
|
||
|
// Type for integral parameters.
|
||
|
INTEGER = 2;
|
||
|
|
||
|
// The parameter is categorical, with a value chosen from the categories
|
||
|
// field.
|
||
|
CATEGORICAL = 3;
|
||
|
|
||
|
// The parameter is real valued, with a fixed set of feasible points. If
|
||
|
// `type==DISCRETE`, feasible_points must be provided, and
|
||
|
// {`min_value`, `max_value`} will be ignored.
|
||
|
DISCRETE = 4;
|
||
|
}
|
||
|
|
||
|
// The type of scaling that should be applied to this parameter.
|
||
|
enum ScaleType {
|
||
|
// By default, no scaling is applied.
|
||
|
NONE = 0;
|
||
|
|
||
|
// Scales the feasible space to (0, 1) linearly.
|
||
|
UNIT_LINEAR_SCALE = 1;
|
||
|
|
||
|
// Scales the feasible space logarithmically to (0, 1). The entire feasible
|
||
|
// space must be strictly positive.
|
||
|
UNIT_LOG_SCALE = 2;
|
||
|
|
||
|
// Scales the feasible space "reverse" logarithmically to (0, 1). The result
|
||
|
// is that values close to the top of the feasible space are spread out more
|
||
|
// than points near the bottom. The entire feasible space must be strictly
|
||
|
// positive.
|
||
|
UNIT_REVERSE_LOG_SCALE = 3;
|
||
|
}
|
||
|
|
||
|
// Required. The parameter name must be unique amongst all ParameterConfigs in
|
||
|
// a HyperparameterSpec message. E.g., "learning_rate".
|
||
|
string parameter_name = 1;
|
||
|
|
||
|
// Required. The type of the parameter.
|
||
|
ParameterType type = 4;
|
||
|
|
||
|
// Required if type is `DOUBLE` or `INTEGER`. This field
|
||
|
// should be unset if type is `CATEGORICAL`. This value should be integers if
|
||
|
// type is INTEGER.
|
||
|
double min_value = 2;
|
||
|
|
||
|
// Required if typeis `DOUBLE` or `INTEGER`. This field
|
||
|
// should be unset if type is `CATEGORICAL`. This value should be integers if
|
||
|
// type is `INTEGER`.
|
||
|
double max_value = 3;
|
||
|
|
||
|
// Required if type is `CATEGORICAL`. The list of possible categories.
|
||
|
repeated string categorical_values = 5;
|
||
|
|
||
|
// Required if type is `DISCRETE`.
|
||
|
// A list of feasible points.
|
||
|
// The list should be in strictly increasing order. For instance, this
|
||
|
// parameter might have possible settings of 1.5, 2.5, and 4.0. This list
|
||
|
// should not contain more than 1,000 values.
|
||
|
repeated double discrete_values = 6;
|
||
|
|
||
|
// Optional. How the parameter should be scaled to the hypercube.
|
||
|
// Leave unset for categorical parameters.
|
||
|
// Some kind of scaling is strongly recommended for real or integral
|
||
|
// parameters (e.g., `UNIT_LINEAR_SCALE`).
|
||
|
ScaleType scale_type = 7;
|
||
|
}
|
||
|
|
||
|
// Represents the result of a single hyperparameter tuning trial from a
|
||
|
// training job. The TrainingOutput object that is returned on successful
|
||
|
// completion of a training job with hyperparameter tuning includes a list
|
||
|
// of HyperparameterOutput objects, one for each successful trial.
|
||
|
message HyperparameterOutput {
|
||
|
// An observed value of a metric.
|
||
|
message HyperparameterMetric {
|
||
|
// The global training step for this metric.
|
||
|
int64 training_step = 1;
|
||
|
|
||
|
// The objective value at this training step.
|
||
|
double objective_value = 2;
|
||
|
}
|
||
|
|
||
|
// The trial id for these results.
|
||
|
string trial_id = 1;
|
||
|
|
||
|
// The hyperparameters given to this trial.
|
||
|
map<string, string> hyperparameters = 2;
|
||
|
|
||
|
// The final objective metric seen for this trial.
|
||
|
HyperparameterMetric final_metric = 3;
|
||
|
|
||
|
// All recorded object metrics for this trial.
|
||
|
repeated HyperparameterMetric all_metrics = 4;
|
||
|
}
|
||
|
|
||
|
// Represents results of a training job. Output only.
|
||
|
message TrainingOutput {
|
||
|
// The number of hyperparameter tuning trials that completed successfully.
|
||
|
// Only set for hyperparameter tuning jobs.
|
||
|
int64 completed_trial_count = 1;
|
||
|
|
||
|
// Results for individual Hyperparameter trials.
|
||
|
// Only set for hyperparameter tuning jobs.
|
||
|
repeated HyperparameterOutput trials = 2;
|
||
|
|
||
|
// The amount of ML units consumed by the job.
|
||
|
double consumed_ml_units = 3;
|
||
|
|
||
|
// Whether this job is a hyperparameter tuning job.
|
||
|
bool is_hyperparameter_tuning_job = 4;
|
||
|
}
|
||
|
|
||
|
// Represents input parameters for a prediction job.
|
||
|
message PredictionInput {
|
||
|
// The format used to separate data instances in the source files.
|
||
|
enum DataFormat {
|
||
|
// Unspecified format.
|
||
|
DATA_FORMAT_UNSPECIFIED = 0;
|
||
|
|
||
|
// The source file is a text file with instances separated by the
|
||
|
// new-line character.
|
||
|
TEXT = 1;
|
||
|
|
||
|
// The source file is a TFRecord file.
|
||
|
TF_RECORD = 2;
|
||
|
|
||
|
// The source file is a GZIP-compressed TFRecord file.
|
||
|
TF_RECORD_GZIP = 3;
|
||
|
}
|
||
|
|
||
|
// Required. The model or the version to use for prediction.
|
||
|
oneof model_version {
|
||
|
// Use this field if you want to use the default version for the specified
|
||
|
// model. The string must use the following format:
|
||
|
//
|
||
|
// `"projects/<var>[YOUR_PROJECT]</var>/models/<var>[YOUR_MODEL]</var>"`
|
||
|
string model_name = 1;
|
||
|
|
||
|
// Use this field if you want to specify a version of the model to use. The
|
||
|
// string is formatted the same way as `model_version`, with the addition
|
||
|
// of the version information:
|
||
|
//
|
||
|
// `"projects/<var>[YOUR_PROJECT]</var>/models/<var>YOUR_MODEL/versions/<var>[YOUR_VERSION]</var>"`
|
||
|
string version_name = 2;
|
||
|
|
||
|
// Use this field if you want to specify a Google Cloud Storage path for
|
||
|
// the model to use.
|
||
|
string uri = 9;
|
||
|
}
|
||
|
|
||
|
// Required. The format of the input data files.
|
||
|
DataFormat data_format = 3;
|
||
|
|
||
|
// Required. The Google Cloud Storage location of the input data files.
|
||
|
// May contain wildcards.
|
||
|
repeated string input_paths = 4;
|
||
|
|
||
|
// Required. The output Google Cloud Storage location.
|
||
|
string output_path = 5;
|
||
|
|
||
|
// Optional. The maximum number of workers to be used for parallel processing.
|
||
|
// Defaults to 10 if not specified.
|
||
|
int64 max_worker_count = 6;
|
||
|
|
||
|
// Required. The Google Compute Engine region to run the prediction job in.
|
||
|
string region = 7;
|
||
|
|
||
|
// Optional. The Google Cloud ML runtime version to use for this batch
|
||
|
// prediction. If not set, Google Cloud ML will pick the runtime version used
|
||
|
// during the CreateVersion request for this model version, or choose the
|
||
|
// latest stable version when model version information is not available
|
||
|
// such as when the model is specified by uri.
|
||
|
string runtime_version = 8;
|
||
|
}
|
||
|
|
||
|
// Represents results of a prediction job.
|
||
|
message PredictionOutput {
|
||
|
// The output Google Cloud Storage location provided at the job creation time.
|
||
|
string output_path = 1;
|
||
|
|
||
|
// The number of generated predictions.
|
||
|
int64 prediction_count = 2;
|
||
|
|
||
|
// The number of data instances which resulted in errors.
|
||
|
int64 error_count = 3;
|
||
|
|
||
|
// Node hours used by the batch prediction job.
|
||
|
double node_hours = 4;
|
||
|
}
|
||
|
|
||
|
// Represents a training or prediction job.
|
||
|
message Job {
|
||
|
// Describes the job state.
|
||
|
enum State {
|
||
|
// The job state is unspecified.
|
||
|
STATE_UNSPECIFIED = 0;
|
||
|
|
||
|
// The job has been just created and processing has not yet begun.
|
||
|
QUEUED = 1;
|
||
|
|
||
|
// The service is preparing to run the job.
|
||
|
PREPARING = 2;
|
||
|
|
||
|
// The job is in progress.
|
||
|
RUNNING = 3;
|
||
|
|
||
|
// The job completed successfully.
|
||
|
SUCCEEDED = 4;
|
||
|
|
||
|
// The job failed.
|
||
|
// `error_message` should contain the details of the failure.
|
||
|
FAILED = 5;
|
||
|
|
||
|
// The job is being cancelled.
|
||
|
// `error_message` should describe the reason for the cancellation.
|
||
|
CANCELLING = 6;
|
||
|
|
||
|
// The job has been cancelled.
|
||
|
// `error_message` should describe the reason for the cancellation.
|
||
|
CANCELLED = 7;
|
||
|
}
|
||
|
|
||
|
// Required. The user-specified id of the job.
|
||
|
string job_id = 1;
|
||
|
|
||
|
// Required. Parameters to create a job.
|
||
|
oneof input {
|
||
|
// Input parameters to create a training job.
|
||
|
TrainingInput training_input = 2;
|
||
|
|
||
|
// Input parameters to create a prediction job.
|
||
|
PredictionInput prediction_input = 3;
|
||
|
}
|
||
|
|
||
|
// Output only. When the job was created.
|
||
|
google.protobuf.Timestamp create_time = 4;
|
||
|
|
||
|
// Output only. When the job processing was started.
|
||
|
google.protobuf.Timestamp start_time = 5;
|
||
|
|
||
|
// Output only. When the job processing was completed.
|
||
|
google.protobuf.Timestamp end_time = 6;
|
||
|
|
||
|
// Output only. The detailed state of a job.
|
||
|
State state = 7;
|
||
|
|
||
|
// Output only. The details of a failure or a cancellation.
|
||
|
string error_message = 8;
|
||
|
|
||
|
// Output only. The current result of the job.
|
||
|
oneof output {
|
||
|
// The current training job result.
|
||
|
TrainingOutput training_output = 9;
|
||
|
|
||
|
// The current prediction job result.
|
||
|
PredictionOutput prediction_output = 10;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Request message for the CreateJob method.
|
||
|
message CreateJobRequest {
|
||
|
// Required. The project name.
|
||
|
//
|
||
|
// Authorization: requires `Editor` role on the specified project.
|
||
|
string parent = 1;
|
||
|
|
||
|
// Required. The job to create.
|
||
|
Job job = 2;
|
||
|
}
|
||
|
|
||
|
// Request message for the ListJobs method.
|
||
|
message ListJobsRequest {
|
||
|
// Required. The name of the project for which to list jobs.
|
||
|
//
|
||
|
// Authorization: requires `Viewer` role on the specified project.
|
||
|
string parent = 1;
|
||
|
|
||
|
// Optional. Specifies the subset of jobs to retrieve.
|
||
|
string filter = 2;
|
||
|
|
||
|
// Optional. A page token to request the next page of results.
|
||
|
//
|
||
|
// You get the token from the `next_page_token` field of the response from
|
||
|
// the previous call.
|
||
|
string page_token = 4;
|
||
|
|
||
|
// Optional. The number of jobs to retrieve per "page" of results. If there
|
||
|
// are more remaining results than this number, the response message will
|
||
|
// contain a valid value in the `next_page_token` field.
|
||
|
//
|
||
|
// The default value is 20, and the maximum page size is 100.
|
||
|
int32 page_size = 5;
|
||
|
}
|
||
|
|
||
|
// Response message for the ListJobs method.
|
||
|
message ListJobsResponse {
|
||
|
// The list of jobs.
|
||
|
repeated Job jobs = 1;
|
||
|
|
||
|
// Optional. Pass this token as the `page_token` field of the request for a
|
||
|
// subsequent call.
|
||
|
string next_page_token = 2;
|
||
|
}
|
||
|
|
||
|
// Request message for the GetJob method.
|
||
|
message GetJobRequest {
|
||
|
// Required. The name of the job to get the description of.
|
||
|
//
|
||
|
// Authorization: requires `Viewer` role on the parent project.
|
||
|
string name = 1;
|
||
|
}
|
||
|
|
||
|
// Request message for the CancelJob method.
|
||
|
message CancelJobRequest {
|
||
|
// Required. The name of the job to cancel.
|
||
|
//
|
||
|
// Authorization: requires `Editor` role on the parent project.
|
||
|
string name = 1;
|
||
|
}
|