@flyteorg/flyteidl2
Version:
Compiled protocol buffers and gRPC service and connect clients/servers for Flyte IDLs
1,027 lines (911 loc) • 37.6 kB
text/typescript
// @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);