// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v6.31.1
// source: pipeline_spec.proto

package pipelinespec

import (
	status "google.golang.org/genproto/googleapis/rpc/status"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	structpb "google.golang.org/protobuf/types/known/structpb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// The primitive types.
// Deprecated. Use [ParameterType.ParameterTypeEnum][] instead.
//
// Deprecated: Marked as deprecated in pipeline_spec.proto.
type PrimitiveType_PrimitiveTypeEnum int32

const (
	PrimitiveType_PRIMITIVE_TYPE_UNSPECIFIED PrimitiveType_PrimitiveTypeEnum = 0
	PrimitiveType_INT                        PrimitiveType_PrimitiveTypeEnum = 1
	PrimitiveType_DOUBLE                     PrimitiveType_PrimitiveTypeEnum = 2
	PrimitiveType_STRING                     PrimitiveType_PrimitiveTypeEnum = 3
)

// Enum value maps for PrimitiveType_PrimitiveTypeEnum.
var (
	PrimitiveType_PrimitiveTypeEnum_name = map[int32]string{
		0: "PRIMITIVE_TYPE_UNSPECIFIED",
		1: "INT",
		2: "DOUBLE",
		3: "STRING",
	}
	PrimitiveType_PrimitiveTypeEnum_value = map[string]int32{
		"PRIMITIVE_TYPE_UNSPECIFIED": 0,
		"INT":                        1,
		"DOUBLE":                     2,
		"STRING":                     3,
	}
)

func (x PrimitiveType_PrimitiveTypeEnum) Enum() *PrimitiveType_PrimitiveTypeEnum {
	p := new(PrimitiveType_PrimitiveTypeEnum)
	*p = x
	return p
}

func (x PrimitiveType_PrimitiveTypeEnum) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PrimitiveType_PrimitiveTypeEnum) Descriptor() protoreflect.EnumDescriptor {
	return file_pipeline_spec_proto_enumTypes[0].Descriptor()
}

func (PrimitiveType_PrimitiveTypeEnum) Type() protoreflect.EnumType {
	return &file_pipeline_spec_proto_enumTypes[0]
}

func (x PrimitiveType_PrimitiveTypeEnum) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PrimitiveType_PrimitiveTypeEnum.Descriptor instead.
func (PrimitiveType_PrimitiveTypeEnum) EnumDescriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{9, 0}
}

// The parameter types.
type ParameterType_ParameterTypeEnum int32

const (
	// Indicates that the parameter type was not specified.
	ParameterType_PARAMETER_TYPE_ENUM_UNSPECIFIED ParameterType_ParameterTypeEnum = 0
	// Indicates that a parameter is a number that is stored in a field of type
	// `double`.
	ParameterType_NUMBER_DOUBLE ParameterType_ParameterTypeEnum = 1
	// Indicates that a parameter is an integer stored in the `number_field`,
	// which is of type `double`. NUMBER_INTEGER values must be within the range
	// of JavaScript safe integers (-(2^53 - 1) to (2^53 - 1)). If you need to
	// support integers outside the range of JavaScript safe integers, use the
	// `STRING` parameter type to describe your parameter.
	ParameterType_NUMBER_INTEGER ParameterType_ParameterTypeEnum = 2
	// Indicates that a parameter is a string.
	ParameterType_STRING ParameterType_ParameterTypeEnum = 3
	// Indicates that a parameters is a boolean value.
	ParameterType_BOOLEAN ParameterType_ParameterTypeEnum = 4
	// Indicates that a parameter is a list of values. LIST parameters are
	// serialized to JSON when passed as an input or output of a pipeline step.
	ParameterType_LIST ParameterType_ParameterTypeEnum = 5
	// Indicates that a parameter is a struct value; structs represent a data
	// structure like a Python dictionary or a JSON object. STRUCT parameters
	// are serialized to JSON when passed as an input or output of a pipeline
	// step.
	ParameterType_STRUCT ParameterType_ParameterTypeEnum = 6
	// Indicates that a parameter is a TaskFinalStatus type; these types can only accept inputs
	// specified by InputParameterSpec.task_final_status
	ParameterType_TASK_FINAL_STATUS ParameterType_ParameterTypeEnum = 7
	// Indicates that a parameter is a TaskConfig type; these types are
	// injected by the backend to provide the configuration set on the task.
	ParameterType_TASK_CONFIG ParameterType_ParameterTypeEnum = 8
)

// Enum value maps for ParameterType_ParameterTypeEnum.
var (
	ParameterType_ParameterTypeEnum_name = map[int32]string{
		0: "PARAMETER_TYPE_ENUM_UNSPECIFIED",
		1: "NUMBER_DOUBLE",
		2: "NUMBER_INTEGER",
		3: "STRING",
		4: "BOOLEAN",
		5: "LIST",
		6: "STRUCT",
		7: "TASK_FINAL_STATUS",
		8: "TASK_CONFIG",
	}
	ParameterType_ParameterTypeEnum_value = map[string]int32{
		"PARAMETER_TYPE_ENUM_UNSPECIFIED": 0,
		"NUMBER_DOUBLE":                   1,
		"NUMBER_INTEGER":                  2,
		"STRING":                          3,
		"BOOLEAN":                         4,
		"LIST":                            5,
		"STRUCT":                          6,
		"TASK_FINAL_STATUS":               7,
		"TASK_CONFIG":                     8,
	}
)

func (x ParameterType_ParameterTypeEnum) Enum() *ParameterType_ParameterTypeEnum {
	p := new(ParameterType_ParameterTypeEnum)
	*p = x
	return p
}

func (x ParameterType_ParameterTypeEnum) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ParameterType_ParameterTypeEnum) Descriptor() protoreflect.EnumDescriptor {
	return file_pipeline_spec_proto_enumTypes[1].Descriptor()
}

func (ParameterType_ParameterTypeEnum) Type() protoreflect.EnumType {
	return &file_pipeline_spec_proto_enumTypes[1]
}

func (x ParameterType_ParameterTypeEnum) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ParameterType_ParameterTypeEnum.Descriptor instead.
func (ParameterType_ParameterTypeEnum) EnumDescriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{10, 0}
}

type TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum int32

const (
	// Throwaway default value.
	TaskConfigPassthroughType_NONE TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum = 0
	// Indicates that the resource limits and requests should be passed through to the external workload.
	// Be cautious about also setting apply_to_task=true since that will double the resources required for
	// the task.
	TaskConfigPassthroughType_RESOURCES TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum = 1
	// Indicates that the environment variables should be passed through to the external workload.
	// It is generally safe to always set apply_to_task=true on this field.
	TaskConfigPassthroughType_ENV TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum = 2
	// Indicates that the Kubernetes node affinity should be passed through to the external workload.
	TaskConfigPassthroughType_KUBERNETES_AFFINITY TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum = 3
	// Indicates that the Kubernetes node tolerations should be passed through to the external workload.
	TaskConfigPassthroughType_KUBERNETES_TOLERATIONS TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum = 4
	// Indicates that the Kubernetes node selector should be passed through to the external workload.
	TaskConfigPassthroughType_KUBERNETES_NODE_SELECTOR TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum = 5
	// Indicates that the Kubernetes persistent volumes and ConfigMaps/Secrets mounted as volumes should be
	// passed through to the external workload. Be sure that when setting apply_to_task=true, the volumes are
	// ReadWriteMany or ReadOnlyMany or else the task's pod may not start.
	// This is useful when the task prepares a shared volume for the external workload or defines output artifact
	// (e.g. dsl.Model) that is created by the external workload.
	TaskConfigPassthroughType_KUBERNETES_VOLUMES TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum = 6
)

// Enum value maps for TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum.
var (
	TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum_name = map[int32]string{
		0: "NONE",
		1: "RESOURCES",
		2: "ENV",
		3: "KUBERNETES_AFFINITY",
		4: "KUBERNETES_TOLERATIONS",
		5: "KUBERNETES_NODE_SELECTOR",
		6: "KUBERNETES_VOLUMES",
	}
	TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum_value = map[string]int32{
		"NONE":                     0,
		"RESOURCES":                1,
		"ENV":                      2,
		"KUBERNETES_AFFINITY":      3,
		"KUBERNETES_TOLERATIONS":   4,
		"KUBERNETES_NODE_SELECTOR": 5,
		"KUBERNETES_VOLUMES":       6,
	}
)

func (x TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum) Enum() *TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum {
	p := new(TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum)
	*p = x
	return p
}

func (x TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum) Descriptor() protoreflect.EnumDescriptor {
	return file_pipeline_spec_proto_enumTypes[2].Descriptor()
}

func (TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum) Type() protoreflect.EnumType {
	return &file_pipeline_spec_proto_enumTypes[2]
}

func (x TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum.Descriptor instead.
func (TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum) EnumDescriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{11, 0}
}

// An enum defines the trigger strategy of when the task will be ready to be
// triggered.
// ALL_UPSTREAM_TASKS_SUCCEEDED - all upstream tasks in succeeded state.
// ALL_UPSTREAM_TASKS_COMPLETED - all upstream tasks in any final state.
// (Note that CANCELLED is also a final state but job will not trigger new
// tasks when job is in CANCELLING state, so that the task with the trigger
// policy at ALL_UPSTREAM_TASKS_COMPLETED will not start when job
// cancellation is in progress.)
type PipelineTaskSpec_TriggerPolicy_TriggerStrategy int32

const (
	// Unspecified.  Behave the same as ALL_UPSTREAM_TASKS_SUCCEEDED.
	PipelineTaskSpec_TriggerPolicy_TRIGGER_STRATEGY_UNSPECIFIED PipelineTaskSpec_TriggerPolicy_TriggerStrategy = 0
	// Specifies that all upstream tasks are in succeeded state.
	PipelineTaskSpec_TriggerPolicy_ALL_UPSTREAM_TASKS_SUCCEEDED PipelineTaskSpec_TriggerPolicy_TriggerStrategy = 1
	// Specifies that all upstream tasks are in any final state.
	PipelineTaskSpec_TriggerPolicy_ALL_UPSTREAM_TASKS_COMPLETED PipelineTaskSpec_TriggerPolicy_TriggerStrategy = 2
)

// Enum value maps for PipelineTaskSpec_TriggerPolicy_TriggerStrategy.
var (
	PipelineTaskSpec_TriggerPolicy_TriggerStrategy_name = map[int32]string{
		0: "TRIGGER_STRATEGY_UNSPECIFIED",
		1: "ALL_UPSTREAM_TASKS_SUCCEEDED",
		2: "ALL_UPSTREAM_TASKS_COMPLETED",
	}
	PipelineTaskSpec_TriggerPolicy_TriggerStrategy_value = map[string]int32{
		"TRIGGER_STRATEGY_UNSPECIFIED": 0,
		"ALL_UPSTREAM_TASKS_SUCCEEDED": 1,
		"ALL_UPSTREAM_TASKS_COMPLETED": 2,
	}
)

func (x PipelineTaskSpec_TriggerPolicy_TriggerStrategy) Enum() *PipelineTaskSpec_TriggerPolicy_TriggerStrategy {
	p := new(PipelineTaskSpec_TriggerPolicy_TriggerStrategy)
	*p = x
	return p
}

func (x PipelineTaskSpec_TriggerPolicy_TriggerStrategy) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PipelineTaskSpec_TriggerPolicy_TriggerStrategy) Descriptor() protoreflect.EnumDescriptor {
	return file_pipeline_spec_proto_enumTypes[3].Descriptor()
}

func (PipelineTaskSpec_TriggerPolicy_TriggerStrategy) Type() protoreflect.EnumType {
	return &file_pipeline_spec_proto_enumTypes[3]
}

func (x PipelineTaskSpec_TriggerPolicy_TriggerStrategy) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PipelineTaskSpec_TriggerPolicy_TriggerStrategy.Descriptor instead.
func (PipelineTaskSpec_TriggerPolicy_TriggerStrategy) EnumDescriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{13, 1, 0}
}

type PipelineStateEnum_PipelineTaskState int32

const (
	PipelineStateEnum_TASK_STATE_UNSPECIFIED PipelineStateEnum_PipelineTaskState = 0
	PipelineStateEnum_PENDING                PipelineStateEnum_PipelineTaskState = 1
	PipelineStateEnum_RUNNING_DRIVER         PipelineStateEnum_PipelineTaskState = 2
	PipelineStateEnum_DRIVER_SUCCEEDED       PipelineStateEnum_PipelineTaskState = 3
	PipelineStateEnum_RUNNING_EXECUTOR       PipelineStateEnum_PipelineTaskState = 4
	PipelineStateEnum_SUCCEEDED              PipelineStateEnum_PipelineTaskState = 5
	PipelineStateEnum_CANCEL_PENDING         PipelineStateEnum_PipelineTaskState = 6
	PipelineStateEnum_CANCELLING             PipelineStateEnum_PipelineTaskState = 7
	PipelineStateEnum_CANCELLED              PipelineStateEnum_PipelineTaskState = 8
	PipelineStateEnum_FAILED                 PipelineStateEnum_PipelineTaskState = 9
	// Indicates that the task is skipped to run due to a cache hit.
	PipelineStateEnum_SKIPPED PipelineStateEnum_PipelineTaskState = 10
	// Indicates that the task was just populated to the DB but not ready to
	// be scheduled.  Once job handler determined the task being ready to
	// be scheduled, the task state will change to PENDING.  The state
	// transition is depicted below:
	//  * QUEUED(not ready to run) --> PENDING(ready to run) --> RUNNING
	PipelineStateEnum_QUEUED PipelineStateEnum_PipelineTaskState = 11
	// Indicates that the task is not triggered based on the
	// [PipelineTaskSpec.TriggerPolicy.condition][] config.
	PipelineStateEnum_NOT_TRIGGERED PipelineStateEnum_PipelineTaskState = 12
	// Indicates that the tasks will no longer be schedulable.  Usually a task
	// was set to this state because its all upstream tasks are in final state
	// but the [PipelineTaskSpec.TriggerPolicy.strategy][] disallows the task to
	// be triggered.
	// The difference between `NOT_TRIGGERED` is that `UNSCHEDULABLE` must met
	// [PipelineTaskSpec.TriggerPolicy.strategy][], but must not met the
	// [PipelineTaskSpec.TriggerPolicy.condition][].
	PipelineStateEnum_UNSCHEDULABLE PipelineStateEnum_PipelineTaskState = 13
)

// Enum value maps for PipelineStateEnum_PipelineTaskState.
var (
	PipelineStateEnum_PipelineTaskState_name = map[int32]string{
		0:  "TASK_STATE_UNSPECIFIED",
		1:  "PENDING",
		2:  "RUNNING_DRIVER",
		3:  "DRIVER_SUCCEEDED",
		4:  "RUNNING_EXECUTOR",
		5:  "SUCCEEDED",
		6:  "CANCEL_PENDING",
		7:  "CANCELLING",
		8:  "CANCELLED",
		9:  "FAILED",
		10: "SKIPPED",
		11: "QUEUED",
		12: "NOT_TRIGGERED",
		13: "UNSCHEDULABLE",
	}
	PipelineStateEnum_PipelineTaskState_value = map[string]int32{
		"TASK_STATE_UNSPECIFIED": 0,
		"PENDING":                1,
		"RUNNING_DRIVER":         2,
		"DRIVER_SUCCEEDED":       3,
		"RUNNING_EXECUTOR":       4,
		"SUCCEEDED":              5,
		"CANCEL_PENDING":         6,
		"CANCELLING":             7,
		"CANCELLED":              8,
		"FAILED":                 9,
		"SKIPPED":                10,
		"QUEUED":                 11,
		"NOT_TRIGGERED":          12,
		"UNSCHEDULABLE":          13,
	}
)

func (x PipelineStateEnum_PipelineTaskState) Enum() *PipelineStateEnum_PipelineTaskState {
	p := new(PipelineStateEnum_PipelineTaskState)
	*p = x
	return p
}

func (x PipelineStateEnum_PipelineTaskState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PipelineStateEnum_PipelineTaskState) Descriptor() protoreflect.EnumDescriptor {
	return file_pipeline_spec_proto_enumTypes[4].Descriptor()
}

func (PipelineStateEnum_PipelineTaskState) Type() protoreflect.EnumType {
	return &file_pipeline_spec_proto_enumTypes[4]
}

func (x PipelineStateEnum_PipelineTaskState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PipelineStateEnum_PipelineTaskState.Descriptor instead.
func (PipelineStateEnum_PipelineTaskState) EnumDescriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{28, 0}
}

// The spec of a pipeline job.
type PipelineJob struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Name  string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Name of the job.
	// User friendly display name
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Definition of the pipeline that is being executed.
	PipelineSpec *structpb.Struct `protobuf:"bytes,7,opt,name=pipeline_spec,json=pipelineSpec,proto3" json:"pipeline_spec,omitempty"`
	// The labels with user-defined metadata to organize PipelineJob.
	Labels map[string]string `protobuf:"bytes,11,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Runtime config of the pipeline.
	RuntimeConfig *PipelineJob_RuntimeConfig `protobuf:"bytes,12,opt,name=runtime_config,json=runtimeConfig,proto3" json:"runtime_config,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineJob) Reset() {
	*x = PipelineJob{}
	mi := &file_pipeline_spec_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineJob) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineJob) ProtoMessage() {}

func (x *PipelineJob) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineJob.ProtoReflect.Descriptor instead.
func (*PipelineJob) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{0}
}

func (x *PipelineJob) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *PipelineJob) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *PipelineJob) GetPipelineSpec() *structpb.Struct {
	if x != nil {
		return x.PipelineSpec
	}
	return nil
}

func (x *PipelineJob) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *PipelineJob) GetRuntimeConfig() *PipelineJob_RuntimeConfig {
	if x != nil {
		return x.RuntimeConfig
	}
	return nil
}

// The spec of a pipeline.
type PipelineSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The metadata of the pipeline.
	PipelineInfo *PipelineInfo `protobuf:"bytes,1,opt,name=pipeline_info,json=pipelineInfo,proto3" json:"pipeline_info,omitempty"`
	// The deployment config of the pipeline.
	// The deployment config can be extended to provide platform specific configs.
	DeploymentSpec *structpb.Struct `protobuf:"bytes,7,opt,name=deployment_spec,json=deploymentSpec,proto3" json:"deployment_spec,omitempty"`
	// The version of the sdk, which compiles the spec.
	SdkVersion string `protobuf:"bytes,4,opt,name=sdk_version,json=sdkVersion,proto3" json:"sdk_version,omitempty"`
	// The version of the schema.
	SchemaVersion string `protobuf:"bytes,5,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"`
	// The map of name to definition of all components used in this pipeline.
	Components map[string]*ComponentSpec `protobuf:"bytes,8,rep,name=components,proto3" json:"components,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// The definition of the main pipeline.  Execution of the pipeline is
	// completed upon the completion of this component.
	Root *ComponentSpec `protobuf:"bytes,9,opt,name=root,proto3" json:"root,omitempty"`
	// Optional field. The default root output directory of the pipeline.
	DefaultPipelineRoot string `protobuf:"bytes,10,opt,name=default_pipeline_root,json=defaultPipelineRoot,proto3" json:"default_pipeline_root,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *PipelineSpec) Reset() {
	*x = PipelineSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineSpec) ProtoMessage() {}

func (x *PipelineSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineSpec.ProtoReflect.Descriptor instead.
func (*PipelineSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{1}
}

func (x *PipelineSpec) GetPipelineInfo() *PipelineInfo {
	if x != nil {
		return x.PipelineInfo
	}
	return nil
}

func (x *PipelineSpec) GetDeploymentSpec() *structpb.Struct {
	if x != nil {
		return x.DeploymentSpec
	}
	return nil
}

func (x *PipelineSpec) GetSdkVersion() string {
	if x != nil {
		return x.SdkVersion
	}
	return ""
}

func (x *PipelineSpec) GetSchemaVersion() string {
	if x != nil {
		return x.SchemaVersion
	}
	return ""
}

func (x *PipelineSpec) GetComponents() map[string]*ComponentSpec {
	if x != nil {
		return x.Components
	}
	return nil
}

func (x *PipelineSpec) GetRoot() *ComponentSpec {
	if x != nil {
		return x.Root
	}
	return nil
}

func (x *PipelineSpec) GetDefaultPipelineRoot() string {
	if x != nil {
		return x.DefaultPipelineRoot
	}
	return ""
}

// Definition of a component.
type ComponentSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Definition of the input parameters and artifacts of the component.
	InputDefinitions *ComponentInputsSpec `protobuf:"bytes,1,opt,name=input_definitions,json=inputDefinitions,proto3" json:"input_definitions,omitempty"`
	// Definition of the output parameters and artifacts of the component.
	OutputDefinitions *ComponentOutputsSpec `protobuf:"bytes,2,opt,name=output_definitions,json=outputDefinitions,proto3" json:"output_definitions,omitempty"`
	// Either a DAG or a single execution.
	//
	// Types that are valid to be assigned to Implementation:
	//
	//	*ComponentSpec_Dag
	//	*ComponentSpec_ExecutorLabel
	Implementation isComponentSpec_Implementation `protobuf_oneof:"implementation"`
	// Supports platform-specific component features.
	SinglePlatformSpecs []*SinglePlatformSpec `protobuf:"bytes,5,rep,name=single_platform_specs,json=singlePlatformSpecs,proto3" json:"single_platform_specs,omitempty"`
	// Specifies the task configurations that can be passed through to an external workload.
	TaskConfigPassthroughs []*TaskConfigPassthrough `protobuf:"bytes,6,rep,name=task_config_passthroughs,json=taskConfigPassthroughs,proto3" json:"task_config_passthroughs,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *ComponentSpec) Reset() {
	*x = ComponentSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ComponentSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ComponentSpec) ProtoMessage() {}

func (x *ComponentSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ComponentSpec.ProtoReflect.Descriptor instead.
func (*ComponentSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{2}
}

func (x *ComponentSpec) GetInputDefinitions() *ComponentInputsSpec {
	if x != nil {
		return x.InputDefinitions
	}
	return nil
}

func (x *ComponentSpec) GetOutputDefinitions() *ComponentOutputsSpec {
	if x != nil {
		return x.OutputDefinitions
	}
	return nil
}

func (x *ComponentSpec) GetImplementation() isComponentSpec_Implementation {
	if x != nil {
		return x.Implementation
	}
	return nil
}

func (x *ComponentSpec) GetDag() *DagSpec {
	if x != nil {
		if x, ok := x.Implementation.(*ComponentSpec_Dag); ok {
			return x.Dag
		}
	}
	return nil
}

func (x *ComponentSpec) GetExecutorLabel() string {
	if x != nil {
		if x, ok := x.Implementation.(*ComponentSpec_ExecutorLabel); ok {
			return x.ExecutorLabel
		}
	}
	return ""
}

func (x *ComponentSpec) GetSinglePlatformSpecs() []*SinglePlatformSpec {
	if x != nil {
		return x.SinglePlatformSpecs
	}
	return nil
}

func (x *ComponentSpec) GetTaskConfigPassthroughs() []*TaskConfigPassthrough {
	if x != nil {
		return x.TaskConfigPassthroughs
	}
	return nil
}

type isComponentSpec_Implementation interface {
	isComponentSpec_Implementation()
}

type ComponentSpec_Dag struct {
	Dag *DagSpec `protobuf:"bytes,3,opt,name=dag,proto3,oneof"`
}

type ComponentSpec_ExecutorLabel struct {
	ExecutorLabel string `protobuf:"bytes,4,opt,name=executor_label,json=executorLabel,proto3,oneof"`
}

func (*ComponentSpec_Dag) isComponentSpec_Implementation() {}

func (*ComponentSpec_ExecutorLabel) isComponentSpec_Implementation() {}

// A DAG contains multiple tasks.
type DagSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The tasks inside the dag.
	Tasks map[string]*PipelineTaskSpec `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Defines how the outputs of the dag are linked to the sub tasks.
	Outputs       *DagOutputsSpec `protobuf:"bytes,2,opt,name=outputs,proto3" json:"outputs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DagSpec) Reset() {
	*x = DagSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DagSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DagSpec) ProtoMessage() {}

func (x *DagSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DagSpec.ProtoReflect.Descriptor instead.
func (*DagSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{3}
}

func (x *DagSpec) GetTasks() map[string]*PipelineTaskSpec {
	if x != nil {
		return x.Tasks
	}
	return nil
}

func (x *DagSpec) GetOutputs() *DagOutputsSpec {
	if x != nil {
		return x.Outputs
	}
	return nil
}

// Definition of the output artifacts and parameters of the DAG component.
type DagOutputsSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name to the output artifact channel of the DAG.
	Artifacts map[string]*DagOutputsSpec_DagOutputArtifactSpec `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// The name to the output parameter.
	Parameters    map[string]*DagOutputsSpec_DagOutputParameterSpec `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DagOutputsSpec) Reset() {
	*x = DagOutputsSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DagOutputsSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DagOutputsSpec) ProtoMessage() {}

func (x *DagOutputsSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DagOutputsSpec.ProtoReflect.Descriptor instead.
func (*DagOutputsSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{4}
}

func (x *DagOutputsSpec) GetArtifacts() map[string]*DagOutputsSpec_DagOutputArtifactSpec {
	if x != nil {
		return x.Artifacts
	}
	return nil
}

func (x *DagOutputsSpec) GetParameters() map[string]*DagOutputsSpec_DagOutputParameterSpec {
	if x != nil {
		return x.Parameters
	}
	return nil
}

// Definition specification of the component input parameters and artifacts.
type ComponentInputsSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name to artifact input.
	Artifacts map[string]*ComponentInputsSpec_ArtifactSpec `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Name to parameter input.
	Parameters    map[string]*ComponentInputsSpec_ParameterSpec `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ComponentInputsSpec) Reset() {
	*x = ComponentInputsSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ComponentInputsSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ComponentInputsSpec) ProtoMessage() {}

func (x *ComponentInputsSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ComponentInputsSpec.ProtoReflect.Descriptor instead.
func (*ComponentInputsSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{5}
}

func (x *ComponentInputsSpec) GetArtifacts() map[string]*ComponentInputsSpec_ArtifactSpec {
	if x != nil {
		return x.Artifacts
	}
	return nil
}

func (x *ComponentInputsSpec) GetParameters() map[string]*ComponentInputsSpec_ParameterSpec {
	if x != nil {
		return x.Parameters
	}
	return nil
}

// Definition specification of the component output parameters and artifacts.
type ComponentOutputsSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name to artifact output.
	Artifacts map[string]*ComponentOutputsSpec_ArtifactSpec `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Name to parameter output.
	Parameters    map[string]*ComponentOutputsSpec_ParameterSpec `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ComponentOutputsSpec) Reset() {
	*x = ComponentOutputsSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ComponentOutputsSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ComponentOutputsSpec) ProtoMessage() {}

func (x *ComponentOutputsSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ComponentOutputsSpec.ProtoReflect.Descriptor instead.
func (*ComponentOutputsSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{6}
}

func (x *ComponentOutputsSpec) GetArtifacts() map[string]*ComponentOutputsSpec_ArtifactSpec {
	if x != nil {
		return x.Artifacts
	}
	return nil
}

func (x *ComponentOutputsSpec) GetParameters() map[string]*ComponentOutputsSpec_ParameterSpec {
	if x != nil {
		return x.Parameters
	}
	return nil
}

// The spec of task inputs.
type TaskInputsSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A map of input parameters which are small values, stored by the system and
	// can be queriable.
	Parameters map[string]*TaskInputsSpec_InputParameterSpec `protobuf:"bytes,1,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// A map of input artifacts.
	Artifacts     map[string]*TaskInputsSpec_InputArtifactSpec `protobuf:"bytes,2,rep,name=artifacts,proto3" json:"artifacts,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TaskInputsSpec) Reset() {
	*x = TaskInputsSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TaskInputsSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TaskInputsSpec) ProtoMessage() {}

func (x *TaskInputsSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TaskInputsSpec.ProtoReflect.Descriptor instead.
func (*TaskInputsSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{7}
}

func (x *TaskInputsSpec) GetParameters() map[string]*TaskInputsSpec_InputParameterSpec {
	if x != nil {
		return x.Parameters
	}
	return nil
}

func (x *TaskInputsSpec) GetArtifacts() map[string]*TaskInputsSpec_InputArtifactSpec {
	if x != nil {
		return x.Artifacts
	}
	return nil
}

// The spec of task outputs.
type TaskOutputsSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A map of output parameters which are small values, stored by the system and
	// can be queriable. The output key is used
	// by [TaskInputsSpec.InputParameterSpec][] of the downstream task to specify
	// the data dependency. The same key will also be used by
	// [ExecutorInput.Inputs][] to reference the output parameter.
	Parameters map[string]*TaskOutputsSpec_OutputParameterSpec `protobuf:"bytes,1,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// A map of output artifacts. Keyed by output key. The output key is used
	// by [TaskInputsSpec.InputArtifactSpec][] of the downstream task to specify
	// the data dependency. The same key will also be used by
	// [ExecutorInput.Inputs][] to reference the output artifact.
	Artifacts     map[string]*TaskOutputsSpec_OutputArtifactSpec `protobuf:"bytes,2,rep,name=artifacts,proto3" json:"artifacts,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TaskOutputsSpec) Reset() {
	*x = TaskOutputsSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TaskOutputsSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TaskOutputsSpec) ProtoMessage() {}

func (x *TaskOutputsSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TaskOutputsSpec.ProtoReflect.Descriptor instead.
func (*TaskOutputsSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{8}
}

func (x *TaskOutputsSpec) GetParameters() map[string]*TaskOutputsSpec_OutputParameterSpec {
	if x != nil {
		return x.Parameters
	}
	return nil
}

func (x *TaskOutputsSpec) GetArtifacts() map[string]*TaskOutputsSpec_OutputArtifactSpec {
	if x != nil {
		return x.Artifacts
	}
	return nil
}

// Represent primitive types. The wrapper is needed to give a namespace of
// enum value so we don't need add `PRIMITIVE_TYPE_` prefix of each enum value.
//
// Deprecated: Marked as deprecated in pipeline_spec.proto.
type PrimitiveType struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PrimitiveType) Reset() {
	*x = PrimitiveType{}
	mi := &file_pipeline_spec_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PrimitiveType) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PrimitiveType) ProtoMessage() {}

func (x *PrimitiveType) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PrimitiveType.ProtoReflect.Descriptor instead.
func (*PrimitiveType) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{9}
}

// Represent parameter types. The wrapper is needed to give a namespace of
// enum value so we don't need add `PARAMETER_TYPE_` prefix of each enum value.
type ParameterType struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ParameterType) Reset() {
	*x = ParameterType{}
	mi := &file_pipeline_spec_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ParameterType) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ParameterType) ProtoMessage() {}

func (x *ParameterType) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ParameterType.ProtoReflect.Descriptor instead.
func (*ParameterType) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{10}
}

// Represents the task configurations that can be passed through to an external workload.
type TaskConfigPassthroughType struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TaskConfigPassthroughType) Reset() {
	*x = TaskConfigPassthroughType{}
	mi := &file_pipeline_spec_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TaskConfigPassthroughType) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TaskConfigPassthroughType) ProtoMessage() {}

func (x *TaskConfigPassthroughType) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TaskConfigPassthroughType.ProtoReflect.Descriptor instead.
func (*TaskConfigPassthroughType) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{11}
}

type TaskConfigPassthrough struct {
	state         protoimpl.MessageState                                  `protogen:"open.v1"`
	Field         TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum `protobuf:"varint,1,opt,name=field,proto3,enum=ml_pipelines.TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum" json:"field,omitempty"`
	ApplyToTask   bool                                                    `protobuf:"varint,2,opt,name=apply_to_task,json=applyToTask,proto3" json:"apply_to_task,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TaskConfigPassthrough) Reset() {
	*x = TaskConfigPassthrough{}
	mi := &file_pipeline_spec_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TaskConfigPassthrough) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TaskConfigPassthrough) ProtoMessage() {}

func (x *TaskConfigPassthrough) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TaskConfigPassthrough.ProtoReflect.Descriptor instead.
func (*TaskConfigPassthrough) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{12}
}

func (x *TaskConfigPassthrough) GetField() TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum {
	if x != nil {
		return x.Field
	}
	return TaskConfigPassthroughType_NONE
}

func (x *TaskConfigPassthrough) GetApplyToTask() bool {
	if x != nil {
		return x.ApplyToTask
	}
	return false
}

// The spec of a pipeline task.
type PipelineTaskSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Basic info of a pipeline task.
	TaskInfo *PipelineTaskInfo `protobuf:"bytes,1,opt,name=task_info,json=taskInfo,proto3" json:"task_info,omitempty"`
	// Specification for task inputs which contains parameters and artifacts.
	Inputs *TaskInputsSpec `protobuf:"bytes,2,opt,name=inputs,proto3" json:"inputs,omitempty"`
	// A list of names of upstream tasks that do not provide input
	// artifacts for this task, but nonetheless whose completion this task depends
	// on.
	DependentTasks []string                         `protobuf:"bytes,5,rep,name=dependent_tasks,json=dependentTasks,proto3" json:"dependent_tasks,omitempty"`
	CachingOptions *PipelineTaskSpec_CachingOptions `protobuf:"bytes,6,opt,name=caching_options,json=cachingOptions,proto3" json:"caching_options,omitempty"`
	// Reference to a component.  Use this field to define either a DAG or an
	// executor.
	ComponentRef *ComponentRef `protobuf:"bytes,7,opt,name=component_ref,json=componentRef,proto3" json:"component_ref,omitempty"`
	// Trigger policy of the task.
	TriggerPolicy *PipelineTaskSpec_TriggerPolicy `protobuf:"bytes,8,opt,name=trigger_policy,json=triggerPolicy,proto3" json:"trigger_policy,omitempty"`
	// Iterator supports fanning out the task into multiple sub-tasks based on the
	// values of input artifact or parameter. The current task will become the
	// parent of all the fan-out tasks. The output of the current task follows
	// the following conventions:
	//   - Output artifacts with the same name of each iteration will be merged
	//     into one output artifact channel of the parent iterator task.
	//   - Output parameters with the same name of each iteration will be merged
	//     into a string output parameter with the same name with content being a
	//     JSON array.
	//
	// For example, if an iterator starts two sub-tasks (t1 and t2) with the
	// following outputs.
	//
	// t1.outputs.parameters = { 'p': 'v1' }
	// t1.outputs.artifacts = { 'a': [a1] }
	// t2.outputs.parameters = { 'p': 'v2' }
	// t2.outputs.artifacts = { 'a': [a2] }
	// parent_task.outputs.parameters = { 'p': '["v1", "v2"]' }
	// parent_task.outputs.artifacts = { 'a': [a1, a2] }
	//
	// Types that are valid to be assigned to Iterator:
	//
	//	*PipelineTaskSpec_ArtifactIterator
	//	*PipelineTaskSpec_ParameterIterator
	Iterator isPipelineTaskSpec_Iterator `protobuf_oneof:"iterator"`
	// User-configured task-level retry.
	// Applicable only to component tasks.
	RetryPolicy *PipelineTaskSpec_RetryPolicy `protobuf:"bytes,11,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"`
	// Iterator related settings.
	IteratorPolicy *PipelineTaskSpec_IteratorPolicy `protobuf:"bytes,12,opt,name=iterator_policy,json=iteratorPolicy,proto3" json:"iterator_policy,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *PipelineTaskSpec) Reset() {
	*x = PipelineTaskSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineTaskSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineTaskSpec) ProtoMessage() {}

func (x *PipelineTaskSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineTaskSpec.ProtoReflect.Descriptor instead.
func (*PipelineTaskSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{13}
}

func (x *PipelineTaskSpec) GetTaskInfo() *PipelineTaskInfo {
	if x != nil {
		return x.TaskInfo
	}
	return nil
}

func (x *PipelineTaskSpec) GetInputs() *TaskInputsSpec {
	if x != nil {
		return x.Inputs
	}
	return nil
}

func (x *PipelineTaskSpec) GetDependentTasks() []string {
	if x != nil {
		return x.DependentTasks
	}
	return nil
}

func (x *PipelineTaskSpec) GetCachingOptions() *PipelineTaskSpec_CachingOptions {
	if x != nil {
		return x.CachingOptions
	}
	return nil
}

func (x *PipelineTaskSpec) GetComponentRef() *ComponentRef {
	if x != nil {
		return x.ComponentRef
	}
	return nil
}

func (x *PipelineTaskSpec) GetTriggerPolicy() *PipelineTaskSpec_TriggerPolicy {
	if x != nil {
		return x.TriggerPolicy
	}
	return nil
}

func (x *PipelineTaskSpec) GetIterator() isPipelineTaskSpec_Iterator {
	if x != nil {
		return x.Iterator
	}
	return nil
}

func (x *PipelineTaskSpec) GetArtifactIterator() *ArtifactIteratorSpec {
	if x != nil {
		if x, ok := x.Iterator.(*PipelineTaskSpec_ArtifactIterator); ok {
			return x.ArtifactIterator
		}
	}
	return nil
}

func (x *PipelineTaskSpec) GetParameterIterator() *ParameterIteratorSpec {
	if x != nil {
		if x, ok := x.Iterator.(*PipelineTaskSpec_ParameterIterator); ok {
			return x.ParameterIterator
		}
	}
	return nil
}

func (x *PipelineTaskSpec) GetRetryPolicy() *PipelineTaskSpec_RetryPolicy {
	if x != nil {
		return x.RetryPolicy
	}
	return nil
}

func (x *PipelineTaskSpec) GetIteratorPolicy() *PipelineTaskSpec_IteratorPolicy {
	if x != nil {
		return x.IteratorPolicy
	}
	return nil
}

type isPipelineTaskSpec_Iterator interface {
	isPipelineTaskSpec_Iterator()
}

type PipelineTaskSpec_ArtifactIterator struct {
	// Iterator to iterate over an artifact input.
	ArtifactIterator *ArtifactIteratorSpec `protobuf:"bytes,9,opt,name=artifact_iterator,json=artifactIterator,proto3,oneof"`
}

type PipelineTaskSpec_ParameterIterator struct {
	// Iterator to iterate over a parameter input.
	ParameterIterator *ParameterIteratorSpec `protobuf:"bytes,10,opt,name=parameter_iterator,json=parameterIterator,proto3,oneof"`
}

func (*PipelineTaskSpec_ArtifactIterator) isPipelineTaskSpec_Iterator() {}

func (*PipelineTaskSpec_ParameterIterator) isPipelineTaskSpec_Iterator() {}

// The spec of an artifact iterator. It supports fan-out a workflow from a list
// of artifacts.
type ArtifactIteratorSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The items to iterate.
	Items *ArtifactIteratorSpec_ItemsSpec `protobuf:"bytes,1,opt,name=items,proto3" json:"items,omitempty"`
	// The name of the input artifact channel which has the artifact item from the
	// [items][] collection.
	ItemInput     string `protobuf:"bytes,2,opt,name=item_input,json=itemInput,proto3" json:"item_input,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ArtifactIteratorSpec) Reset() {
	*x = ArtifactIteratorSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArtifactIteratorSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArtifactIteratorSpec) ProtoMessage() {}

func (x *ArtifactIteratorSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ArtifactIteratorSpec.ProtoReflect.Descriptor instead.
func (*ArtifactIteratorSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{14}
}

func (x *ArtifactIteratorSpec) GetItems() *ArtifactIteratorSpec_ItemsSpec {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *ArtifactIteratorSpec) GetItemInput() string {
	if x != nil {
		return x.ItemInput
	}
	return ""
}

// The spec of a parameter iterator. It supports fan-out a workflow from a
// string parameter which contains a JSON array.
type ParameterIteratorSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The items to iterate.
	Items *ParameterIteratorSpec_ItemsSpec `protobuf:"bytes,1,opt,name=items,proto3" json:"items,omitempty"`
	// The name of the input parameter which has the item value from the
	// [items][] collection.
	ItemInput     string `protobuf:"bytes,2,opt,name=item_input,json=itemInput,proto3" json:"item_input,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ParameterIteratorSpec) Reset() {
	*x = ParameterIteratorSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ParameterIteratorSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ParameterIteratorSpec) ProtoMessage() {}

func (x *ParameterIteratorSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ParameterIteratorSpec.ProtoReflect.Descriptor instead.
func (*ParameterIteratorSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{15}
}

func (x *ParameterIteratorSpec) GetItems() *ParameterIteratorSpec_ItemsSpec {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *ParameterIteratorSpec) GetItemInput() string {
	if x != nil {
		return x.ItemInput
	}
	return ""
}

type ComponentRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of a component. Refer to the key of the
	// [PipelineSpec.components][] map.
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ComponentRef) Reset() {
	*x = ComponentRef{}
	mi := &file_pipeline_spec_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ComponentRef) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ComponentRef) ProtoMessage() {}

func (x *ComponentRef) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ComponentRef.ProtoReflect.Descriptor instead.
func (*ComponentRef) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{16}
}

func (x *ComponentRef) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// Basic info of a pipeline.
type PipelineInfo struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required field. The name of the pipeline.
	// The name will be used to create or find pipeline context in MLMD.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Optional fields. The readable display name for the pipeline template.
	// Should not exceed 1024 characters.
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Optional fields. The readable description for the pipeline template.
	// Should not exceed 1024 characters.
	Description   string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineInfo) Reset() {
	*x = PipelineInfo{}
	mi := &file_pipeline_spec_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineInfo) ProtoMessage() {}

func (x *PipelineInfo) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineInfo.ProtoReflect.Descriptor instead.
func (*PipelineInfo) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{17}
}

func (x *PipelineInfo) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *PipelineInfo) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *PipelineInfo) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

// The definition of a artifact type in MLMD.
type ArtifactTypeSchema struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Kind:
	//
	//	*ArtifactTypeSchema_SchemaTitle
	//	*ArtifactTypeSchema_SchemaUri
	//	*ArtifactTypeSchema_InstanceSchema
	Kind isArtifactTypeSchema_Kind `protobuf_oneof:"kind"`
	// The schema version of the artifact. If the value is not set, it defaults
	// to the the latest version in the system.
	SchemaVersion string `protobuf:"bytes,4,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ArtifactTypeSchema) Reset() {
	*x = ArtifactTypeSchema{}
	mi := &file_pipeline_spec_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArtifactTypeSchema) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArtifactTypeSchema) ProtoMessage() {}

func (x *ArtifactTypeSchema) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ArtifactTypeSchema.ProtoReflect.Descriptor instead.
func (*ArtifactTypeSchema) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{18}
}

func (x *ArtifactTypeSchema) GetKind() isArtifactTypeSchema_Kind {
	if x != nil {
		return x.Kind
	}
	return nil
}

func (x *ArtifactTypeSchema) GetSchemaTitle() string {
	if x != nil {
		if x, ok := x.Kind.(*ArtifactTypeSchema_SchemaTitle); ok {
			return x.SchemaTitle
		}
	}
	return ""
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *ArtifactTypeSchema) GetSchemaUri() string {
	if x != nil {
		if x, ok := x.Kind.(*ArtifactTypeSchema_SchemaUri); ok {
			return x.SchemaUri
		}
	}
	return ""
}

func (x *ArtifactTypeSchema) GetInstanceSchema() string {
	if x != nil {
		if x, ok := x.Kind.(*ArtifactTypeSchema_InstanceSchema); ok {
			return x.InstanceSchema
		}
	}
	return ""
}

func (x *ArtifactTypeSchema) GetSchemaVersion() string {
	if x != nil {
		return x.SchemaVersion
	}
	return ""
}

type isArtifactTypeSchema_Kind interface {
	isArtifactTypeSchema_Kind()
}

type ArtifactTypeSchema_SchemaTitle struct {
	// The name of the type. The format of the title must be:
	// `<namespace>.<title>`.
	// Examples:
	//  - `aiplatform.Model`
	//  - `acme.CustomModel`
	// When this field is set, the type must be pre-registered in the MLMD
	// store.
	SchemaTitle string `protobuf:"bytes,1,opt,name=schema_title,json=schemaTitle,proto3,oneof"`
}

type ArtifactTypeSchema_SchemaUri struct {
	// Points to a YAML file stored on Google Cloud Storage describing the
	// format.
	// Deprecated. Use [PipelineArtifactTypeSchema.schema_title][] or
	// [PipelineArtifactTypeSchema.instance_schema][] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	SchemaUri string `protobuf:"bytes,2,opt,name=schema_uri,json=schemaUri,proto3,oneof"`
}

type ArtifactTypeSchema_InstanceSchema struct {
	// Contains a raw YAML string, describing the format of
	// the properties of the type.
	InstanceSchema string `protobuf:"bytes,3,opt,name=instance_schema,json=instanceSchema,proto3,oneof"`
}

func (*ArtifactTypeSchema_SchemaTitle) isArtifactTypeSchema_Kind() {}

func (*ArtifactTypeSchema_SchemaUri) isArtifactTypeSchema_Kind() {}

func (*ArtifactTypeSchema_InstanceSchema) isArtifactTypeSchema_Kind() {}

// The basic info of a task.
type PipelineTaskInfo struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The display name of the task.
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineTaskInfo) Reset() {
	*x = PipelineTaskInfo{}
	mi := &file_pipeline_spec_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineTaskInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineTaskInfo) ProtoMessage() {}

func (x *PipelineTaskInfo) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineTaskInfo.ProtoReflect.Descriptor instead.
func (*PipelineTaskInfo) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{19}
}

func (x *PipelineTaskInfo) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// Definition for a value or reference to a runtime parameter. A
// ValueOrRuntimeParameter instance can be either a field value that is
// determined during compilation time, or a runtime parameter which will be
// determined during runtime.
type ValueOrRuntimeParameter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Value:
	//
	//	*ValueOrRuntimeParameter_ConstantValue
	//	*ValueOrRuntimeParameter_RuntimeParameter
	//	*ValueOrRuntimeParameter_Constant
	Value         isValueOrRuntimeParameter_Value `protobuf_oneof:"value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ValueOrRuntimeParameter) Reset() {
	*x = ValueOrRuntimeParameter{}
	mi := &file_pipeline_spec_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ValueOrRuntimeParameter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ValueOrRuntimeParameter) ProtoMessage() {}

func (x *ValueOrRuntimeParameter) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ValueOrRuntimeParameter.ProtoReflect.Descriptor instead.
func (*ValueOrRuntimeParameter) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{20}
}

func (x *ValueOrRuntimeParameter) GetValue() isValueOrRuntimeParameter_Value {
	if x != nil {
		return x.Value
	}
	return nil
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *ValueOrRuntimeParameter) GetConstantValue() *Value {
	if x != nil {
		if x, ok := x.Value.(*ValueOrRuntimeParameter_ConstantValue); ok {
			return x.ConstantValue
		}
	}
	return nil
}

func (x *ValueOrRuntimeParameter) GetRuntimeParameter() string {
	if x != nil {
		if x, ok := x.Value.(*ValueOrRuntimeParameter_RuntimeParameter); ok {
			return x.RuntimeParameter
		}
	}
	return ""
}

func (x *ValueOrRuntimeParameter) GetConstant() *structpb.Value {
	if x != nil {
		if x, ok := x.Value.(*ValueOrRuntimeParameter_Constant); ok {
			return x.Constant
		}
	}
	return nil
}

type isValueOrRuntimeParameter_Value interface {
	isValueOrRuntimeParameter_Value()
}

type ValueOrRuntimeParameter_ConstantValue struct {
	// Constant value which is determined in compile time.
	// Deprecated. Use [ValueOrRuntimeParameter.constant][] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	ConstantValue *Value `protobuf:"bytes,1,opt,name=constant_value,json=constantValue,proto3,oneof"`
}

type ValueOrRuntimeParameter_RuntimeParameter struct {
	// The runtime parameter refers to the parent component input parameter.
	RuntimeParameter string `protobuf:"bytes,2,opt,name=runtime_parameter,json=runtimeParameter,proto3,oneof"`
}

type ValueOrRuntimeParameter_Constant struct {
	// Constant value which is determined in compile time.
	Constant *structpb.Value `protobuf:"bytes,3,opt,name=constant,proto3,oneof"`
}

func (*ValueOrRuntimeParameter_ConstantValue) isValueOrRuntimeParameter_Value() {}

func (*ValueOrRuntimeParameter_RuntimeParameter) isValueOrRuntimeParameter_Value() {}

func (*ValueOrRuntimeParameter_Constant) isValueOrRuntimeParameter_Value() {}

// The definition of the deployment config of the pipeline. It contains the
// the platform specific executor configs for KFP OSS.
type PipelineDeploymentConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Map from executor label to executor spec.
	Executors     map[string]*PipelineDeploymentConfig_ExecutorSpec `protobuf:"bytes,1,rep,name=executors,proto3" json:"executors,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineDeploymentConfig) Reset() {
	*x = PipelineDeploymentConfig{}
	mi := &file_pipeline_spec_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineDeploymentConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineDeploymentConfig) ProtoMessage() {}

func (x *PipelineDeploymentConfig) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineDeploymentConfig.ProtoReflect.Descriptor instead.
func (*PipelineDeploymentConfig) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{21}
}

func (x *PipelineDeploymentConfig) GetExecutors() map[string]*PipelineDeploymentConfig_ExecutorSpec {
	if x != nil {
		return x.Executors
	}
	return nil
}

// Value is the value of the field.
type Value struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Value:
	//
	//	*Value_IntValue
	//	*Value_DoubleValue
	//	*Value_StringValue
	Value         isValue_Value `protobuf_oneof:"value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Value) Reset() {
	*x = Value{}
	mi := &file_pipeline_spec_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Value) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Value) ProtoMessage() {}

func (x *Value) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Value.ProtoReflect.Descriptor instead.
func (*Value) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{22}
}

func (x *Value) GetValue() isValue_Value {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *Value) GetIntValue() int64 {
	if x != nil {
		if x, ok := x.Value.(*Value_IntValue); ok {
			return x.IntValue
		}
	}
	return 0
}

func (x *Value) GetDoubleValue() float64 {
	if x != nil {
		if x, ok := x.Value.(*Value_DoubleValue); ok {
			return x.DoubleValue
		}
	}
	return 0
}

func (x *Value) GetStringValue() string {
	if x != nil {
		if x, ok := x.Value.(*Value_StringValue); ok {
			return x.StringValue
		}
	}
	return ""
}

type isValue_Value interface {
	isValue_Value()
}

type Value_IntValue struct {
	// An integer value
	IntValue int64 `protobuf:"varint,1,opt,name=int_value,json=intValue,proto3,oneof"`
}

type Value_DoubleValue struct {
	// A double value
	DoubleValue float64 `protobuf:"fixed64,2,opt,name=double_value,json=doubleValue,proto3,oneof"`
}

type Value_StringValue struct {
	// A string value
	StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"`
}

func (*Value_IntValue) isValue_Value() {}

func (*Value_DoubleValue) isValue_Value() {}

func (*Value_StringValue) isValue_Value() {}

// The definition of a runtime artifact.
type RuntimeArtifact struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of an artifact.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The type of the artifact.
	Type *ArtifactTypeSchema `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	// The URI of the artifact.
	Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"`
	// The properties of the artifact.
	// Deprecated. Use [RuntimeArtifact.metadata][] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	Properties map[string]*Value `protobuf:"bytes,4,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// The custom properties of the artifact.
	// Deprecated. Use [RuntimeArtifact.metadata][] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	CustomProperties map[string]*Value `protobuf:"bytes,5,rep,name=custom_properties,json=customProperties,proto3" json:"custom_properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Properties of the Artifact.
	Metadata      *structpb.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RuntimeArtifact) Reset() {
	*x = RuntimeArtifact{}
	mi := &file_pipeline_spec_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RuntimeArtifact) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RuntimeArtifact) ProtoMessage() {}

func (x *RuntimeArtifact) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RuntimeArtifact.ProtoReflect.Descriptor instead.
func (*RuntimeArtifact) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{23}
}

func (x *RuntimeArtifact) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *RuntimeArtifact) GetType() *ArtifactTypeSchema {
	if x != nil {
		return x.Type
	}
	return nil
}

func (x *RuntimeArtifact) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *RuntimeArtifact) GetProperties() map[string]*Value {
	if x != nil {
		return x.Properties
	}
	return nil
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *RuntimeArtifact) GetCustomProperties() map[string]*Value {
	if x != nil {
		return x.CustomProperties
	}
	return nil
}

func (x *RuntimeArtifact) GetMetadata() *structpb.Struct {
	if x != nil {
		return x.Metadata
	}
	return nil
}

// Message that represents a list of artifacts.
type ArtifactList struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A list of artifacts.
	Artifacts     []*RuntimeArtifact `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ArtifactList) Reset() {
	*x = ArtifactList{}
	mi := &file_pipeline_spec_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArtifactList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArtifactList) ProtoMessage() {}

func (x *ArtifactList) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ArtifactList.ProtoReflect.Descriptor instead.
func (*ArtifactList) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{24}
}

func (x *ArtifactList) GetArtifacts() []*RuntimeArtifact {
	if x != nil {
		return x.Artifacts
	}
	return nil
}

// The input of an executor, which includes all the data that
// can be passed into the executor spec by a string based placeholder.
//
// The string based placeholder uses a JSON path to reference to the data
// in the [ExecutionInput]().
//
// `{{$}}`: prints the full [ExecutorInput]() as a JSON string.
// `{{$.inputs.artifacts['<name>'].uri}}`: prints the URI of an input
// artifact.
// `{{$.inputs.artifacts['<name>'].properties['<property name>']}}`: prints
// the
//   property of an input artifact.
// `{{$.inputs.parameters['<name>']}}`: prints the value of an input
// parameter.
// `{{$.outputs.artifacts['<name>'].uri}}: prints the URI of an output artifact.
// `{{$.outputs.artifacts['<name>'].properties['<property name>']}}`: prints the
//   property of an output artifact.
// `{{$.outputs.parameters['<name>'].output_file}}`: prints a file path which
// points to a file and container can write to it to return the value of the
// parameter..
// `{{$.outputs.output_file}}`: prints a file path of the output metadata file
// which is used to send output metadata from executor to orchestrator. The
// contract of the output metadata is [ExecutorOutput](). When both parameter
// output file and executor output metadata files are set by the container, the
// output metadata file will have higher precedence to set output parameters.
type ExecutorInput struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The runtime input artifacts of the task invocation.
	Inputs *ExecutorInput_Inputs `protobuf:"bytes,1,opt,name=inputs,proto3" json:"inputs,omitempty"`
	// The runtime output artifacts of the task invocation.
	Outputs       *ExecutorInput_Outputs `protobuf:"bytes,2,opt,name=outputs,proto3" json:"outputs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ExecutorInput) Reset() {
	*x = ExecutorInput{}
	mi := &file_pipeline_spec_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ExecutorInput) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ExecutorInput) ProtoMessage() {}

func (x *ExecutorInput) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ExecutorInput.ProtoReflect.Descriptor instead.
func (*ExecutorInput) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{25}
}

func (x *ExecutorInput) GetInputs() *ExecutorInput_Inputs {
	if x != nil {
		return x.Inputs
	}
	return nil
}

func (x *ExecutorInput) GetOutputs() *ExecutorInput_Outputs {
	if x != nil {
		return x.Outputs
	}
	return nil
}

// The schema of the output metadata of an execution. It will be used to parse
// the output metadata file.
type ExecutorOutput struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The values for output parameters.
	// Deprecated. Use [ExecutorOutput.parameter_values][] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	Parameters map[string]*Value `protobuf:"bytes,1,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// The updated metadata for output artifact.
	Artifacts map[string]*ArtifactList `protobuf:"bytes,2,rep,name=artifacts,proto3" json:"artifacts,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// The values for output parameters.
	ParameterValues map[string]*structpb.Value `protobuf:"bytes,3,rep,name=parameter_values,json=parameterValues,proto3" json:"parameter_values,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ExecutorOutput) Reset() {
	*x = ExecutorOutput{}
	mi := &file_pipeline_spec_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ExecutorOutput) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ExecutorOutput) ProtoMessage() {}

func (x *ExecutorOutput) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ExecutorOutput.ProtoReflect.Descriptor instead.
func (*ExecutorOutput) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{26}
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *ExecutorOutput) GetParameters() map[string]*Value {
	if x != nil {
		return x.Parameters
	}
	return nil
}

func (x *ExecutorOutput) GetArtifacts() map[string]*ArtifactList {
	if x != nil {
		return x.Artifacts
	}
	return nil
}

func (x *ExecutorOutput) GetParameterValues() map[string]*structpb.Value {
	if x != nil {
		return x.ParameterValues
	}
	return nil
}

// The final status of a task. The structure will be passed to input parameter
// of kind `task_final_status`.
type PipelineTaskFinalStatus struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The final state of the task.
	// The value is the string version of [PipelineStateEnum.PipelineTaskState][]
	State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
	// The error of the task.
	Error *status.Status `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// The pipeline job unique id.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	PipelineJobUuid int64 `protobuf:"varint,3,opt,name=pipeline_job_uuid,json=pipelineJobUuid,proto3" json:"pipeline_job_uuid,omitempty"`
	// The pipeline job name from the [PipelineJob.name][].
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	PipelineJobName string `protobuf:"bytes,4,opt,name=pipeline_job_name,json=pipelineJobName,proto3" json:"pipeline_job_name,omitempty"`
	// The pipeline job resource name, in the format of
	// `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`.
	PipelineJobResourceName string `protobuf:"bytes,5,opt,name=pipeline_job_resource_name,json=pipelineJobResourceName,proto3" json:"pipeline_job_resource_name,omitempty"`
	// The pipeline task that produces this status.
	PipelineTaskName string `protobuf:"bytes,6,opt,name=pipeline_task_name,json=pipelineTaskName,proto3" json:"pipeline_task_name,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *PipelineTaskFinalStatus) Reset() {
	*x = PipelineTaskFinalStatus{}
	mi := &file_pipeline_spec_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineTaskFinalStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineTaskFinalStatus) ProtoMessage() {}

func (x *PipelineTaskFinalStatus) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineTaskFinalStatus.ProtoReflect.Descriptor instead.
func (*PipelineTaskFinalStatus) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{27}
}

func (x *PipelineTaskFinalStatus) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

func (x *PipelineTaskFinalStatus) GetError() *status.Status {
	if x != nil {
		return x.Error
	}
	return nil
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *PipelineTaskFinalStatus) GetPipelineJobUuid() int64 {
	if x != nil {
		return x.PipelineJobUuid
	}
	return 0
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *PipelineTaskFinalStatus) GetPipelineJobName() string {
	if x != nil {
		return x.PipelineJobName
	}
	return ""
}

func (x *PipelineTaskFinalStatus) GetPipelineJobResourceName() string {
	if x != nil {
		return x.PipelineJobResourceName
	}
	return ""
}

func (x *PipelineTaskFinalStatus) GetPipelineTaskName() string {
	if x != nil {
		return x.PipelineTaskName
	}
	return ""
}

type PipelineStateEnum struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineStateEnum) Reset() {
	*x = PipelineStateEnum{}
	mi := &file_pipeline_spec_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineStateEnum) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineStateEnum) ProtoMessage() {}

func (x *PipelineStateEnum) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineStateEnum.ProtoReflect.Descriptor instead.
func (*PipelineStateEnum) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{28}
}

// Spec for all platforms; second document in IR
type PlatformSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Platform key to full platform config
	Platforms     map[string]*SinglePlatformSpec `protobuf:"bytes,1,rep,name=platforms,proto3" json:"platforms,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PlatformSpec) Reset() {
	*x = PlatformSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PlatformSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PlatformSpec) ProtoMessage() {}

func (x *PlatformSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PlatformSpec.ProtoReflect.Descriptor instead.
func (*PlatformSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{29}
}

func (x *PlatformSpec) GetPlatforms() map[string]*SinglePlatformSpec {
	if x != nil {
		return x.Platforms
	}
	return nil
}

type SinglePlatformSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Mirrors PipelineSpec.deployment_spec structure
	DeploymentSpec *PlatformDeploymentConfig `protobuf:"bytes,1,opt,name=deployment_spec,json=deploymentSpec,proto3" json:"deployment_spec,omitempty"`
	// Name of the platform. For example, "google_cloud"
	Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"`
	// Arbitrary configuration, which will be defined by the platform
	// protos/libraries.
	Config         *structpb.Struct `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
	PipelineConfig *PipelineConfig  `protobuf:"bytes,4,opt,name=pipelineConfig,proto3" json:"pipelineConfig,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *SinglePlatformSpec) Reset() {
	*x = SinglePlatformSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SinglePlatformSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SinglePlatformSpec) ProtoMessage() {}

func (x *SinglePlatformSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SinglePlatformSpec.ProtoReflect.Descriptor instead.
func (*SinglePlatformSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{30}
}

func (x *SinglePlatformSpec) GetDeploymentSpec() *PlatformDeploymentConfig {
	if x != nil {
		return x.DeploymentSpec
	}
	return nil
}

func (x *SinglePlatformSpec) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *SinglePlatformSpec) GetConfig() *structpb.Struct {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *SinglePlatformSpec) GetPipelineConfig() *PipelineConfig {
	if x != nil {
		return x.PipelineConfig
	}
	return nil
}

type PlatformDeploymentConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Map of executor label to executor-level config
	// Mirrors PipelineSpec.deployment_spec.executors structure
	Executors     map[string]*structpb.Struct `protobuf:"bytes,1,rep,name=executors,proto3" json:"executors,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PlatformDeploymentConfig) Reset() {
	*x = PlatformDeploymentConfig{}
	mi := &file_pipeline_spec_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PlatformDeploymentConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PlatformDeploymentConfig) ProtoMessage() {}

func (x *PlatformDeploymentConfig) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PlatformDeploymentConfig.ProtoReflect.Descriptor instead.
func (*PlatformDeploymentConfig) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{31}
}

func (x *PlatformDeploymentConfig) GetExecutors() map[string]*structpb.Struct {
	if x != nil {
		return x.Executors
	}
	return nil
}

type WorkspaceConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Size of the workspace
	// Example: "250Gi"
	// See https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/ for valid quantity formats
	Size string `protobuf:"bytes,1,opt,name=size,proto3" json:"size,omitempty"`
	// Kubernetes specific configuration for the workspace
	Kubernetes    *KubernetesWorkspaceConfig `protobuf:"bytes,2,opt,name=kubernetes,proto3,oneof" json:"kubernetes,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WorkspaceConfig) Reset() {
	*x = WorkspaceConfig{}
	mi := &file_pipeline_spec_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WorkspaceConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkspaceConfig) ProtoMessage() {}

func (x *WorkspaceConfig) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[32]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkspaceConfig.ProtoReflect.Descriptor instead.
func (*WorkspaceConfig) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{32}
}

func (x *WorkspaceConfig) GetSize() string {
	if x != nil {
		return x.Size
	}
	return ""
}

func (x *WorkspaceConfig) GetKubernetes() *KubernetesWorkspaceConfig {
	if x != nil {
		return x.Kubernetes
	}
	return nil
}

type KubernetesWorkspaceConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Patch of a PersistentVolumeClaim (PVC) spec to override defaults set on the API server for the workspace PVC
	// Example: {
	//   "storageClassName": "super-fast-storage",
	//   "accessModes": ["ReadWriteMany"]
	// }
	PvcSpecPatch  *structpb.Struct `protobuf:"bytes,1,opt,name=pvc_spec_patch,json=pvcSpecPatch,proto3,oneof" json:"pvc_spec_patch,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *KubernetesWorkspaceConfig) Reset() {
	*x = KubernetesWorkspaceConfig{}
	mi := &file_pipeline_spec_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *KubernetesWorkspaceConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*KubernetesWorkspaceConfig) ProtoMessage() {}

func (x *KubernetesWorkspaceConfig) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[33]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use KubernetesWorkspaceConfig.ProtoReflect.Descriptor instead.
func (*KubernetesWorkspaceConfig) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{33}
}

func (x *KubernetesWorkspaceConfig) GetPvcSpecPatch() *structpb.Struct {
	if x != nil {
		return x.PvcSpecPatch
	}
	return nil
}

// Spec for pipeline-level config options. See PipelineConfig DSL class.
type PipelineConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of the semaphore key to control pipeline concurrency
	SemaphoreKey string `protobuf:"bytes,1,opt,name=semaphore_key,json=semaphoreKey,proto3" json:"semaphore_key,omitempty"`
	// Name of the mutex to ensure mutual exclusion
	MutexName string `protobuf:"bytes,2,opt,name=mutex_name,json=mutexName,proto3" json:"mutex_name,omitempty"`
	// Time to live configuration after the pipeline run is completed for
	// ephemeral resources created by the pipeline run.
	ResourceTtl int32 `protobuf:"varint,3,opt,name=resource_ttl,json=resourceTtl,proto3" json:"resource_ttl,omitempty"`
	// Configuration for a shared storage workspace that persists for the duration of the pipeline run.
	// The workspace can be configured with size and Kubernetes-specific settings to override default PVC configurations.
	Workspace     *WorkspaceConfig `protobuf:"bytes,4,opt,name=workspace,proto3,oneof" json:"workspace,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineConfig) Reset() {
	*x = PipelineConfig{}
	mi := &file_pipeline_spec_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineConfig) ProtoMessage() {}

func (x *PipelineConfig) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[34]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineConfig.ProtoReflect.Descriptor instead.
func (*PipelineConfig) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{34}
}

func (x *PipelineConfig) GetSemaphoreKey() string {
	if x != nil {
		return x.SemaphoreKey
	}
	return ""
}

func (x *PipelineConfig) GetMutexName() string {
	if x != nil {
		return x.MutexName
	}
	return ""
}

func (x *PipelineConfig) GetResourceTtl() int32 {
	if x != nil {
		return x.ResourceTtl
	}
	return 0
}

func (x *PipelineConfig) GetWorkspace() *WorkspaceConfig {
	if x != nil {
		return x.Workspace
	}
	return nil
}

// The runtime config of a PipelineJob.
type PipelineJob_RuntimeConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated. Use [RuntimeConfig.parameter_values][] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	Parameters map[string]*Value `protobuf:"bytes,1,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// 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.
	// This is a GCP-specific optimization.
	GcsOutputDirectory string `protobuf:"bytes,2,opt,name=gcs_output_directory,json=gcsOutputDirectory,proto3" json:"gcs_output_directory,omitempty"`
	// The runtime parameters of the PipelineJob. The parameters will be
	// passed into [PipelineJob.pipeline_spec][] to replace the placeholders
	// at runtime.
	ParameterValues map[string]*structpb.Value `protobuf:"bytes,3,rep,name=parameter_values,json=parameterValues,proto3" json:"parameter_values,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *PipelineJob_RuntimeConfig) Reset() {
	*x = PipelineJob_RuntimeConfig{}
	mi := &file_pipeline_spec_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineJob_RuntimeConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineJob_RuntimeConfig) ProtoMessage() {}

func (x *PipelineJob_RuntimeConfig) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[36]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineJob_RuntimeConfig.ProtoReflect.Descriptor instead.
func (*PipelineJob_RuntimeConfig) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{0, 1}
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *PipelineJob_RuntimeConfig) GetParameters() map[string]*Value {
	if x != nil {
		return x.Parameters
	}
	return nil
}

func (x *PipelineJob_RuntimeConfig) GetGcsOutputDirectory() string {
	if x != nil {
		return x.GcsOutputDirectory
	}
	return ""
}

func (x *PipelineJob_RuntimeConfig) GetParameterValues() map[string]*structpb.Value {
	if x != nil {
		return x.ParameterValues
	}
	return nil
}

// The definition of the runtime parameter.
type PipelineSpec_RuntimeParameter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required field. The type of the runtime parameter.
	Type PrimitiveType_PrimitiveTypeEnum `protobuf:"varint,1,opt,name=type,proto3,enum=ml_pipelines.PrimitiveType_PrimitiveTypeEnum" json:"type,omitempty"`
	// Optional field. Default value of the runtime parameter. If not set and
	// the runtime parameter value is not provided during runtime, an error will
	// be raised.
	DefaultValue  *Value `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineSpec_RuntimeParameter) Reset() {
	*x = PipelineSpec_RuntimeParameter{}
	mi := &file_pipeline_spec_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineSpec_RuntimeParameter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineSpec_RuntimeParameter) ProtoMessage() {}

func (x *PipelineSpec_RuntimeParameter) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[39]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineSpec_RuntimeParameter.ProtoReflect.Descriptor instead.
func (*PipelineSpec_RuntimeParameter) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{1, 0}
}

func (x *PipelineSpec_RuntimeParameter) GetType() PrimitiveType_PrimitiveTypeEnum {
	if x != nil {
		return x.Type
	}
	return PrimitiveType_PRIMITIVE_TYPE_UNSPECIFIED
}

func (x *PipelineSpec_RuntimeParameter) GetDefaultValue() *Value {
	if x != nil {
		return x.DefaultValue
	}
	return nil
}

// Selects a defined output artifact from a sub task of the DAG.
type DagOutputsSpec_ArtifactSelectorSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the sub task which produces the output that matches with
	// the `output_artifact_key`.
	ProducerSubtask string `protobuf:"bytes,1,opt,name=producer_subtask,json=producerSubtask,proto3" json:"producer_subtask,omitempty"`
	// The key of [ComponentOutputsSpec.artifacts][] map of the producer task.
	OutputArtifactKey string `protobuf:"bytes,2,opt,name=output_artifact_key,json=outputArtifactKey,proto3" json:"output_artifact_key,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *DagOutputsSpec_ArtifactSelectorSpec) Reset() {
	*x = DagOutputsSpec_ArtifactSelectorSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DagOutputsSpec_ArtifactSelectorSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DagOutputsSpec_ArtifactSelectorSpec) ProtoMessage() {}

func (x *DagOutputsSpec_ArtifactSelectorSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[42]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DagOutputsSpec_ArtifactSelectorSpec.ProtoReflect.Descriptor instead.
func (*DagOutputsSpec_ArtifactSelectorSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{4, 0}
}

func (x *DagOutputsSpec_ArtifactSelectorSpec) GetProducerSubtask() string {
	if x != nil {
		return x.ProducerSubtask
	}
	return ""
}

func (x *DagOutputsSpec_ArtifactSelectorSpec) GetOutputArtifactKey() string {
	if x != nil {
		return x.OutputArtifactKey
	}
	return ""
}

// Selects a list of output artifacts that will be aggregated to the single
// output artifact channel of the DAG.
type DagOutputsSpec_DagOutputArtifactSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The selected artifacts will be aggregated as output as a single
	// output channel of the DAG.
	ArtifactSelectors []*DagOutputsSpec_ArtifactSelectorSpec `protobuf:"bytes,1,rep,name=artifact_selectors,json=artifactSelectors,proto3" json:"artifact_selectors,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *DagOutputsSpec_DagOutputArtifactSpec) Reset() {
	*x = DagOutputsSpec_DagOutputArtifactSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DagOutputsSpec_DagOutputArtifactSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DagOutputsSpec_DagOutputArtifactSpec) ProtoMessage() {}

func (x *DagOutputsSpec_DagOutputArtifactSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[43]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DagOutputsSpec_DagOutputArtifactSpec.ProtoReflect.Descriptor instead.
func (*DagOutputsSpec_DagOutputArtifactSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{4, 1}
}

func (x *DagOutputsSpec_DagOutputArtifactSpec) GetArtifactSelectors() []*DagOutputsSpec_ArtifactSelectorSpec {
	if x != nil {
		return x.ArtifactSelectors
	}
	return nil
}

// Selects a defined output parameter from a sub task of the DAG.
type DagOutputsSpec_ParameterSelectorSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the sub task which produces the output that matches with
	// the `output_parameter_key`.
	ProducerSubtask string `protobuf:"bytes,1,opt,name=producer_subtask,json=producerSubtask,proto3" json:"producer_subtask,omitempty"`
	// The key of [ComponentOutputsSpec.parameters][] map of the producer task.
	OutputParameterKey string `protobuf:"bytes,2,opt,name=output_parameter_key,json=outputParameterKey,proto3" json:"output_parameter_key,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *DagOutputsSpec_ParameterSelectorSpec) Reset() {
	*x = DagOutputsSpec_ParameterSelectorSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DagOutputsSpec_ParameterSelectorSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DagOutputsSpec_ParameterSelectorSpec) ProtoMessage() {}

func (x *DagOutputsSpec_ParameterSelectorSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[45]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DagOutputsSpec_ParameterSelectorSpec.ProtoReflect.Descriptor instead.
func (*DagOutputsSpec_ParameterSelectorSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{4, 3}
}

func (x *DagOutputsSpec_ParameterSelectorSpec) GetProducerSubtask() string {
	if x != nil {
		return x.ProducerSubtask
	}
	return ""
}

func (x *DagOutputsSpec_ParameterSelectorSpec) GetOutputParameterKey() string {
	if x != nil {
		return x.OutputParameterKey
	}
	return ""
}

// Aggregate output parameters from sub tasks into a list object.
type DagOutputsSpec_ParameterSelectorsSpec struct {
	state              protoimpl.MessageState                  `protogen:"open.v1"`
	ParameterSelectors []*DagOutputsSpec_ParameterSelectorSpec `protobuf:"bytes,1,rep,name=parameter_selectors,json=parameterSelectors,proto3" json:"parameter_selectors,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *DagOutputsSpec_ParameterSelectorsSpec) Reset() {
	*x = DagOutputsSpec_ParameterSelectorsSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DagOutputsSpec_ParameterSelectorsSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DagOutputsSpec_ParameterSelectorsSpec) ProtoMessage() {}

func (x *DagOutputsSpec_ParameterSelectorsSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[46]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DagOutputsSpec_ParameterSelectorsSpec.ProtoReflect.Descriptor instead.
func (*DagOutputsSpec_ParameterSelectorsSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{4, 4}
}

func (x *DagOutputsSpec_ParameterSelectorsSpec) GetParameterSelectors() []*DagOutputsSpec_ParameterSelectorSpec {
	if x != nil {
		return x.ParameterSelectors
	}
	return nil
}

// Aggregates output parameters from sub tasks into a map object.
type DagOutputsSpec_MapParameterSelectorsSpec struct {
	state            protoimpl.MessageState                           `protogen:"open.v1"`
	MappedParameters map[string]*DagOutputsSpec_ParameterSelectorSpec `protobuf:"bytes,2,rep,name=mapped_parameters,json=mappedParameters,proto3" json:"mapped_parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *DagOutputsSpec_MapParameterSelectorsSpec) Reset() {
	*x = DagOutputsSpec_MapParameterSelectorsSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DagOutputsSpec_MapParameterSelectorsSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DagOutputsSpec_MapParameterSelectorsSpec) ProtoMessage() {}

func (x *DagOutputsSpec_MapParameterSelectorsSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[47]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DagOutputsSpec_MapParameterSelectorsSpec.ProtoReflect.Descriptor instead.
func (*DagOutputsSpec_MapParameterSelectorsSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{4, 5}
}

func (x *DagOutputsSpec_MapParameterSelectorsSpec) GetMappedParameters() map[string]*DagOutputsSpec_ParameterSelectorSpec {
	if x != nil {
		return x.MappedParameters
	}
	return nil
}

// We support four ways to fan-in output parameters from sub tasks to the DAG
// parent task.
// 1. Directly expose a single output parameter from a sub task,
// 2. (Conditional flow) Expose a list of output from multiple tasks
// (some might be skipped) but allows only one of the output being generated.
// 3. Expose a list of outputs from multiple tasks (e.g. iterator flow).
// 4. Expose the aggregation of output parameters as a name-value map.
type DagOutputsSpec_DagOutputParameterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Kind:
	//
	//	*DagOutputsSpec_DagOutputParameterSpec_ValueFromParameter
	//	*DagOutputsSpec_DagOutputParameterSpec_ValueFromOneof
	Kind          isDagOutputsSpec_DagOutputParameterSpec_Kind `protobuf_oneof:"kind"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DagOutputsSpec_DagOutputParameterSpec) Reset() {
	*x = DagOutputsSpec_DagOutputParameterSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DagOutputsSpec_DagOutputParameterSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DagOutputsSpec_DagOutputParameterSpec) ProtoMessage() {}

func (x *DagOutputsSpec_DagOutputParameterSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[48]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DagOutputsSpec_DagOutputParameterSpec.ProtoReflect.Descriptor instead.
func (*DagOutputsSpec_DagOutputParameterSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{4, 6}
}

func (x *DagOutputsSpec_DagOutputParameterSpec) GetKind() isDagOutputsSpec_DagOutputParameterSpec_Kind {
	if x != nil {
		return x.Kind
	}
	return nil
}

func (x *DagOutputsSpec_DagOutputParameterSpec) GetValueFromParameter() *DagOutputsSpec_ParameterSelectorSpec {
	if x != nil {
		if x, ok := x.Kind.(*DagOutputsSpec_DagOutputParameterSpec_ValueFromParameter); ok {
			return x.ValueFromParameter
		}
	}
	return nil
}

func (x *DagOutputsSpec_DagOutputParameterSpec) GetValueFromOneof() *DagOutputsSpec_ParameterSelectorsSpec {
	if x != nil {
		if x, ok := x.Kind.(*DagOutputsSpec_DagOutputParameterSpec_ValueFromOneof); ok {
			return x.ValueFromOneof
		}
	}
	return nil
}

type isDagOutputsSpec_DagOutputParameterSpec_Kind interface {
	isDagOutputsSpec_DagOutputParameterSpec_Kind()
}

type DagOutputsSpec_DagOutputParameterSpec_ValueFromParameter struct {
	// Returns the sub-task parameter as a DAG parameter.  The selected
	// parameter must have the same type as the DAG parameter type.
	ValueFromParameter *DagOutputsSpec_ParameterSelectorSpec `protobuf:"bytes,1,opt,name=value_from_parameter,json=valueFromParameter,proto3,oneof"`
}

type DagOutputsSpec_DagOutputParameterSpec_ValueFromOneof struct {
	// Returns one of the sub-task parameters as a DAG parameter. If there are
	// multiple values are available to select, the DAG will fail. All the
	// selected parameters must have the same type as the DAG parameter type.
	ValueFromOneof *DagOutputsSpec_ParameterSelectorsSpec `protobuf:"bytes,2,opt,name=value_from_oneof,json=valueFromOneof,proto3,oneof"`
}

func (*DagOutputsSpec_DagOutputParameterSpec_ValueFromParameter) isDagOutputsSpec_DagOutputParameterSpec_Kind() {
}

func (*DagOutputsSpec_DagOutputParameterSpec_ValueFromOneof) isDagOutputsSpec_DagOutputParameterSpec_Kind() {
}

// Definition of an artifact input.
type ComponentInputsSpec_ArtifactSpec struct {
	state        protoimpl.MessageState `protogen:"open.v1"`
	ArtifactType *ArtifactTypeSchema    `protobuf:"bytes,1,opt,name=artifact_type,json=artifactType,proto3" json:"artifact_type,omitempty"`
	// Indicates whether input is a single artifact or list of artifacts
	IsArtifactList bool `protobuf:"varint,2,opt,name=is_artifact_list,json=isArtifactList,proto3" json:"is_artifact_list,omitempty"`
	// Whether this input artifact is optional or not.
	// - If required, the artifact must be able to resolve to an artifact
	// at runtime.
	// - If it's optional, it can be missing from the
	// PipelineTaskInputsSpec.InputArtifactSpec (if it's instantiated into a
	// task), or can be missing from the runtimeArtifact (if it's the root
	// component).
	IsOptional bool `protobuf:"varint,3,opt,name=is_optional,json=isOptional,proto3" json:"is_optional,omitempty"`
	// The description for this input artifact of the component.
	// Should not exceed 1024 characters.
	Description   string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ComponentInputsSpec_ArtifactSpec) Reset() {
	*x = ComponentInputsSpec_ArtifactSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[51]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ComponentInputsSpec_ArtifactSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ComponentInputsSpec_ArtifactSpec) ProtoMessage() {}

func (x *ComponentInputsSpec_ArtifactSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[51]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ComponentInputsSpec_ArtifactSpec.ProtoReflect.Descriptor instead.
func (*ComponentInputsSpec_ArtifactSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{5, 0}
}

func (x *ComponentInputsSpec_ArtifactSpec) GetArtifactType() *ArtifactTypeSchema {
	if x != nil {
		return x.ArtifactType
	}
	return nil
}

func (x *ComponentInputsSpec_ArtifactSpec) GetIsArtifactList() bool {
	if x != nil {
		return x.IsArtifactList
	}
	return false
}

func (x *ComponentInputsSpec_ArtifactSpec) GetIsOptional() bool {
	if x != nil {
		return x.IsOptional
	}
	return false
}

func (x *ComponentInputsSpec_ArtifactSpec) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

// Definition of a parameter input.
type ComponentInputsSpec_ParameterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Specifies an input parameter's type.
	// Deprecated. Use [ParameterSpec.parameter_type][] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	Type PrimitiveType_PrimitiveTypeEnum `protobuf:"varint,1,opt,name=type,proto3,enum=ml_pipelines.PrimitiveType_PrimitiveTypeEnum" json:"type,omitempty"`
	// Specifies an input parameter's type.
	ParameterType ParameterType_ParameterTypeEnum `protobuf:"varint,2,opt,name=parameter_type,json=parameterType,proto3,enum=ml_pipelines.ParameterType_ParameterTypeEnum" json:"parameter_type,omitempty"`
	// Optional field. Default value of the input parameter.
	DefaultValue *structpb.Value `protobuf:"bytes,3,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
	// Whether this input parameter is optional or not.
	// - If required, the parameter should either have a default value, or have
	// to be able to resolve to a concrete value at runtime.
	// - If it's optional, it can be missing from the
	// PipelineTaskInputsSpec.InputParameterSpec (if it's instantiated into a
	// task), or can be missing from the runtimeParameter (if it's the root
	// component). If the value is missing, the default_value will be used. Or
	// if default_value is not provided, the default value of the parameter's
	// type will be used.
	IsOptional bool `protobuf:"varint,4,opt,name=is_optional,json=isOptional,proto3" json:"is_optional,omitempty"`
	// The description for this input parameter of the component.
	// Should not exceed 1024 characters.
	Description   string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ComponentInputsSpec_ParameterSpec) Reset() {
	*x = ComponentInputsSpec_ParameterSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[52]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ComponentInputsSpec_ParameterSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ComponentInputsSpec_ParameterSpec) ProtoMessage() {}

func (x *ComponentInputsSpec_ParameterSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[52]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ComponentInputsSpec_ParameterSpec.ProtoReflect.Descriptor instead.
func (*ComponentInputsSpec_ParameterSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{5, 1}
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *ComponentInputsSpec_ParameterSpec) GetType() PrimitiveType_PrimitiveTypeEnum {
	if x != nil {
		return x.Type
	}
	return PrimitiveType_PRIMITIVE_TYPE_UNSPECIFIED
}

func (x *ComponentInputsSpec_ParameterSpec) GetParameterType() ParameterType_ParameterTypeEnum {
	if x != nil {
		return x.ParameterType
	}
	return ParameterType_PARAMETER_TYPE_ENUM_UNSPECIFIED
}

func (x *ComponentInputsSpec_ParameterSpec) GetDefaultValue() *structpb.Value {
	if x != nil {
		return x.DefaultValue
	}
	return nil
}

func (x *ComponentInputsSpec_ParameterSpec) GetIsOptional() bool {
	if x != nil {
		return x.IsOptional
	}
	return false
}

func (x *ComponentInputsSpec_ParameterSpec) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

// Definition of an artifact output.
type ComponentOutputsSpec_ArtifactSpec struct {
	state        protoimpl.MessageState `protogen:"open.v1"`
	ArtifactType *ArtifactTypeSchema    `protobuf:"bytes,1,opt,name=artifact_type,json=artifactType,proto3" json:"artifact_type,omitempty"`
	// Deprecated. Use [ArtifactSpec.metadata][] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	Properties map[string]*ValueOrRuntimeParameter `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Deprecated. Use [ArtifactSpec.metadata][] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	CustomProperties map[string]*ValueOrRuntimeParameter `protobuf:"bytes,3,rep,name=custom_properties,json=customProperties,proto3" json:"custom_properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Properties of the Artifact.
	Metadata *structpb.Struct `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Indicates whether output is a single artifact or list of artifacts
	IsArtifactList bool `protobuf:"varint,5,opt,name=is_artifact_list,json=isArtifactList,proto3" json:"is_artifact_list,omitempty"`
	// The description for this output artifact of the component.
	// Should not exceed 1024 characters.
	Description   string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ComponentOutputsSpec_ArtifactSpec) Reset() {
	*x = ComponentOutputsSpec_ArtifactSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[55]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ComponentOutputsSpec_ArtifactSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ComponentOutputsSpec_ArtifactSpec) ProtoMessage() {}

func (x *ComponentOutputsSpec_ArtifactSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[55]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ComponentOutputsSpec_ArtifactSpec.ProtoReflect.Descriptor instead.
func (*ComponentOutputsSpec_ArtifactSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{6, 0}
}

func (x *ComponentOutputsSpec_ArtifactSpec) GetArtifactType() *ArtifactTypeSchema {
	if x != nil {
		return x.ArtifactType
	}
	return nil
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *ComponentOutputsSpec_ArtifactSpec) GetProperties() map[string]*ValueOrRuntimeParameter {
	if x != nil {
		return x.Properties
	}
	return nil
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *ComponentOutputsSpec_ArtifactSpec) GetCustomProperties() map[string]*ValueOrRuntimeParameter {
	if x != nil {
		return x.CustomProperties
	}
	return nil
}

func (x *ComponentOutputsSpec_ArtifactSpec) GetMetadata() *structpb.Struct {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *ComponentOutputsSpec_ArtifactSpec) GetIsArtifactList() bool {
	if x != nil {
		return x.IsArtifactList
	}
	return false
}

func (x *ComponentOutputsSpec_ArtifactSpec) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

// Definition of a parameter output.
type ComponentOutputsSpec_ParameterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Specifies an input parameter's type.
	// Deprecated. Use [ParameterSpec.parameter_type][] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	Type PrimitiveType_PrimitiveTypeEnum `protobuf:"varint,1,opt,name=type,proto3,enum=ml_pipelines.PrimitiveType_PrimitiveTypeEnum" json:"type,omitempty"`
	// Specifies an output parameter's type.
	ParameterType ParameterType_ParameterTypeEnum `protobuf:"varint,2,opt,name=parameter_type,json=parameterType,proto3,enum=ml_pipelines.ParameterType_ParameterTypeEnum" json:"parameter_type,omitempty"`
	// The description for this output parameter of the component.
	// Should not exceed 1024 characters.
	Description   string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ComponentOutputsSpec_ParameterSpec) Reset() {
	*x = ComponentOutputsSpec_ParameterSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[56]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ComponentOutputsSpec_ParameterSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ComponentOutputsSpec_ParameterSpec) ProtoMessage() {}

func (x *ComponentOutputsSpec_ParameterSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[56]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ComponentOutputsSpec_ParameterSpec.ProtoReflect.Descriptor instead.
func (*ComponentOutputsSpec_ParameterSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{6, 1}
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *ComponentOutputsSpec_ParameterSpec) GetType() PrimitiveType_PrimitiveTypeEnum {
	if x != nil {
		return x.Type
	}
	return PrimitiveType_PRIMITIVE_TYPE_UNSPECIFIED
}

func (x *ComponentOutputsSpec_ParameterSpec) GetParameterType() ParameterType_ParameterTypeEnum {
	if x != nil {
		return x.ParameterType
	}
	return ParameterType_PARAMETER_TYPE_ENUM_UNSPECIFIED
}

func (x *ComponentOutputsSpec_ParameterSpec) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

// The specification of a task input artifact.
type TaskInputsSpec_InputArtifactSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Kind:
	//
	//	*TaskInputsSpec_InputArtifactSpec_TaskOutputArtifact
	//	*TaskInputsSpec_InputArtifactSpec_ComponentInputArtifact
	Kind          isTaskInputsSpec_InputArtifactSpec_Kind `protobuf_oneof:"kind"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TaskInputsSpec_InputArtifactSpec) Reset() {
	*x = TaskInputsSpec_InputArtifactSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TaskInputsSpec_InputArtifactSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TaskInputsSpec_InputArtifactSpec) ProtoMessage() {}

func (x *TaskInputsSpec_InputArtifactSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[61]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TaskInputsSpec_InputArtifactSpec.ProtoReflect.Descriptor instead.
func (*TaskInputsSpec_InputArtifactSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{7, 0}
}

func (x *TaskInputsSpec_InputArtifactSpec) GetKind() isTaskInputsSpec_InputArtifactSpec_Kind {
	if x != nil {
		return x.Kind
	}
	return nil
}

func (x *TaskInputsSpec_InputArtifactSpec) GetTaskOutputArtifact() *TaskInputsSpec_InputArtifactSpec_TaskOutputArtifactSpec {
	if x != nil {
		if x, ok := x.Kind.(*TaskInputsSpec_InputArtifactSpec_TaskOutputArtifact); ok {
			return x.TaskOutputArtifact
		}
	}
	return nil
}

func (x *TaskInputsSpec_InputArtifactSpec) GetComponentInputArtifact() string {
	if x != nil {
		if x, ok := x.Kind.(*TaskInputsSpec_InputArtifactSpec_ComponentInputArtifact); ok {
			return x.ComponentInputArtifact
		}
	}
	return ""
}

type isTaskInputsSpec_InputArtifactSpec_Kind interface {
	isTaskInputsSpec_InputArtifactSpec_Kind()
}

type TaskInputsSpec_InputArtifactSpec_TaskOutputArtifact struct {
	// Pass the input artifact from another task within the same parent
	// component.
	TaskOutputArtifact *TaskInputsSpec_InputArtifactSpec_TaskOutputArtifactSpec `protobuf:"bytes,3,opt,name=task_output_artifact,json=taskOutputArtifact,proto3,oneof"`
}

type TaskInputsSpec_InputArtifactSpec_ComponentInputArtifact struct {
	// Pass the input artifact from parent component input artifact.
	ComponentInputArtifact string `protobuf:"bytes,4,opt,name=component_input_artifact,json=componentInputArtifact,proto3,oneof"`
}

func (*TaskInputsSpec_InputArtifactSpec_TaskOutputArtifact) isTaskInputsSpec_InputArtifactSpec_Kind() {
}

func (*TaskInputsSpec_InputArtifactSpec_ComponentInputArtifact) isTaskInputsSpec_InputArtifactSpec_Kind() {
}

// Represents an input parameter. The value can be taken from an upstream
// task's output parameter (if specifying `producer_task` and
// `output_parameter_key`), or it can be a runtime value, which can either be
// determined at compile-time, or from a pipeline parameter.
type TaskInputsSpec_InputParameterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Kind:
	//
	//	*TaskInputsSpec_InputParameterSpec_TaskOutputParameter
	//	*TaskInputsSpec_InputParameterSpec_RuntimeValue
	//	*TaskInputsSpec_InputParameterSpec_ComponentInputParameter
	//	*TaskInputsSpec_InputParameterSpec_TaskFinalStatus_
	Kind isTaskInputsSpec_InputParameterSpec_Kind `protobuf_oneof:"kind"`
	// Selector expression of Common Expression Language (CEL)
	// that applies to the parameter found from above kind.
	//
	// The expression is applied to the Value type
	// [Value][].  For example,
	// 'size(string_value)' will return the size of the Value.string_value.
	//
	// After applying the selection, the parameter will be returned as a
	// [Value][].  The type of the Value is either deferred from the input
	// definition in the corresponding
	// [ComponentSpec.input_definitions.parameters][], or if not found,
	// automatically deferred as either string value or double value.
	//
	// In addition to the builtin functions in CEL, The value.string_value can
	// be treated as a json string and parsed to the [google.protobuf.Value][]
	// proto message. Then, the CEL expression provided in this field will be
	// used to get the requested field. For examples,
	//  - if Value.string_value is a json array of "[1.1, 2.2, 3.3]",
	//  'parseJson(string_value)[i]' will pass the ith parameter from the list
	//  to the current task, or
	//  - if the Value.string_value is a json map of "{"a": 1.1, "b": 2.2,
	//  "c": 3.3}, 'parseJson(string_value)[key]' will pass the map value from
	//  the struct map to the current task.
	//
	// If unset, the value will be passed directly to the current task.
	ParameterExpressionSelector string `protobuf:"bytes,4,opt,name=parameter_expression_selector,json=parameterExpressionSelector,proto3" json:"parameter_expression_selector,omitempty"`
	unknownFields               protoimpl.UnknownFields
	sizeCache                   protoimpl.SizeCache
}

func (x *TaskInputsSpec_InputParameterSpec) Reset() {
	*x = TaskInputsSpec_InputParameterSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TaskInputsSpec_InputParameterSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TaskInputsSpec_InputParameterSpec) ProtoMessage() {}

func (x *TaskInputsSpec_InputParameterSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[62]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TaskInputsSpec_InputParameterSpec.ProtoReflect.Descriptor instead.
func (*TaskInputsSpec_InputParameterSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{7, 1}
}

func (x *TaskInputsSpec_InputParameterSpec) GetKind() isTaskInputsSpec_InputParameterSpec_Kind {
	if x != nil {
		return x.Kind
	}
	return nil
}

func (x *TaskInputsSpec_InputParameterSpec) GetTaskOutputParameter() *TaskInputsSpec_InputParameterSpec_TaskOutputParameterSpec {
	if x != nil {
		if x, ok := x.Kind.(*TaskInputsSpec_InputParameterSpec_TaskOutputParameter); ok {
			return x.TaskOutputParameter
		}
	}
	return nil
}

func (x *TaskInputsSpec_InputParameterSpec) GetRuntimeValue() *ValueOrRuntimeParameter {
	if x != nil {
		if x, ok := x.Kind.(*TaskInputsSpec_InputParameterSpec_RuntimeValue); ok {
			return x.RuntimeValue
		}
	}
	return nil
}

func (x *TaskInputsSpec_InputParameterSpec) GetComponentInputParameter() string {
	if x != nil {
		if x, ok := x.Kind.(*TaskInputsSpec_InputParameterSpec_ComponentInputParameter); ok {
			return x.ComponentInputParameter
		}
	}
	return ""
}

func (x *TaskInputsSpec_InputParameterSpec) GetTaskFinalStatus() *TaskInputsSpec_InputParameterSpec_TaskFinalStatus {
	if x != nil {
		if x, ok := x.Kind.(*TaskInputsSpec_InputParameterSpec_TaskFinalStatus_); ok {
			return x.TaskFinalStatus
		}
	}
	return nil
}

func (x *TaskInputsSpec_InputParameterSpec) GetParameterExpressionSelector() string {
	if x != nil {
		return x.ParameterExpressionSelector
	}
	return ""
}

type isTaskInputsSpec_InputParameterSpec_Kind interface {
	isTaskInputsSpec_InputParameterSpec_Kind()
}

type TaskInputsSpec_InputParameterSpec_TaskOutputParameter struct {
	// Output parameter from an upstream task.
	TaskOutputParameter *TaskInputsSpec_InputParameterSpec_TaskOutputParameterSpec `protobuf:"bytes,1,opt,name=task_output_parameter,json=taskOutputParameter,proto3,oneof"`
}

type TaskInputsSpec_InputParameterSpec_RuntimeValue struct {
	// A constant value or runtime parameter.
	RuntimeValue *ValueOrRuntimeParameter `protobuf:"bytes,2,opt,name=runtime_value,json=runtimeValue,proto3,oneof"`
}

type TaskInputsSpec_InputParameterSpec_ComponentInputParameter struct {
	// Pass the input parameter from parent component input parameter.
	ComponentInputParameter string `protobuf:"bytes,3,opt,name=component_input_parameter,json=componentInputParameter,proto3,oneof"`
}

type TaskInputsSpec_InputParameterSpec_TaskFinalStatus_ struct {
	// The final status of an upstream task.
	TaskFinalStatus *TaskInputsSpec_InputParameterSpec_TaskFinalStatus `protobuf:"bytes,5,opt,name=task_final_status,json=taskFinalStatus,proto3,oneof"`
}

func (*TaskInputsSpec_InputParameterSpec_TaskOutputParameter) isTaskInputsSpec_InputParameterSpec_Kind() {
}

func (*TaskInputsSpec_InputParameterSpec_RuntimeValue) isTaskInputsSpec_InputParameterSpec_Kind() {}

func (*TaskInputsSpec_InputParameterSpec_ComponentInputParameter) isTaskInputsSpec_InputParameterSpec_Kind() {
}

func (*TaskInputsSpec_InputParameterSpec_TaskFinalStatus_) isTaskInputsSpec_InputParameterSpec_Kind() {
}

type TaskInputsSpec_InputArtifactSpec_TaskOutputArtifactSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the upstream task which produces the output that matches
	// with the `output_artifact_key`.
	ProducerTask string `protobuf:"bytes,1,opt,name=producer_task,json=producerTask,proto3" json:"producer_task,omitempty"`
	// The key of [TaskOutputsSpec.artifacts][] map of the producer task.
	OutputArtifactKey string `protobuf:"bytes,2,opt,name=output_artifact_key,json=outputArtifactKey,proto3" json:"output_artifact_key,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *TaskInputsSpec_InputArtifactSpec_TaskOutputArtifactSpec) Reset() {
	*x = TaskInputsSpec_InputArtifactSpec_TaskOutputArtifactSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[65]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TaskInputsSpec_InputArtifactSpec_TaskOutputArtifactSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TaskInputsSpec_InputArtifactSpec_TaskOutputArtifactSpec) ProtoMessage() {}

func (x *TaskInputsSpec_InputArtifactSpec_TaskOutputArtifactSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[65]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TaskInputsSpec_InputArtifactSpec_TaskOutputArtifactSpec.ProtoReflect.Descriptor instead.
func (*TaskInputsSpec_InputArtifactSpec_TaskOutputArtifactSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{7, 0, 0}
}

func (x *TaskInputsSpec_InputArtifactSpec_TaskOutputArtifactSpec) GetProducerTask() string {
	if x != nil {
		return x.ProducerTask
	}
	return ""
}

func (x *TaskInputsSpec_InputArtifactSpec_TaskOutputArtifactSpec) GetOutputArtifactKey() string {
	if x != nil {
		return x.OutputArtifactKey
	}
	return ""
}

// Represents an upstream task's output parameter.
type TaskInputsSpec_InputParameterSpec_TaskOutputParameterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the upstream task which produces the output parameter that
	// matches with the `output_parameter_key`.
	ProducerTask string `protobuf:"bytes,1,opt,name=producer_task,json=producerTask,proto3" json:"producer_task,omitempty"`
	// The key of [TaskOutputsSpec.parameters][] map of the producer task.
	OutputParameterKey string `protobuf:"bytes,2,opt,name=output_parameter_key,json=outputParameterKey,proto3" json:"output_parameter_key,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *TaskInputsSpec_InputParameterSpec_TaskOutputParameterSpec) Reset() {
	*x = TaskInputsSpec_InputParameterSpec_TaskOutputParameterSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[66]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TaskInputsSpec_InputParameterSpec_TaskOutputParameterSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TaskInputsSpec_InputParameterSpec_TaskOutputParameterSpec) ProtoMessage() {}

func (x *TaskInputsSpec_InputParameterSpec_TaskOutputParameterSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[66]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TaskInputsSpec_InputParameterSpec_TaskOutputParameterSpec.ProtoReflect.Descriptor instead.
func (*TaskInputsSpec_InputParameterSpec_TaskOutputParameterSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{7, 1, 0}
}

func (x *TaskInputsSpec_InputParameterSpec_TaskOutputParameterSpec) GetProducerTask() string {
	if x != nil {
		return x.ProducerTask
	}
	return ""
}

func (x *TaskInputsSpec_InputParameterSpec_TaskOutputParameterSpec) GetOutputParameterKey() string {
	if x != nil {
		return x.OutputParameterKey
	}
	return ""
}

// Represents an upstream task's final status. The field can only be set if
// the schema version is `2.0.0`. The resolved input parameter will be a
// JSON payload in string type.
type TaskInputsSpec_InputParameterSpec_TaskFinalStatus struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the upstream task where the final status is coming from.
	ProducerTask  string `protobuf:"bytes,1,opt,name=producer_task,json=producerTask,proto3" json:"producer_task,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TaskInputsSpec_InputParameterSpec_TaskFinalStatus) Reset() {
	*x = TaskInputsSpec_InputParameterSpec_TaskFinalStatus{}
	mi := &file_pipeline_spec_proto_msgTypes[67]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TaskInputsSpec_InputParameterSpec_TaskFinalStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TaskInputsSpec_InputParameterSpec_TaskFinalStatus) ProtoMessage() {}

func (x *TaskInputsSpec_InputParameterSpec_TaskFinalStatus) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[67]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TaskInputsSpec_InputParameterSpec_TaskFinalStatus.ProtoReflect.Descriptor instead.
func (*TaskInputsSpec_InputParameterSpec_TaskFinalStatus) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{7, 1, 1}
}

func (x *TaskInputsSpec_InputParameterSpec_TaskFinalStatus) GetProducerTask() string {
	if x != nil {
		return x.ProducerTask
	}
	return ""
}

// The specification of a task output artifact.
type TaskOutputsSpec_OutputArtifactSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The type of the artifact.
	ArtifactType *ArtifactTypeSchema `protobuf:"bytes,1,opt,name=artifact_type,json=artifactType,proto3" json:"artifact_type,omitempty"`
	// The properties of the artifact, which are determined either at
	// compile-time, or at pipeline submission time through runtime parameters
	Properties map[string]*ValueOrRuntimeParameter `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// The custom properties of the artifact, which are determined either at
	// compile-time, or at pipeline submission time through runtime parameters
	CustomProperties map[string]*ValueOrRuntimeParameter `protobuf:"bytes,3,rep,name=custom_properties,json=customProperties,proto3" json:"custom_properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *TaskOutputsSpec_OutputArtifactSpec) Reset() {
	*x = TaskOutputsSpec_OutputArtifactSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[68]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TaskOutputsSpec_OutputArtifactSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TaskOutputsSpec_OutputArtifactSpec) ProtoMessage() {}

func (x *TaskOutputsSpec_OutputArtifactSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[68]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TaskOutputsSpec_OutputArtifactSpec.ProtoReflect.Descriptor instead.
func (*TaskOutputsSpec_OutputArtifactSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{8, 0}
}

func (x *TaskOutputsSpec_OutputArtifactSpec) GetArtifactType() *ArtifactTypeSchema {
	if x != nil {
		return x.ArtifactType
	}
	return nil
}

func (x *TaskOutputsSpec_OutputArtifactSpec) GetProperties() map[string]*ValueOrRuntimeParameter {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *TaskOutputsSpec_OutputArtifactSpec) GetCustomProperties() map[string]*ValueOrRuntimeParameter {
	if x != nil {
		return x.CustomProperties
	}
	return nil
}

// Specification for output parameters produced by the task.
type TaskOutputsSpec_OutputParameterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required field. The type of the output parameter.
	Type          PrimitiveType_PrimitiveTypeEnum `protobuf:"varint,1,opt,name=type,proto3,enum=ml_pipelines.PrimitiveType_PrimitiveTypeEnum" json:"type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TaskOutputsSpec_OutputParameterSpec) Reset() {
	*x = TaskOutputsSpec_OutputParameterSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[69]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TaskOutputsSpec_OutputParameterSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TaskOutputsSpec_OutputParameterSpec) ProtoMessage() {}

func (x *TaskOutputsSpec_OutputParameterSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[69]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TaskOutputsSpec_OutputParameterSpec.ProtoReflect.Descriptor instead.
func (*TaskOutputsSpec_OutputParameterSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{8, 1}
}

func (x *TaskOutputsSpec_OutputParameterSpec) GetType() PrimitiveType_PrimitiveTypeEnum {
	if x != nil {
		return x.Type
	}
	return PrimitiveType_PRIMITIVE_TYPE_UNSPECIFIED
}

type PipelineTaskSpec_CachingOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Whether or not to enable cache for this task. Defaults to false.
	EnableCache bool `protobuf:"varint,1,opt,name=enable_cache,json=enableCache,proto3" json:"enable_cache,omitempty"`
	// Customized cache key for this task. If set, the cache_key will be used
	// as the key for the task's cache.
	CacheKey      string `protobuf:"bytes,2,opt,name=cache_key,json=cacheKey,proto3" json:"cache_key,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineTaskSpec_CachingOptions) Reset() {
	*x = PipelineTaskSpec_CachingOptions{}
	mi := &file_pipeline_spec_proto_msgTypes[74]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineTaskSpec_CachingOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineTaskSpec_CachingOptions) ProtoMessage() {}

func (x *PipelineTaskSpec_CachingOptions) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[74]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineTaskSpec_CachingOptions.ProtoReflect.Descriptor instead.
func (*PipelineTaskSpec_CachingOptions) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{13, 0}
}

func (x *PipelineTaskSpec_CachingOptions) GetEnableCache() bool {
	if x != nil {
		return x.EnableCache
	}
	return false
}

func (x *PipelineTaskSpec_CachingOptions) GetCacheKey() string {
	if x != nil {
		return x.CacheKey
	}
	return ""
}

// Trigger policy defines how the task gets triggered. If a task is not
// triggered, it will run into SKIPPED state.
type PipelineTaskSpec_TriggerPolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// An expression which will be evaluated into a boolean value. True to
	// trigger the task to run. The expression follows the language of
	// [CEL Spec][https://github.com/google/cel-spec]. It can access the data
	// from [ExecutorInput][] message of the task.
	// For example:
	// - `inputs.artifacts['model'][0].properties['accuracy']*100 > 90`
	// - `inputs.parameters['type'] == 'foo' && inputs.parameters['num'] == 1`
	Condition string `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"`
	// The trigger strategy of this task.  The `strategy` and `condition` are
	// in logic "AND", as a task will only be tested for the `condition` when
	// the `strategy` is meet.
	// Unset or set to default value of TRIGGER_STRATEGY_UNDEFINED behaves the
	// same as ALL_UPSTREAM_TASKS_SUCCEEDED.
	Strategy      PipelineTaskSpec_TriggerPolicy_TriggerStrategy `protobuf:"varint,2,opt,name=strategy,proto3,enum=ml_pipelines.PipelineTaskSpec_TriggerPolicy_TriggerStrategy" json:"strategy,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineTaskSpec_TriggerPolicy) Reset() {
	*x = PipelineTaskSpec_TriggerPolicy{}
	mi := &file_pipeline_spec_proto_msgTypes[75]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineTaskSpec_TriggerPolicy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineTaskSpec_TriggerPolicy) ProtoMessage() {}

func (x *PipelineTaskSpec_TriggerPolicy) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[75]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineTaskSpec_TriggerPolicy.ProtoReflect.Descriptor instead.
func (*PipelineTaskSpec_TriggerPolicy) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{13, 1}
}

func (x *PipelineTaskSpec_TriggerPolicy) GetCondition() string {
	if x != nil {
		return x.Condition
	}
	return ""
}

func (x *PipelineTaskSpec_TriggerPolicy) GetStrategy() PipelineTaskSpec_TriggerPolicy_TriggerStrategy {
	if x != nil {
		return x.Strategy
	}
	return PipelineTaskSpec_TriggerPolicy_TRIGGER_STRATEGY_UNSPECIFIED
}

// User-configured task-level retry.
type PipelineTaskSpec_RetryPolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Number of retries before considering a task as failed. Set to 0 or
	// unspecified to disallow retry."
	MaxRetryCount int32 `protobuf:"varint,1,opt,name=max_retry_count,json=maxRetryCount,proto3" json:"max_retry_count,omitempty"`
	// The time interval between retries. Defaults to zero (an immediate retry).
	BackoffDuration *durationpb.Duration `protobuf:"bytes,2,opt,name=backoff_duration,json=backoffDuration,proto3" json:"backoff_duration,omitempty"`
	// The exponential backoff factor applied to backoff_duration. If
	// unspecified, will default to 2.
	BackoffFactor float64 `protobuf:"fixed64,3,opt,name=backoff_factor,json=backoffFactor,proto3" json:"backoff_factor,omitempty"`
	// The maximum duration during which the task will be retried according to
	// the backoff strategy. Max allowed is 1 hour - higher value will be capped
	// to this limit. If unspecified, will set to 1 hour.
	BackoffMaxDuration *durationpb.Duration `protobuf:"bytes,4,opt,name=backoff_max_duration,json=backoffMaxDuration,proto3" json:"backoff_max_duration,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *PipelineTaskSpec_RetryPolicy) Reset() {
	*x = PipelineTaskSpec_RetryPolicy{}
	mi := &file_pipeline_spec_proto_msgTypes[76]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineTaskSpec_RetryPolicy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineTaskSpec_RetryPolicy) ProtoMessage() {}

func (x *PipelineTaskSpec_RetryPolicy) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[76]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineTaskSpec_RetryPolicy.ProtoReflect.Descriptor instead.
func (*PipelineTaskSpec_RetryPolicy) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{13, 2}
}

func (x *PipelineTaskSpec_RetryPolicy) GetMaxRetryCount() int32 {
	if x != nil {
		return x.MaxRetryCount
	}
	return 0
}

func (x *PipelineTaskSpec_RetryPolicy) GetBackoffDuration() *durationpb.Duration {
	if x != nil {
		return x.BackoffDuration
	}
	return nil
}

func (x *PipelineTaskSpec_RetryPolicy) GetBackoffFactor() float64 {
	if x != nil {
		return x.BackoffFactor
	}
	return 0
}

func (x *PipelineTaskSpec_RetryPolicy) GetBackoffMaxDuration() *durationpb.Duration {
	if x != nil {
		return x.BackoffMaxDuration
	}
	return nil
}

// Iterator related settings.
type PipelineTaskSpec_IteratorPolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The limit for the number of concurrent sub-tasks spawned by an iterator
	// task. The value should be a non-negative integer. A value of 0 represents
	// unconstrained parallelism.
	ParallelismLimit int32 `protobuf:"varint,1,opt,name=parallelism_limit,json=parallelismLimit,proto3" json:"parallelism_limit,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *PipelineTaskSpec_IteratorPolicy) Reset() {
	*x = PipelineTaskSpec_IteratorPolicy{}
	mi := &file_pipeline_spec_proto_msgTypes[77]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineTaskSpec_IteratorPolicy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineTaskSpec_IteratorPolicy) ProtoMessage() {}

func (x *PipelineTaskSpec_IteratorPolicy) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[77]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineTaskSpec_IteratorPolicy.ProtoReflect.Descriptor instead.
func (*PipelineTaskSpec_IteratorPolicy) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{13, 3}
}

func (x *PipelineTaskSpec_IteratorPolicy) GetParallelismLimit() int32 {
	if x != nil {
		return x.ParallelismLimit
	}
	return 0
}

// Specifies the name of the artifact channel which contains the collection of
// items to iterate. The iterator will create a sub-task for each item of
// the collection and pass the item as a new input artifact channel as
// specified by [item_input][].
type ArtifactIteratorSpec_ItemsSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the input artifact.
	InputArtifact string `protobuf:"bytes,1,opt,name=input_artifact,json=inputArtifact,proto3" json:"input_artifact,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ArtifactIteratorSpec_ItemsSpec) Reset() {
	*x = ArtifactIteratorSpec_ItemsSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[78]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArtifactIteratorSpec_ItemsSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArtifactIteratorSpec_ItemsSpec) ProtoMessage() {}

func (x *ArtifactIteratorSpec_ItemsSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[78]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ArtifactIteratorSpec_ItemsSpec.ProtoReflect.Descriptor instead.
func (*ArtifactIteratorSpec_ItemsSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{14, 0}
}

func (x *ArtifactIteratorSpec_ItemsSpec) GetInputArtifact() string {
	if x != nil {
		return x.InputArtifact
	}
	return ""
}

// Specifies the spec to describe the parameter items to iterate.
type ParameterIteratorSpec_ItemsSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Specifies where to get the collection of items to iterate. The iterator
	// will create a sub-task for each item of the collection and pass the item
	// as a new input parameter as specified by [item_input][].
	//
	// Types that are valid to be assigned to Kind:
	//
	//	*ParameterIteratorSpec_ItemsSpec_Raw
	//	*ParameterIteratorSpec_ItemsSpec_InputParameter
	Kind          isParameterIteratorSpec_ItemsSpec_Kind `protobuf_oneof:"kind"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ParameterIteratorSpec_ItemsSpec) Reset() {
	*x = ParameterIteratorSpec_ItemsSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[79]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ParameterIteratorSpec_ItemsSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ParameterIteratorSpec_ItemsSpec) ProtoMessage() {}

func (x *ParameterIteratorSpec_ItemsSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[79]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ParameterIteratorSpec_ItemsSpec.ProtoReflect.Descriptor instead.
func (*ParameterIteratorSpec_ItemsSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{15, 0}
}

func (x *ParameterIteratorSpec_ItemsSpec) GetKind() isParameterIteratorSpec_ItemsSpec_Kind {
	if x != nil {
		return x.Kind
	}
	return nil
}

func (x *ParameterIteratorSpec_ItemsSpec) GetRaw() string {
	if x != nil {
		if x, ok := x.Kind.(*ParameterIteratorSpec_ItemsSpec_Raw); ok {
			return x.Raw
		}
	}
	return ""
}

func (x *ParameterIteratorSpec_ItemsSpec) GetInputParameter() string {
	if x != nil {
		if x, ok := x.Kind.(*ParameterIteratorSpec_ItemsSpec_InputParameter); ok {
			return x.InputParameter
		}
	}
	return ""
}

type isParameterIteratorSpec_ItemsSpec_Kind interface {
	isParameterIteratorSpec_ItemsSpec_Kind()
}

type ParameterIteratorSpec_ItemsSpec_Raw struct {
	// The raw JSON array.
	Raw string `protobuf:"bytes,1,opt,name=raw,proto3,oneof"`
}

type ParameterIteratorSpec_ItemsSpec_InputParameter struct {
	// The name of the input parameter whose value has the items collection.
	// The parameter must be in STRING type and its content can be parsed
	// as a JSON array.
	InputParameter string `protobuf:"bytes,2,opt,name=input_parameter,json=inputParameter,proto3,oneof"`
}

func (*ParameterIteratorSpec_ItemsSpec_Raw) isParameterIteratorSpec_ItemsSpec_Kind() {}

func (*ParameterIteratorSpec_ItemsSpec_InputParameter) isParameterIteratorSpec_ItemsSpec_Kind() {}

// The specification on a container invocation.
// The string fields of the message support string based placeholder contract
// defined in [ExecutorInput](). The output of the container follows the
// contract of [ExecutorOutput]().
type PipelineDeploymentConfig_PipelineContainerSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The image uri of the container.
	Image string `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
	// The main entrypoint commands of the container to run. If not provided,
	// fallback to use the entry point command defined in the container image.
	Command []string `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"`
	// The arguments to pass into the main entrypoint of the container.
	Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
	// The lifecycle hooks of the container executor.
	Lifecycle *PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle    `protobuf:"bytes,4,opt,name=lifecycle,proto3" json:"lifecycle,omitempty"`
	Resources *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec `protobuf:"bytes,5,opt,name=resources,proto3" json:"resources,omitempty"`
	// Environment variables to be passed to the container.
	Env           []*PipelineDeploymentConfig_PipelineContainerSpec_EnvVar `protobuf:"bytes,6,rep,name=env,proto3" json:"env,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec) Reset() {
	*x = PipelineDeploymentConfig_PipelineContainerSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[80]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineDeploymentConfig_PipelineContainerSpec) ProtoMessage() {}

func (x *PipelineDeploymentConfig_PipelineContainerSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[80]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineDeploymentConfig_PipelineContainerSpec.ProtoReflect.Descriptor instead.
func (*PipelineDeploymentConfig_PipelineContainerSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{21, 0}
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec) GetImage() string {
	if x != nil {
		return x.Image
	}
	return ""
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec) GetCommand() []string {
	if x != nil {
		return x.Command
	}
	return nil
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec) GetArgs() []string {
	if x != nil {
		return x.Args
	}
	return nil
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec) GetLifecycle() *PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle {
	if x != nil {
		return x.Lifecycle
	}
	return nil
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec) GetResources() *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec {
	if x != nil {
		return x.Resources
	}
	return nil
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec) GetEnv() []*PipelineDeploymentConfig_PipelineContainerSpec_EnvVar {
	if x != nil {
		return x.Env
	}
	return nil
}

// The specification to import or reimport a new artifact to the pipeline.
type PipelineDeploymentConfig_ImporterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The URI of the artifact.
	ArtifactUri *ValueOrRuntimeParameter `protobuf:"bytes,1,opt,name=artifact_uri,json=artifactUri,proto3" json:"artifact_uri,omitempty"`
	// The type of the artifact.
	TypeSchema *ArtifactTypeSchema `protobuf:"bytes,2,opt,name=type_schema,json=typeSchema,proto3" json:"type_schema,omitempty"`
	// The properties of the artifact.
	// Deprecated. Use [ImporterSpec.metadata][] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	Properties map[string]*ValueOrRuntimeParameter `protobuf:"bytes,3,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// The custom properties of the artifact.
	// Deprecated. Use [ImporterSpec.metadata][] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	CustomProperties map[string]*ValueOrRuntimeParameter `protobuf:"bytes,4,rep,name=custom_properties,json=customProperties,proto3" json:"custom_properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Properties of the Artifact.
	Metadata *structpb.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Whether or not import an artifact regardless it has been imported before.
	Reimport      bool `protobuf:"varint,5,opt,name=reimport,proto3" json:"reimport,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineDeploymentConfig_ImporterSpec) Reset() {
	*x = PipelineDeploymentConfig_ImporterSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[81]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineDeploymentConfig_ImporterSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineDeploymentConfig_ImporterSpec) ProtoMessage() {}

func (x *PipelineDeploymentConfig_ImporterSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[81]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineDeploymentConfig_ImporterSpec.ProtoReflect.Descriptor instead.
func (*PipelineDeploymentConfig_ImporterSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{21, 1}
}

func (x *PipelineDeploymentConfig_ImporterSpec) GetArtifactUri() *ValueOrRuntimeParameter {
	if x != nil {
		return x.ArtifactUri
	}
	return nil
}

func (x *PipelineDeploymentConfig_ImporterSpec) GetTypeSchema() *ArtifactTypeSchema {
	if x != nil {
		return x.TypeSchema
	}
	return nil
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *PipelineDeploymentConfig_ImporterSpec) GetProperties() map[string]*ValueOrRuntimeParameter {
	if x != nil {
		return x.Properties
	}
	return nil
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *PipelineDeploymentConfig_ImporterSpec) GetCustomProperties() map[string]*ValueOrRuntimeParameter {
	if x != nil {
		return x.CustomProperties
	}
	return nil
}

func (x *PipelineDeploymentConfig_ImporterSpec) GetMetadata() *structpb.Struct {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *PipelineDeploymentConfig_ImporterSpec) GetReimport() bool {
	if x != nil {
		return x.Reimport
	}
	return false
}

// ResolverSpec resolves artifacts from historical metadata and returns them
// to the pipeline as output artifacts of the resolver task. The downstream
// tasks can consume them as their input artifacts.
type PipelineDeploymentConfig_ResolverSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A list of resolver output definitions. The
	// key of the map must be exactly the same as
	// the keys in the [PipelineTaskOutputsSpec.artifacts][] map.
	// At least one output must be defined.
	OutputArtifactQueries map[string]*PipelineDeploymentConfig_ResolverSpec_ArtifactQuerySpec `protobuf:"bytes,1,rep,name=output_artifact_queries,json=outputArtifactQueries,proto3" json:"output_artifact_queries,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *PipelineDeploymentConfig_ResolverSpec) Reset() {
	*x = PipelineDeploymentConfig_ResolverSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[82]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineDeploymentConfig_ResolverSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineDeploymentConfig_ResolverSpec) ProtoMessage() {}

func (x *PipelineDeploymentConfig_ResolverSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[82]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineDeploymentConfig_ResolverSpec.ProtoReflect.Descriptor instead.
func (*PipelineDeploymentConfig_ResolverSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{21, 2}
}

func (x *PipelineDeploymentConfig_ResolverSpec) GetOutputArtifactQueries() map[string]*PipelineDeploymentConfig_ResolverSpec_ArtifactQuerySpec {
	if x != nil {
		return x.OutputArtifactQueries
	}
	return nil
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
type PipelineDeploymentConfig_AIPlatformCustomJobSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// API Specification for invoking a Google Cloud AI Platform CustomJob.
	// The fields must match the field names and structures of CustomJob
	// defined in
	// https://cloud.google.com/ai-platform-unified/docs/reference/rest/v1beta1/projects.locations.customJobs.
	// The field types must be either the same, or be a string containing the
	// string based placeholder contract defined in [ExecutorInput](). The
	// placeholders will be replaced with the actual value during the runtime
	// before the job is launched.
	CustomJob     *structpb.Struct `protobuf:"bytes,1,opt,name=custom_job,json=customJob,proto3" json:"custom_job,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineDeploymentConfig_AIPlatformCustomJobSpec) Reset() {
	*x = PipelineDeploymentConfig_AIPlatformCustomJobSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[83]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineDeploymentConfig_AIPlatformCustomJobSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineDeploymentConfig_AIPlatformCustomJobSpec) ProtoMessage() {}

func (x *PipelineDeploymentConfig_AIPlatformCustomJobSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[83]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineDeploymentConfig_AIPlatformCustomJobSpec.ProtoReflect.Descriptor instead.
func (*PipelineDeploymentConfig_AIPlatformCustomJobSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{21, 3}
}

func (x *PipelineDeploymentConfig_AIPlatformCustomJobSpec) GetCustomJob() *structpb.Struct {
	if x != nil {
		return x.CustomJob
	}
	return nil
}

// The specification of the executor.
type PipelineDeploymentConfig_ExecutorSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Spec:
	//
	//	*PipelineDeploymentConfig_ExecutorSpec_Container
	//	*PipelineDeploymentConfig_ExecutorSpec_Importer
	//	*PipelineDeploymentConfig_ExecutorSpec_Resolver
	//	*PipelineDeploymentConfig_ExecutorSpec_CustomJob
	Spec          isPipelineDeploymentConfig_ExecutorSpec_Spec `protobuf_oneof:"spec"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineDeploymentConfig_ExecutorSpec) Reset() {
	*x = PipelineDeploymentConfig_ExecutorSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[84]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineDeploymentConfig_ExecutorSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineDeploymentConfig_ExecutorSpec) ProtoMessage() {}

func (x *PipelineDeploymentConfig_ExecutorSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[84]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineDeploymentConfig_ExecutorSpec.ProtoReflect.Descriptor instead.
func (*PipelineDeploymentConfig_ExecutorSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{21, 4}
}

func (x *PipelineDeploymentConfig_ExecutorSpec) GetSpec() isPipelineDeploymentConfig_ExecutorSpec_Spec {
	if x != nil {
		return x.Spec
	}
	return nil
}

func (x *PipelineDeploymentConfig_ExecutorSpec) GetContainer() *PipelineDeploymentConfig_PipelineContainerSpec {
	if x != nil {
		if x, ok := x.Spec.(*PipelineDeploymentConfig_ExecutorSpec_Container); ok {
			return x.Container
		}
	}
	return nil
}

func (x *PipelineDeploymentConfig_ExecutorSpec) GetImporter() *PipelineDeploymentConfig_ImporterSpec {
	if x != nil {
		if x, ok := x.Spec.(*PipelineDeploymentConfig_ExecutorSpec_Importer); ok {
			return x.Importer
		}
	}
	return nil
}

func (x *PipelineDeploymentConfig_ExecutorSpec) GetResolver() *PipelineDeploymentConfig_ResolverSpec {
	if x != nil {
		if x, ok := x.Spec.(*PipelineDeploymentConfig_ExecutorSpec_Resolver); ok {
			return x.Resolver
		}
	}
	return nil
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *PipelineDeploymentConfig_ExecutorSpec) GetCustomJob() *PipelineDeploymentConfig_AIPlatformCustomJobSpec {
	if x != nil {
		if x, ok := x.Spec.(*PipelineDeploymentConfig_ExecutorSpec_CustomJob); ok {
			return x.CustomJob
		}
	}
	return nil
}

type isPipelineDeploymentConfig_ExecutorSpec_Spec interface {
	isPipelineDeploymentConfig_ExecutorSpec_Spec()
}

type PipelineDeploymentConfig_ExecutorSpec_Container struct {
	// Starts a container.
	Container *PipelineDeploymentConfig_PipelineContainerSpec `protobuf:"bytes,1,opt,name=container,proto3,oneof"`
}

type PipelineDeploymentConfig_ExecutorSpec_Importer struct {
	// Import an artifact.
	Importer *PipelineDeploymentConfig_ImporterSpec `protobuf:"bytes,2,opt,name=importer,proto3,oneof"`
}

type PipelineDeploymentConfig_ExecutorSpec_Resolver struct {
	// Resolves an existing artifact.
	Resolver *PipelineDeploymentConfig_ResolverSpec `protobuf:"bytes,3,opt,name=resolver,proto3,oneof"`
}

type PipelineDeploymentConfig_ExecutorSpec_CustomJob struct {
	// Starts a Google Cloud AI Platform CustomJob.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	CustomJob *PipelineDeploymentConfig_AIPlatformCustomJobSpec `protobuf:"bytes,4,opt,name=custom_job,json=customJob,proto3,oneof"`
}

func (*PipelineDeploymentConfig_ExecutorSpec_Container) isPipelineDeploymentConfig_ExecutorSpec_Spec() {
}

func (*PipelineDeploymentConfig_ExecutorSpec_Importer) isPipelineDeploymentConfig_ExecutorSpec_Spec() {
}

func (*PipelineDeploymentConfig_ExecutorSpec_Resolver) isPipelineDeploymentConfig_ExecutorSpec_Spec() {
}

func (*PipelineDeploymentConfig_ExecutorSpec_CustomJob) isPipelineDeploymentConfig_ExecutorSpec_Spec() {
}

// The lifecycle hooks of the container.
// Each hook follows the same I/O contract as the main container entrypoint.
// See [ExecutorInput]() and [ExecutorOutput]() for details.
// (-- TODO(b/165323565): add more documentation on caching and lifecycle
// hooks. --)
type PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// This hook is invoked before caching check. It can change the properties
	// of the execution and output artifacts before they are used to compute
	// the cache key. The updated metadata will be passed into the main
	// container entrypoint.
	PreCacheCheck *PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle_Exec `protobuf:"bytes,1,opt,name=pre_cache_check,json=preCacheCheck,proto3" json:"pre_cache_check,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle) Reset() {
	*x = PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle{}
	mi := &file_pipeline_spec_proto_msgTypes[86]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle) ProtoMessage() {}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[86]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle.ProtoReflect.Descriptor instead.
func (*PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{21, 0, 0}
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle) GetPreCacheCheck() *PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle_Exec {
	if x != nil {
		return x.PreCacheCheck
	}
	return nil
}

// The specification on the resource requirements of a container execution.
// This can include specification of vCPU, memory requirements, as well as
// accelerator types and counts.
type PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The limit of the number of vCPU cores. This container execution needs
	// at most cpu_limit vCPU to run.
	// Deprecated. Use [ResourceSpec.resource_cpu_limit] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	CpuLimit float64 `protobuf:"fixed64,1,opt,name=cpu_limit,json=cpuLimit,proto3" json:"cpu_limit,omitempty"`
	// The memory limit in GB. This container execution needs at most
	// memory_limit RAM to run.
	// Deprecated. Use [ResourceSpec.resource_memory_limit] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	MemoryLimit float64 `protobuf:"fixed64,2,opt,name=memory_limit,json=memoryLimit,proto3" json:"memory_limit,omitempty"`
	// The request of the number of vCPU cores. This container execution
	// needs at least cpu_request vCPU to run.
	// Deprecated. Use [ResourceSpec.resource_cpu_request] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	CpuRequest float64 `protobuf:"fixed64,5,opt,name=cpu_request,json=cpuRequest,proto3" json:"cpu_request,omitempty"`
	// The memory request in GB. This container execution needs at least
	// memory_request RAM to run.
	// Deprecated. Use [ResourceSpec.resource_memory_request] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	MemoryRequest float64 `protobuf:"fixed64,6,opt,name=memory_request,json=memoryRequest,proto3" json:"memory_request,omitempty"`
	// The limit of the number of vCPU cores. This container execution needs
	// at most resource_cpu_limit vCPU to run. Handles static values and
	// placeholders.
	ResourceCpuLimit string `protobuf:"bytes,7,opt,name=resource_cpu_limit,json=resourceCpuLimit,proto3" json:"resource_cpu_limit,omitempty"`
	// The memory limit in GB. This container execution needs
	// at most resource_memory_limit RAM to run. Handles static values and
	// placeholders.
	ResourceMemoryLimit string `protobuf:"bytes,8,opt,name=resource_memory_limit,json=resourceMemoryLimit,proto3" json:"resource_memory_limit,omitempty"`
	// The request of the number of vCPU cores. This container
	// execution needs at least resource_cpu_request vCPU to run. Handles
	// static values and placeholders.
	ResourceCpuRequest string `protobuf:"bytes,9,opt,name=resource_cpu_request,json=resourceCpuRequest,proto3" json:"resource_cpu_request,omitempty"`
	// The memory request in GB. This container execution
	// needs at least resource_memory_request RAM to run. Handles static
	// values and placeholders.
	ResourceMemoryRequest string                                                                         `protobuf:"bytes,10,opt,name=resource_memory_request,json=resourceMemoryRequest,proto3" json:"resource_memory_request,omitempty"`
	Accelerator           *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig `protobuf:"bytes,3,opt,name=accelerator,proto3" json:"accelerator,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) Reset() {
	*x = PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec{}
	mi := &file_pipeline_spec_proto_msgTypes[87]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) ProtoMessage() {}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[87]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec.ProtoReflect.Descriptor instead.
func (*PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{21, 0, 1}
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) GetCpuLimit() float64 {
	if x != nil {
		return x.CpuLimit
	}
	return 0
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) GetMemoryLimit() float64 {
	if x != nil {
		return x.MemoryLimit
	}
	return 0
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) GetCpuRequest() float64 {
	if x != nil {
		return x.CpuRequest
	}
	return 0
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) GetMemoryRequest() float64 {
	if x != nil {
		return x.MemoryRequest
	}
	return 0
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) GetResourceCpuLimit() string {
	if x != nil {
		return x.ResourceCpuLimit
	}
	return ""
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) GetResourceMemoryLimit() string {
	if x != nil {
		return x.ResourceMemoryLimit
	}
	return ""
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) GetResourceCpuRequest() string {
	if x != nil {
		return x.ResourceCpuRequest
	}
	return ""
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) GetResourceMemoryRequest() string {
	if x != nil {
		return x.ResourceMemoryRequest
	}
	return ""
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec) GetAccelerator() *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig {
	if x != nil {
		return x.Accelerator
	}
	return nil
}

// Environment variables to be passed to the container.
// Represents an environment variable present in a container.
type PipelineDeploymentConfig_PipelineContainerSpec_EnvVar struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of the environment variable. Must be a valid C identifier. It can
	// be composed of characters such as uppercase, lowercase characters,
	// underscore, digits, but the leading character should be either a
	// letter or an underscore.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Variables that reference a $(VAR_NAME) are expanded using the previous
	// defined environment variables in the container and any environment
	// variables defined by the platform runtime that executes this pipeline.
	// If a variable cannot be resolved, the reference in the input string
	// will be unchanged. The $(VAR_NAME) syntax can be escaped with a double
	// $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
	// regardless of whether the variable exists or not.
	Value         string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_EnvVar) Reset() {
	*x = PipelineDeploymentConfig_PipelineContainerSpec_EnvVar{}
	mi := &file_pipeline_spec_proto_msgTypes[88]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_EnvVar) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineDeploymentConfig_PipelineContainerSpec_EnvVar) ProtoMessage() {}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_EnvVar) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[88]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineDeploymentConfig_PipelineContainerSpec_EnvVar.ProtoReflect.Descriptor instead.
func (*PipelineDeploymentConfig_PipelineContainerSpec_EnvVar) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{21, 0, 2}
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_EnvVar) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_EnvVar) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

// The command and args to execute a program.
type PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle_Exec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The command of the exec program.
	Command []string `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"`
	// The args of the exec program.
	Args          []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle_Exec) Reset() {
	*x = PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle_Exec{}
	mi := &file_pipeline_spec_proto_msgTypes[89]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle_Exec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle_Exec) ProtoMessage() {}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle_Exec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[89]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle_Exec.ProtoReflect.Descriptor instead.
func (*PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle_Exec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{21, 0, 0, 0}
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle_Exec) GetCommand() []string {
	if x != nil {
		return x.Command
	}
	return nil
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle_Exec) GetArgs() []string {
	if x != nil {
		return x.Args
	}
	return nil
}

// The specification on the accelerators being attached to this container.
type PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The type of accelerators.
	// Deprecated. Use [ResourceSpec.AcceleratorConfig.resource_type]
	// instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// The number of accelerators.
	// Deprecated. Use [ResourceSpec.AcceleratorConfig.resource_count]
	// instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
	// The type of accelerators. Handles static values and
	// placeholders.
	ResourceType string `protobuf:"bytes,3,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
	// The number of accelerators. Handles static values and
	// placeholders.
	ResourceCount string `protobuf:"bytes,4,opt,name=resource_count,json=resourceCount,proto3" json:"resource_count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig) Reset() {
	*x = PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig{}
	mi := &file_pipeline_spec_proto_msgTypes[90]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig) ProtoMessage() {
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[90]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig.ProtoReflect.Descriptor instead.
func (*PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{21, 0, 1, 0}
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig) GetCount() int64 {
	if x != nil {
		return x.Count
	}
	return 0
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig) GetResourceType() string {
	if x != nil {
		return x.ResourceType
	}
	return ""
}

func (x *PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig) GetResourceCount() string {
	if x != nil {
		return x.ResourceCount
	}
	return ""
}

// The query to fetch artifacts.
type PipelineDeploymentConfig_ResolverSpec_ArtifactQuerySpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The filter of the artifact query. The supported syntax are:
	// - `in_context("<context name>")`
	// - `artifact_type="<artifact type name>"`
	// - `uri="<uri>"`
	// - `state=<state>`
	// - `name="value"`
	// - `AND` to combine two conditions and returns when both are true.
	// If no `in_context` filter is set, the query will be scoped to the
	// the current pipeline context.
	Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
	// The maximum number of the artifacts to be returned from the
	// query. If not defined, the default limit is `1`.
	Limit         int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipelineDeploymentConfig_ResolverSpec_ArtifactQuerySpec) Reset() {
	*x = PipelineDeploymentConfig_ResolverSpec_ArtifactQuerySpec{}
	mi := &file_pipeline_spec_proto_msgTypes[93]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipelineDeploymentConfig_ResolverSpec_ArtifactQuerySpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipelineDeploymentConfig_ResolverSpec_ArtifactQuerySpec) ProtoMessage() {}

func (x *PipelineDeploymentConfig_ResolverSpec_ArtifactQuerySpec) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[93]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipelineDeploymentConfig_ResolverSpec_ArtifactQuerySpec.ProtoReflect.Descriptor instead.
func (*PipelineDeploymentConfig_ResolverSpec_ArtifactQuerySpec) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{21, 2, 0}
}

func (x *PipelineDeploymentConfig_ResolverSpec_ArtifactQuerySpec) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

func (x *PipelineDeploymentConfig_ResolverSpec_ArtifactQuerySpec) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

// The runtime inputs data of the execution.
type ExecutorInput_Inputs struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Input parameters of the execution.
	// Deprecated. Use [ExecutorInput.Inputs.parameter_values][] instead.
	//
	// Deprecated: Marked as deprecated in pipeline_spec.proto.
	Parameters map[string]*Value `protobuf:"bytes,1,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Input artifacts of the execution.
	Artifacts map[string]*ArtifactList `protobuf:"bytes,2,rep,name=artifacts,proto3" json:"artifacts,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Input parameters of the execution.
	ParameterValues map[string]*structpb.Value `protobuf:"bytes,3,rep,name=parameter_values,json=parameterValues,proto3" json:"parameter_values,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ExecutorInput_Inputs) Reset() {
	*x = ExecutorInput_Inputs{}
	mi := &file_pipeline_spec_proto_msgTypes[97]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ExecutorInput_Inputs) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ExecutorInput_Inputs) ProtoMessage() {}

func (x *ExecutorInput_Inputs) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[97]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ExecutorInput_Inputs.ProtoReflect.Descriptor instead.
func (*ExecutorInput_Inputs) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{25, 0}
}

// Deprecated: Marked as deprecated in pipeline_spec.proto.
func (x *ExecutorInput_Inputs) GetParameters() map[string]*Value {
	if x != nil {
		return x.Parameters
	}
	return nil
}

func (x *ExecutorInput_Inputs) GetArtifacts() map[string]*ArtifactList {
	if x != nil {
		return x.Artifacts
	}
	return nil
}

func (x *ExecutorInput_Inputs) GetParameterValues() map[string]*structpb.Value {
	if x != nil {
		return x.ParameterValues
	}
	return nil
}

// The runtime output parameter.
type ExecutorInput_OutputParameter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The file path which is used by the executor to pass the parameter value
	// to the system.
	OutputFile    string `protobuf:"bytes,1,opt,name=output_file,json=outputFile,proto3" json:"output_file,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ExecutorInput_OutputParameter) Reset() {
	*x = ExecutorInput_OutputParameter{}
	mi := &file_pipeline_spec_proto_msgTypes[98]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ExecutorInput_OutputParameter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ExecutorInput_OutputParameter) ProtoMessage() {}

func (x *ExecutorInput_OutputParameter) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[98]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ExecutorInput_OutputParameter.ProtoReflect.Descriptor instead.
func (*ExecutorInput_OutputParameter) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{25, 1}
}

func (x *ExecutorInput_OutputParameter) GetOutputFile() string {
	if x != nil {
		return x.OutputFile
	}
	return ""
}

// The runtime outputs data of the execution.
type ExecutorInput_Outputs struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The runtime output parameters.
	Parameters map[string]*ExecutorInput_OutputParameter `protobuf:"bytes,1,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// The runtime output artifacts.
	Artifacts map[string]*ArtifactList `protobuf:"bytes,2,rep,name=artifacts,proto3" json:"artifacts,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// The file path of the full output metadata JSON. The schema of the output
	// file is [ExecutorOutput][].
	//
	// When the full output metadata file is set by the container, the output
	// parameter files will be ignored.
	OutputFile    string `protobuf:"bytes,3,opt,name=output_file,json=outputFile,proto3" json:"output_file,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ExecutorInput_Outputs) Reset() {
	*x = ExecutorInput_Outputs{}
	mi := &file_pipeline_spec_proto_msgTypes[99]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ExecutorInput_Outputs) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ExecutorInput_Outputs) ProtoMessage() {}

func (x *ExecutorInput_Outputs) ProtoReflect() protoreflect.Message {
	mi := &file_pipeline_spec_proto_msgTypes[99]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ExecutorInput_Outputs.ProtoReflect.Descriptor instead.
func (*ExecutorInput_Outputs) Descriptor() ([]byte, []int) {
	return file_pipeline_spec_proto_rawDescGZIP(), []int{25, 2}
}

func (x *ExecutorInput_Outputs) GetParameters() map[string]*ExecutorInput_OutputParameter {
	if x != nil {
		return x.Parameters
	}
	return nil
}

func (x *ExecutorInput_Outputs) GetArtifacts() map[string]*ArtifactList {
	if x != nil {
		return x.Artifacts
	}
	return nil
}

func (x *ExecutorInput_Outputs) GetOutputFile() string {
	if x != nil {
		return x.OutputFile
	}
	return ""
}

var File_pipeline_spec_proto protoreflect.FileDescriptor

const file_pipeline_spec_proto_rawDesc = "" +
	"\n" +
	"\x13pipeline_spec.proto\x12\fml_pipelines\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x17google/rpc/status.proto\"\xb0\x06\n" +
	"\vPipelineJob\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12!\n" +
	"\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12<\n" +
	"\rpipeline_spec\x18\a \x01(\v2\x17.google.protobuf.StructR\fpipelineSpec\x12=\n" +
	"\x06labels\x18\v \x03(\v2%.ml_pipelines.PipelineJob.LabelsEntryR\x06labels\x12N\n" +
	"\x0eruntime_config\x18\f \x01(\v2'.ml_pipelines.PipelineJob.RuntimeConfigR\rruntimeConfig\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a\xb7\x03\n" +
	"\rRuntimeConfig\x12[\n" +
	"\n" +
	"parameters\x18\x01 \x03(\v27.ml_pipelines.PipelineJob.RuntimeConfig.ParametersEntryB\x02\x18\x01R\n" +
	"parameters\x120\n" +
	"\x14gcs_output_directory\x18\x02 \x01(\tR\x12gcsOutputDirectory\x12g\n" +
	"\x10parameter_values\x18\x03 \x03(\v2<.ml_pipelines.PipelineJob.RuntimeConfig.ParameterValuesEntryR\x0fparameterValues\x1aR\n" +
	"\x0fParametersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12)\n" +
	"\x05value\x18\x02 \x01(\v2\x13.ml_pipelines.ValueR\x05value:\x028\x01\x1aZ\n" +
	"\x14ParameterValuesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12,\n" +
	"\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01J\x04\b\x03\x10\x04J\x04\b\x04\x10\x05J\x04\b\x05\x10\x06J\x04\b\x06\x10\aJ\x04\b\b\x10\tJ\x04\b\t\x10\n" +
	"J\x04\b\n" +
	"\x10\v\"\xf8\x04\n" +
	"\fPipelineSpec\x12?\n" +
	"\rpipeline_info\x18\x01 \x01(\v2\x1a.ml_pipelines.PipelineInfoR\fpipelineInfo\x12@\n" +
	"\x0fdeployment_spec\x18\a \x01(\v2\x17.google.protobuf.StructR\x0edeploymentSpec\x12\x1f\n" +
	"\vsdk_version\x18\x04 \x01(\tR\n" +
	"sdkVersion\x12%\n" +
	"\x0eschema_version\x18\x05 \x01(\tR\rschemaVersion\x12J\n" +
	"\n" +
	"components\x18\b \x03(\v2*.ml_pipelines.PipelineSpec.ComponentsEntryR\n" +
	"components\x12/\n" +
	"\x04root\x18\t \x01(\v2\x1b.ml_pipelines.ComponentSpecR\x04root\x122\n" +
	"\x15default_pipeline_root\x18\n" +
	" \x01(\tR\x13defaultPipelineRoot\x1a\x8f\x01\n" +
	"\x10RuntimeParameter\x12A\n" +
	"\x04type\x18\x01 \x01(\x0e2-.ml_pipelines.PrimitiveType.PrimitiveTypeEnumR\x04type\x128\n" +
	"\rdefault_value\x18\x02 \x01(\v2\x13.ml_pipelines.ValueR\fdefaultValue\x1aZ\n" +
	"\x0fComponentsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x121\n" +
	"\x05value\x18\x02 \x01(\v2\x1b.ml_pipelines.ComponentSpecR\x05value:\x028\x01\"\xcd\x03\n" +
	"\rComponentSpec\x12N\n" +
	"\x11input_definitions\x18\x01 \x01(\v2!.ml_pipelines.ComponentInputsSpecR\x10inputDefinitions\x12Q\n" +
	"\x12output_definitions\x18\x02 \x01(\v2\".ml_pipelines.ComponentOutputsSpecR\x11outputDefinitions\x12)\n" +
	"\x03dag\x18\x03 \x01(\v2\x15.ml_pipelines.DagSpecH\x00R\x03dag\x12'\n" +
	"\x0eexecutor_label\x18\x04 \x01(\tH\x00R\rexecutorLabel\x12T\n" +
	"\x15single_platform_specs\x18\x05 \x03(\v2 .ml_pipelines.SinglePlatformSpecR\x13singlePlatformSpecs\x12]\n" +
	"\x18task_config_passthroughs\x18\x06 \x03(\v2#.ml_pipelines.TaskConfigPassthroughR\x16taskConfigPassthroughsB\x10\n" +
	"\x0eimplementation\"\xd3\x01\n" +
	"\aDagSpec\x126\n" +
	"\x05tasks\x18\x01 \x03(\v2 .ml_pipelines.DagSpec.TasksEntryR\x05tasks\x126\n" +
	"\aoutputs\x18\x02 \x01(\v2\x1c.ml_pipelines.DagOutputsSpecR\aoutputs\x1aX\n" +
	"\n" +
	"TasksEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x124\n" +
	"\x05value\x18\x02 \x01(\v2\x1e.ml_pipelines.PipelineTaskSpecR\x05value:\x028\x01\"\xf6\n" +
	"\n" +
	"\x0eDagOutputsSpec\x12I\n" +
	"\tartifacts\x18\x01 \x03(\v2+.ml_pipelines.DagOutputsSpec.ArtifactsEntryR\tartifacts\x12L\n" +
	"\n" +
	"parameters\x18\x02 \x03(\v2,.ml_pipelines.DagOutputsSpec.ParametersEntryR\n" +
	"parameters\x1aq\n" +
	"\x14ArtifactSelectorSpec\x12)\n" +
	"\x10producer_subtask\x18\x01 \x01(\tR\x0fproducerSubtask\x12.\n" +
	"\x13output_artifact_key\x18\x02 \x01(\tR\x11outputArtifactKey\x1ay\n" +
	"\x15DagOutputArtifactSpec\x12`\n" +
	"\x12artifact_selectors\x18\x01 \x03(\v21.ml_pipelines.DagOutputsSpec.ArtifactSelectorSpecR\x11artifactSelectors\x1ap\n" +
	"\x0eArtifactsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12H\n" +
	"\x05value\x18\x02 \x01(\v22.ml_pipelines.DagOutputsSpec.DagOutputArtifactSpecR\x05value:\x028\x01\x1at\n" +
	"\x15ParameterSelectorSpec\x12)\n" +
	"\x10producer_subtask\x18\x01 \x01(\tR\x0fproducerSubtask\x120\n" +
	"\x14output_parameter_key\x18\x02 \x01(\tR\x12outputParameterKey\x1a}\n" +
	"\x16ParameterSelectorsSpec\x12c\n" +
	"\x13parameter_selectors\x18\x01 \x03(\v22.ml_pipelines.DagOutputsSpec.ParameterSelectorSpecR\x12parameterSelectors\x1a\x8f\x02\n" +
	"\x19MapParameterSelectorsSpec\x12y\n" +
	"\x11mapped_parameters\x18\x02 \x03(\v2L.ml_pipelines.DagOutputsSpec.MapParameterSelectorsSpec.MappedParametersEntryR\x10mappedParameters\x1aw\n" +
	"\x15MappedParametersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12H\n" +
	"\x05value\x18\x02 \x01(\v22.ml_pipelines.DagOutputsSpec.ParameterSelectorSpecR\x05value:\x028\x01\x1a\xef\x01\n" +
	"\x16DagOutputParameterSpec\x12f\n" +
	"\x14value_from_parameter\x18\x01 \x01(\v22.ml_pipelines.DagOutputsSpec.ParameterSelectorSpecH\x00R\x12valueFromParameter\x12_\n" +
	"\x10value_from_oneof\x18\x02 \x01(\v23.ml_pipelines.DagOutputsSpec.ParameterSelectorsSpecH\x00R\x0evalueFromOneofB\x06\n" +
	"\x04kindJ\x04\b\x03\x10\x04\x1ar\n" +
	"\x0fParametersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12I\n" +
	"\x05value\x18\x02 \x01(\v23.ml_pipelines.DagOutputsSpec.DagOutputParameterSpecR\x05value:\x028\x01\"\x8a\a\n" +
	"\x13ComponentInputsSpec\x12N\n" +
	"\tartifacts\x18\x01 \x03(\v20.ml_pipelines.ComponentInputsSpec.ArtifactsEntryR\tartifacts\x12Q\n" +
	"\n" +
	"parameters\x18\x02 \x03(\v21.ml_pipelines.ComponentInputsSpec.ParametersEntryR\n" +
	"parameters\x1a\xc2\x01\n" +
	"\fArtifactSpec\x12E\n" +
	"\rartifact_type\x18\x01 \x01(\v2 .ml_pipelines.ArtifactTypeSchemaR\fartifactType\x12(\n" +
	"\x10is_artifact_list\x18\x02 \x01(\bR\x0eisArtifactList\x12\x1f\n" +
	"\vis_optional\x18\x03 \x01(\bR\n" +
	"isOptional\x12 \n" +
	"\vdescription\x18\x04 \x01(\tR\vdescription\x1a\xac\x02\n" +
	"\rParameterSpec\x12E\n" +
	"\x04type\x18\x01 \x01(\x0e2-.ml_pipelines.PrimitiveType.PrimitiveTypeEnumB\x02\x18\x01R\x04type\x12T\n" +
	"\x0eparameter_type\x18\x02 \x01(\x0e2-.ml_pipelines.ParameterType.ParameterTypeEnumR\rparameterType\x12;\n" +
	"\rdefault_value\x18\x03 \x01(\v2\x16.google.protobuf.ValueR\fdefaultValue\x12\x1f\n" +
	"\vis_optional\x18\x04 \x01(\bR\n" +
	"isOptional\x12 \n" +
	"\vdescription\x18\x05 \x01(\tR\vdescription\x1al\n" +
	"\x0eArtifactsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12D\n" +
	"\x05value\x18\x02 \x01(\v2..ml_pipelines.ComponentInputsSpec.ArtifactSpecR\x05value:\x028\x01\x1an\n" +
	"\x0fParametersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12E\n" +
	"\x05value\x18\x02 \x01(\v2/.ml_pipelines.ComponentInputsSpec.ParameterSpecR\x05value:\x028\x01\"\xf4\t\n" +
	"\x14ComponentOutputsSpec\x12O\n" +
	"\tartifacts\x18\x01 \x03(\v21.ml_pipelines.ComponentOutputsSpec.ArtifactsEntryR\tartifacts\x12R\n" +
	"\n" +
	"parameters\x18\x02 \x03(\v22.ml_pipelines.ComponentOutputsSpec.ParametersEntryR\n" +
	"parameters\x1a\x85\x05\n" +
	"\fArtifactSpec\x12E\n" +
	"\rartifact_type\x18\x01 \x01(\v2 .ml_pipelines.ArtifactTypeSchemaR\fartifactType\x12c\n" +
	"\n" +
	"properties\x18\x02 \x03(\v2?.ml_pipelines.ComponentOutputsSpec.ArtifactSpec.PropertiesEntryB\x02\x18\x01R\n" +
	"properties\x12v\n" +
	"\x11custom_properties\x18\x03 \x03(\v2E.ml_pipelines.ComponentOutputsSpec.ArtifactSpec.CustomPropertiesEntryB\x02\x18\x01R\x10customProperties\x123\n" +
	"\bmetadata\x18\x04 \x01(\v2\x17.google.protobuf.StructR\bmetadata\x12(\n" +
	"\x10is_artifact_list\x18\x05 \x01(\bR\x0eisArtifactList\x12 \n" +
	"\vdescription\x18\x06 \x01(\tR\vdescription\x1ad\n" +
	"\x0fPropertiesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12;\n" +
	"\x05value\x18\x02 \x01(\v2%.ml_pipelines.ValueOrRuntimeParameterR\x05value:\x028\x01\x1aj\n" +
	"\x15CustomPropertiesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12;\n" +
	"\x05value\x18\x02 \x01(\v2%.ml_pipelines.ValueOrRuntimeParameterR\x05value:\x028\x01\x1a\xce\x01\n" +
	"\rParameterSpec\x12E\n" +
	"\x04type\x18\x01 \x01(\x0e2-.ml_pipelines.PrimitiveType.PrimitiveTypeEnumB\x02\x18\x01R\x04type\x12T\n" +
	"\x0eparameter_type\x18\x02 \x01(\x0e2-.ml_pipelines.ParameterType.ParameterTypeEnumR\rparameterType\x12 \n" +
	"\vdescription\x18\x03 \x01(\tR\vdescription\x1am\n" +
	"\x0eArtifactsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12E\n" +
	"\x05value\x18\x02 \x01(\v2/.ml_pipelines.ComponentOutputsSpec.ArtifactSpecR\x05value:\x028\x01\x1ao\n" +
	"\x0fParametersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12F\n" +
	"\x05value\x18\x02 \x01(\v20.ml_pipelines.ComponentOutputsSpec.ParameterSpecR\x05value:\x028\x01\"\xd8\n" +
	"\n" +
	"\x0eTaskInputsSpec\x12L\n" +
	"\n" +
	"parameters\x18\x01 \x03(\v2,.ml_pipelines.TaskInputsSpec.ParametersEntryR\n" +
	"parameters\x12I\n" +
	"\tartifacts\x18\x02 \x03(\v2+.ml_pipelines.TaskInputsSpec.ArtifactsEntryR\tartifacts\x1a\xc7\x02\n" +
	"\x11InputArtifactSpec\x12y\n" +
	"\x14task_output_artifact\x18\x03 \x01(\v2E.ml_pipelines.TaskInputsSpec.InputArtifactSpec.TaskOutputArtifactSpecH\x00R\x12taskOutputArtifact\x12:\n" +
	"\x18component_input_artifact\x18\x04 \x01(\tH\x00R\x16componentInputArtifact\x1am\n" +
	"\x16TaskOutputArtifactSpec\x12#\n" +
	"\rproducer_task\x18\x01 \x01(\tR\fproducerTask\x12.\n" +
	"\x13output_artifact_key\x18\x02 \x01(\tR\x11outputArtifactKeyB\x06\n" +
	"\x04kindJ\x04\b\x05\x10\x06\x1a\x84\x05\n" +
	"\x12InputParameterSpec\x12}\n" +
	"\x15task_output_parameter\x18\x01 \x01(\v2G.ml_pipelines.TaskInputsSpec.InputParameterSpec.TaskOutputParameterSpecH\x00R\x13taskOutputParameter\x12L\n" +
	"\rruntime_value\x18\x02 \x01(\v2%.ml_pipelines.ValueOrRuntimeParameterH\x00R\fruntimeValue\x12<\n" +
	"\x19component_input_parameter\x18\x03 \x01(\tH\x00R\x17componentInputParameter\x12m\n" +
	"\x11task_final_status\x18\x05 \x01(\v2?.ml_pipelines.TaskInputsSpec.InputParameterSpec.TaskFinalStatusH\x00R\x0ftaskFinalStatus\x12B\n" +
	"\x1dparameter_expression_selector\x18\x04 \x01(\tR\x1bparameterExpressionSelector\x1ap\n" +
	"\x17TaskOutputParameterSpec\x12#\n" +
	"\rproducer_task\x18\x01 \x01(\tR\fproducerTask\x120\n" +
	"\x14output_parameter_key\x18\x02 \x01(\tR\x12outputParameterKey\x1a6\n" +
	"\x0fTaskFinalStatus\x12#\n" +
	"\rproducer_task\x18\x01 \x01(\tR\fproducerTaskB\x06\n" +
	"\x04kind\x1an\n" +
	"\x0fParametersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12E\n" +
	"\x05value\x18\x02 \x01(\v2/.ml_pipelines.TaskInputsSpec.InputParameterSpecR\x05value:\x028\x01\x1al\n" +
	"\x0eArtifactsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12D\n" +
	"\x05value\x18\x02 \x01(\v2..ml_pipelines.TaskInputsSpec.InputArtifactSpecR\x05value:\x028\x01\"\xef\a\n" +
	"\x0fTaskOutputsSpec\x12M\n" +
	"\n" +
	"parameters\x18\x01 \x03(\v2-.ml_pipelines.TaskOutputsSpec.ParametersEntryR\n" +
	"parameters\x12J\n" +
	"\tartifacts\x18\x02 \x03(\v2,.ml_pipelines.TaskOutputsSpec.ArtifactsEntryR\tartifacts\x1a\x84\x04\n" +
	"\x12OutputArtifactSpec\x12E\n" +
	"\rartifact_type\x18\x01 \x01(\v2 .ml_pipelines.ArtifactTypeSchemaR\fartifactType\x12`\n" +
	"\n" +
	"properties\x18\x02 \x03(\v2@.ml_pipelines.TaskOutputsSpec.OutputArtifactSpec.PropertiesEntryR\n" +
	"properties\x12s\n" +
	"\x11custom_properties\x18\x03 \x03(\v2F.ml_pipelines.TaskOutputsSpec.OutputArtifactSpec.CustomPropertiesEntryR\x10customProperties\x1ad\n" +
	"\x0fPropertiesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12;\n" +
	"\x05value\x18\x02 \x01(\v2%.ml_pipelines.ValueOrRuntimeParameterR\x05value:\x028\x01\x1aj\n" +
	"\x15CustomPropertiesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12;\n" +
	"\x05value\x18\x02 \x01(\v2%.ml_pipelines.ValueOrRuntimeParameterR\x05value:\x028\x01\x1aX\n" +
	"\x13OutputParameterSpec\x12A\n" +
	"\x04type\x18\x01 \x01(\x0e2-.ml_pipelines.PrimitiveType.PrimitiveTypeEnumR\x04type\x1ap\n" +
	"\x0fParametersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12G\n" +
	"\x05value\x18\x02 \x01(\v21.ml_pipelines.TaskOutputsSpec.OutputParameterSpecR\x05value:\x028\x01\x1an\n" +
	"\x0eArtifactsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12F\n" +
	"\x05value\x18\x02 \x01(\v20.ml_pipelines.TaskOutputsSpec.OutputArtifactSpecR\x05value:\x028\x01\"m\n" +
	"\rPrimitiveType\"X\n" +
	"\x11PrimitiveTypeEnum\x12\x1e\n" +
	"\x1aPRIMITIVE_TYPE_UNSPECIFIED\x10\x00\x12\a\n" +
	"\x03INT\x10\x01\x12\n" +
	"\n" +
	"\x06DOUBLE\x10\x02\x12\n" +
	"\n" +
	"\x06STRING\x10\x03\x1a\x02\x18\x01:\x02\x18\x01\"\xc8\x01\n" +
	"\rParameterType\"\xb6\x01\n" +
	"\x11ParameterTypeEnum\x12#\n" +
	"\x1fPARAMETER_TYPE_ENUM_UNSPECIFIED\x10\x00\x12\x11\n" +
	"\rNUMBER_DOUBLE\x10\x01\x12\x12\n" +
	"\x0eNUMBER_INTEGER\x10\x02\x12\n" +
	"\n" +
	"\x06STRING\x10\x03\x12\v\n" +
	"\aBOOLEAN\x10\x04\x12\b\n" +
	"\x04LIST\x10\x05\x12\n" +
	"\n" +
	"\x06STRUCT\x10\x06\x12\x15\n" +
	"\x11TASK_FINAL_STATUS\x10\a\x12\x0f\n" +
	"\vTASK_CONFIG\x10\b\"\xca\x01\n" +
	"\x19TaskConfigPassthroughType\"\xac\x01\n" +
	"\x1dTaskConfigPassthroughTypeEnum\x12\b\n" +
	"\x04NONE\x10\x00\x12\r\n" +
	"\tRESOURCES\x10\x01\x12\a\n" +
	"\x03ENV\x10\x02\x12\x17\n" +
	"\x13KUBERNETES_AFFINITY\x10\x03\x12\x1a\n" +
	"\x16KUBERNETES_TOLERATIONS\x10\x04\x12\x1c\n" +
	"\x18KUBERNETES_NODE_SELECTOR\x10\x05\x12\x16\n" +
	"\x12KUBERNETES_VOLUMES\x10\x06\"\x98\x01\n" +
	"\x15TaskConfigPassthrough\x12[\n" +
	"\x05field\x18\x01 \x01(\x0e2E.ml_pipelines.TaskConfigPassthroughType.TaskConfigPassthroughTypeEnumR\x05field\x12\"\n" +
	"\rapply_to_task\x18\x02 \x01(\bR\vapplyToTask\"\xfe\n" +
	"\n" +
	"\x10PipelineTaskSpec\x12;\n" +
	"\ttask_info\x18\x01 \x01(\v2\x1e.ml_pipelines.PipelineTaskInfoR\btaskInfo\x124\n" +
	"\x06inputs\x18\x02 \x01(\v2\x1c.ml_pipelines.TaskInputsSpecR\x06inputs\x12'\n" +
	"\x0fdependent_tasks\x18\x05 \x03(\tR\x0edependentTasks\x12V\n" +
	"\x0fcaching_options\x18\x06 \x01(\v2-.ml_pipelines.PipelineTaskSpec.CachingOptionsR\x0ecachingOptions\x12?\n" +
	"\rcomponent_ref\x18\a \x01(\v2\x1a.ml_pipelines.ComponentRefR\fcomponentRef\x12S\n" +
	"\x0etrigger_policy\x18\b \x01(\v2,.ml_pipelines.PipelineTaskSpec.TriggerPolicyR\rtriggerPolicy\x12Q\n" +
	"\x11artifact_iterator\x18\t \x01(\v2\".ml_pipelines.ArtifactIteratorSpecH\x00R\x10artifactIterator\x12T\n" +
	"\x12parameter_iterator\x18\n" +
	" \x01(\v2#.ml_pipelines.ParameterIteratorSpecH\x00R\x11parameterIterator\x12M\n" +
	"\fretry_policy\x18\v \x01(\v2*.ml_pipelines.PipelineTaskSpec.RetryPolicyR\vretryPolicy\x12V\n" +
	"\x0fiterator_policy\x18\f \x01(\v2-.ml_pipelines.PipelineTaskSpec.IteratorPolicyR\x0eiteratorPolicy\x1aP\n" +
	"\x0eCachingOptions\x12!\n" +
	"\fenable_cache\x18\x01 \x01(\bR\venableCache\x12\x1b\n" +
	"\tcache_key\x18\x02 \x01(\tR\bcacheKey\x1a\x80\x02\n" +
	"\rTriggerPolicy\x12\x1c\n" +
	"\tcondition\x18\x01 \x01(\tR\tcondition\x12X\n" +
	"\bstrategy\x18\x02 \x01(\x0e2<.ml_pipelines.PipelineTaskSpec.TriggerPolicy.TriggerStrategyR\bstrategy\"w\n" +
	"\x0fTriggerStrategy\x12 \n" +
	"\x1cTRIGGER_STRATEGY_UNSPECIFIED\x10\x00\x12 \n" +
	"\x1cALL_UPSTREAM_TASKS_SUCCEEDED\x10\x01\x12 \n" +
	"\x1cALL_UPSTREAM_TASKS_COMPLETED\x10\x02\x1a\xef\x01\n" +
	"\vRetryPolicy\x12&\n" +
	"\x0fmax_retry_count\x18\x01 \x01(\x05R\rmaxRetryCount\x12D\n" +
	"\x10backoff_duration\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x0fbackoffDuration\x12%\n" +
	"\x0ebackoff_factor\x18\x03 \x01(\x01R\rbackoffFactor\x12K\n" +
	"\x14backoff_max_duration\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\x12backoffMaxDuration\x1a=\n" +
	"\x0eIteratorPolicy\x12+\n" +
	"\x11parallelism_limit\x18\x01 \x01(\x05R\x10parallelismLimitB\n" +
	"\n" +
	"\biterator\"\xad\x01\n" +
	"\x14ArtifactIteratorSpec\x12B\n" +
	"\x05items\x18\x01 \x01(\v2,.ml_pipelines.ArtifactIteratorSpec.ItemsSpecR\x05items\x12\x1d\n" +
	"\n" +
	"item_input\x18\x02 \x01(\tR\titemInput\x1a2\n" +
	"\tItemsSpec\x12%\n" +
	"\x0einput_artifact\x18\x01 \x01(\tR\rinputArtifact\"\xcf\x01\n" +
	"\x15ParameterIteratorSpec\x12C\n" +
	"\x05items\x18\x01 \x01(\v2-.ml_pipelines.ParameterIteratorSpec.ItemsSpecR\x05items\x12\x1d\n" +
	"\n" +
	"item_input\x18\x02 \x01(\tR\titemInput\x1aR\n" +
	"\tItemsSpec\x12\x12\n" +
	"\x03raw\x18\x01 \x01(\tH\x00R\x03raw\x12)\n" +
	"\x0finput_parameter\x18\x02 \x01(\tH\x00R\x0einputParameterB\x06\n" +
	"\x04kind\"\"\n" +
	"\fComponentRef\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\"g\n" +
	"\fPipelineInfo\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12!\n" +
	"\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12 \n" +
	"\vdescription\x18\x03 \x01(\tR\vdescription\"\xb8\x01\n" +
	"\x12ArtifactTypeSchema\x12#\n" +
	"\fschema_title\x18\x01 \x01(\tH\x00R\vschemaTitle\x12#\n" +
	"\n" +
	"schema_uri\x18\x02 \x01(\tB\x02\x18\x01H\x00R\tschemaUri\x12)\n" +
	"\x0finstance_schema\x18\x03 \x01(\tH\x00R\x0einstanceSchema\x12%\n" +
	"\x0eschema_version\x18\x04 \x01(\tR\rschemaVersionB\x06\n" +
	"\x04kind\"&\n" +
	"\x10PipelineTaskInfo\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\"\xc9\x01\n" +
	"\x17ValueOrRuntimeParameter\x12@\n" +
	"\x0econstant_value\x18\x01 \x01(\v2\x13.ml_pipelines.ValueB\x02\x18\x01H\x00R\rconstantValue\x12-\n" +
	"\x11runtime_parameter\x18\x02 \x01(\tH\x00R\x10runtimeParameter\x124\n" +
	"\bconstant\x18\x03 \x01(\v2\x16.google.protobuf.ValueH\x00R\bconstantB\a\n" +
	"\x05value\"\xcf\x17\n" +
	"\x18PipelineDeploymentConfig\x12S\n" +
	"\texecutors\x18\x01 \x03(\v25.ml_pipelines.PipelineDeploymentConfig.ExecutorsEntryR\texecutors\x1a\xfc\t\n" +
	"\x15PipelineContainerSpec\x12\x14\n" +
	"\x05image\x18\x01 \x01(\tR\x05image\x12\x18\n" +
	"\acommand\x18\x02 \x03(\tR\acommand\x12\x12\n" +
	"\x04args\x18\x03 \x03(\tR\x04args\x12d\n" +
	"\tlifecycle\x18\x04 \x01(\v2F.ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.LifecycleR\tlifecycle\x12g\n" +
	"\tresources\x18\x05 \x01(\v2I.ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.ResourceSpecR\tresources\x12U\n" +
	"\x03env\x18\x06 \x03(\v2C.ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.EnvVarR\x03env\x1a\xb6\x01\n" +
	"\tLifecycle\x12s\n" +
	"\x0fpre_cache_check\x18\x01 \x01(\v2K.ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.Lifecycle.ExecR\rpreCacheCheck\x1a4\n" +
	"\x04Exec\x12\x18\n" +
	"\acommand\x18\x02 \x03(\tR\acommand\x12\x12\n" +
	"\x04args\x18\x03 \x03(\tR\x04args\x1a\x8b\x05\n" +
	"\fResourceSpec\x12\x1f\n" +
	"\tcpu_limit\x18\x01 \x01(\x01B\x02\x18\x01R\bcpuLimit\x12%\n" +
	"\fmemory_limit\x18\x02 \x01(\x01B\x02\x18\x01R\vmemoryLimit\x12#\n" +
	"\vcpu_request\x18\x05 \x01(\x01B\x02\x18\x01R\n" +
	"cpuRequest\x12)\n" +
	"\x0ememory_request\x18\x06 \x01(\x01B\x02\x18\x01R\rmemoryRequest\x12,\n" +
	"\x12resource_cpu_limit\x18\a \x01(\tR\x10resourceCpuLimit\x122\n" +
	"\x15resource_memory_limit\x18\b \x01(\tR\x13resourceMemoryLimit\x120\n" +
	"\x14resource_cpu_request\x18\t \x01(\tR\x12resourceCpuRequest\x126\n" +
	"\x17resource_memory_request\x18\n" +
	" \x01(\tR\x15resourceMemoryRequest\x12}\n" +
	"\vaccelerator\x18\x03 \x01(\v2[.ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.ResourceSpec.AcceleratorConfigR\vaccelerator\x1a\x91\x01\n" +
	"\x11AcceleratorConfig\x12\x16\n" +
	"\x04type\x18\x01 \x01(\tB\x02\x18\x01R\x04type\x12\x18\n" +
	"\x05count\x18\x02 \x01(\x03B\x02\x18\x01R\x05count\x12#\n" +
	"\rresource_type\x18\x03 \x01(\tR\fresourceType\x12%\n" +
	"\x0eresource_count\x18\x04 \x01(\tR\rresourceCountJ\x04\b\x04\x10\x05\x1a2\n" +
	"\x06EnvVar\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value\x1a\xa3\x05\n" +
	"\fImporterSpec\x12H\n" +
	"\fartifact_uri\x18\x01 \x01(\v2%.ml_pipelines.ValueOrRuntimeParameterR\vartifactUri\x12A\n" +
	"\vtype_schema\x18\x02 \x01(\v2 .ml_pipelines.ArtifactTypeSchemaR\n" +
	"typeSchema\x12g\n" +
	"\n" +
	"properties\x18\x03 \x03(\v2C.ml_pipelines.PipelineDeploymentConfig.ImporterSpec.PropertiesEntryB\x02\x18\x01R\n" +
	"properties\x12z\n" +
	"\x11custom_properties\x18\x04 \x03(\v2I.ml_pipelines.PipelineDeploymentConfig.ImporterSpec.CustomPropertiesEntryB\x02\x18\x01R\x10customProperties\x123\n" +
	"\bmetadata\x18\x06 \x01(\v2\x17.google.protobuf.StructR\bmetadata\x12\x1a\n" +
	"\breimport\x18\x05 \x01(\bR\breimport\x1ad\n" +
	"\x0fPropertiesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12;\n" +
	"\x05value\x18\x02 \x01(\v2%.ml_pipelines.ValueOrRuntimeParameterR\x05value:\x028\x01\x1aj\n" +
	"\x15CustomPropertiesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12;\n" +
	"\x05value\x18\x02 \x01(\v2%.ml_pipelines.ValueOrRuntimeParameterR\x05value:\x028\x01\x1a\xec\x02\n" +
	"\fResolverSpec\x12\x86\x01\n" +
	"\x17output_artifact_queries\x18\x01 \x03(\v2N.ml_pipelines.PipelineDeploymentConfig.ResolverSpec.OutputArtifactQueriesEntryR\x15outputArtifactQueries\x1aA\n" +
	"\x11ArtifactQuerySpec\x12\x16\n" +
	"\x06filter\x18\x01 \x01(\tR\x06filter\x12\x14\n" +
	"\x05limit\x18\x02 \x01(\x05R\x05limit\x1a\x8f\x01\n" +
	"\x1aOutputArtifactQueriesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12[\n" +
	"\x05value\x18\x02 \x01(\v2E.ml_pipelines.PipelineDeploymentConfig.ResolverSpec.ArtifactQuerySpecR\x05value:\x028\x01\x1aU\n" +
	"\x17AIPlatformCustomJobSpec\x126\n" +
	"\n" +
	"custom_job\x18\x01 \x01(\v2\x17.google.protobuf.StructR\tcustomJob:\x02\x18\x01\x1a\xff\x02\n" +
	"\fExecutorSpec\x12\\\n" +
	"\tcontainer\x18\x01 \x01(\v2<.ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpecH\x00R\tcontainer\x12Q\n" +
	"\bimporter\x18\x02 \x01(\v23.ml_pipelines.PipelineDeploymentConfig.ImporterSpecH\x00R\bimporter\x12Q\n" +
	"\bresolver\x18\x03 \x01(\v23.ml_pipelines.PipelineDeploymentConfig.ResolverSpecH\x00R\bresolver\x12c\n" +
	"\n" +
	"custom_job\x18\x04 \x01(\v2>.ml_pipelines.PipelineDeploymentConfig.AIPlatformCustomJobSpecB\x02\x18\x01H\x00R\tcustomJobB\x06\n" +
	"\x04spec\x1aq\n" +
	"\x0eExecutorsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12I\n" +
	"\x05value\x18\x02 \x01(\v23.ml_pipelines.PipelineDeploymentConfig.ExecutorSpecR\x05value:\x028\x01\"y\n" +
	"\x05Value\x12\x1d\n" +
	"\tint_value\x18\x01 \x01(\x03H\x00R\bintValue\x12#\n" +
	"\fdouble_value\x18\x02 \x01(\x01H\x00R\vdoubleValue\x12#\n" +
	"\fstring_value\x18\x03 \x01(\tH\x00R\vstringValueB\a\n" +
	"\x05value\"\x89\x04\n" +
	"\x0fRuntimeArtifact\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x124\n" +
	"\x04type\x18\x02 \x01(\v2 .ml_pipelines.ArtifactTypeSchemaR\x04type\x12\x10\n" +
	"\x03uri\x18\x03 \x01(\tR\x03uri\x12Q\n" +
	"\n" +
	"properties\x18\x04 \x03(\v2-.ml_pipelines.RuntimeArtifact.PropertiesEntryB\x02\x18\x01R\n" +
	"properties\x12d\n" +
	"\x11custom_properties\x18\x05 \x03(\v23.ml_pipelines.RuntimeArtifact.CustomPropertiesEntryB\x02\x18\x01R\x10customProperties\x123\n" +
	"\bmetadata\x18\x06 \x01(\v2\x17.google.protobuf.StructR\bmetadata\x1aR\n" +
	"\x0fPropertiesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12)\n" +
	"\x05value\x18\x02 \x01(\v2\x13.ml_pipelines.ValueR\x05value:\x028\x01\x1aX\n" +
	"\x15CustomPropertiesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12)\n" +
	"\x05value\x18\x02 \x01(\v2\x13.ml_pipelines.ValueR\x05value:\x028\x01\"K\n" +
	"\fArtifactList\x12;\n" +
	"\tartifacts\x18\x01 \x03(\v2\x1d.ml_pipelines.RuntimeArtifactR\tartifacts\"\xfa\b\n" +
	"\rExecutorInput\x12:\n" +
	"\x06inputs\x18\x01 \x01(\v2\".ml_pipelines.ExecutorInput.InputsR\x06inputs\x12=\n" +
	"\aoutputs\x18\x02 \x01(\v2#.ml_pipelines.ExecutorInput.OutputsR\aoutputs\x1a\x9f\x04\n" +
	"\x06Inputs\x12V\n" +
	"\n" +
	"parameters\x18\x01 \x03(\v22.ml_pipelines.ExecutorInput.Inputs.ParametersEntryB\x02\x18\x01R\n" +
	"parameters\x12O\n" +
	"\tartifacts\x18\x02 \x03(\v21.ml_pipelines.ExecutorInput.Inputs.ArtifactsEntryR\tartifacts\x12b\n" +
	"\x10parameter_values\x18\x03 \x03(\v27.ml_pipelines.ExecutorInput.Inputs.ParameterValuesEntryR\x0fparameterValues\x1aR\n" +
	"\x0fParametersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12)\n" +
	"\x05value\x18\x02 \x01(\v2\x13.ml_pipelines.ValueR\x05value:\x028\x01\x1aX\n" +
	"\x0eArtifactsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x120\n" +
	"\x05value\x18\x02 \x01(\v2\x1a.ml_pipelines.ArtifactListR\x05value:\x028\x01\x1aZ\n" +
	"\x14ParameterValuesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12,\n" +
	"\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\x1a2\n" +
	"\x0fOutputParameter\x12\x1f\n" +
	"\voutput_file\x18\x01 \x01(\tR\n" +
	"outputFile\x1a\x97\x03\n" +
	"\aOutputs\x12S\n" +
	"\n" +
	"parameters\x18\x01 \x03(\v23.ml_pipelines.ExecutorInput.Outputs.ParametersEntryR\n" +
	"parameters\x12P\n" +
	"\tartifacts\x18\x02 \x03(\v22.ml_pipelines.ExecutorInput.Outputs.ArtifactsEntryR\tartifacts\x12\x1f\n" +
	"\voutput_file\x18\x03 \x01(\tR\n" +
	"outputFile\x1aj\n" +
	"\x0fParametersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12A\n" +
	"\x05value\x18\x02 \x01(\v2+.ml_pipelines.ExecutorInput.OutputParameterR\x05value:\x028\x01\x1aX\n" +
	"\x0eArtifactsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x120\n" +
	"\x05value\x18\x02 \x01(\v2\x1a.ml_pipelines.ArtifactListR\x05value:\x028\x01\"\x95\x04\n" +
	"\x0eExecutorOutput\x12P\n" +
	"\n" +
	"parameters\x18\x01 \x03(\v2,.ml_pipelines.ExecutorOutput.ParametersEntryB\x02\x18\x01R\n" +
	"parameters\x12I\n" +
	"\tartifacts\x18\x02 \x03(\v2+.ml_pipelines.ExecutorOutput.ArtifactsEntryR\tartifacts\x12\\\n" +
	"\x10parameter_values\x18\x03 \x03(\v21.ml_pipelines.ExecutorOutput.ParameterValuesEntryR\x0fparameterValues\x1aR\n" +
	"\x0fParametersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12)\n" +
	"\x05value\x18\x02 \x01(\v2\x13.ml_pipelines.ValueR\x05value:\x028\x01\x1aX\n" +
	"\x0eArtifactsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x120\n" +
	"\x05value\x18\x02 \x01(\v2\x1a.ml_pipelines.ArtifactListR\x05value:\x028\x01\x1aZ\n" +
	"\x14ParameterValuesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12,\n" +
	"\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xa4\x02\n" +
	"\x17PipelineTaskFinalStatus\x12\x14\n" +
	"\x05state\x18\x01 \x01(\tR\x05state\x12(\n" +
	"\x05error\x18\x02 \x01(\v2\x12.google.rpc.StatusR\x05error\x12.\n" +
	"\x11pipeline_job_uuid\x18\x03 \x01(\x03B\x02\x18\x01R\x0fpipelineJobUuid\x12.\n" +
	"\x11pipeline_job_name\x18\x04 \x01(\tB\x02\x18\x01R\x0fpipelineJobName\x12;\n" +
	"\x1apipeline_job_resource_name\x18\x05 \x01(\tR\x17pipelineJobResourceName\x12,\n" +
	"\x12pipeline_task_name\x18\x06 \x01(\tR\x10pipelineTaskName\"\x9f\x02\n" +
	"\x11PipelineStateEnum\"\x89\x02\n" +
	"\x11PipelineTaskState\x12\x1a\n" +
	"\x16TASK_STATE_UNSPECIFIED\x10\x00\x12\v\n" +
	"\aPENDING\x10\x01\x12\x12\n" +
	"\x0eRUNNING_DRIVER\x10\x02\x12\x14\n" +
	"\x10DRIVER_SUCCEEDED\x10\x03\x12\x14\n" +
	"\x10RUNNING_EXECUTOR\x10\x04\x12\r\n" +
	"\tSUCCEEDED\x10\x05\x12\x12\n" +
	"\x0eCANCEL_PENDING\x10\x06\x12\x0e\n" +
	"\n" +
	"CANCELLING\x10\a\x12\r\n" +
	"\tCANCELLED\x10\b\x12\n" +
	"\n" +
	"\x06FAILED\x10\t\x12\v\n" +
	"\aSKIPPED\x10\n" +
	"\x12\n" +
	"\n" +
	"\x06QUEUED\x10\v\x12\x11\n" +
	"\rNOT_TRIGGERED\x10\f\x12\x11\n" +
	"\rUNSCHEDULABLE\x10\r\"\xb7\x01\n" +
	"\fPlatformSpec\x12G\n" +
	"\tplatforms\x18\x01 \x03(\v2).ml_pipelines.PlatformSpec.PlatformsEntryR\tplatforms\x1a^\n" +
	"\x0ePlatformsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x126\n" +
	"\x05value\x18\x02 \x01(\v2 .ml_pipelines.SinglePlatformSpecR\x05value:\x028\x01\"\xf8\x01\n" +
	"\x12SinglePlatformSpec\x12O\n" +
	"\x0fdeployment_spec\x18\x01 \x01(\v2&.ml_pipelines.PlatformDeploymentConfigR\x0edeploymentSpec\x12\x1a\n" +
	"\bplatform\x18\x02 \x01(\tR\bplatform\x12/\n" +
	"\x06config\x18\x03 \x01(\v2\x17.google.protobuf.StructR\x06config\x12D\n" +
	"\x0epipelineConfig\x18\x04 \x01(\v2\x1c.ml_pipelines.PipelineConfigR\x0epipelineConfig\"\xc6\x01\n" +
	"\x18PlatformDeploymentConfig\x12S\n" +
	"\texecutors\x18\x01 \x03(\v25.ml_pipelines.PlatformDeploymentConfig.ExecutorsEntryR\texecutors\x1aU\n" +
	"\x0eExecutorsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12-\n" +
	"\x05value\x18\x02 \x01(\v2\x17.google.protobuf.StructR\x05value:\x028\x01\"\x82\x01\n" +
	"\x0fWorkspaceConfig\x12\x12\n" +
	"\x04size\x18\x01 \x01(\tR\x04size\x12L\n" +
	"\n" +
	"kubernetes\x18\x02 \x01(\v2'.ml_pipelines.KubernetesWorkspaceConfigH\x00R\n" +
	"kubernetes\x88\x01\x01B\r\n" +
	"\v_kubernetes\"r\n" +
	"\x19KubernetesWorkspaceConfig\x12B\n" +
	"\x0epvc_spec_patch\x18\x01 \x01(\v2\x17.google.protobuf.StructH\x00R\fpvcSpecPatch\x88\x01\x01B\x11\n" +
	"\x0f_pvc_spec_patch\"\xc7\x01\n" +
	"\x0ePipelineConfig\x12#\n" +
	"\rsemaphore_key\x18\x01 \x01(\tR\fsemaphoreKey\x12\x1d\n" +
	"\n" +
	"mutex_name\x18\x02 \x01(\tR\tmutexName\x12!\n" +
	"\fresource_ttl\x18\x03 \x01(\x05R\vresourceTtl\x12@\n" +
	"\tworkspace\x18\x04 \x01(\v2\x1d.ml_pipelines.WorkspaceConfigH\x00R\tworkspace\x88\x01\x01B\f\n" +
	"\n" +
	"_workspaceB<Z:github.com/kubeflow/pipelines/api/v2alpha1/go/pipelinespecb\x06proto3"

var (
	file_pipeline_spec_proto_rawDescOnce sync.Once
	file_pipeline_spec_proto_rawDescData []byte
)

func file_pipeline_spec_proto_rawDescGZIP() []byte {
	file_pipeline_spec_proto_rawDescOnce.Do(func() {
		file_pipeline_spec_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pipeline_spec_proto_rawDesc), len(file_pipeline_spec_proto_rawDesc)))
	})
	return file_pipeline_spec_proto_rawDescData
}

var file_pipeline_spec_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
var file_pipeline_spec_proto_msgTypes = make([]protoimpl.MessageInfo, 110)
var file_pipeline_spec_proto_goTypes = []any{
	(PrimitiveType_PrimitiveTypeEnum)(0),                         // 0: ml_pipelines.PrimitiveType.PrimitiveTypeEnum
	(ParameterType_ParameterTypeEnum)(0),                         // 1: ml_pipelines.ParameterType.ParameterTypeEnum
	(TaskConfigPassthroughType_TaskConfigPassthroughTypeEnum)(0), // 2: ml_pipelines.TaskConfigPassthroughType.TaskConfigPassthroughTypeEnum
	(PipelineTaskSpec_TriggerPolicy_TriggerStrategy)(0),          // 3: ml_pipelines.PipelineTaskSpec.TriggerPolicy.TriggerStrategy
	(PipelineStateEnum_PipelineTaskState)(0),                     // 4: ml_pipelines.PipelineStateEnum.PipelineTaskState
	(*PipelineJob)(nil),                                          // 5: ml_pipelines.PipelineJob
	(*PipelineSpec)(nil),                                         // 6: ml_pipelines.PipelineSpec
	(*ComponentSpec)(nil),                                        // 7: ml_pipelines.ComponentSpec
	(*DagSpec)(nil),                                              // 8: ml_pipelines.DagSpec
	(*DagOutputsSpec)(nil),                                       // 9: ml_pipelines.DagOutputsSpec
	(*ComponentInputsSpec)(nil),                                  // 10: ml_pipelines.ComponentInputsSpec
	(*ComponentOutputsSpec)(nil),                                 // 11: ml_pipelines.ComponentOutputsSpec
	(*TaskInputsSpec)(nil),                                       // 12: ml_pipelines.TaskInputsSpec
	(*TaskOutputsSpec)(nil),                                      // 13: ml_pipelines.TaskOutputsSpec
	(*PrimitiveType)(nil),                                        // 14: ml_pipelines.PrimitiveType
	(*ParameterType)(nil),                                        // 15: ml_pipelines.ParameterType
	(*TaskConfigPassthroughType)(nil),                            // 16: ml_pipelines.TaskConfigPassthroughType
	(*TaskConfigPassthrough)(nil),                                // 17: ml_pipelines.TaskConfigPassthrough
	(*PipelineTaskSpec)(nil),                                     // 18: ml_pipelines.PipelineTaskSpec
	(*ArtifactIteratorSpec)(nil),                                 // 19: ml_pipelines.ArtifactIteratorSpec
	(*ParameterIteratorSpec)(nil),                                // 20: ml_pipelines.ParameterIteratorSpec
	(*ComponentRef)(nil),                                         // 21: ml_pipelines.ComponentRef
	(*PipelineInfo)(nil),                                         // 22: ml_pipelines.PipelineInfo
	(*ArtifactTypeSchema)(nil),                                   // 23: ml_pipelines.ArtifactTypeSchema
	(*PipelineTaskInfo)(nil),                                     // 24: ml_pipelines.PipelineTaskInfo
	(*ValueOrRuntimeParameter)(nil),                              // 25: ml_pipelines.ValueOrRuntimeParameter
	(*PipelineDeploymentConfig)(nil),                             // 26: ml_pipelines.PipelineDeploymentConfig
	(*Value)(nil),                                                // 27: ml_pipelines.Value
	(*RuntimeArtifact)(nil),                                      // 28: ml_pipelines.RuntimeArtifact
	(*ArtifactList)(nil),                                         // 29: ml_pipelines.ArtifactList
	(*ExecutorInput)(nil),                                        // 30: ml_pipelines.ExecutorInput
	(*ExecutorOutput)(nil),                                       // 31: ml_pipelines.ExecutorOutput
	(*PipelineTaskFinalStatus)(nil),                              // 32: ml_pipelines.PipelineTaskFinalStatus
	(*PipelineStateEnum)(nil),                                    // 33: ml_pipelines.PipelineStateEnum
	(*PlatformSpec)(nil),                                         // 34: ml_pipelines.PlatformSpec
	(*SinglePlatformSpec)(nil),                                   // 35: ml_pipelines.SinglePlatformSpec
	(*PlatformDeploymentConfig)(nil),                             // 36: ml_pipelines.PlatformDeploymentConfig
	(*WorkspaceConfig)(nil),                                      // 37: ml_pipelines.WorkspaceConfig
	(*KubernetesWorkspaceConfig)(nil),                            // 38: ml_pipelines.KubernetesWorkspaceConfig
	(*PipelineConfig)(nil),                                       // 39: ml_pipelines.PipelineConfig
	nil,                                                          // 40: ml_pipelines.PipelineJob.LabelsEntry
	(*PipelineJob_RuntimeConfig)(nil),                            // 41: ml_pipelines.PipelineJob.RuntimeConfig
	nil,                                                          // 42: ml_pipelines.PipelineJob.RuntimeConfig.ParametersEntry
	nil,                                                          // 43: ml_pipelines.PipelineJob.RuntimeConfig.ParameterValuesEntry
	(*PipelineSpec_RuntimeParameter)(nil),                        // 44: ml_pipelines.PipelineSpec.RuntimeParameter
	nil,                                                          // 45: ml_pipelines.PipelineSpec.ComponentsEntry
	nil,                                                          // 46: ml_pipelines.DagSpec.TasksEntry
	(*DagOutputsSpec_ArtifactSelectorSpec)(nil),                  // 47: ml_pipelines.DagOutputsSpec.ArtifactSelectorSpec
	(*DagOutputsSpec_DagOutputArtifactSpec)(nil),                 // 48: ml_pipelines.DagOutputsSpec.DagOutputArtifactSpec
	nil, // 49: ml_pipelines.DagOutputsSpec.ArtifactsEntry
	(*DagOutputsSpec_ParameterSelectorSpec)(nil),     // 50: ml_pipelines.DagOutputsSpec.ParameterSelectorSpec
	(*DagOutputsSpec_ParameterSelectorsSpec)(nil),    // 51: ml_pipelines.DagOutputsSpec.ParameterSelectorsSpec
	(*DagOutputsSpec_MapParameterSelectorsSpec)(nil), // 52: ml_pipelines.DagOutputsSpec.MapParameterSelectorsSpec
	(*DagOutputsSpec_DagOutputParameterSpec)(nil),    // 53: ml_pipelines.DagOutputsSpec.DagOutputParameterSpec
	nil,                                      // 54: ml_pipelines.DagOutputsSpec.ParametersEntry
	nil,                                      // 55: ml_pipelines.DagOutputsSpec.MapParameterSelectorsSpec.MappedParametersEntry
	(*ComponentInputsSpec_ArtifactSpec)(nil), // 56: ml_pipelines.ComponentInputsSpec.ArtifactSpec
	(*ComponentInputsSpec_ParameterSpec)(nil), // 57: ml_pipelines.ComponentInputsSpec.ParameterSpec
	nil, // 58: ml_pipelines.ComponentInputsSpec.ArtifactsEntry
	nil, // 59: ml_pipelines.ComponentInputsSpec.ParametersEntry
	(*ComponentOutputsSpec_ArtifactSpec)(nil),  // 60: ml_pipelines.ComponentOutputsSpec.ArtifactSpec
	(*ComponentOutputsSpec_ParameterSpec)(nil), // 61: ml_pipelines.ComponentOutputsSpec.ParameterSpec
	nil,                                      // 62: ml_pipelines.ComponentOutputsSpec.ArtifactsEntry
	nil,                                      // 63: ml_pipelines.ComponentOutputsSpec.ParametersEntry
	nil,                                      // 64: ml_pipelines.ComponentOutputsSpec.ArtifactSpec.PropertiesEntry
	nil,                                      // 65: ml_pipelines.ComponentOutputsSpec.ArtifactSpec.CustomPropertiesEntry
	(*TaskInputsSpec_InputArtifactSpec)(nil), // 66: ml_pipelines.TaskInputsSpec.InputArtifactSpec
	(*TaskInputsSpec_InputParameterSpec)(nil), // 67: ml_pipelines.TaskInputsSpec.InputParameterSpec
	nil, // 68: ml_pipelines.TaskInputsSpec.ParametersEntry
	nil, // 69: ml_pipelines.TaskInputsSpec.ArtifactsEntry
	(*TaskInputsSpec_InputArtifactSpec_TaskOutputArtifactSpec)(nil),   // 70: ml_pipelines.TaskInputsSpec.InputArtifactSpec.TaskOutputArtifactSpec
	(*TaskInputsSpec_InputParameterSpec_TaskOutputParameterSpec)(nil), // 71: ml_pipelines.TaskInputsSpec.InputParameterSpec.TaskOutputParameterSpec
	(*TaskInputsSpec_InputParameterSpec_TaskFinalStatus)(nil),         // 72: ml_pipelines.TaskInputsSpec.InputParameterSpec.TaskFinalStatus
	(*TaskOutputsSpec_OutputArtifactSpec)(nil),                        // 73: ml_pipelines.TaskOutputsSpec.OutputArtifactSpec
	(*TaskOutputsSpec_OutputParameterSpec)(nil),                       // 74: ml_pipelines.TaskOutputsSpec.OutputParameterSpec
	nil,                                     // 75: ml_pipelines.TaskOutputsSpec.ParametersEntry
	nil,                                     // 76: ml_pipelines.TaskOutputsSpec.ArtifactsEntry
	nil,                                     // 77: ml_pipelines.TaskOutputsSpec.OutputArtifactSpec.PropertiesEntry
	nil,                                     // 78: ml_pipelines.TaskOutputsSpec.OutputArtifactSpec.CustomPropertiesEntry
	(*PipelineTaskSpec_CachingOptions)(nil), // 79: ml_pipelines.PipelineTaskSpec.CachingOptions
	(*PipelineTaskSpec_TriggerPolicy)(nil),  // 80: ml_pipelines.PipelineTaskSpec.TriggerPolicy
	(*PipelineTaskSpec_RetryPolicy)(nil),    // 81: ml_pipelines.PipelineTaskSpec.RetryPolicy
	(*PipelineTaskSpec_IteratorPolicy)(nil), // 82: ml_pipelines.PipelineTaskSpec.IteratorPolicy
	(*ArtifactIteratorSpec_ItemsSpec)(nil),  // 83: ml_pipelines.ArtifactIteratorSpec.ItemsSpec
	(*ParameterIteratorSpec_ItemsSpec)(nil), // 84: ml_pipelines.ParameterIteratorSpec.ItemsSpec
	(*PipelineDeploymentConfig_PipelineContainerSpec)(nil),   // 85: ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec
	(*PipelineDeploymentConfig_ImporterSpec)(nil),            // 86: ml_pipelines.PipelineDeploymentConfig.ImporterSpec
	(*PipelineDeploymentConfig_ResolverSpec)(nil),            // 87: ml_pipelines.PipelineDeploymentConfig.ResolverSpec
	(*PipelineDeploymentConfig_AIPlatformCustomJobSpec)(nil), // 88: ml_pipelines.PipelineDeploymentConfig.AIPlatformCustomJobSpec
	(*PipelineDeploymentConfig_ExecutorSpec)(nil),            // 89: ml_pipelines.PipelineDeploymentConfig.ExecutorSpec
	nil, // 90: ml_pipelines.PipelineDeploymentConfig.ExecutorsEntry
	(*PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle)(nil),                      // 91: ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.Lifecycle
	(*PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec)(nil),                   // 92: ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.ResourceSpec
	(*PipelineDeploymentConfig_PipelineContainerSpec_EnvVar)(nil),                         // 93: ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.EnvVar
	(*PipelineDeploymentConfig_PipelineContainerSpec_Lifecycle_Exec)(nil),                 // 94: ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.Lifecycle.Exec
	(*PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec_AcceleratorConfig)(nil), // 95: ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.ResourceSpec.AcceleratorConfig
	nil, // 96: ml_pipelines.PipelineDeploymentConfig.ImporterSpec.PropertiesEntry
	nil, // 97: ml_pipelines.PipelineDeploymentConfig.ImporterSpec.CustomPropertiesEntry
	(*PipelineDeploymentConfig_ResolverSpec_ArtifactQuerySpec)(nil), // 98: ml_pipelines.PipelineDeploymentConfig.ResolverSpec.ArtifactQuerySpec
	nil,                                   // 99: ml_pipelines.PipelineDeploymentConfig.ResolverSpec.OutputArtifactQueriesEntry
	nil,                                   // 100: ml_pipelines.RuntimeArtifact.PropertiesEntry
	nil,                                   // 101: ml_pipelines.RuntimeArtifact.CustomPropertiesEntry
	(*ExecutorInput_Inputs)(nil),          // 102: ml_pipelines.ExecutorInput.Inputs
	(*ExecutorInput_OutputParameter)(nil), // 103: ml_pipelines.ExecutorInput.OutputParameter
	(*ExecutorInput_Outputs)(nil),         // 104: ml_pipelines.ExecutorInput.Outputs
	nil,                                   // 105: ml_pipelines.ExecutorInput.Inputs.ParametersEntry
	nil,                                   // 106: ml_pipelines.ExecutorInput.Inputs.ArtifactsEntry
	nil,                                   // 107: ml_pipelines.ExecutorInput.Inputs.ParameterValuesEntry
	nil,                                   // 108: ml_pipelines.ExecutorInput.Outputs.ParametersEntry
	nil,                                   // 109: ml_pipelines.ExecutorInput.Outputs.ArtifactsEntry
	nil,                                   // 110: ml_pipelines.ExecutorOutput.ParametersEntry
	nil,                                   // 111: ml_pipelines.ExecutorOutput.ArtifactsEntry
	nil,                                   // 112: ml_pipelines.ExecutorOutput.ParameterValuesEntry
	nil,                                   // 113: ml_pipelines.PlatformSpec.PlatformsEntry
	nil,                                   // 114: ml_pipelines.PlatformDeploymentConfig.ExecutorsEntry
	(*structpb.Struct)(nil),               // 115: google.protobuf.Struct
	(*structpb.Value)(nil),                // 116: google.protobuf.Value
	(*status.Status)(nil),                 // 117: google.rpc.Status
	(*durationpb.Duration)(nil),           // 118: google.protobuf.Duration
}
var file_pipeline_spec_proto_depIdxs = []int32{
	115, // 0: ml_pipelines.PipelineJob.pipeline_spec:type_name -> google.protobuf.Struct
	40,  // 1: ml_pipelines.PipelineJob.labels:type_name -> ml_pipelines.PipelineJob.LabelsEntry
	41,  // 2: ml_pipelines.PipelineJob.runtime_config:type_name -> ml_pipelines.PipelineJob.RuntimeConfig
	22,  // 3: ml_pipelines.PipelineSpec.pipeline_info:type_name -> ml_pipelines.PipelineInfo
	115, // 4: ml_pipelines.PipelineSpec.deployment_spec:type_name -> google.protobuf.Struct
	45,  // 5: ml_pipelines.PipelineSpec.components:type_name -> ml_pipelines.PipelineSpec.ComponentsEntry
	7,   // 6: ml_pipelines.PipelineSpec.root:type_name -> ml_pipelines.ComponentSpec
	10,  // 7: ml_pipelines.ComponentSpec.input_definitions:type_name -> ml_pipelines.ComponentInputsSpec
	11,  // 8: ml_pipelines.ComponentSpec.output_definitions:type_name -> ml_pipelines.ComponentOutputsSpec
	8,   // 9: ml_pipelines.ComponentSpec.dag:type_name -> ml_pipelines.DagSpec
	35,  // 10: ml_pipelines.ComponentSpec.single_platform_specs:type_name -> ml_pipelines.SinglePlatformSpec
	17,  // 11: ml_pipelines.ComponentSpec.task_config_passthroughs:type_name -> ml_pipelines.TaskConfigPassthrough
	46,  // 12: ml_pipelines.DagSpec.tasks:type_name -> ml_pipelines.DagSpec.TasksEntry
	9,   // 13: ml_pipelines.DagSpec.outputs:type_name -> ml_pipelines.DagOutputsSpec
	49,  // 14: ml_pipelines.DagOutputsSpec.artifacts:type_name -> ml_pipelines.DagOutputsSpec.ArtifactsEntry
	54,  // 15: ml_pipelines.DagOutputsSpec.parameters:type_name -> ml_pipelines.DagOutputsSpec.ParametersEntry
	58,  // 16: ml_pipelines.ComponentInputsSpec.artifacts:type_name -> ml_pipelines.ComponentInputsSpec.ArtifactsEntry
	59,  // 17: ml_pipelines.ComponentInputsSpec.parameters:type_name -> ml_pipelines.ComponentInputsSpec.ParametersEntry
	62,  // 18: ml_pipelines.ComponentOutputsSpec.artifacts:type_name -> ml_pipelines.ComponentOutputsSpec.ArtifactsEntry
	63,  // 19: ml_pipelines.ComponentOutputsSpec.parameters:type_name -> ml_pipelines.ComponentOutputsSpec.ParametersEntry
	68,  // 20: ml_pipelines.TaskInputsSpec.parameters:type_name -> ml_pipelines.TaskInputsSpec.ParametersEntry
	69,  // 21: ml_pipelines.TaskInputsSpec.artifacts:type_name -> ml_pipelines.TaskInputsSpec.ArtifactsEntry
	75,  // 22: ml_pipelines.TaskOutputsSpec.parameters:type_name -> ml_pipelines.TaskOutputsSpec.ParametersEntry
	76,  // 23: ml_pipelines.TaskOutputsSpec.artifacts:type_name -> ml_pipelines.TaskOutputsSpec.ArtifactsEntry
	2,   // 24: ml_pipelines.TaskConfigPassthrough.field:type_name -> ml_pipelines.TaskConfigPassthroughType.TaskConfigPassthroughTypeEnum
	24,  // 25: ml_pipelines.PipelineTaskSpec.task_info:type_name -> ml_pipelines.PipelineTaskInfo
	12,  // 26: ml_pipelines.PipelineTaskSpec.inputs:type_name -> ml_pipelines.TaskInputsSpec
	79,  // 27: ml_pipelines.PipelineTaskSpec.caching_options:type_name -> ml_pipelines.PipelineTaskSpec.CachingOptions
	21,  // 28: ml_pipelines.PipelineTaskSpec.component_ref:type_name -> ml_pipelines.ComponentRef
	80,  // 29: ml_pipelines.PipelineTaskSpec.trigger_policy:type_name -> ml_pipelines.PipelineTaskSpec.TriggerPolicy
	19,  // 30: ml_pipelines.PipelineTaskSpec.artifact_iterator:type_name -> ml_pipelines.ArtifactIteratorSpec
	20,  // 31: ml_pipelines.PipelineTaskSpec.parameter_iterator:type_name -> ml_pipelines.ParameterIteratorSpec
	81,  // 32: ml_pipelines.PipelineTaskSpec.retry_policy:type_name -> ml_pipelines.PipelineTaskSpec.RetryPolicy
	82,  // 33: ml_pipelines.PipelineTaskSpec.iterator_policy:type_name -> ml_pipelines.PipelineTaskSpec.IteratorPolicy
	83,  // 34: ml_pipelines.ArtifactIteratorSpec.items:type_name -> ml_pipelines.ArtifactIteratorSpec.ItemsSpec
	84,  // 35: ml_pipelines.ParameterIteratorSpec.items:type_name -> ml_pipelines.ParameterIteratorSpec.ItemsSpec
	27,  // 36: ml_pipelines.ValueOrRuntimeParameter.constant_value:type_name -> ml_pipelines.Value
	116, // 37: ml_pipelines.ValueOrRuntimeParameter.constant:type_name -> google.protobuf.Value
	90,  // 38: ml_pipelines.PipelineDeploymentConfig.executors:type_name -> ml_pipelines.PipelineDeploymentConfig.ExecutorsEntry
	23,  // 39: ml_pipelines.RuntimeArtifact.type:type_name -> ml_pipelines.ArtifactTypeSchema
	100, // 40: ml_pipelines.RuntimeArtifact.properties:type_name -> ml_pipelines.RuntimeArtifact.PropertiesEntry
	101, // 41: ml_pipelines.RuntimeArtifact.custom_properties:type_name -> ml_pipelines.RuntimeArtifact.CustomPropertiesEntry
	115, // 42: ml_pipelines.RuntimeArtifact.metadata:type_name -> google.protobuf.Struct
	28,  // 43: ml_pipelines.ArtifactList.artifacts:type_name -> ml_pipelines.RuntimeArtifact
	102, // 44: ml_pipelines.ExecutorInput.inputs:type_name -> ml_pipelines.ExecutorInput.Inputs
	104, // 45: ml_pipelines.ExecutorInput.outputs:type_name -> ml_pipelines.ExecutorInput.Outputs
	110, // 46: ml_pipelines.ExecutorOutput.parameters:type_name -> ml_pipelines.ExecutorOutput.ParametersEntry
	111, // 47: ml_pipelines.ExecutorOutput.artifacts:type_name -> ml_pipelines.ExecutorOutput.ArtifactsEntry
	112, // 48: ml_pipelines.ExecutorOutput.parameter_values:type_name -> ml_pipelines.ExecutorOutput.ParameterValuesEntry
	117, // 49: ml_pipelines.PipelineTaskFinalStatus.error:type_name -> google.rpc.Status
	113, // 50: ml_pipelines.PlatformSpec.platforms:type_name -> ml_pipelines.PlatformSpec.PlatformsEntry
	36,  // 51: ml_pipelines.SinglePlatformSpec.deployment_spec:type_name -> ml_pipelines.PlatformDeploymentConfig
	115, // 52: ml_pipelines.SinglePlatformSpec.config:type_name -> google.protobuf.Struct
	39,  // 53: ml_pipelines.SinglePlatformSpec.pipelineConfig:type_name -> ml_pipelines.PipelineConfig
	114, // 54: ml_pipelines.PlatformDeploymentConfig.executors:type_name -> ml_pipelines.PlatformDeploymentConfig.ExecutorsEntry
	38,  // 55: ml_pipelines.WorkspaceConfig.kubernetes:type_name -> ml_pipelines.KubernetesWorkspaceConfig
	115, // 56: ml_pipelines.KubernetesWorkspaceConfig.pvc_spec_patch:type_name -> google.protobuf.Struct
	37,  // 57: ml_pipelines.PipelineConfig.workspace:type_name -> ml_pipelines.WorkspaceConfig
	42,  // 58: ml_pipelines.PipelineJob.RuntimeConfig.parameters:type_name -> ml_pipelines.PipelineJob.RuntimeConfig.ParametersEntry
	43,  // 59: ml_pipelines.PipelineJob.RuntimeConfig.parameter_values:type_name -> ml_pipelines.PipelineJob.RuntimeConfig.ParameterValuesEntry
	27,  // 60: ml_pipelines.PipelineJob.RuntimeConfig.ParametersEntry.value:type_name -> ml_pipelines.Value
	116, // 61: ml_pipelines.PipelineJob.RuntimeConfig.ParameterValuesEntry.value:type_name -> google.protobuf.Value
	0,   // 62: ml_pipelines.PipelineSpec.RuntimeParameter.type:type_name -> ml_pipelines.PrimitiveType.PrimitiveTypeEnum
	27,  // 63: ml_pipelines.PipelineSpec.RuntimeParameter.default_value:type_name -> ml_pipelines.Value
	7,   // 64: ml_pipelines.PipelineSpec.ComponentsEntry.value:type_name -> ml_pipelines.ComponentSpec
	18,  // 65: ml_pipelines.DagSpec.TasksEntry.value:type_name -> ml_pipelines.PipelineTaskSpec
	47,  // 66: ml_pipelines.DagOutputsSpec.DagOutputArtifactSpec.artifact_selectors:type_name -> ml_pipelines.DagOutputsSpec.ArtifactSelectorSpec
	48,  // 67: ml_pipelines.DagOutputsSpec.ArtifactsEntry.value:type_name -> ml_pipelines.DagOutputsSpec.DagOutputArtifactSpec
	50,  // 68: ml_pipelines.DagOutputsSpec.ParameterSelectorsSpec.parameter_selectors:type_name -> ml_pipelines.DagOutputsSpec.ParameterSelectorSpec
	55,  // 69: ml_pipelines.DagOutputsSpec.MapParameterSelectorsSpec.mapped_parameters:type_name -> ml_pipelines.DagOutputsSpec.MapParameterSelectorsSpec.MappedParametersEntry
	50,  // 70: ml_pipelines.DagOutputsSpec.DagOutputParameterSpec.value_from_parameter:type_name -> ml_pipelines.DagOutputsSpec.ParameterSelectorSpec
	51,  // 71: ml_pipelines.DagOutputsSpec.DagOutputParameterSpec.value_from_oneof:type_name -> ml_pipelines.DagOutputsSpec.ParameterSelectorsSpec
	53,  // 72: ml_pipelines.DagOutputsSpec.ParametersEntry.value:type_name -> ml_pipelines.DagOutputsSpec.DagOutputParameterSpec
	50,  // 73: ml_pipelines.DagOutputsSpec.MapParameterSelectorsSpec.MappedParametersEntry.value:type_name -> ml_pipelines.DagOutputsSpec.ParameterSelectorSpec
	23,  // 74: ml_pipelines.ComponentInputsSpec.ArtifactSpec.artifact_type:type_name -> ml_pipelines.ArtifactTypeSchema
	0,   // 75: ml_pipelines.ComponentInputsSpec.ParameterSpec.type:type_name -> ml_pipelines.PrimitiveType.PrimitiveTypeEnum
	1,   // 76: ml_pipelines.ComponentInputsSpec.ParameterSpec.parameter_type:type_name -> ml_pipelines.ParameterType.ParameterTypeEnum
	116, // 77: ml_pipelines.ComponentInputsSpec.ParameterSpec.default_value:type_name -> google.protobuf.Value
	56,  // 78: ml_pipelines.ComponentInputsSpec.ArtifactsEntry.value:type_name -> ml_pipelines.ComponentInputsSpec.ArtifactSpec
	57,  // 79: ml_pipelines.ComponentInputsSpec.ParametersEntry.value:type_name -> ml_pipelines.ComponentInputsSpec.ParameterSpec
	23,  // 80: ml_pipelines.ComponentOutputsSpec.ArtifactSpec.artifact_type:type_name -> ml_pipelines.ArtifactTypeSchema
	64,  // 81: ml_pipelines.ComponentOutputsSpec.ArtifactSpec.properties:type_name -> ml_pipelines.ComponentOutputsSpec.ArtifactSpec.PropertiesEntry
	65,  // 82: ml_pipelines.ComponentOutputsSpec.ArtifactSpec.custom_properties:type_name -> ml_pipelines.ComponentOutputsSpec.ArtifactSpec.CustomPropertiesEntry
	115, // 83: ml_pipelines.ComponentOutputsSpec.ArtifactSpec.metadata:type_name -> google.protobuf.Struct
	0,   // 84: ml_pipelines.ComponentOutputsSpec.ParameterSpec.type:type_name -> ml_pipelines.PrimitiveType.PrimitiveTypeEnum
	1,   // 85: ml_pipelines.ComponentOutputsSpec.ParameterSpec.parameter_type:type_name -> ml_pipelines.ParameterType.ParameterTypeEnum
	60,  // 86: ml_pipelines.ComponentOutputsSpec.ArtifactsEntry.value:type_name -> ml_pipelines.ComponentOutputsSpec.ArtifactSpec
	61,  // 87: ml_pipelines.ComponentOutputsSpec.ParametersEntry.value:type_name -> ml_pipelines.ComponentOutputsSpec.ParameterSpec
	25,  // 88: ml_pipelines.ComponentOutputsSpec.ArtifactSpec.PropertiesEntry.value:type_name -> ml_pipelines.ValueOrRuntimeParameter
	25,  // 89: ml_pipelines.ComponentOutputsSpec.ArtifactSpec.CustomPropertiesEntry.value:type_name -> ml_pipelines.ValueOrRuntimeParameter
	70,  // 90: ml_pipelines.TaskInputsSpec.InputArtifactSpec.task_output_artifact:type_name -> ml_pipelines.TaskInputsSpec.InputArtifactSpec.TaskOutputArtifactSpec
	71,  // 91: ml_pipelines.TaskInputsSpec.InputParameterSpec.task_output_parameter:type_name -> ml_pipelines.TaskInputsSpec.InputParameterSpec.TaskOutputParameterSpec
	25,  // 92: ml_pipelines.TaskInputsSpec.InputParameterSpec.runtime_value:type_name -> ml_pipelines.ValueOrRuntimeParameter
	72,  // 93: ml_pipelines.TaskInputsSpec.InputParameterSpec.task_final_status:type_name -> ml_pipelines.TaskInputsSpec.InputParameterSpec.TaskFinalStatus
	67,  // 94: ml_pipelines.TaskInputsSpec.ParametersEntry.value:type_name -> ml_pipelines.TaskInputsSpec.InputParameterSpec
	66,  // 95: ml_pipelines.TaskInputsSpec.ArtifactsEntry.value:type_name -> ml_pipelines.TaskInputsSpec.InputArtifactSpec
	23,  // 96: ml_pipelines.TaskOutputsSpec.OutputArtifactSpec.artifact_type:type_name -> ml_pipelines.ArtifactTypeSchema
	77,  // 97: ml_pipelines.TaskOutputsSpec.OutputArtifactSpec.properties:type_name -> ml_pipelines.TaskOutputsSpec.OutputArtifactSpec.PropertiesEntry
	78,  // 98: ml_pipelines.TaskOutputsSpec.OutputArtifactSpec.custom_properties:type_name -> ml_pipelines.TaskOutputsSpec.OutputArtifactSpec.CustomPropertiesEntry
	0,   // 99: ml_pipelines.TaskOutputsSpec.OutputParameterSpec.type:type_name -> ml_pipelines.PrimitiveType.PrimitiveTypeEnum
	74,  // 100: ml_pipelines.TaskOutputsSpec.ParametersEntry.value:type_name -> ml_pipelines.TaskOutputsSpec.OutputParameterSpec
	73,  // 101: ml_pipelines.TaskOutputsSpec.ArtifactsEntry.value:type_name -> ml_pipelines.TaskOutputsSpec.OutputArtifactSpec
	25,  // 102: ml_pipelines.TaskOutputsSpec.OutputArtifactSpec.PropertiesEntry.value:type_name -> ml_pipelines.ValueOrRuntimeParameter
	25,  // 103: ml_pipelines.TaskOutputsSpec.OutputArtifactSpec.CustomPropertiesEntry.value:type_name -> ml_pipelines.ValueOrRuntimeParameter
	3,   // 104: ml_pipelines.PipelineTaskSpec.TriggerPolicy.strategy:type_name -> ml_pipelines.PipelineTaskSpec.TriggerPolicy.TriggerStrategy
	118, // 105: ml_pipelines.PipelineTaskSpec.RetryPolicy.backoff_duration:type_name -> google.protobuf.Duration
	118, // 106: ml_pipelines.PipelineTaskSpec.RetryPolicy.backoff_max_duration:type_name -> google.protobuf.Duration
	91,  // 107: ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.lifecycle:type_name -> ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.Lifecycle
	92,  // 108: ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.resources:type_name -> ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.ResourceSpec
	93,  // 109: ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.env:type_name -> ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.EnvVar
	25,  // 110: ml_pipelines.PipelineDeploymentConfig.ImporterSpec.artifact_uri:type_name -> ml_pipelines.ValueOrRuntimeParameter
	23,  // 111: ml_pipelines.PipelineDeploymentConfig.ImporterSpec.type_schema:type_name -> ml_pipelines.ArtifactTypeSchema
	96,  // 112: ml_pipelines.PipelineDeploymentConfig.ImporterSpec.properties:type_name -> ml_pipelines.PipelineDeploymentConfig.ImporterSpec.PropertiesEntry
	97,  // 113: ml_pipelines.PipelineDeploymentConfig.ImporterSpec.custom_properties:type_name -> ml_pipelines.PipelineDeploymentConfig.ImporterSpec.CustomPropertiesEntry
	115, // 114: ml_pipelines.PipelineDeploymentConfig.ImporterSpec.metadata:type_name -> google.protobuf.Struct
	99,  // 115: ml_pipelines.PipelineDeploymentConfig.ResolverSpec.output_artifact_queries:type_name -> ml_pipelines.PipelineDeploymentConfig.ResolverSpec.OutputArtifactQueriesEntry
	115, // 116: ml_pipelines.PipelineDeploymentConfig.AIPlatformCustomJobSpec.custom_job:type_name -> google.protobuf.Struct
	85,  // 117: ml_pipelines.PipelineDeploymentConfig.ExecutorSpec.container:type_name -> ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec
	86,  // 118: ml_pipelines.PipelineDeploymentConfig.ExecutorSpec.importer:type_name -> ml_pipelines.PipelineDeploymentConfig.ImporterSpec
	87,  // 119: ml_pipelines.PipelineDeploymentConfig.ExecutorSpec.resolver:type_name -> ml_pipelines.PipelineDeploymentConfig.ResolverSpec
	88,  // 120: ml_pipelines.PipelineDeploymentConfig.ExecutorSpec.custom_job:type_name -> ml_pipelines.PipelineDeploymentConfig.AIPlatformCustomJobSpec
	89,  // 121: ml_pipelines.PipelineDeploymentConfig.ExecutorsEntry.value:type_name -> ml_pipelines.PipelineDeploymentConfig.ExecutorSpec
	94,  // 122: ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.Lifecycle.pre_cache_check:type_name -> ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.Lifecycle.Exec
	95,  // 123: ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.ResourceSpec.accelerator:type_name -> ml_pipelines.PipelineDeploymentConfig.PipelineContainerSpec.ResourceSpec.AcceleratorConfig
	25,  // 124: ml_pipelines.PipelineDeploymentConfig.ImporterSpec.PropertiesEntry.value:type_name -> ml_pipelines.ValueOrRuntimeParameter
	25,  // 125: ml_pipelines.PipelineDeploymentConfig.ImporterSpec.CustomPropertiesEntry.value:type_name -> ml_pipelines.ValueOrRuntimeParameter
	98,  // 126: ml_pipelines.PipelineDeploymentConfig.ResolverSpec.OutputArtifactQueriesEntry.value:type_name -> ml_pipelines.PipelineDeploymentConfig.ResolverSpec.ArtifactQuerySpec
	27,  // 127: ml_pipelines.RuntimeArtifact.PropertiesEntry.value:type_name -> ml_pipelines.Value
	27,  // 128: ml_pipelines.RuntimeArtifact.CustomPropertiesEntry.value:type_name -> ml_pipelines.Value
	105, // 129: ml_pipelines.ExecutorInput.Inputs.parameters:type_name -> ml_pipelines.ExecutorInput.Inputs.ParametersEntry
	106, // 130: ml_pipelines.ExecutorInput.Inputs.artifacts:type_name -> ml_pipelines.ExecutorInput.Inputs.ArtifactsEntry
	107, // 131: ml_pipelines.ExecutorInput.Inputs.parameter_values:type_name -> ml_pipelines.ExecutorInput.Inputs.ParameterValuesEntry
	108, // 132: ml_pipelines.ExecutorInput.Outputs.parameters:type_name -> ml_pipelines.ExecutorInput.Outputs.ParametersEntry
	109, // 133: ml_pipelines.ExecutorInput.Outputs.artifacts:type_name -> ml_pipelines.ExecutorInput.Outputs.ArtifactsEntry
	27,  // 134: ml_pipelines.ExecutorInput.Inputs.ParametersEntry.value:type_name -> ml_pipelines.Value
	29,  // 135: ml_pipelines.ExecutorInput.Inputs.ArtifactsEntry.value:type_name -> ml_pipelines.ArtifactList
	116, // 136: ml_pipelines.ExecutorInput.Inputs.ParameterValuesEntry.value:type_name -> google.protobuf.Value
	103, // 137: ml_pipelines.ExecutorInput.Outputs.ParametersEntry.value:type_name -> ml_pipelines.ExecutorInput.OutputParameter
	29,  // 138: ml_pipelines.ExecutorInput.Outputs.ArtifactsEntry.value:type_name -> ml_pipelines.ArtifactList
	27,  // 139: ml_pipelines.ExecutorOutput.ParametersEntry.value:type_name -> ml_pipelines.Value
	29,  // 140: ml_pipelines.ExecutorOutput.ArtifactsEntry.value:type_name -> ml_pipelines.ArtifactList
	116, // 141: ml_pipelines.ExecutorOutput.ParameterValuesEntry.value:type_name -> google.protobuf.Value
	35,  // 142: ml_pipelines.PlatformSpec.PlatformsEntry.value:type_name -> ml_pipelines.SinglePlatformSpec
	115, // 143: ml_pipelines.PlatformDeploymentConfig.ExecutorsEntry.value:type_name -> google.protobuf.Struct
	144, // [144:144] is the sub-list for method output_type
	144, // [144:144] is the sub-list for method input_type
	144, // [144:144] is the sub-list for extension type_name
	144, // [144:144] is the sub-list for extension extendee
	0,   // [0:144] is the sub-list for field type_name
}

func init() { file_pipeline_spec_proto_init() }
func file_pipeline_spec_proto_init() {
	if File_pipeline_spec_proto != nil {
		return
	}
	file_pipeline_spec_proto_msgTypes[2].OneofWrappers = []any{
		(*ComponentSpec_Dag)(nil),
		(*ComponentSpec_ExecutorLabel)(nil),
	}
	file_pipeline_spec_proto_msgTypes[13].OneofWrappers = []any{
		(*PipelineTaskSpec_ArtifactIterator)(nil),
		(*PipelineTaskSpec_ParameterIterator)(nil),
	}
	file_pipeline_spec_proto_msgTypes[18].OneofWrappers = []any{
		(*ArtifactTypeSchema_SchemaTitle)(nil),
		(*ArtifactTypeSchema_SchemaUri)(nil),
		(*ArtifactTypeSchema_InstanceSchema)(nil),
	}
	file_pipeline_spec_proto_msgTypes[20].OneofWrappers = []any{
		(*ValueOrRuntimeParameter_ConstantValue)(nil),
		(*ValueOrRuntimeParameter_RuntimeParameter)(nil),
		(*ValueOrRuntimeParameter_Constant)(nil),
	}
	file_pipeline_spec_proto_msgTypes[22].OneofWrappers = []any{
		(*Value_IntValue)(nil),
		(*Value_DoubleValue)(nil),
		(*Value_StringValue)(nil),
	}
	file_pipeline_spec_proto_msgTypes[32].OneofWrappers = []any{}
	file_pipeline_spec_proto_msgTypes[33].OneofWrappers = []any{}
	file_pipeline_spec_proto_msgTypes[34].OneofWrappers = []any{}
	file_pipeline_spec_proto_msgTypes[48].OneofWrappers = []any{
		(*DagOutputsSpec_DagOutputParameterSpec_ValueFromParameter)(nil),
		(*DagOutputsSpec_DagOutputParameterSpec_ValueFromOneof)(nil),
	}
	file_pipeline_spec_proto_msgTypes[61].OneofWrappers = []any{
		(*TaskInputsSpec_InputArtifactSpec_TaskOutputArtifact)(nil),
		(*TaskInputsSpec_InputArtifactSpec_ComponentInputArtifact)(nil),
	}
	file_pipeline_spec_proto_msgTypes[62].OneofWrappers = []any{
		(*TaskInputsSpec_InputParameterSpec_TaskOutputParameter)(nil),
		(*TaskInputsSpec_InputParameterSpec_RuntimeValue)(nil),
		(*TaskInputsSpec_InputParameterSpec_ComponentInputParameter)(nil),
		(*TaskInputsSpec_InputParameterSpec_TaskFinalStatus_)(nil),
	}
	file_pipeline_spec_proto_msgTypes[79].OneofWrappers = []any{
		(*ParameterIteratorSpec_ItemsSpec_Raw)(nil),
		(*ParameterIteratorSpec_ItemsSpec_InputParameter)(nil),
	}
	file_pipeline_spec_proto_msgTypes[84].OneofWrappers = []any{
		(*PipelineDeploymentConfig_ExecutorSpec_Container)(nil),
		(*PipelineDeploymentConfig_ExecutorSpec_Importer)(nil),
		(*PipelineDeploymentConfig_ExecutorSpec_Resolver)(nil),
		(*PipelineDeploymentConfig_ExecutorSpec_CustomJob)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_pipeline_spec_proto_rawDesc), len(file_pipeline_spec_proto_rawDesc)),
			NumEnums:      5,
			NumMessages:   110,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_pipeline_spec_proto_goTypes,
		DependencyIndexes: file_pipeline_spec_proto_depIdxs,
		EnumInfos:         file_pipeline_spec_proto_enumTypes,
		MessageInfos:      file_pipeline_spec_proto_msgTypes,
	}.Build()
	File_pipeline_spec_proto = out.File
	file_pipeline_spec_proto_goTypes = nil
	file_pipeline_spec_proto_depIdxs = nil
}
