// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.30.0
// 	protoc        (unknown)
// source: flyteidl/core/tasks.proto

package core

import (
	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"
)

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)
)

// Known resource names.
type Resources_ResourceName int32

const (
	Resources_UNKNOWN Resources_ResourceName = 0
	Resources_CPU     Resources_ResourceName = 1
	Resources_GPU     Resources_ResourceName = 2
	Resources_MEMORY  Resources_ResourceName = 3
	Resources_STORAGE Resources_ResourceName = 4
	// For Kubernetes-based deployments, pods use ephemeral local storage for scratch space, caching, and for logs.
	Resources_EPHEMERAL_STORAGE Resources_ResourceName = 5
)

// Enum value maps for Resources_ResourceName.
var (
	Resources_ResourceName_name = map[int32]string{
		0: "UNKNOWN",
		1: "CPU",
		2: "GPU",
		3: "MEMORY",
		4: "STORAGE",
		5: "EPHEMERAL_STORAGE",
	}
	Resources_ResourceName_value = map[string]int32{
		"UNKNOWN":           0,
		"CPU":               1,
		"GPU":               2,
		"MEMORY":            3,
		"STORAGE":           4,
		"EPHEMERAL_STORAGE": 5,
	}
)

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

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

func (Resources_ResourceName) Descriptor() protoreflect.EnumDescriptor {
	return file_flyteidl_core_tasks_proto_enumTypes[0].Descriptor()
}

func (Resources_ResourceName) Type() protoreflect.EnumType {
	return &file_flyteidl_core_tasks_proto_enumTypes[0]
}

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

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

type RuntimeMetadata_RuntimeType int32

const (
	RuntimeMetadata_OTHER     RuntimeMetadata_RuntimeType = 0
	RuntimeMetadata_FLYTE_SDK RuntimeMetadata_RuntimeType = 1
)

// Enum value maps for RuntimeMetadata_RuntimeType.
var (
	RuntimeMetadata_RuntimeType_name = map[int32]string{
		0: "OTHER",
		1: "FLYTE_SDK",
	}
	RuntimeMetadata_RuntimeType_value = map[string]int32{
		"OTHER":     0,
		"FLYTE_SDK": 1,
	}
)

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

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

func (RuntimeMetadata_RuntimeType) Descriptor() protoreflect.EnumDescriptor {
	return file_flyteidl_core_tasks_proto_enumTypes[1].Descriptor()
}

func (RuntimeMetadata_RuntimeType) Type() protoreflect.EnumType {
	return &file_flyteidl_core_tasks_proto_enumTypes[1]
}

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

// Deprecated: Use RuntimeMetadata_RuntimeType.Descriptor instead.
func (RuntimeMetadata_RuntimeType) EnumDescriptor() ([]byte, []int) {
	return file_flyteidl_core_tasks_proto_rawDescGZIP(), []int{3, 0}
}

// Architecture-type the container image supports.
type Container_Architecture int32

const (
	Container_UNKNOWN Container_Architecture = 0
	Container_AMD64   Container_Architecture = 1
	Container_ARM64   Container_Architecture = 2
	Container_ARM_V6  Container_Architecture = 3
	Container_ARM_V7  Container_Architecture = 4
)

// Enum value maps for Container_Architecture.
var (
	Container_Architecture_name = map[int32]string{
		0: "UNKNOWN",
		1: "AMD64",
		2: "ARM64",
		3: "ARM_V6",
		4: "ARM_V7",
	}
	Container_Architecture_value = map[string]int32{
		"UNKNOWN": 0,
		"AMD64":   1,
		"ARM64":   2,
		"ARM_V6":  3,
		"ARM_V7":  4,
	}
)

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

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

func (Container_Architecture) Descriptor() protoreflect.EnumDescriptor {
	return file_flyteidl_core_tasks_proto_enumTypes[2].Descriptor()
}

func (Container_Architecture) Type() protoreflect.EnumType {
	return &file_flyteidl_core_tasks_proto_enumTypes[2]
}

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

// Deprecated: Use Container_Architecture.Descriptor instead.
func (Container_Architecture) EnumDescriptor() ([]byte, []int) {
	return file_flyteidl_core_tasks_proto_rawDescGZIP(), []int{7, 0}
}

// Mode to use for downloading
type IOStrategy_DownloadMode int32

const (
	// All data will be downloaded before the main container is executed
	IOStrategy_DOWNLOAD_EAGER IOStrategy_DownloadMode = 0
	// Data will be downloaded as a stream and an End-Of-Stream marker will be written to indicate all data has been downloaded. Refer to protocol for details
	IOStrategy_DOWNLOAD_STREAM IOStrategy_DownloadMode = 1
	// Large objects (offloaded) will not be downloaded
	IOStrategy_DO_NOT_DOWNLOAD IOStrategy_DownloadMode = 2
)

// Enum value maps for IOStrategy_DownloadMode.
var (
	IOStrategy_DownloadMode_name = map[int32]string{
		0: "DOWNLOAD_EAGER",
		1: "DOWNLOAD_STREAM",
		2: "DO_NOT_DOWNLOAD",
	}
	IOStrategy_DownloadMode_value = map[string]int32{
		"DOWNLOAD_EAGER":  0,
		"DOWNLOAD_STREAM": 1,
		"DO_NOT_DOWNLOAD": 2,
	}
)

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

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

func (IOStrategy_DownloadMode) Descriptor() protoreflect.EnumDescriptor {
	return file_flyteidl_core_tasks_proto_enumTypes[3].Descriptor()
}

func (IOStrategy_DownloadMode) Type() protoreflect.EnumType {
	return &file_flyteidl_core_tasks_proto_enumTypes[3]
}

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

// Deprecated: Use IOStrategy_DownloadMode.Descriptor instead.
func (IOStrategy_DownloadMode) EnumDescriptor() ([]byte, []int) {
	return file_flyteidl_core_tasks_proto_rawDescGZIP(), []int{8, 0}
}

// Mode to use for uploading
type IOStrategy_UploadMode int32

const (
	// All data will be uploaded after the main container exits
	IOStrategy_UPLOAD_ON_EXIT IOStrategy_UploadMode = 0
	// Data will be uploaded as it appears. Refer to protocol specification for details
	IOStrategy_UPLOAD_EAGER IOStrategy_UploadMode = 1
	// Data will not be uploaded, only references will be written
	IOStrategy_DO_NOT_UPLOAD IOStrategy_UploadMode = 2
)

// Enum value maps for IOStrategy_UploadMode.
var (
	IOStrategy_UploadMode_name = map[int32]string{
		0: "UPLOAD_ON_EXIT",
		1: "UPLOAD_EAGER",
		2: "DO_NOT_UPLOAD",
	}
	IOStrategy_UploadMode_value = map[string]int32{
		"UPLOAD_ON_EXIT": 0,
		"UPLOAD_EAGER":   1,
		"DO_NOT_UPLOAD":  2,
	}
)

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

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

func (IOStrategy_UploadMode) Descriptor() protoreflect.EnumDescriptor {
	return file_flyteidl_core_tasks_proto_enumTypes[4].Descriptor()
}

func (IOStrategy_UploadMode) Type() protoreflect.EnumType {
	return &file_flyteidl_core_tasks_proto_enumTypes[4]
}

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

// Deprecated: Use IOStrategy_UploadMode.Descriptor instead.
func (IOStrategy_UploadMode) EnumDescriptor() ([]byte, []int) {
	return file_flyteidl_core_tasks_proto_rawDescGZIP(), []int{8, 1}
}

// LiteralMapFormat decides the encoding format in which the input metadata should be made available to the containers.
// If the user has access to the protocol buffer definitions, it is recommended to use the PROTO format.
// JSON and YAML do not need any protobuf definitions to read it
// All remote references in core.LiteralMap are replaced with local filesystem references (the data is downloaded to local filesystem)
type DataLoadingConfig_LiteralMapFormat int32

const (
	// JSON / YAML for the metadata (which contains inlined primitive values). The representation is inline with the standard json specification as specified - https://www.json.org/json-en.html
	DataLoadingConfig_JSON DataLoadingConfig_LiteralMapFormat = 0
	DataLoadingConfig_YAML DataLoadingConfig_LiteralMapFormat = 1
	// Proto is a serialized binary of `core.LiteralMap` defined in flyteidl/core
	DataLoadingConfig_PROTO DataLoadingConfig_LiteralMapFormat = 2
)

// Enum value maps for DataLoadingConfig_LiteralMapFormat.
var (
	DataLoadingConfig_LiteralMapFormat_name = map[int32]string{
		0: "JSON",
		1: "YAML",
		2: "PROTO",
	}
	DataLoadingConfig_LiteralMapFormat_value = map[string]int32{
		"JSON":  0,
		"YAML":  1,
		"PROTO": 2,
	}
)

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

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

func (DataLoadingConfig_LiteralMapFormat) Descriptor() protoreflect.EnumDescriptor {
	return file_flyteidl_core_tasks_proto_enumTypes[5].Descriptor()
}

func (DataLoadingConfig_LiteralMapFormat) Type() protoreflect.EnumType {
	return &file_flyteidl_core_tasks_proto_enumTypes[5]
}

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

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

// The dialect of the SQL statement. This is used to validate and parse SQL statements at compilation time to avoid
// expensive runtime operations. If set to an unsupported dialect, no validation will be done on the statement.
// We support the following dialect: ansi, hive.
type Sql_Dialect int32

const (
	Sql_UNDEFINED Sql_Dialect = 0
	Sql_ANSI      Sql_Dialect = 1
	Sql_HIVE      Sql_Dialect = 2
	Sql_OTHER     Sql_Dialect = 3
)

// Enum value maps for Sql_Dialect.
var (
	Sql_Dialect_name = map[int32]string{
		0: "UNDEFINED",
		1: "ANSI",
		2: "HIVE",
		3: "OTHER",
	}
	Sql_Dialect_value = map[string]int32{
		"UNDEFINED": 0,
		"ANSI":      1,
		"HIVE":      2,
		"OTHER":     3,
	}
)

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

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

func (Sql_Dialect) Descriptor() protoreflect.EnumDescriptor {
	return file_flyteidl_core_tasks_proto_enumTypes[6].Descriptor()
}

func (Sql_Dialect) Type() protoreflect.EnumType {
	return &file_flyteidl_core_tasks_proto_enumTypes[6]
}

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

// Deprecated: Use Sql_Dialect.Descriptor instead.
func (Sql_Dialect) EnumDescriptor() ([]byte, []int) {
	return file_flyteidl_core_tasks_proto_rawDescGZIP(), []int{12, 0}
}

// A customizable interface to convey resources requested for a container. This can be interpreted differently for different
// container engines.
type Resources struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The desired set of resources requested. ResourceNames must be unique within the list.
	Requests []*Resources_ResourceEntry `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
	// Defines a set of bounds (e.g. min/max) within which the task can reliably run. ResourceNames must be unique
	// within the list.
	Limits []*Resources_ResourceEntry `protobuf:"bytes,2,rep,name=limits,proto3" json:"limits,omitempty"`
}

func (x *Resources) Reset() {
	*x = Resources{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Resources) ProtoMessage() {}

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

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

func (x *Resources) GetRequests() []*Resources_ResourceEntry {
	if x != nil {
		return x.Requests
	}
	return nil
}

func (x *Resources) GetLimits() []*Resources_ResourceEntry {
	if x != nil {
		return x.Limits
	}
	return nil
}

// Metadata associated with the GPU accelerator to allocate to a task. Contains
// information about device type, and for multi-instance GPUs, the partition size to
// use.
type GPUAccelerator struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// This can be any arbitrary string, and should be informed by the labels or taints
	// associated with the nodes in question. Default cloud provider labels typically
	// use the following values: `nvidia-tesla-t4`, `nvidia-tesla-a100`, etc.
	Device string `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
	// Types that are assignable to PartitionSizeValue:
	//
	//	*GPUAccelerator_Unpartitioned
	//	*GPUAccelerator_PartitionSize
	PartitionSizeValue isGPUAccelerator_PartitionSizeValue `protobuf_oneof:"partition_size_value"`
}

func (x *GPUAccelerator) Reset() {
	*x = GPUAccelerator{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GPUAccelerator) ProtoMessage() {}

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

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

func (x *GPUAccelerator) GetDevice() string {
	if x != nil {
		return x.Device
	}
	return ""
}

func (m *GPUAccelerator) GetPartitionSizeValue() isGPUAccelerator_PartitionSizeValue {
	if m != nil {
		return m.PartitionSizeValue
	}
	return nil
}

func (x *GPUAccelerator) GetUnpartitioned() bool {
	if x, ok := x.GetPartitionSizeValue().(*GPUAccelerator_Unpartitioned); ok {
		return x.Unpartitioned
	}
	return false
}

func (x *GPUAccelerator) GetPartitionSize() string {
	if x, ok := x.GetPartitionSizeValue().(*GPUAccelerator_PartitionSize); ok {
		return x.PartitionSize
	}
	return ""
}

type isGPUAccelerator_PartitionSizeValue interface {
	isGPUAccelerator_PartitionSizeValue()
}

type GPUAccelerator_Unpartitioned struct {
	Unpartitioned bool `protobuf:"varint,2,opt,name=unpartitioned,proto3,oneof"`
}

type GPUAccelerator_PartitionSize struct {
	// Like `device`, this can be any arbitrary string, and should be informed by
	// the labels or taints associated with the nodes in question. Default cloud
	// provider labels typically use the following values: `1g.5gb`, `2g.10gb`, etc.
	PartitionSize string `protobuf:"bytes,3,opt,name=partition_size,json=partitionSize,proto3,oneof"`
}

func (*GPUAccelerator_Unpartitioned) isGPUAccelerator_PartitionSizeValue() {}

func (*GPUAccelerator_PartitionSize) isGPUAccelerator_PartitionSizeValue() {}

// Encapsulates all non-standard resources, not captured by v1.ResourceRequirements, to
// allocate to a task.
type ExtendedResources struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// GPU accelerator to select for task. Contains information about device type, and
	// for multi-instance GPUs, the partition size to use.
	GpuAccelerator *GPUAccelerator `protobuf:"bytes,1,opt,name=gpu_accelerator,json=gpuAccelerator,proto3" json:"gpu_accelerator,omitempty"`
}

func (x *ExtendedResources) Reset() {
	*x = ExtendedResources{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ExtendedResources) ProtoMessage() {}

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

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

func (x *ExtendedResources) GetGpuAccelerator() *GPUAccelerator {
	if x != nil {
		return x.GpuAccelerator
	}
	return nil
}

// Runtime information. This is loosely defined to allow for extensibility.
type RuntimeMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Type of runtime.
	Type RuntimeMetadata_RuntimeType `protobuf:"varint,1,opt,name=type,proto3,enum=flyteidl.core.RuntimeMetadata_RuntimeType" json:"type,omitempty"`
	// Version of the runtime. All versions should be backward compatible. However, certain cases call for version
	// checks to ensure tighter validation or setting expectations.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// +optional It can be used to provide extra information about the runtime (e.g. python, golang... etc.).
	Flavor string `protobuf:"bytes,3,opt,name=flavor,proto3" json:"flavor,omitempty"`
}

func (x *RuntimeMetadata) Reset() {
	*x = RuntimeMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*RuntimeMetadata) ProtoMessage() {}

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

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

func (x *RuntimeMetadata) GetType() RuntimeMetadata_RuntimeType {
	if x != nil {
		return x.Type
	}
	return RuntimeMetadata_OTHER
}

func (x *RuntimeMetadata) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *RuntimeMetadata) GetFlavor() string {
	if x != nil {
		return x.Flavor
	}
	return ""
}

// Task Metadata
type TaskMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Indicates whether the system should attempt to lookup this task's output to avoid duplication of work.
	Discoverable bool `protobuf:"varint,1,opt,name=discoverable,proto3" json:"discoverable,omitempty"`
	// Runtime information about the task.
	Runtime *RuntimeMetadata `protobuf:"bytes,2,opt,name=runtime,proto3" json:"runtime,omitempty"`
	// The overall timeout of a task including user-triggered retries.
	Timeout *durationpb.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// Number of retries per task.
	Retries *RetryStrategy `protobuf:"bytes,5,opt,name=retries,proto3" json:"retries,omitempty"`
	// Indicates a logical version to apply to this task for the purpose of discovery.
	DiscoveryVersion string `protobuf:"bytes,6,opt,name=discovery_version,json=discoveryVersion,proto3" json:"discovery_version,omitempty"`
	// If set, this indicates that this task is deprecated.  This will enable owners of tasks to notify consumers
	// of the ending of support for a given task.
	DeprecatedErrorMessage string `protobuf:"bytes,7,opt,name=deprecated_error_message,json=deprecatedErrorMessage,proto3" json:"deprecated_error_message,omitempty"`
	// Identify whether task is interruptible
	//
	// Types that are assignable to InterruptibleValue:
	//
	//	*TaskMetadata_Interruptible
	InterruptibleValue isTaskMetadata_InterruptibleValue `protobuf_oneof:"interruptible_value"`
	// Indicates whether the system should attempt to execute discoverable instances in serial to avoid duplicate work
	CacheSerializable bool `protobuf:"varint,9,opt,name=cache_serializable,json=cacheSerializable,proto3" json:"cache_serializable,omitempty"`
	// Indicates whether the task will generate a Deck URI when it finishes executing.
	GeneratesDeck bool `protobuf:"varint,10,opt,name=generates_deck,json=generatesDeck,proto3" json:"generates_deck,omitempty"`
	// Arbitrary tags that allow users and the platform to store small but arbitrary labels
	Tags map[string]string `protobuf:"bytes,11,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// pod_template_name is the unique name of a PodTemplate k8s resource to be used as the base configuration if this
	// task creates a k8s Pod. If this value is set, the specified PodTemplate will be used instead of, but applied
	// identically as, the default PodTemplate configured in FlytePropeller.
	PodTemplateName string `protobuf:"bytes,12,opt,name=pod_template_name,json=podTemplateName,proto3" json:"pod_template_name,omitempty"`
	// cache_ignore_input_vars is the input variables that should not be included when calculating hash for cache.
	CacheIgnoreInputVars []string `protobuf:"bytes,13,rep,name=cache_ignore_input_vars,json=cacheIgnoreInputVars,proto3" json:"cache_ignore_input_vars,omitempty"`
}

func (x *TaskMetadata) Reset() {
	*x = TaskMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TaskMetadata) ProtoMessage() {}

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

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

func (x *TaskMetadata) GetDiscoverable() bool {
	if x != nil {
		return x.Discoverable
	}
	return false
}

func (x *TaskMetadata) GetRuntime() *RuntimeMetadata {
	if x != nil {
		return x.Runtime
	}
	return nil
}

func (x *TaskMetadata) GetTimeout() *durationpb.Duration {
	if x != nil {
		return x.Timeout
	}
	return nil
}

func (x *TaskMetadata) GetRetries() *RetryStrategy {
	if x != nil {
		return x.Retries
	}
	return nil
}

func (x *TaskMetadata) GetDiscoveryVersion() string {
	if x != nil {
		return x.DiscoveryVersion
	}
	return ""
}

func (x *TaskMetadata) GetDeprecatedErrorMessage() string {
	if x != nil {
		return x.DeprecatedErrorMessage
	}
	return ""
}

func (m *TaskMetadata) GetInterruptibleValue() isTaskMetadata_InterruptibleValue {
	if m != nil {
		return m.InterruptibleValue
	}
	return nil
}

func (x *TaskMetadata) GetInterruptible() bool {
	if x, ok := x.GetInterruptibleValue().(*TaskMetadata_Interruptible); ok {
		return x.Interruptible
	}
	return false
}

func (x *TaskMetadata) GetCacheSerializable() bool {
	if x != nil {
		return x.CacheSerializable
	}
	return false
}

func (x *TaskMetadata) GetGeneratesDeck() bool {
	if x != nil {
		return x.GeneratesDeck
	}
	return false
}

func (x *TaskMetadata) GetTags() map[string]string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *TaskMetadata) GetPodTemplateName() string {
	if x != nil {
		return x.PodTemplateName
	}
	return ""
}

func (x *TaskMetadata) GetCacheIgnoreInputVars() []string {
	if x != nil {
		return x.CacheIgnoreInputVars
	}
	return nil
}

type isTaskMetadata_InterruptibleValue interface {
	isTaskMetadata_InterruptibleValue()
}

type TaskMetadata_Interruptible struct {
	Interruptible bool `protobuf:"varint,8,opt,name=interruptible,proto3,oneof"`
}

func (*TaskMetadata_Interruptible) isTaskMetadata_InterruptibleValue() {}

// A Task structure that uniquely identifies a task in the system
// Tasks are registered as a first step in the system.
type TaskTemplate struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Auto generated taskId by the system. Task Id uniquely identifies this task globally.
	Id *Identifier `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// A predefined yet extensible Task type identifier. This can be used to customize any of the components. If no
	// extensions are provided in the system, Flyte will resolve the this task to its TaskCategory and default the
	// implementation registered for the TaskCategory.
	Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	// Extra metadata about the task.
	Metadata *TaskMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// A strongly typed interface for the task. This enables others to use this task within a workflow and guarantees
	// compile-time validation of the workflow to avoid costly runtime failures.
	Interface *TypedInterface `protobuf:"bytes,4,opt,name=interface,proto3" json:"interface,omitempty"`
	// Custom data about the task. This is extensible to allow various plugins in the system.
	Custom *structpb.Struct `protobuf:"bytes,5,opt,name=custom,proto3" json:"custom,omitempty"`
	// Known target types that the system will guarantee plugins for. Custom SDK plugins are allowed to set these if needed.
	// If no corresponding execution-layer plugins are found, the system will default to handling these using built-in
	// handlers.
	//
	// Types that are assignable to Target:
	//
	//	*TaskTemplate_Container
	//	*TaskTemplate_K8SPod
	//	*TaskTemplate_Sql
	Target isTaskTemplate_Target `protobuf_oneof:"target"`
	// This can be used to customize task handling at execution time for the same task type.
	TaskTypeVersion int32 `protobuf:"varint,7,opt,name=task_type_version,json=taskTypeVersion,proto3" json:"task_type_version,omitempty"`
	// security_context encapsulates security attributes requested to run this task.
	SecurityContext *SecurityContext `protobuf:"bytes,8,opt,name=security_context,json=securityContext,proto3" json:"security_context,omitempty"`
	// Encapsulates all non-standard resources, not captured by
	// v1.ResourceRequirements, to allocate to a task.
	ExtendedResources *ExtendedResources `protobuf:"bytes,9,opt,name=extended_resources,json=extendedResources,proto3" json:"extended_resources,omitempty"`
	// Metadata about the custom defined for this task. This is extensible to allow various plugins in the system
	// to use as required.
	// reserve the field numbers 1 through 15 for very frequently occurring message elements
	Config map[string]string `protobuf:"bytes,16,rep,name=config,proto3" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *TaskTemplate) Reset() {
	*x = TaskTemplate{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TaskTemplate) ProtoMessage() {}

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

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

func (x *TaskTemplate) GetId() *Identifier {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *TaskTemplate) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *TaskTemplate) GetMetadata() *TaskMetadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *TaskTemplate) GetInterface() *TypedInterface {
	if x != nil {
		return x.Interface
	}
	return nil
}

func (x *TaskTemplate) GetCustom() *structpb.Struct {
	if x != nil {
		return x.Custom
	}
	return nil
}

func (m *TaskTemplate) GetTarget() isTaskTemplate_Target {
	if m != nil {
		return m.Target
	}
	return nil
}

func (x *TaskTemplate) GetContainer() *Container {
	if x, ok := x.GetTarget().(*TaskTemplate_Container); ok {
		return x.Container
	}
	return nil
}

func (x *TaskTemplate) GetK8SPod() *K8SPod {
	if x, ok := x.GetTarget().(*TaskTemplate_K8SPod); ok {
		return x.K8SPod
	}
	return nil
}

func (x *TaskTemplate) GetSql() *Sql {
	if x, ok := x.GetTarget().(*TaskTemplate_Sql); ok {
		return x.Sql
	}
	return nil
}

func (x *TaskTemplate) GetTaskTypeVersion() int32 {
	if x != nil {
		return x.TaskTypeVersion
	}
	return 0
}

func (x *TaskTemplate) GetSecurityContext() *SecurityContext {
	if x != nil {
		return x.SecurityContext
	}
	return nil
}

func (x *TaskTemplate) GetExtendedResources() *ExtendedResources {
	if x != nil {
		return x.ExtendedResources
	}
	return nil
}

func (x *TaskTemplate) GetConfig() map[string]string {
	if x != nil {
		return x.Config
	}
	return nil
}

type isTaskTemplate_Target interface {
	isTaskTemplate_Target()
}

type TaskTemplate_Container struct {
	Container *Container `protobuf:"bytes,6,opt,name=container,proto3,oneof"`
}

type TaskTemplate_K8SPod struct {
	K8SPod *K8SPod `protobuf:"bytes,17,opt,name=k8s_pod,json=k8sPod,proto3,oneof"`
}

type TaskTemplate_Sql struct {
	Sql *Sql `protobuf:"bytes,18,opt,name=sql,proto3,oneof"`
}

func (*TaskTemplate_Container) isTaskTemplate_Target() {}

func (*TaskTemplate_K8SPod) isTaskTemplate_Target() {}

func (*TaskTemplate_Sql) isTaskTemplate_Target() {}

// Defines port properties for a container.
type ContainerPort struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Number of port to expose on the pod's IP address.
	// This must be a valid port number, 0 < x < 65536.
	ContainerPort uint32 `protobuf:"varint,1,opt,name=container_port,json=containerPort,proto3" json:"container_port,omitempty"`
}

func (x *ContainerPort) Reset() {
	*x = ContainerPort{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ContainerPort) ProtoMessage() {}

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

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

func (x *ContainerPort) GetContainerPort() uint32 {
	if x != nil {
		return x.ContainerPort
	}
	return 0
}

type Container struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Container image url. Eg: docker/redis:latest
	Image string `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
	// Command to be executed, if not provided, the default entrypoint in the container image will be used.
	Command []string `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"`
	// These will default to Flyte given paths. If provided, the system will not append known paths. If the task still
	// needs flyte's inputs and outputs path, add $(FLYTE_INPUT_FILE), $(FLYTE_OUTPUT_FILE) wherever makes sense and the
	// system will populate these before executing the container.
	Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
	// Container resources requirement as specified by the container engine.
	Resources *Resources `protobuf:"bytes,4,opt,name=resources,proto3" json:"resources,omitempty"`
	// Environment variables will be set as the container is starting up.
	Env []*KeyValuePair `protobuf:"bytes,5,rep,name=env,proto3" json:"env,omitempty"`
	// Allows extra configs to be available for the container.
	// TODO: elaborate on how configs will become available.
	// Deprecated, please use TaskTemplate.config instead.
	//
	// Deprecated: Marked as deprecated in flyteidl/core/tasks.proto.
	Config []*KeyValuePair `protobuf:"bytes,6,rep,name=config,proto3" json:"config,omitempty"`
	// Ports to open in the container. This feature is not supported by all execution engines. (e.g. supported on K8s but
	// not supported on AWS Batch)
	// Only K8s
	Ports []*ContainerPort `protobuf:"bytes,7,rep,name=ports,proto3" json:"ports,omitempty"`
	// BETA: Optional configuration for DataLoading. If not specified, then default values are used.
	// This makes it possible to to run a completely portable container, that uses inputs and outputs
	// only from the local file-system and without having any reference to flyteidl. This is supported only on K8s at the moment.
	// If data loading is enabled, then data will be mounted in accompanying directories specified in the DataLoadingConfig. If the directories
	// are not specified, inputs will be mounted onto and outputs will be uploaded from a pre-determined file-system path. Refer to the documentation
	// to understand the default paths.
	// Only K8s
	DataConfig   *DataLoadingConfig     `protobuf:"bytes,9,opt,name=data_config,json=dataConfig,proto3" json:"data_config,omitempty"`
	Architecture Container_Architecture `protobuf:"varint,10,opt,name=architecture,proto3,enum=flyteidl.core.Container_Architecture" json:"architecture,omitempty"`
}

func (x *Container) Reset() {
	*x = Container{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Container) ProtoMessage() {}

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

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

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

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

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

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

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

// Deprecated: Marked as deprecated in flyteidl/core/tasks.proto.
func (x *Container) GetConfig() []*KeyValuePair {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *Container) GetPorts() []*ContainerPort {
	if x != nil {
		return x.Ports
	}
	return nil
}

func (x *Container) GetDataConfig() *DataLoadingConfig {
	if x != nil {
		return x.DataConfig
	}
	return nil
}

func (x *Container) GetArchitecture() Container_Architecture {
	if x != nil {
		return x.Architecture
	}
	return Container_UNKNOWN
}

// Strategy to use when dealing with Blob, Schema, or multipart blob data (large datasets)
type IOStrategy struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Mode to use to manage downloads
	DownloadMode IOStrategy_DownloadMode `protobuf:"varint,1,opt,name=download_mode,json=downloadMode,proto3,enum=flyteidl.core.IOStrategy_DownloadMode" json:"download_mode,omitempty"`
	// Mode to use to manage uploads
	UploadMode IOStrategy_UploadMode `protobuf:"varint,2,opt,name=upload_mode,json=uploadMode,proto3,enum=flyteidl.core.IOStrategy_UploadMode" json:"upload_mode,omitempty"`
}

func (x *IOStrategy) Reset() {
	*x = IOStrategy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IOStrategy) ProtoMessage() {}

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

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

func (x *IOStrategy) GetDownloadMode() IOStrategy_DownloadMode {
	if x != nil {
		return x.DownloadMode
	}
	return IOStrategy_DOWNLOAD_EAGER
}

func (x *IOStrategy) GetUploadMode() IOStrategy_UploadMode {
	if x != nil {
		return x.UploadMode
	}
	return IOStrategy_UPLOAD_ON_EXIT
}

// This configuration allows executing raw containers in Flyte using the Flyte CoPilot system.
// Flyte CoPilot, eliminates the needs of flytekit or sdk inside the container. Any inputs required by the users container are side-loaded in the input_path
// Any outputs generated by the user container - within output_path are automatically uploaded.
type DataLoadingConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Flag enables DataLoading Config. If this is not set, data loading will not be used!
	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// File system path (start at root). This folder will contain all the inputs exploded to a separate file.
	// Example, if the input interface needs (x: int, y: blob, z: multipart_blob) and the input path is '/var/flyte/inputs', then the file system will look like
	// /var/flyte/inputs/inputs.<metadata format dependent -> .pb .json .yaml> -> Format as defined previously. The Blob and Multipart blob will reference local filesystem instead of remote locations
	// /var/flyte/inputs/x -> X is a file that contains the value of x (integer) in string format
	// /var/flyte/inputs/y -> Y is a file in Binary format
	// /var/flyte/inputs/z/... -> Note Z itself is a directory
	// More information about the protocol - refer to docs #TODO reference docs here
	InputPath string `protobuf:"bytes,2,opt,name=input_path,json=inputPath,proto3" json:"input_path,omitempty"`
	// File system path (start at root). This folder should contain all the outputs for the task as individual files and/or an error text file
	OutputPath string `protobuf:"bytes,3,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"`
	// In the inputs folder, there will be an additional summary/metadata file that contains references to all files or inlined primitive values.
	// This format decides the actual encoding for the data. Refer to the encoding to understand the specifics of the contents and the encoding
	Format     DataLoadingConfig_LiteralMapFormat `protobuf:"varint,4,opt,name=format,proto3,enum=flyteidl.core.DataLoadingConfig_LiteralMapFormat" json:"format,omitempty"`
	IoStrategy *IOStrategy                        `protobuf:"bytes,5,opt,name=io_strategy,json=ioStrategy,proto3" json:"io_strategy,omitempty"`
}

func (x *DataLoadingConfig) Reset() {
	*x = DataLoadingConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DataLoadingConfig) ProtoMessage() {}

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

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

func (x *DataLoadingConfig) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *DataLoadingConfig) GetInputPath() string {
	if x != nil {
		return x.InputPath
	}
	return ""
}

func (x *DataLoadingConfig) GetOutputPath() string {
	if x != nil {
		return x.OutputPath
	}
	return ""
}

func (x *DataLoadingConfig) GetFormat() DataLoadingConfig_LiteralMapFormat {
	if x != nil {
		return x.Format
	}
	return DataLoadingConfig_JSON
}

func (x *DataLoadingConfig) GetIoStrategy() *IOStrategy {
	if x != nil {
		return x.IoStrategy
	}
	return nil
}

// Defines a pod spec and additional pod metadata that is created when a task is executed.
type K8SPod struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Contains additional metadata for building a kubernetes pod.
	Metadata *K8SObjectMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Defines the primary pod spec created when a task is executed.
	// This should be a JSON-marshalled pod spec, which can be defined in
	// - go, using: https://github.com/kubernetes/api/blob/release-1.21/core/v1/types.go#L2936
	// - python: using https://github.com/kubernetes-client/python/blob/release-19.0/kubernetes/client/models/v1_pod_spec.py
	PodSpec *structpb.Struct `protobuf:"bytes,2,opt,name=pod_spec,json=podSpec,proto3" json:"pod_spec,omitempty"`
	// BETA: Optional configuration for DataLoading. If not specified, then default values are used.
	// This makes it possible to to run a completely portable container, that uses inputs and outputs
	// only from the local file-system and without having any reference to flytekit. This is supported only on K8s at the moment.
	// If data loading is enabled, then data will be mounted in accompanying directories specified in the DataLoadingConfig. If the directories
	// are not specified, inputs will be mounted onto and outputs will be uploaded from a pre-determined file-system path. Refer to the documentation
	// to understand the default paths.
	// Only K8s
	DataConfig *DataLoadingConfig `protobuf:"bytes,3,opt,name=data_config,json=dataConfig,proto3" json:"data_config,omitempty"`
}

func (x *K8SPod) Reset() {
	*x = K8SPod{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*K8SPod) ProtoMessage() {}

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

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

func (x *K8SPod) GetMetadata() *K8SObjectMetadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *K8SPod) GetPodSpec() *structpb.Struct {
	if x != nil {
		return x.PodSpec
	}
	return nil
}

func (x *K8SPod) GetDataConfig() *DataLoadingConfig {
	if x != nil {
		return x.DataConfig
	}
	return nil
}

// Metadata for building a kubernetes object when a task is executed.
type K8SObjectMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Optional labels to add to the pod definition.
	Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Optional annotations to add to the pod definition.
	Annotations map[string]string `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *K8SObjectMetadata) Reset() {
	*x = K8SObjectMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*K8SObjectMetadata) ProtoMessage() {}

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

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

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

func (x *K8SObjectMetadata) GetAnnotations() map[string]string {
	if x != nil {
		return x.Annotations
	}
	return nil
}

// Sql represents a generic sql workload with a statement and dialect.
type Sql struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The actual query to run, the query can have templated parameters.
	// We use Flyte's Golang templating format for Query templating.
	// Refer to the templating documentation.
	// https://docs.flyte.org/projects/cookbook/en/latest/auto/integrations/external_services/hive/hive.html#sphx-glr-auto-integrations-external-services-hive-hive-py
	// For example,
	// insert overwrite directory '{{ .rawOutputDataPrefix }}' stored as parquet
	// select *
	// from my_table
	// where ds = '{{ .Inputs.ds }}'
	Statement string      `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"`
	Dialect   Sql_Dialect `protobuf:"varint,2,opt,name=dialect,proto3,enum=flyteidl.core.Sql_Dialect" json:"dialect,omitempty"`
}

func (x *Sql) Reset() {
	*x = Sql{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Sql) ProtoMessage() {}

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

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

func (x *Sql) GetStatement() string {
	if x != nil {
		return x.Statement
	}
	return ""
}

func (x *Sql) GetDialect() Sql_Dialect {
	if x != nil {
		return x.Dialect
	}
	return Sql_UNDEFINED
}

// Encapsulates a resource name and value.
type Resources_ResourceEntry struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Resource name.
	Name Resources_ResourceName `protobuf:"varint,1,opt,name=name,proto3,enum=flyteidl.core.Resources_ResourceName" json:"name,omitempty"`
	// Value must be a valid k8s quantity. See
	// https://github.com/kubernetes/apimachinery/blob/master/pkg/api/resource/quantity.go#L30-L80
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *Resources_ResourceEntry) Reset() {
	*x = Resources_ResourceEntry{}
	if protoimpl.UnsafeEnabled {
		mi := &file_flyteidl_core_tasks_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Resources_ResourceEntry) ProtoMessage() {}

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

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

func (x *Resources_ResourceEntry) GetName() Resources_ResourceName {
	if x != nil {
		return x.Name
	}
	return Resources_UNKNOWN
}

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

var File_flyteidl_core_tasks_proto protoreflect.FileDescriptor

var file_flyteidl_core_tasks_proto_rawDesc = []byte{
	0x0a, 0x19, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f,
	0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x66, 0x6c, 0x79,
	0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1e, 0x66, 0x6c, 0x79, 0x74,
	0x65, 0x69, 0x64, 0x6c, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x66, 0x6c, 0x79, 0x74,
	0x65, 0x69, 0x64, 0x6c, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66,
	0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x66, 0x6c, 0x79, 0x74, 0x65,
	0x69, 0x64, 0x6c, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c,
	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64,
	0x6c, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x22, 0xd0, 0x02, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x73, 0x12, 0x42, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x52, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e,
	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c,
	0x69, 0x6d, 0x69, 0x74, 0x73, 0x1a, 0x60, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x52,
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5d, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
	0x57, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x50, 0x55, 0x10, 0x01, 0x12, 0x07, 0x0a,
	0x03, 0x47, 0x50, 0x55, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x4d, 0x4f, 0x52, 0x59,
	0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x10, 0x04, 0x12,
	0x15, 0x0a, 0x11, 0x45, 0x50, 0x48, 0x45, 0x4d, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x4f,
	0x52, 0x41, 0x47, 0x45, 0x10, 0x05, 0x22, 0x91, 0x01, 0x0a, 0x0e, 0x47, 0x50, 0x55, 0x41, 0x63,
	0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x12, 0x26, 0x0a, 0x0d, 0x75, 0x6e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x75, 0x6e, 0x70, 0x61,
	0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0e, 0x70, 0x61, 0x72,
	0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69,
	0x7a, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
	0x73, 0x69, 0x7a, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5b, 0x0a, 0x11, 0x45, 0x78,
	0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12,
	0x46, 0x0a, 0x0f, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74,
	0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65,
	0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x50, 0x55, 0x41, 0x63, 0x63, 0x65,
	0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x67, 0x70, 0x75, 0x41, 0x63, 0x63, 0x65,
	0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xac, 0x01, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x74,
	0x69, 0x6d, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x04, 0x74,
	0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74,
	0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d,
	0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d,
	0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x22, 0x27, 0x0a,
	0x0b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05,
	0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x4c, 0x59, 0x54, 0x45,
	0x5f, 0x53, 0x44, 0x4b, 0x10, 0x01, 0x22, 0xac, 0x05, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x4d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x6f,
	0x76, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64,
	0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x72,
	0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66,
	0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e,
	0x74, 0x69, 0x6d, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x07, 0x72, 0x75,
	0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65,
	0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c,
	0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72,
	0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69,
	0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f,
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64,
	0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
	0x38, 0x0a, 0x18, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x16, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x45, 0x72, 0x72,
	0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0d, 0x69, 0x6e, 0x74,
	0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08,
	0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x62, 0x6c,
	0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61,
	0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63,
	0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65,
	0x12, 0x25, 0x0a, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x65,
	0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
	0x74, 0x65, 0x73, 0x44, 0x65, 0x63, 0x6b, 0x12, 0x39, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18,
	0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61,
	0x67, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6f, 0x64, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
	0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70,
	0x6f, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35,
	0x0a, 0x17, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x69,
	0x6e, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x14, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x70, 0x75,
	0x74, 0x56, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74,
	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x15,
	0x0a, 0x13, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x5f,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd6, 0x05, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x65,
	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f,
	0x72, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69,
	0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b,
	0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65,
	0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63,
	0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
	0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x38, 0x0a, 0x09,
	0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6e,
	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x07, 0x6b, 0x38, 0x73, 0x5f, 0x70, 0x6f,
	0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69,
	0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x48, 0x00,
	0x52, 0x06, 0x6b, 0x38, 0x73, 0x50, 0x6f, 0x64, 0x12, 0x26, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18,
	0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x71, 0x6c, 0x48, 0x00, 0x52, 0x03, 0x73, 0x71, 0x6c,
	0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x61, 0x73,
	0x6b, 0x54, 0x79, 0x70, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x10,
	0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64,
	0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43,
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79,
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x4f, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x65, 0x6e,
	0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x11, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x52,
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65,
	0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x65, 0x6d,
	0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x39, 0x0a, 0x0b, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x36,
	0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12,
	0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72,
	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x22, 0xfc, 0x03, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x61,
	0x69, 0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c,
	0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
	0x12, 0x2d, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
	0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4b, 0x65,
	0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12,
	0x37, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x42, 0x02, 0x18, 0x01,
	0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74,
	0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69,
	0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
	0x72, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0b,
	0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
	0x49, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e,
	0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0c, 0x61, 0x72,
	0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0x49, 0x0a, 0x0c, 0x41, 0x72,
	0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e,
	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4d, 0x44, 0x36, 0x34,
	0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x52, 0x4d, 0x36, 0x34, 0x10, 0x02, 0x12, 0x0a, 0x0a,
	0x06, 0x41, 0x52, 0x4d, 0x5f, 0x56, 0x36, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x52, 0x4d,
	0x5f, 0x56, 0x37, 0x10, 0x04, 0x22, 0xb5, 0x02, 0x0a, 0x0a, 0x49, 0x4f, 0x53, 0x74, 0x72, 0x61,
	0x74, 0x65, 0x67, 0x79, 0x12, 0x4b, 0x0a, 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x66, 0x6c,
	0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x4f, 0x53, 0x74,
	0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d,
	0x6f, 0x64, 0x65, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64,
	0x65, 0x12, 0x45, 0x0a, 0x0b, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64,
	0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x4f, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67,
	0x79, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x75, 0x70,
	0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x4c, 0x0a, 0x0c, 0x44, 0x6f, 0x77, 0x6e,
	0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x4f, 0x57, 0x4e,
	0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x41, 0x47, 0x45, 0x52, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f,
	0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x10,
	0x01, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x4f, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x4f, 0x57, 0x4e,
	0x4c, 0x4f, 0x41, 0x44, 0x10, 0x02, 0x22, 0x45, 0x0a, 0x0a, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x4f,
	0x4e, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x50, 0x4c, 0x4f,
	0x41, 0x44, 0x5f, 0x45, 0x41, 0x47, 0x45, 0x52, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x4f,
	0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x02, 0x22, 0xa7, 0x02,
	0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a,
	0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b,
	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x49, 0x0a,
	0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e,
	0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61,
	0x74, 0x61, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
	0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74,
	0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x0b, 0x69, 0x6f, 0x5f, 0x73,
	0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
	0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x4f,
	0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0a, 0x69, 0x6f, 0x53, 0x74, 0x72, 0x61,
	0x74, 0x65, 0x67, 0x79, 0x22, 0x31, 0x0a, 0x10, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x4d,
	0x61, 0x70, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e,
	0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x59, 0x41, 0x4d, 0x4c, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05,
	0x50, 0x52, 0x4f, 0x54, 0x4f, 0x10, 0x02, 0x22, 0xbd, 0x01, 0x0a, 0x06, 0x4b, 0x38, 0x73, 0x50,
	0x6f, 0x64, 0x12, 0x3c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4b, 0x38, 0x73, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x12, 0x32, 0x0a, 0x08, 0x70, 0x6f, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x6f, 0x64,
	0x53, 0x70, 0x65, 0x63, 0x12, 0x41, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x66, 0x6c, 0x79, 0x74,
	0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x6f,
	0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x64, 0x61, 0x74,
	0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa9, 0x02, 0x0a, 0x11, 0x4b, 0x38, 0x73, 0x4f,
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a,
	0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
	0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4b, 0x38,
	0x73, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62,
	0x65, 0x6c, 0x73, 0x12, 0x53, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65,
	0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4b, 0x38, 0x73, 0x4f, 0x62, 0x6a, 0x65,
	0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e,
	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65,
	0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
	0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
	0x02, 0x38, 0x01, 0x22, 0x92, 0x01, 0x0a, 0x03, 0x53, 0x71, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x73,
	0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x64, 0x69, 0x61,
	0x6c, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x66, 0x6c, 0x79,
	0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x71, 0x6c, 0x2e, 0x44,
	0x69, 0x61, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x07, 0x64, 0x69, 0x61, 0x6c, 0x65, 0x63, 0x74, 0x22,
	0x37, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e,
	0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x4e, 0x53,
	0x49, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x09, 0x0a,
	0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x03, 0x42, 0xb0, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d,
	0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a,
	0x54, 0x61, 0x73, 0x6b, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69,
	0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72,
	0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c,
	0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x62, 0x2d, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65,
	0x69, 0x64, 0x6c, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0xa2, 0x02, 0x03, 0x46, 0x43, 0x58, 0xaa, 0x02,
	0x0d, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0xca, 0x02,
	0x0d, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x5c, 0x43, 0x6f, 0x72, 0x65, 0xe2, 0x02,
	0x19, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x5c, 0x43, 0x6f, 0x72, 0x65, 0x5c, 0x47,
	0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x46, 0x6c, 0x79,
	0x74, 0x65, 0x69, 0x64, 0x6c, 0x3a, 0x3a, 0x43, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x33,
}

var (
	file_flyteidl_core_tasks_proto_rawDescOnce sync.Once
	file_flyteidl_core_tasks_proto_rawDescData = file_flyteidl_core_tasks_proto_rawDesc
)

func file_flyteidl_core_tasks_proto_rawDescGZIP() []byte {
	file_flyteidl_core_tasks_proto_rawDescOnce.Do(func() {
		file_flyteidl_core_tasks_proto_rawDescData = protoimpl.X.CompressGZIP(file_flyteidl_core_tasks_proto_rawDescData)
	})
	return file_flyteidl_core_tasks_proto_rawDescData
}

var file_flyteidl_core_tasks_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
var file_flyteidl_core_tasks_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_flyteidl_core_tasks_proto_goTypes = []interface{}{
	(Resources_ResourceName)(0),             // 0: flyteidl.core.Resources.ResourceName
	(RuntimeMetadata_RuntimeType)(0),        // 1: flyteidl.core.RuntimeMetadata.RuntimeType
	(Container_Architecture)(0),             // 2: flyteidl.core.Container.Architecture
	(IOStrategy_DownloadMode)(0),            // 3: flyteidl.core.IOStrategy.DownloadMode
	(IOStrategy_UploadMode)(0),              // 4: flyteidl.core.IOStrategy.UploadMode
	(DataLoadingConfig_LiteralMapFormat)(0), // 5: flyteidl.core.DataLoadingConfig.LiteralMapFormat
	(Sql_Dialect)(0),                        // 6: flyteidl.core.Sql.Dialect
	(*Resources)(nil),                       // 7: flyteidl.core.Resources
	(*GPUAccelerator)(nil),                  // 8: flyteidl.core.GPUAccelerator
	(*ExtendedResources)(nil),               // 9: flyteidl.core.ExtendedResources
	(*RuntimeMetadata)(nil),                 // 10: flyteidl.core.RuntimeMetadata
	(*TaskMetadata)(nil),                    // 11: flyteidl.core.TaskMetadata
	(*TaskTemplate)(nil),                    // 12: flyteidl.core.TaskTemplate
	(*ContainerPort)(nil),                   // 13: flyteidl.core.ContainerPort
	(*Container)(nil),                       // 14: flyteidl.core.Container
	(*IOStrategy)(nil),                      // 15: flyteidl.core.IOStrategy
	(*DataLoadingConfig)(nil),               // 16: flyteidl.core.DataLoadingConfig
	(*K8SPod)(nil),                          // 17: flyteidl.core.K8sPod
	(*K8SObjectMetadata)(nil),               // 18: flyteidl.core.K8sObjectMetadata
	(*Sql)(nil),                             // 19: flyteidl.core.Sql
	(*Resources_ResourceEntry)(nil),         // 20: flyteidl.core.Resources.ResourceEntry
	nil,                                     // 21: flyteidl.core.TaskMetadata.TagsEntry
	nil,                                     // 22: flyteidl.core.TaskTemplate.ConfigEntry
	nil,                                     // 23: flyteidl.core.K8sObjectMetadata.LabelsEntry
	nil,                                     // 24: flyteidl.core.K8sObjectMetadata.AnnotationsEntry
	(*durationpb.Duration)(nil),             // 25: google.protobuf.Duration
	(*RetryStrategy)(nil),                   // 26: flyteidl.core.RetryStrategy
	(*Identifier)(nil),                      // 27: flyteidl.core.Identifier
	(*TypedInterface)(nil),                  // 28: flyteidl.core.TypedInterface
	(*structpb.Struct)(nil),                 // 29: google.protobuf.Struct
	(*SecurityContext)(nil),                 // 30: flyteidl.core.SecurityContext
	(*KeyValuePair)(nil),                    // 31: flyteidl.core.KeyValuePair
}
var file_flyteidl_core_tasks_proto_depIdxs = []int32{
	20, // 0: flyteidl.core.Resources.requests:type_name -> flyteidl.core.Resources.ResourceEntry
	20, // 1: flyteidl.core.Resources.limits:type_name -> flyteidl.core.Resources.ResourceEntry
	8,  // 2: flyteidl.core.ExtendedResources.gpu_accelerator:type_name -> flyteidl.core.GPUAccelerator
	1,  // 3: flyteidl.core.RuntimeMetadata.type:type_name -> flyteidl.core.RuntimeMetadata.RuntimeType
	10, // 4: flyteidl.core.TaskMetadata.runtime:type_name -> flyteidl.core.RuntimeMetadata
	25, // 5: flyteidl.core.TaskMetadata.timeout:type_name -> google.protobuf.Duration
	26, // 6: flyteidl.core.TaskMetadata.retries:type_name -> flyteidl.core.RetryStrategy
	21, // 7: flyteidl.core.TaskMetadata.tags:type_name -> flyteidl.core.TaskMetadata.TagsEntry
	27, // 8: flyteidl.core.TaskTemplate.id:type_name -> flyteidl.core.Identifier
	11, // 9: flyteidl.core.TaskTemplate.metadata:type_name -> flyteidl.core.TaskMetadata
	28, // 10: flyteidl.core.TaskTemplate.interface:type_name -> flyteidl.core.TypedInterface
	29, // 11: flyteidl.core.TaskTemplate.custom:type_name -> google.protobuf.Struct
	14, // 12: flyteidl.core.TaskTemplate.container:type_name -> flyteidl.core.Container
	17, // 13: flyteidl.core.TaskTemplate.k8s_pod:type_name -> flyteidl.core.K8sPod
	19, // 14: flyteidl.core.TaskTemplate.sql:type_name -> flyteidl.core.Sql
	30, // 15: flyteidl.core.TaskTemplate.security_context:type_name -> flyteidl.core.SecurityContext
	9,  // 16: flyteidl.core.TaskTemplate.extended_resources:type_name -> flyteidl.core.ExtendedResources
	22, // 17: flyteidl.core.TaskTemplate.config:type_name -> flyteidl.core.TaskTemplate.ConfigEntry
	7,  // 18: flyteidl.core.Container.resources:type_name -> flyteidl.core.Resources
	31, // 19: flyteidl.core.Container.env:type_name -> flyteidl.core.KeyValuePair
	31, // 20: flyteidl.core.Container.config:type_name -> flyteidl.core.KeyValuePair
	13, // 21: flyteidl.core.Container.ports:type_name -> flyteidl.core.ContainerPort
	16, // 22: flyteidl.core.Container.data_config:type_name -> flyteidl.core.DataLoadingConfig
	2,  // 23: flyteidl.core.Container.architecture:type_name -> flyteidl.core.Container.Architecture
	3,  // 24: flyteidl.core.IOStrategy.download_mode:type_name -> flyteidl.core.IOStrategy.DownloadMode
	4,  // 25: flyteidl.core.IOStrategy.upload_mode:type_name -> flyteidl.core.IOStrategy.UploadMode
	5,  // 26: flyteidl.core.DataLoadingConfig.format:type_name -> flyteidl.core.DataLoadingConfig.LiteralMapFormat
	15, // 27: flyteidl.core.DataLoadingConfig.io_strategy:type_name -> flyteidl.core.IOStrategy
	18, // 28: flyteidl.core.K8sPod.metadata:type_name -> flyteidl.core.K8sObjectMetadata
	29, // 29: flyteidl.core.K8sPod.pod_spec:type_name -> google.protobuf.Struct
	16, // 30: flyteidl.core.K8sPod.data_config:type_name -> flyteidl.core.DataLoadingConfig
	23, // 31: flyteidl.core.K8sObjectMetadata.labels:type_name -> flyteidl.core.K8sObjectMetadata.LabelsEntry
	24, // 32: flyteidl.core.K8sObjectMetadata.annotations:type_name -> flyteidl.core.K8sObjectMetadata.AnnotationsEntry
	6,  // 33: flyteidl.core.Sql.dialect:type_name -> flyteidl.core.Sql.Dialect
	0,  // 34: flyteidl.core.Resources.ResourceEntry.name:type_name -> flyteidl.core.Resources.ResourceName
	35, // [35:35] is the sub-list for method output_type
	35, // [35:35] is the sub-list for method input_type
	35, // [35:35] is the sub-list for extension type_name
	35, // [35:35] is the sub-list for extension extendee
	0,  // [0:35] is the sub-list for field type_name
}

func init() { file_flyteidl_core_tasks_proto_init() }
func file_flyteidl_core_tasks_proto_init() {
	if File_flyteidl_core_tasks_proto != nil {
		return
	}
	file_flyteidl_core_identifier_proto_init()
	file_flyteidl_core_interface_proto_init()
	file_flyteidl_core_literals_proto_init()
	file_flyteidl_core_security_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_flyteidl_core_tasks_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Resources); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_flyteidl_core_tasks_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GPUAccelerator); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_flyteidl_core_tasks_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExtendedResources); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_flyteidl_core_tasks_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RuntimeMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_flyteidl_core_tasks_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TaskMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_flyteidl_core_tasks_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TaskTemplate); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_flyteidl_core_tasks_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ContainerPort); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_flyteidl_core_tasks_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Container); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_flyteidl_core_tasks_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IOStrategy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_flyteidl_core_tasks_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DataLoadingConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_flyteidl_core_tasks_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*K8SPod); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_flyteidl_core_tasks_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*K8SObjectMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_flyteidl_core_tasks_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Sql); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_flyteidl_core_tasks_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Resources_ResourceEntry); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_flyteidl_core_tasks_proto_msgTypes[1].OneofWrappers = []interface{}{
		(*GPUAccelerator_Unpartitioned)(nil),
		(*GPUAccelerator_PartitionSize)(nil),
	}
	file_flyteidl_core_tasks_proto_msgTypes[4].OneofWrappers = []interface{}{
		(*TaskMetadata_Interruptible)(nil),
	}
	file_flyteidl_core_tasks_proto_msgTypes[5].OneofWrappers = []interface{}{
		(*TaskTemplate_Container)(nil),
		(*TaskTemplate_K8SPod)(nil),
		(*TaskTemplate_Sql)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_flyteidl_core_tasks_proto_rawDesc,
			NumEnums:      7,
			NumMessages:   18,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_flyteidl_core_tasks_proto_goTypes,
		DependencyIndexes: file_flyteidl_core_tasks_proto_depIdxs,
		EnumInfos:         file_flyteidl_core_tasks_proto_enumTypes,
		MessageInfos:      file_flyteidl_core_tasks_proto_msgTypes,
	}.Build()
	File_flyteidl_core_tasks_proto = out.File
	file_flyteidl_core_tasks_proto_rawDesc = nil
	file_flyteidl_core_tasks_proto_goTypes = nil
	file_flyteidl_core_tasks_proto_depIdxs = nil
}
