diff --git a/google/cloud/aiplatform/v1/BUILD.bazel b/google/cloud/aiplatform/v1/BUILD.bazel index 6af92a29b..412e538c9 100644 --- a/google/cloud/aiplatform/v1/BUILD.bazel +++ b/google/cloud/aiplatform/v1/BUILD.bazel @@ -81,6 +81,7 @@ proto_library( "model_monitoring.proto", "model_service.proto", "operation.proto", + "pipeline_failure_policy.proto", "pipeline_job.proto", "pipeline_service.proto", "pipeline_state.proto", diff --git a/google/cloud/aiplatform/v1/pipeline_failure_policy.proto b/google/cloud/aiplatform/v1/pipeline_failure_policy.proto new file mode 100644 index 000000000..5ff3b78be --- /dev/null +++ b/google/cloud/aiplatform/v1/pipeline_failure_policy.proto @@ -0,0 +1,44 @@ +// Copyright 2022 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; + +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 = "PipelineFailurePolicyProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Represents the failure policy of a pipeline. Currently, the default of a +// pipeline is that the pipeline will continue to run until no more tasks can be +// executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a +// pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling +// any new tasks when a task has failed. Any scheduled tasks will continue to +// completion. +enum PipelineFailurePolicy { + // Default value, and follows fail slow behavior. + PIPELINE_FAILURE_POLICY_UNSPECIFIED = 0; + + // Indicates that the pipeline should continue to run until all possible + // tasks have been scheduled and completed. + PIPELINE_FAILURE_POLICY_FAIL_SLOW = 1; + + // Indicates that the pipeline should stop scheduling new tasks after a task + // has failed. + PIPELINE_FAILURE_POLICY_FAIL_FAST = 2; +} diff --git a/google/cloud/aiplatform/v1/pipeline_job.proto b/google/cloud/aiplatform/v1/pipeline_job.proto index 867712ef2..eb12aabfe 100644 --- a/google/cloud/aiplatform/v1/pipeline_job.proto +++ b/google/cloud/aiplatform/v1/pipeline_job.proto @@ -22,6 +22,7 @@ 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_failure_policy.proto"; import "google/cloud/aiplatform/v1/pipeline_state.proto"; import "google/cloud/aiplatform/v1/value.proto"; import "google/protobuf/struct.proto"; @@ -72,6 +73,14 @@ message PipelineJob { // `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built // using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. map parameter_values = 3; + + // Represents the failure policy of a pipeline. Currently, the default of a + // pipeline is that the pipeline will continue to run until no more tasks + // can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. + // However, if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it + // will stop scheduling any new tasks when a task has failed. Any scheduled + // tasks will continue to completion. + PipelineFailurePolicy failure_policy = 4; } // Output only. The resource name of the PipelineJob. diff --git a/google/cloud/aiplatform/v1beta1/BUILD.bazel b/google/cloud/aiplatform/v1beta1/BUILD.bazel index 86288344e..f07c380a3 100644 --- a/google/cloud/aiplatform/v1beta1/BUILD.bazel +++ b/google/cloud/aiplatform/v1beta1/BUILD.bazel @@ -74,6 +74,7 @@ proto_library( "model_monitoring.proto", "model_service.proto", "operation.proto", + "pipeline_failure_policy.proto", "pipeline_job.proto", "pipeline_service.proto", "pipeline_state.proto", diff --git a/google/cloud/aiplatform/v1beta1/pipeline_failure_policy.proto b/google/cloud/aiplatform/v1beta1/pipeline_failure_policy.proto new file mode 100644 index 000000000..f197f510f --- /dev/null +++ b/google/cloud/aiplatform/v1beta1/pipeline_failure_policy.proto @@ -0,0 +1,44 @@ +// Copyright 2022 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.v1beta1; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "PipelineFailurePolicyProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// Represents the failure policy of a pipeline. Currently, the default of a +// pipeline is that the pipeline will continue to run until no more tasks can be +// executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a +// pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling +// any new tasks when a task has failed. Any scheduled tasks will continue to +// completion. +enum PipelineFailurePolicy { + // Default value, and follows fail slow behavior. + PIPELINE_FAILURE_POLICY_UNSPECIFIED = 0; + + // Indicates that the pipeline should continue to run until all possible + // tasks have been scheduled and completed. + PIPELINE_FAILURE_POLICY_FAIL_SLOW = 1; + + // Indicates that the pipeline should stop scheduling new tasks after a task + // has failed. + PIPELINE_FAILURE_POLICY_FAIL_FAST = 2; +} diff --git a/google/cloud/aiplatform/v1beta1/pipeline_job.proto b/google/cloud/aiplatform/v1beta1/pipeline_job.proto index 3e5b5ea0a..9cb69a902 100644 --- a/google/cloud/aiplatform/v1beta1/pipeline_job.proto +++ b/google/cloud/aiplatform/v1beta1/pipeline_job.proto @@ -22,6 +22,7 @@ import "google/cloud/aiplatform/v1beta1/artifact.proto"; import "google/cloud/aiplatform/v1beta1/context.proto"; import "google/cloud/aiplatform/v1beta1/encryption_spec.proto"; import "google/cloud/aiplatform/v1beta1/execution.proto"; +import "google/cloud/aiplatform/v1beta1/pipeline_failure_policy.proto"; import "google/cloud/aiplatform/v1beta1/pipeline_state.proto"; import "google/cloud/aiplatform/v1beta1/value.proto"; import "google/protobuf/struct.proto"; @@ -72,6 +73,14 @@ message PipelineJob { // `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built // using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. map parameter_values = 3; + + // Represents the failure policy of a pipeline. Currently, the default of a + // pipeline is that the pipeline will continue to run until no more tasks + // can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. + // However, if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it + // will stop scheduling any new tasks when a task has failed. Any scheduled + // tasks will continue to completion. + PipelineFailurePolicy failure_policy = 4; } // Output only. The resource name of the PipelineJob.