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.
289 lines
11 KiB
289 lines
11 KiB
// Copyright 2021 Google LLC |
|
// |
|
// 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.aiplatform.v1; |
|
|
|
import "google/api/field_behavior.proto"; |
|
import "google/api/resource.proto"; |
|
import "google/cloud/aiplatform/v1/artifact.proto"; |
|
import "google/cloud/aiplatform/v1/context.proto"; |
|
import "google/cloud/aiplatform/v1/encryption_spec.proto"; |
|
import "google/cloud/aiplatform/v1/execution.proto"; |
|
import "google/cloud/aiplatform/v1/pipeline_state.proto"; |
|
import "google/cloud/aiplatform/v1/value.proto"; |
|
import "google/protobuf/struct.proto"; |
|
import "google/protobuf/timestamp.proto"; |
|
import "google/rpc/status.proto"; |
|
import "google/api/annotations.proto"; |
|
|
|
option csharp_namespace = "Google.Cloud.AIPlatform.V1"; |
|
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; |
|
option java_multiple_files = true; |
|
option java_outer_classname = "Pipeline"; |
|
option java_package = "com.google.cloud.aiplatform.v1"; |
|
option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; |
|
option ruby_package = "Google::Cloud::AIPlatform::V1"; |
|
option (google.api.resource_definition) = { |
|
type: "compute.googleapis.com/Network" |
|
pattern: "projects/{project}/global/networks/{network}" |
|
}; |
|
|
|
// An instance of a machine learning PipelineJob. |
|
message PipelineJob { |
|
option (google.api.resource) = { |
|
type: "aiplatform.googleapis.com/PipelineJob" |
|
pattern: "projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}" |
|
}; |
|
|
|
// The runtime config of a PipelineJob. |
|
message RuntimeConfig { |
|
// The runtime parameters of the PipelineJob. The parameters will be |
|
// passed into [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1.PipelineJob.pipeline_spec] to replace the placeholders |
|
// at runtime. |
|
map<string, google.cloud.aiplatform.v1.Value> parameters = 1; |
|
|
|
// Required. A path in a Cloud Storage bucket, which will be treated as the root |
|
// output directory of the pipeline. It is used by the system to |
|
// generate the paths of output artifacts. The artifact paths are generated |
|
// with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the |
|
// specified output directory. The service account specified in this |
|
// pipeline must have the `storage.objects.get` and `storage.objects.create` |
|
// permissions for this bucket. |
|
string gcs_output_directory = 2 [(google.api.field_behavior) = REQUIRED]; |
|
} |
|
|
|
// Output only. The resource name of the PipelineJob. |
|
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// The display name of the Pipeline. |
|
// The name can be up to 128 characters long and can be consist of any UTF-8 |
|
// characters. |
|
string display_name = 2; |
|
|
|
// Output only. Pipeline creation time. |
|
google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. Pipeline start time. |
|
google.protobuf.Timestamp start_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. Pipeline end time. |
|
google.protobuf.Timestamp end_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. Timestamp when this PipelineJob was most recently updated. |
|
google.protobuf.Timestamp update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Required. The spec of the pipeline. |
|
google.protobuf.Struct pipeline_spec = 7 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
// Output only. The detailed state of the job. |
|
PipelineState state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The details of pipeline run. Not available in the list view. |
|
PipelineJobDetail job_detail = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The error that occurred during pipeline execution. |
|
// Only populated when the pipeline's state is FAILED or CANCELLED. |
|
google.rpc.Status error = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// The labels with user-defined metadata to organize PipelineJob. |
|
// |
|
// Label keys and values can be no longer than 64 characters |
|
// (Unicode codepoints), can only contain lowercase letters, numeric |
|
// characters, underscores and dashes. International characters are allowed. |
|
// |
|
// See https://goo.gl/xmQnxf for more information and examples of labels. |
|
map<string, string> labels = 11; |
|
|
|
// Runtime config of the pipeline. |
|
RuntimeConfig runtime_config = 12; |
|
|
|
// Customer-managed encryption key spec for a pipelineJob. If set, this |
|
// PipelineJob and all of its sub-resources will be secured by this key. |
|
EncryptionSpec encryption_spec = 16; |
|
|
|
// The service account that the pipeline workload runs as. |
|
// If not specified, the Compute Engine default service account in the project |
|
// will be used. |
|
// See |
|
// https://cloud.google.com/compute/docs/access/service-accounts#default_service_account |
|
// |
|
// Users starting the pipeline must have the `iam.serviceAccounts.actAs` |
|
// permission on this service account. |
|
string service_account = 17; |
|
|
|
// The full name of the Compute Engine |
|
// [network](/compute/docs/networks-and-firewalls#networks) to which the |
|
// Pipeline Job's workload should be peered. For example, |
|
// `projects/12345/global/networks/myVPC`. |
|
// [Format](/compute/docs/reference/rest/v1/networks/insert) |
|
// is of the form `projects/{project}/global/networks/{network}`. |
|
// Where {project} is a project number, as in `12345`, and {network} is a |
|
// network name. |
|
// |
|
// Private services access must already be configured for the network. |
|
// Pipeline job will apply the network configuration to the GCP resources |
|
// being launched, if applied, such as Vertex AI |
|
// Training or Dataflow job. If left unspecified, the workload is not peered |
|
// with any network. |
|
string network = 18 [(google.api.resource_reference) = { |
|
type: "compute.googleapis.com/Network" |
|
}]; |
|
} |
|
|
|
// The runtime detail of PipelineJob. |
|
message PipelineJobDetail { |
|
// Output only. The context of the pipeline. |
|
google.cloud.aiplatform.v1.Context pipeline_context = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The context of the current pipeline run. |
|
google.cloud.aiplatform.v1.Context pipeline_run_context = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The runtime details of the tasks under the pipeline. |
|
repeated PipelineTaskDetail task_details = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
} |
|
|
|
// The runtime detail of a task execution. |
|
message PipelineTaskDetail { |
|
// A list of artifact metadata. |
|
message ArtifactList { |
|
// Output only. A list of artifact metadata. |
|
repeated google.cloud.aiplatform.v1.Artifact artifacts = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
} |
|
|
|
// Specifies state of TaskExecution |
|
enum State { |
|
// Unspecified. |
|
STATE_UNSPECIFIED = 0; |
|
|
|
// Specifies pending state for the task. |
|
PENDING = 1; |
|
|
|
// Specifies task is being executed. |
|
RUNNING = 2; |
|
|
|
// Specifies task completed successfully. |
|
SUCCEEDED = 3; |
|
|
|
// Specifies Task cancel is in pending state. |
|
CANCEL_PENDING = 4; |
|
|
|
// Specifies task is being cancelled. |
|
CANCELLING = 5; |
|
|
|
// Specifies task was cancelled. |
|
CANCELLED = 6; |
|
|
|
// Specifies task failed. |
|
FAILED = 7; |
|
|
|
// Specifies task was skipped due to cache hit. |
|
SKIPPED = 8; |
|
|
|
// Specifies that the task was not triggered because the task's trigger |
|
// policy is not satisfied. The trigger policy is specified in the |
|
// `condition` field of [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1.PipelineJob.pipeline_spec]. |
|
NOT_TRIGGERED = 9; |
|
} |
|
|
|
// Output only. The system generated ID of the task. |
|
int64 task_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The id of the parent task if the task is within a component scope. |
|
// Empty if the task is at the root level. |
|
int64 parent_task_id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The user specified name of the task that is defined in |
|
// [PipelineJob.spec][]. |
|
string task_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. Task create time. |
|
google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. Task start time. |
|
google.protobuf.Timestamp start_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. Task end time. |
|
google.protobuf.Timestamp end_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The detailed execution info. |
|
PipelineTaskExecutorDetail executor_detail = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. State of the task. |
|
State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The execution metadata of the task. |
|
google.cloud.aiplatform.v1.Execution execution = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The error that occurred during task execution. |
|
// Only populated when the task's state is FAILED or CANCELLED. |
|
google.rpc.Status error = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The runtime input artifacts of the task. |
|
map<string, ArtifactList> inputs = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The runtime output artifacts of the task. |
|
map<string, ArtifactList> outputs = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
} |
|
|
|
// The runtime detail of a pipeline executor. |
|
message PipelineTaskExecutorDetail { |
|
// The detail of a container execution. It contains the job names of the |
|
// lifecycle of a container execution. |
|
message ContainerDetail { |
|
// Output only. The name of the [CustomJob][google.cloud.aiplatform.v1.CustomJob] for the main container execution. |
|
string main_job = 1 [ |
|
(google.api.field_behavior) = OUTPUT_ONLY, |
|
(google.api.resource_reference) = { |
|
type: "aiplatform.googleapis.com/CustomJob" |
|
} |
|
]; |
|
|
|
// Output only. The name of the [CustomJob][google.cloud.aiplatform.v1.CustomJob] for the pre-caching-check container |
|
// execution. This job will be available if the |
|
// [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1.PipelineJob.pipeline_spec] specifies the `pre_caching_check` hook in |
|
// the lifecycle events. |
|
string pre_caching_check_job = 2 [ |
|
(google.api.field_behavior) = OUTPUT_ONLY, |
|
(google.api.resource_reference) = { |
|
type: "aiplatform.googleapis.com/CustomJob" |
|
} |
|
]; |
|
} |
|
|
|
// The detailed info for a custom job executor. |
|
message CustomJobDetail { |
|
option deprecated = true; |
|
|
|
// Output only. The name of the [CustomJob][google.cloud.aiplatform.v1.CustomJob]. |
|
string job = 1 [ |
|
(google.api.field_behavior) = OUTPUT_ONLY, |
|
(google.api.resource_reference) = { |
|
type: "aiplatform.googleapis.com/CustomJob" |
|
} |
|
]; |
|
} |
|
|
|
oneof details { |
|
// Output only. The detailed info for a container executor. |
|
ContainerDetail container_detail = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The detailed info for a custom job executor. |
|
CustomJobDetail custom_job_detail = 2 [ |
|
deprecated = true, |
|
(google.api.field_behavior) = OUTPUT_ONLY |
|
]; |
|
} |
|
}
|
|
|