UNPKG

@flyteorg/flyteidl2

Version:

Compiled protocol buffers and gRPC service and connect clients/servers for Flyte IDLs

1,027 lines (911 loc) 37.6 kB
// @generated by protoc-gen-es v2.2.5 with parameter "target=ts,import_extension=.ts" // @generated from file flyteidl2/core/tasks.proto (package flyteidl2.core, syntax proto3) /* eslint-disable */ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1"; import type { Identifier } from "./identifier_pb.ts"; import { file_flyteidl2_core_identifier } from "./identifier_pb.ts"; import type { TypedInterface } from "./interface_pb.ts"; import { file_flyteidl2_core_interface } from "./interface_pb.ts"; import type { KeyValuePair, RetryStrategy } from "./literals_pb.ts"; import { file_flyteidl2_core_literals } from "./literals_pb.ts"; import type { SecurityContext } from "./security_pb.ts"; import { file_flyteidl2_core_security } from "./security_pb.ts"; import type { Duration } from "@bufbuild/protobuf/wkt"; import { file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_wrappers } from "@bufbuild/protobuf/wkt"; import type { JsonObject, Message } from "@bufbuild/protobuf"; /** * Describes the file flyteidl2/core/tasks.proto. */ export const file_flyteidl2_core_tasks: GenFile = /*@__PURE__*/ fileDesc("ChpmbHl0ZWlkbDIvY29yZS90YXNrcy5wcm90bxIOZmx5dGVpZGwyLmNvcmUitAIKCVJlc291cmNlcxI5CghyZXF1ZXN0cxgBIAMoCzInLmZseXRlaWRsMi5jb3JlLlJlc291cmNlcy5SZXNvdXJjZUVudHJ5EjcKBmxpbWl0cxgCIAMoCzInLmZseXRlaWRsMi5jb3JlLlJlc291cmNlcy5SZXNvdXJjZUVudHJ5GlQKDVJlc291cmNlRW50cnkSNAoEbmFtZRgBIAEoDjImLmZseXRlaWRsMi5jb3JlLlJlc291cmNlcy5SZXNvdXJjZU5hbWUSDQoFdmFsdWUYAiABKAkiXQoMUmVzb3VyY2VOYW1lEgsKB1VOS05PV04QABIHCgNDUFUQARIHCgNHUFUQAhIKCgZNRU1PUlkQAxILCgdTVE9SQUdFEAQSFQoRRVBIRU1FUkFMX1NUT1JBR0UQBSJrCg5HUFVBY2NlbGVyYXRvchIOCgZkZXZpY2UYASABKAkSFwoNdW5wYXJ0aXRpb25lZBgCIAEoCEgAEhgKDnBhcnRpdGlvbl9zaXplGAMgASgJSABCFgoUcGFydGl0aW9uX3NpemVfdmFsdWUiSgoMU2hhcmVkTWVtb3J5EhIKCm1vdW50X3BhdGgYASABKAkSEgoKbW91bnRfbmFtZRgCIAEoCRISCgpzaXplX2xpbWl0GAMgASgJIoEBChFFeHRlbmRlZFJlc291cmNlcxI3Cg9ncHVfYWNjZWxlcmF0b3IYASABKAsyHi5mbHl0ZWlkbDIuY29yZS5HUFVBY2NlbGVyYXRvchIzCg1zaGFyZWRfbWVtb3J5GAIgASgLMhwuZmx5dGVpZGwyLmNvcmUuU2hhcmVkTWVtb3J5IpYBCg9SdW50aW1lTWV0YWRhdGESOQoEdHlwZRgBIAEoDjIrLmZseXRlaWRsMi5jb3JlLlJ1bnRpbWVNZXRhZGF0YS5SdW50aW1lVHlwZRIPCgd2ZXJzaW9uGAIgASgJEg4KBmZsYXZvchgDIAEoCSInCgtSdW50aW1lVHlwZRIJCgVPVEhFUhAAEg0KCUZMWVRFX1NESxABItsECgxUYXNrTWV0YWRhdGESFAoMZGlzY292ZXJhYmxlGAEgASgIEjAKB3J1bnRpbWUYAiABKAsyHy5mbHl0ZWlkbDIuY29yZS5SdW50aW1lTWV0YWRhdGESKgoHdGltZW91dBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIuCgdyZXRyaWVzGAUgASgLMh0uZmx5dGVpZGwyLmNvcmUuUmV0cnlTdHJhdGVneRIZChFkaXNjb3ZlcnlfdmVyc2lvbhgGIAEoCRIgChhkZXByZWNhdGVkX2Vycm9yX21lc3NhZ2UYByABKAkSFwoNaW50ZXJydXB0aWJsZRgIIAEoCEgAEhoKEmNhY2hlX3NlcmlhbGl6YWJsZRgJIAEoCBI0CgR0YWdzGAsgAygLMiYuZmx5dGVpZGwyLmNvcmUuVGFza01ldGFkYXRhLlRhZ3NFbnRyeRIZChFwb2RfdGVtcGxhdGVfbmFtZRgMIAEoCRIfChdjYWNoZV9pZ25vcmVfaW5wdXRfdmFycxgNIAMoCRIQCghpc19lYWdlchgOIAEoCBIyCg5nZW5lcmF0ZXNfZGVjaxgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUSMwoIbWV0YWRhdGEYECABKAsyIS5mbHl0ZWlkbDIuY29yZS5LOHNPYmplY3RNZXRhZGF0YRorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIVChNpbnRlcnJ1cHRpYmxlX3ZhbHVlSgQIChALItcECgxUYXNrVGVtcGxhdGUSJgoCaWQYASABKAsyGi5mbHl0ZWlkbDIuY29yZS5JZGVudGlmaWVyEgwKBHR5cGUYAiABKAkSLgoIbWV0YWRhdGEYAyABKAsyHC5mbHl0ZWlkbDIuY29yZS5UYXNrTWV0YWRhdGESMQoJaW50ZXJmYWNlGAQgASgLMh4uZmx5dGVpZGwyLmNvcmUuVHlwZWRJbnRlcmZhY2USJwoGY3VzdG9tGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgljb250YWluZXIYBiABKAsyGS5mbHl0ZWlkbDIuY29yZS5Db250YWluZXJIABIpCgdrOHNfcG9kGBEgASgLMhYuZmx5dGVpZGwyLmNvcmUuSzhzUG9kSAASIgoDc3FsGBIgASgLMhMuZmx5dGVpZGwyLmNvcmUuU3FsSAASGQoRdGFza190eXBlX3ZlcnNpb24YByABKAUSOQoQc2VjdXJpdHlfY29udGV4dBgIIAEoCzIfLmZseXRlaWRsMi5jb3JlLlNlY3VyaXR5Q29udGV4dBI9ChJleHRlbmRlZF9yZXNvdXJjZXMYCSABKAsyIS5mbHl0ZWlkbDIuY29yZS5FeHRlbmRlZFJlc291cmNlcxI4CgZjb25maWcYECADKAsyKC5mbHl0ZWlkbDIuY29yZS5UYXNrVGVtcGxhdGUuQ29uZmlnRW50cnkaLQoLQ29uZmlnRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIICgZ0YXJnZXQiNQoNQ29udGFpbmVyUG9ydBIWCg5jb250YWluZXJfcG9ydBgBIAEoDRIMCgRuYW1lGAIgASgJIrMDCglDb250YWluZXISDQoFaW1hZ2UYASABKAkSDwoHY29tbWFuZBgCIAMoCRIMCgRhcmdzGAMgAygJEiwKCXJlc291cmNlcxgEIAEoCzIZLmZseXRlaWRsMi5jb3JlLlJlc291cmNlcxIpCgNlbnYYBSADKAsyHC5mbHl0ZWlkbDIuY29yZS5LZXlWYWx1ZVBhaXISMAoGY29uZmlnGAYgAygLMhwuZmx5dGVpZGwyLmNvcmUuS2V5VmFsdWVQYWlyQgIYARIsCgVwb3J0cxgHIAMoCzIdLmZseXRlaWRsMi5jb3JlLkNvbnRhaW5lclBvcnQSNgoLZGF0YV9jb25maWcYCSABKAsyIS5mbHl0ZWlkbDIuY29yZS5EYXRhTG9hZGluZ0NvbmZpZxI8CgxhcmNoaXRlY3R1cmUYCiABKA4yJi5mbHl0ZWlkbDIuY29yZS5Db250YWluZXIuQXJjaGl0ZWN0dXJlIkkKDEFyY2hpdGVjdHVyZRILCgdVTktOT1dOEAASCQoFQU1ENjQQARIJCgVBUk02NBACEgoKBkFSTV9WNhADEgoKBkFSTV9WNxAEIp0CCgpJT1N0cmF0ZWd5Ej4KDWRvd25sb2FkX21vZGUYASABKA4yJy5mbHl0ZWlkbDIuY29yZS5JT1N0cmF0ZWd5LkRvd25sb2FkTW9kZRI6Cgt1cGxvYWRfbW9kZRgCIAEoDjIlLmZseXRlaWRsMi5jb3JlLklPU3RyYXRlZ3kuVXBsb2FkTW9kZSJMCgxEb3dubG9hZE1vZGUSEgoORE9XTkxPQURfRUFHRVIQABITCg9ET1dOTE9BRF9TVFJFQU0QARITCg9ET19OT1RfRE9XTkxPQUQQAiJFCgpVcGxvYWRNb2RlEhIKDlVQTE9BRF9PTl9FWElUEAASEAoMVVBMT0FEX0VBR0VSEAESEQoNRE9fTk9UX1VQTE9BRBACIvUBChFEYXRhTG9hZGluZ0NvbmZpZxIPCgdlbmFibGVkGAEgASgIEhIKCmlucHV0X3BhdGgYAiABKAkSEwoLb3V0cHV0X3BhdGgYAyABKAkSQgoGZm9ybWF0GAQgASgOMjIuZmx5dGVpZGwyLmNvcmUuRGF0YUxvYWRpbmdDb25maWcuTGl0ZXJhbE1hcEZvcm1hdBIvCgtpb19zdHJhdGVneRgFIAEoCzIaLmZseXRlaWRsMi5jb3JlLklPU3RyYXRlZ3kiMQoQTGl0ZXJhbE1hcEZvcm1hdBIICgRKU09OEAASCAoEWUFNTBABEgkKBVBST1RPEAIiwAEKBks4c1BvZBIzCghtZXRhZGF0YRgBIAEoCzIhLmZseXRlaWRsMi5jb3JlLks4c09iamVjdE1ldGFkYXRhEikKCHBvZF9zcGVjGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI2CgtkYXRhX2NvbmZpZxgDIAEoCzIhLmZseXRlaWRsMi5jb3JlLkRhdGFMb2FkaW5nQ29uZmlnEh4KFnByaW1hcnlfY29udGFpbmVyX25hbWUYBCABKAki/gEKEUs4c09iamVjdE1ldGFkYXRhEj0KBmxhYmVscxgBIAMoCzItLmZseXRlaWRsMi5jb3JlLks4c09iamVjdE1ldGFkYXRhLkxhYmVsc0VudHJ5EkcKC2Fubm90YXRpb25zGAIgAygLMjIuZmx5dGVpZGwyLmNvcmUuSzhzT2JqZWN0TWV0YWRhdGEuQW5ub3RhdGlvbnNFbnRyeRotCgtMYWJlbHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJ/CgNTcWwSEQoJc3RhdGVtZW50GAEgASgJEiwKB2RpYWxlY3QYAiABKA4yGy5mbHl0ZWlkbDIuY29yZS5TcWwuRGlhbGVjdCI3CgdEaWFsZWN0Eg0KCVVOREVGSU5FRBAAEggKBEFOU0kQARIICgRISVZFEAISCQoFT1RIRVIQA0KvAQoSY29tLmZseXRlaWRsMi5jb3JlQgpUYXNrc1Byb3RvSAJQAVoyZ2l0aHViLmNvbS9mbHl0ZW9yZy9mbHl0ZS92Mi9nZW4vZ28vZmx5dGVpZGwyL2NvcmWiAgNGQ1iqAg5GbHl0ZWlkbDIuQ29yZcoCDkZseXRlaWRsMlxDb3Jl4gIaRmx5dGVpZGwyXENvcmVcR1BCTWV0YWRhdGHqAg9GbHl0ZWlkbDI6OkNvcmViBnByb3RvMw", [file_flyteidl2_core_identifier, file_flyteidl2_core_interface, file_flyteidl2_core_literals, file_flyteidl2_core_security, file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_wrappers]); /** * A customizable interface to convey resources requested for a container. This can be interpreted differently for different * container engines. * * @generated from message flyteidl2.core.Resources */ export type Resources = Message<"flyteidl2.core.Resources"> & { /** * The desired set of resources requested. ResourceNames must be unique within the list. * * @generated from field: repeated flyteidl2.core.Resources.ResourceEntry requests = 1; */ requests: Resources_ResourceEntry[]; /** * Defines a set of bounds (e.g. min/max) within which the task can reliably run. ResourceNames must be unique * within the list. * * @generated from field: repeated flyteidl2.core.Resources.ResourceEntry limits = 2; */ limits: Resources_ResourceEntry[]; }; /** * Describes the message flyteidl2.core.Resources. * Use `create(ResourcesSchema)` to create a new message. */ export const ResourcesSchema: GenMessage<Resources> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 0); /** * Encapsulates a resource name and value. * * @generated from message flyteidl2.core.Resources.ResourceEntry */ export type Resources_ResourceEntry = Message<"flyteidl2.core.Resources.ResourceEntry"> & { /** * Resource name. * * @generated from field: flyteidl2.core.Resources.ResourceName name = 1; */ name: Resources_ResourceName; /** * Value must be a valid k8s quantity. See * https://github.com/kubernetes/apimachinery/blob/master/pkg/api/resource/quantity.go#L30-L80 * * @generated from field: string value = 2; */ value: string; }; /** * Describes the message flyteidl2.core.Resources.ResourceEntry. * Use `create(Resources_ResourceEntrySchema)` to create a new message. */ export const Resources_ResourceEntrySchema: GenMessage<Resources_ResourceEntry> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 0, 0); /** * Known resource names. * * @generated from enum flyteidl2.core.Resources.ResourceName */ export enum Resources_ResourceName { /** * @generated from enum value: UNKNOWN = 0; */ UNKNOWN = 0, /** * @generated from enum value: CPU = 1; */ CPU = 1, /** * @generated from enum value: GPU = 2; */ GPU = 2, /** * @generated from enum value: MEMORY = 3; */ MEMORY = 3, /** * @generated from enum value: STORAGE = 4; */ STORAGE = 4, /** * For Kubernetes-based deployments, pods use ephemeral local storage for scratch space, caching, and for logs. * * @generated from enum value: EPHEMERAL_STORAGE = 5; */ EPHEMERAL_STORAGE = 5, } /** * Describes the enum flyteidl2.core.Resources.ResourceName. */ export const Resources_ResourceNameSchema: GenEnum<Resources_ResourceName> = /*@__PURE__*/ enumDesc(file_flyteidl2_core_tasks, 0, 0); /** * 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. * * @generated from message flyteidl2.core.GPUAccelerator */ export type GPUAccelerator = Message<"flyteidl2.core.GPUAccelerator"> & { /** * 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. * * @generated from field: string device = 1; */ device: string; /** * @generated from oneof flyteidl2.core.GPUAccelerator.partition_size_value */ partitionSizeValue: { /** * @generated from field: bool unpartitioned = 2; */ value: boolean; case: "unpartitioned"; } | { /** * 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. * * @generated from field: string partition_size = 3; */ value: string; case: "partitionSize"; } | { case: undefined; value?: undefined }; }; /** * Describes the message flyteidl2.core.GPUAccelerator. * Use `create(GPUAcceleratorSchema)` to create a new message. */ export const GPUAcceleratorSchema: GenMessage<GPUAccelerator> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 1); /** * Metadata associated with configuring a shared memory volume for a task. * * @generated from message flyteidl2.core.SharedMemory */ export type SharedMemory = Message<"flyteidl2.core.SharedMemory"> & { /** * Mount path to place in container * * @generated from field: string mount_path = 1; */ mountPath: string; /** * Name for volume * * @generated from field: string mount_name = 2; */ mountName: string; /** * Size limit for shared memory. If not set, then the shared memory is equal * to the allocated memory. * +optional * * @generated from field: string size_limit = 3; */ sizeLimit: string; }; /** * Describes the message flyteidl2.core.SharedMemory. * Use `create(SharedMemorySchema)` to create a new message. */ export const SharedMemorySchema: GenMessage<SharedMemory> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 2); /** * Encapsulates all non-standard resources, not captured by v1.ResourceRequirements, to * allocate to a task. * * @generated from message flyteidl2.core.ExtendedResources */ export type ExtendedResources = Message<"flyteidl2.core.ExtendedResources"> & { /** * GPU accelerator to select for task. Contains information about device type, and * for multi-instance GPUs, the partition size to use. * * @generated from field: flyteidl2.core.GPUAccelerator gpu_accelerator = 1; */ gpuAccelerator?: GPUAccelerator; /** * @generated from field: flyteidl2.core.SharedMemory shared_memory = 2; */ sharedMemory?: SharedMemory; }; /** * Describes the message flyteidl2.core.ExtendedResources. * Use `create(ExtendedResourcesSchema)` to create a new message. */ export const ExtendedResourcesSchema: GenMessage<ExtendedResources> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 3); /** * Runtime information. This is loosely defined to allow for extensibility. * * @generated from message flyteidl2.core.RuntimeMetadata */ export type RuntimeMetadata = Message<"flyteidl2.core.RuntimeMetadata"> & { /** * Type of runtime. * * @generated from field: flyteidl2.core.RuntimeMetadata.RuntimeType type = 1; */ type: RuntimeMetadata_RuntimeType; /** * Version of the runtime. All versions should be backward compatible. However, certain cases call for version * checks to ensure tighter validation or setting expectations. * * @generated from field: string version = 2; */ version: string; /** * +optional It can be used to provide extra information about the runtime (e.g. python, golang... etc.). * * @generated from field: string flavor = 3; */ flavor: string; }; /** * Describes the message flyteidl2.core.RuntimeMetadata. * Use `create(RuntimeMetadataSchema)` to create a new message. */ export const RuntimeMetadataSchema: GenMessage<RuntimeMetadata> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 4); /** * @generated from enum flyteidl2.core.RuntimeMetadata.RuntimeType */ export enum RuntimeMetadata_RuntimeType { /** * @generated from enum value: OTHER = 0; */ OTHER = 0, /** * @generated from enum value: FLYTE_SDK = 1; */ FLYTE_SDK = 1, } /** * Describes the enum flyteidl2.core.RuntimeMetadata.RuntimeType. */ export const RuntimeMetadata_RuntimeTypeSchema: GenEnum<RuntimeMetadata_RuntimeType> = /*@__PURE__*/ enumDesc(file_flyteidl2_core_tasks, 4, 0); /** * Task Metadata * * @generated from message flyteidl2.core.TaskMetadata */ export type TaskMetadata = Message<"flyteidl2.core.TaskMetadata"> & { /** * Indicates whether the system should attempt to lookup this task's output to avoid duplication of work. * * @generated from field: bool discoverable = 1; */ discoverable: boolean; /** * Runtime information about the task. * * @generated from field: flyteidl2.core.RuntimeMetadata runtime = 2; */ runtime?: RuntimeMetadata; /** * The overall timeout of a task including user-triggered retries. * * @generated from field: google.protobuf.Duration timeout = 4; */ timeout?: Duration; /** * Number of retries per task. * * @generated from field: flyteidl2.core.RetryStrategy retries = 5; */ retries?: RetryStrategy; /** * Indicates a logical version to apply to this task for the purpose of discovery. * * @generated from field: string discovery_version = 6; */ discoveryVersion: string; /** * 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. * * @generated from field: string deprecated_error_message = 7; */ deprecatedErrorMessage: string; /** * Identify whether task is interruptible * * @generated from oneof flyteidl2.core.TaskMetadata.interruptible_value */ interruptibleValue: { /** * @generated from field: bool interruptible = 8; */ value: boolean; case: "interruptible"; } | { case: undefined; value?: undefined }; /** * Indicates whether the system should attempt to execute discoverable instances in serial to avoid duplicate work * * @generated from field: bool cache_serializable = 9; */ cacheSerializable: boolean; /** * Arbitrary tags that allow users and the platform to store small but arbitrary labels * * @generated from field: map<string, string> tags = 11; */ tags: { [key: string]: string }; /** * 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. * * @generated from field: string pod_template_name = 12; */ podTemplateName: string; /** * cache_ignore_input_vars is the input variables that should not be included when calculating hash for cache. * * @generated from field: repeated string cache_ignore_input_vars = 13; */ cacheIgnoreInputVars: string[]; /** * is_eager indicates whether the task is eager or not. * This would be used by CreateTask endpoint. * * @generated from field: bool is_eager = 14; */ isEager: boolean; /** * Indicates whether the task will generate a deck when it finishes executing. * The BoolValue can have three states: * - nil: The value is not set. * - true: The task will generate a deck. * - false: The task will not generate a deck. * * @generated from field: google.protobuf.BoolValue generates_deck = 15; */ generatesDeck?: boolean; /** * Metadata applied to task pods or task CR objects. * In flytekit, labels and annotations resulting in this metadata field * are provided via `@task(labels=..., annotations=...)`. * For tasks backed by pods like PythonFunctionTask, these take precedence * over the metadata provided via `@task(pod_template=PodTemplate(labels=...))` which are transported * in the K8sPod message. For tasks backed by CRDs, this metadata is applied to * the CR object itself while the metadata in the pod template/K8sPod is applied * to the pod template spec of the CR object. * * @generated from field: flyteidl2.core.K8sObjectMetadata metadata = 16; */ metadata?: K8sObjectMetadata; }; /** * Describes the message flyteidl2.core.TaskMetadata. * Use `create(TaskMetadataSchema)` to create a new message. */ export const TaskMetadataSchema: GenMessage<TaskMetadata> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 5); /** * A Task structure that uniquely identifies a task in the system * Tasks are registered as a first step in the system. * * @generated from message flyteidl2.core.TaskTemplate */ export type TaskTemplate = Message<"flyteidl2.core.TaskTemplate"> & { /** * Auto generated taskId by the system. Task Id uniquely identifies this task globally. * * @generated from field: flyteidl2.core.Identifier id = 1; */ id?: Identifier; /** * 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. * * @generated from field: string type = 2; */ type: string; /** * Extra metadata about the task. * * @generated from field: flyteidl2.core.TaskMetadata metadata = 3; */ metadata?: TaskMetadata; /** * 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. * * @generated from field: flyteidl2.core.TypedInterface interface = 4; */ interface?: TypedInterface; /** * Custom data about the task. This is extensible to allow various plugins in the system. * * @generated from field: google.protobuf.Struct custom = 5; */ custom?: JsonObject; /** * 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. * * @generated from oneof flyteidl2.core.TaskTemplate.target */ target: { /** * @generated from field: flyteidl2.core.Container container = 6; */ value: Container; case: "container"; } | { /** * @generated from field: flyteidl2.core.K8sPod k8s_pod = 17; */ value: K8sPod; case: "k8sPod"; } | { /** * @generated from field: flyteidl2.core.Sql sql = 18; */ value: Sql; case: "sql"; } | { case: undefined; value?: undefined }; /** * This can be used to customize task handling at execution time for the same task type. * * @generated from field: int32 task_type_version = 7; */ taskTypeVersion: number; /** * security_context encapsulates security attributes requested to run this task. * * @generated from field: flyteidl2.core.SecurityContext security_context = 8; */ securityContext?: SecurityContext; /** * Encapsulates all non-standard resources, not captured by * v1.ResourceRequirements, to allocate to a task. * * @generated from field: flyteidl2.core.ExtendedResources extended_resources = 9; */ extendedResources?: ExtendedResources; /** * 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 * * @generated from field: map<string, string> config = 16; */ config: { [key: string]: string }; }; /** * Describes the message flyteidl2.core.TaskTemplate. * Use `create(TaskTemplateSchema)` to create a new message. */ export const TaskTemplateSchema: GenMessage<TaskTemplate> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 6); /** * Defines port properties for a container. * * @generated from message flyteidl2.core.ContainerPort */ export type ContainerPort = Message<"flyteidl2.core.ContainerPort"> & { /** * Number of port to expose on the pod's IP address. * This must be a valid port number, 0 < x < 65536. * * @generated from field: uint32 container_port = 1; */ containerPort: number; /** * Name of the port to expose on the pod's IP address. * * @generated from field: string name = 2; */ name: string; }; /** * Describes the message flyteidl2.core.ContainerPort. * Use `create(ContainerPortSchema)` to create a new message. */ export const ContainerPortSchema: GenMessage<ContainerPort> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 7); /** * @generated from message flyteidl2.core.Container */ export type Container = Message<"flyteidl2.core.Container"> & { /** * Container image url. Eg: docker/redis:latest * * @generated from field: string image = 1; */ image: string; /** * Command to be executed, if not provided, the default entrypoint in the container image will be used. * * @generated from field: repeated string command = 2; */ command: string[]; /** * 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. * * @generated from field: repeated string args = 3; */ args: string[]; /** * Container resources requirement as specified by the container engine. * * @generated from field: flyteidl2.core.Resources resources = 4; */ resources?: Resources; /** * Environment variables will be set as the container is starting up. * * @generated from field: repeated flyteidl2.core.KeyValuePair env = 5; */ env: KeyValuePair[]; /** * Allows extra configs to be available for the container. * TODO: elaborate on how configs will become available. * Deprecated, please use TaskTemplate.config instead. * * @generated from field: repeated flyteidl2.core.KeyValuePair config = 6 [deprecated = true]; * @deprecated */ config: KeyValuePair[]; /** * 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 * * @generated from field: repeated flyteidl2.core.ContainerPort ports = 7; */ ports: ContainerPort[]; /** * 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 * * @generated from field: flyteidl2.core.DataLoadingConfig data_config = 9; */ dataConfig?: DataLoadingConfig; /** * @generated from field: flyteidl2.core.Container.Architecture architecture = 10; */ architecture: Container_Architecture; }; /** * Describes the message flyteidl2.core.Container. * Use `create(ContainerSchema)` to create a new message. */ export const ContainerSchema: GenMessage<Container> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 8); /** * Architecture-type the container image supports. * * @generated from enum flyteidl2.core.Container.Architecture */ export enum Container_Architecture { /** * @generated from enum value: UNKNOWN = 0; */ UNKNOWN = 0, /** * @generated from enum value: AMD64 = 1; */ AMD64 = 1, /** * @generated from enum value: ARM64 = 2; */ ARM64 = 2, /** * @generated from enum value: ARM_V6 = 3; */ ARM_V6 = 3, /** * @generated from enum value: ARM_V7 = 4; */ ARM_V7 = 4, } /** * Describes the enum flyteidl2.core.Container.Architecture. */ export const Container_ArchitectureSchema: GenEnum<Container_Architecture> = /*@__PURE__*/ enumDesc(file_flyteidl2_core_tasks, 8, 0); /** * Strategy to use when dealing with Blob, Schema, or multipart blob data (large datasets) * * @generated from message flyteidl2.core.IOStrategy */ export type IOStrategy = Message<"flyteidl2.core.IOStrategy"> & { /** * Mode to use to manage downloads * * @generated from field: flyteidl2.core.IOStrategy.DownloadMode download_mode = 1; */ downloadMode: IOStrategy_DownloadMode; /** * Mode to use to manage uploads * * @generated from field: flyteidl2.core.IOStrategy.UploadMode upload_mode = 2; */ uploadMode: IOStrategy_UploadMode; }; /** * Describes the message flyteidl2.core.IOStrategy. * Use `create(IOStrategySchema)` to create a new message. */ export const IOStrategySchema: GenMessage<IOStrategy> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 9); /** * Mode to use for downloading * * @generated from enum flyteidl2.core.IOStrategy.DownloadMode */ export enum IOStrategy_DownloadMode { /** * All data will be downloaded before the main container is executed * * @generated from enum value: DOWNLOAD_EAGER = 0; */ DOWNLOAD_EAGER = 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 * * @generated from enum value: DOWNLOAD_STREAM = 1; */ DOWNLOAD_STREAM = 1, /** * Large objects (offloaded) will not be downloaded * * @generated from enum value: DO_NOT_DOWNLOAD = 2; */ DO_NOT_DOWNLOAD = 2, } /** * Describes the enum flyteidl2.core.IOStrategy.DownloadMode. */ export const IOStrategy_DownloadModeSchema: GenEnum<IOStrategy_DownloadMode> = /*@__PURE__*/ enumDesc(file_flyteidl2_core_tasks, 9, 0); /** * Mode to use for uploading * * @generated from enum flyteidl2.core.IOStrategy.UploadMode */ export enum IOStrategy_UploadMode { /** * All data will be uploaded after the main container exits * * @generated from enum value: UPLOAD_ON_EXIT = 0; */ UPLOAD_ON_EXIT = 0, /** * Data will be uploaded as it appears. Refer to protocol specification for details * * @generated from enum value: UPLOAD_EAGER = 1; */ UPLOAD_EAGER = 1, /** * Data will not be uploaded, only references will be written * * @generated from enum value: DO_NOT_UPLOAD = 2; */ DO_NOT_UPLOAD = 2, } /** * Describes the enum flyteidl2.core.IOStrategy.UploadMode. */ export const IOStrategy_UploadModeSchema: GenEnum<IOStrategy_UploadMode> = /*@__PURE__*/ enumDesc(file_flyteidl2_core_tasks, 9, 1); /** * 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. * * @generated from message flyteidl2.core.DataLoadingConfig */ export type DataLoadingConfig = Message<"flyteidl2.core.DataLoadingConfig"> & { /** * Flag enables DataLoading Config. If this is not set, data loading will not be used! * * @generated from field: bool enabled = 1; */ enabled: boolean; /** * 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 * * @generated from field: string input_path = 2; */ inputPath: string; /** * 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 * * @generated from field: string output_path = 3; */ outputPath: string; /** * 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 * * @generated from field: flyteidl2.core.DataLoadingConfig.LiteralMapFormat format = 4; */ format: DataLoadingConfig_LiteralMapFormat; /** * @generated from field: flyteidl2.core.IOStrategy io_strategy = 5; */ ioStrategy?: IOStrategy; }; /** * Describes the message flyteidl2.core.DataLoadingConfig. * Use `create(DataLoadingConfigSchema)` to create a new message. */ export const DataLoadingConfigSchema: GenMessage<DataLoadingConfig> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 10); /** * 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) * * @generated from enum flyteidl2.core.DataLoadingConfig.LiteralMapFormat */ export enum DataLoadingConfig_LiteralMapFormat { /** * 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 * * @generated from enum value: JSON = 0; */ JSON = 0, /** * @generated from enum value: YAML = 1; */ YAML = 1, /** * Proto is a serialized binary of `core.LiteralMap` defined in flyteidl/core * * @generated from enum value: PROTO = 2; */ PROTO = 2, } /** * Describes the enum flyteidl2.core.DataLoadingConfig.LiteralMapFormat. */ export const DataLoadingConfig_LiteralMapFormatSchema: GenEnum<DataLoadingConfig_LiteralMapFormat> = /*@__PURE__*/ enumDesc(file_flyteidl2_core_tasks, 10, 0); /** * Defines a pod spec and additional pod metadata that is created when a task is executed. * * @generated from message flyteidl2.core.K8sPod */ export type K8sPod = Message<"flyteidl2.core.K8sPod"> & { /** * Contains additional metadata for building a kubernetes pod. * * @generated from field: flyteidl2.core.K8sObjectMetadata metadata = 1; */ metadata?: K8sObjectMetadata; /** * 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 * * @generated from field: google.protobuf.Struct pod_spec = 2; */ podSpec?: JsonObject; /** * 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 * * @generated from field: flyteidl2.core.DataLoadingConfig data_config = 3; */ dataConfig?: DataLoadingConfig; /** * Defines the primary container name when pod template override is executed. * * @generated from field: string primary_container_name = 4; */ primaryContainerName: string; }; /** * Describes the message flyteidl2.core.K8sPod. * Use `create(K8sPodSchema)` to create a new message. */ export const K8sPodSchema: GenMessage<K8sPod> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 11); /** * Metadata for building a kubernetes object when a task is executed. * * @generated from message flyteidl2.core.K8sObjectMetadata */ export type K8sObjectMetadata = Message<"flyteidl2.core.K8sObjectMetadata"> & { /** * Optional labels to add to the pod definition. * * @generated from field: map<string, string> labels = 1; */ labels: { [key: string]: string }; /** * Optional annotations to add to the pod definition. * * @generated from field: map<string, string> annotations = 2; */ annotations: { [key: string]: string }; }; /** * Describes the message flyteidl2.core.K8sObjectMetadata. * Use `create(K8sObjectMetadataSchema)` to create a new message. */ export const K8sObjectMetadataSchema: GenMessage<K8sObjectMetadata> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 12); /** * Sql represents a generic sql workload with a statement and dialect. * * @generated from message flyteidl2.core.Sql */ export type Sql = Message<"flyteidl2.core.Sql"> & { /** * The actual query to run, the query can have templated parameters. * We use Flyte's Golang templating format for Query templating. * For example, * insert overwrite directory '{{ .rawOutputDataPrefix }}' stored as parquet * select * * from my_table * where ds = '{{ .Inputs.ds }}' * * @generated from field: string statement = 1; */ statement: string; /** * @generated from field: flyteidl2.core.Sql.Dialect dialect = 2; */ dialect: Sql_Dialect; }; /** * Describes the message flyteidl2.core.Sql. * Use `create(SqlSchema)` to create a new message. */ export const SqlSchema: GenMessage<Sql> = /*@__PURE__*/ messageDesc(file_flyteidl2_core_tasks, 13); /** * 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. * * @generated from enum flyteidl2.core.Sql.Dialect */ export enum Sql_Dialect { /** * @generated from enum value: UNDEFINED = 0; */ UNDEFINED = 0, /** * @generated from enum value: ANSI = 1; */ ANSI = 1, /** * @generated from enum value: HIVE = 2; */ HIVE = 2, /** * @generated from enum value: OTHER = 3; */ OTHER = 3, } /** * Describes the enum flyteidl2.core.Sql.Dialect. */ export const Sql_DialectSchema: GenEnum<Sql_Dialect> = /*@__PURE__*/ enumDesc(file_flyteidl2_core_tasks, 13, 0);