IDL for Flyte Platform containing protobuf specifications, gRPC API definitions, and generated clients for multiple languages
—
The AdminService provides the primary interface for managing Flyte resources, offering comprehensive CRUD operations for tasks, workflows, launch plans, executions, and projects. This service handles the complete lifecycle management of Flyte entities and serves as the main integration point for Flyte administrators and applications.
Create, retrieve, update, and list task definitions. Tasks are the fundamental execution units in Flyte workflows.
def CreateTask(request: TaskCreateRequest) -> TaskCreateResponse:
"""
Create a new task definition.
Args:
request: TaskCreateRequest containing task identifier and specification
Returns:
TaskCreateResponse with creation status
Raises:
ALREADY_EXISTS: Task with the same identifier already exists
INVALID_ARGUMENT: Invalid task specification
"""
def GetTask(request: ObjectGetRequest) -> Task:
"""
Retrieve a task by identifier.
Args:
request: ObjectGetRequest with task identifier
Returns:
Task entity with complete specification and closure
Raises:
NOT_FOUND: Task with specified identifier does not exist
"""
def ListTasks(request: ResourceListRequest) -> TaskList:
"""
List tasks with filtering and pagination.
Args:
request: ResourceListRequest with filters, sorting, and pagination
Returns:
TaskList with matching tasks and pagination metadata
"""
def ListTaskIds(request: NamedEntityIdentifierListRequest) -> NamedEntityIdentifierList:
"""
List task identifiers with minimal metadata.
Args:
request: NamedEntityIdentifierListRequest with filters and pagination
Returns:
NamedEntityIdentifierList with task identifiers only
"""Manage workflow definitions including creation, retrieval, and listing with comprehensive filtering capabilities.
def CreateWorkflow(request: WorkflowCreateRequest) -> WorkflowCreateResponse:
"""
Create a new workflow definition.
Args:
request: WorkflowCreateRequest containing workflow identifier and specification
Returns:
WorkflowCreateResponse with creation status
Raises:
ALREADY_EXISTS: Workflow with the same identifier already exists
INVALID_ARGUMENT: Invalid workflow specification
"""
def GetWorkflow(request: ObjectGetRequest) -> Workflow:
"""
Retrieve a workflow by identifier.
Args:
request: ObjectGetRequest with workflow identifier
Returns:
Workflow entity with complete specification and closure
Raises:
NOT_FOUND: Workflow with specified identifier does not exist
"""
def ListWorkflows(request: ResourceListRequest) -> WorkflowList:
"""
List workflows with filtering and pagination.
Args:
request: ResourceListRequest with filters, sorting, and pagination
Returns:
WorkflowList with matching workflows and pagination metadata
"""
def ListWorkflowIds(request: NamedEntityIdentifierListRequest) -> NamedEntityIdentifierList:
"""
List workflow identifiers with minimal metadata.
Args:
request: NamedEntityIdentifierListRequest with filters and pagination
Returns:
NamedEntityIdentifierList with workflow identifiers only
"""Handle launch plan lifecycle including creation, updates, activation state management, and listing.
def CreateLaunchPlan(request: LaunchPlanCreateRequest) -> LaunchPlanCreateResponse:
"""
Create a new launch plan.
Args:
request: LaunchPlanCreateRequest with launch plan specification
Returns:
LaunchPlanCreateResponse with creation status
"""
def GetLaunchPlan(request: ObjectGetRequest) -> LaunchPlan:
"""
Retrieve a launch plan by identifier.
Args:
request: ObjectGetRequest with launch plan identifier
Returns:
LaunchPlan entity with specification and current state
"""
def GetActiveLaunchPlan(request: ActiveLaunchPlanRequest) -> LaunchPlan:
"""
Get the currently active launch plan for a workflow.
Args:
request: ActiveLaunchPlanRequest with workflow identifier
Returns:
LaunchPlan that is currently active for the workflow
"""
def ListActiveLaunchPlans(request: ActiveLaunchPlanListRequest) -> LaunchPlanList:
"""
List active launch plans with filtering.
Args:
request: ActiveLaunchPlanListRequest with filters and pagination
Returns:
LaunchPlanList containing active launch plans
"""
def ListLaunchPlans(request: ResourceListRequest) -> LaunchPlanList:
"""
List launch plans with filtering and pagination.
Args:
request: ResourceListRequest with filters, sorting, and pagination
Returns:
LaunchPlanList with matching launch plans and pagination metadata
"""
def ListLaunchPlanIds(request: NamedEntityIdentifierListRequest) -> NamedEntityIdentifierList:
"""
List launch plan identifiers with minimal metadata.
Args:
request: NamedEntityIdentifierListRequest with filters and pagination
Returns:
NamedEntityIdentifierList with launch plan identifiers only
"""
def UpdateLaunchPlan(request: LaunchPlanUpdateRequest) -> LaunchPlanUpdateResponse:
"""
Update launch plan state (activate/deactivate).
Args:
request: LaunchPlanUpdateRequest with identifier and state change
Returns:
LaunchPlanUpdateResponse with update status
"""Comprehensive execution lifecycle management including creation, monitoring, control operations, and data retrieval.
def CreateExecution(request: ExecutionCreateRequest) -> ExecutionCreateResponse:
"""
Start a new workflow execution.
Args:
request: ExecutionCreateRequest with launch plan or workflow reference and inputs
Returns:
ExecutionCreateResponse with execution identifier and initial status
Raises:
INVALID_ARGUMENT: Invalid execution specification or inputs
RESOURCE_EXHAUSTED: Execution quota exceeded
"""
def RelaunchExecution(request: ExecutionRelaunchRequest) -> ExecutionCreateResponse:
"""
Relaunch an existing execution with the same or modified inputs.
Args:
request: ExecutionRelaunchRequest with original execution reference
Returns:
ExecutionCreateResponse with new execution details
"""
def RecoverExecution(request: ExecutionRecoverRequest) -> ExecutionCreateResponse:
"""
Recover a failed execution from the point of failure.
Args:
request: ExecutionRecoverRequest with failed execution reference
Returns:
ExecutionCreateResponse with recovered execution details
"""
def GetExecution(request: WorkflowExecutionGetRequest) -> Execution:
"""
Retrieve execution details including current state and metadata.
Args:
request: WorkflowExecutionGetRequest with execution identifier
Returns:
Execution entity with complete status and metadata
Raises:
NOT_FOUND: Execution with specified identifier does not exist
"""
def UpdateExecution(request: ExecutionUpdateRequest) -> ExecutionUpdateResponse:
"""
Update execution metadata and state.
Args:
request: ExecutionUpdateRequest with execution identifier and updates
Returns:
ExecutionUpdateResponse with update status
"""
def GetExecutionData(request: WorkflowExecutionGetDataRequest) -> WorkflowExecutionGetDataResponse:
"""
Retrieve execution inputs, outputs, and intermediate data.
Args:
request: WorkflowExecutionGetDataRequest with execution identifier
Returns:
WorkflowExecutionGetDataResponse with input/output literals and metadata
"""
def ListExecutions(request: ResourceListRequest) -> ExecutionList:
"""
List executions with comprehensive filtering and pagination.
Args:
request: ResourceListRequest with filters, sorting, and pagination
Returns:
ExecutionList with matching executions and pagination metadata
"""
def TerminateExecution(request: ExecutionTerminateRequest) -> ExecutionTerminateResponse:
"""
Terminate a running execution.
Args:
request: ExecutionTerminateRequest with execution identifier and cause
Returns:
ExecutionTerminateResponse with termination status
Raises:
FAILED_PRECONDITION: Execution is not in a terminable state
"""Monitor and retrieve detailed information about individual node executions within workflows.
def GetNodeExecution(request: NodeExecutionGetRequest) -> NodeExecution:
"""
Get detailed information about a specific node execution.
Args:
request: NodeExecutionGetRequest with node execution identifier
Returns:
NodeExecution with state, timing, and metadata
"""
def GetNodeExecutionData(request: NodeExecutionGetDataRequest) -> NodeExecutionGetDataResponse:
"""
Retrieve input and output data for a node execution.
Args:
request: NodeExecutionGetDataRequest with node execution identifier
Returns:
NodeExecutionGetDataResponse with input/output literals
"""
def GetDynamicNodeWorkflow(request: GetDynamicNodeWorkflowRequest) -> DynamicNodeWorkflowResponse:
"""
Retrieve the dynamically generated workflow for a dynamic node.
Args:
request: GetDynamicNodeWorkflowRequest with dynamic node execution identifier
Returns:
DynamicNodeWorkflowResponse containing the generated workflow definition
"""
def ListNodeExecutions(request: NodeExecutionListRequest) -> NodeExecutionList:
"""
List node executions for a workflow execution.
Args:
request: NodeExecutionListRequest with parent execution identifier
Returns:
NodeExecutionList with node executions and metadata
"""
def ListNodeExecutionsForTask(request: NodeExecutionForTaskListRequest) -> NodeExecutionList:
"""
List node executions for a specific task.
Args:
request: NodeExecutionForTaskListRequest with task identifier
Returns:
NodeExecutionList with matching node executions
"""Monitor and retrieve detailed information about individual task executions and their retry attempts.
def GetTaskExecution(request: TaskExecutionGetRequest) -> TaskExecution:
"""
Get detailed information about a specific task execution.
Args:
request: TaskExecutionGetRequest with task execution identifier
Returns:
TaskExecution with state, timing, logs, and metadata
"""
def GetTaskExecutionData(request: TaskExecutionGetDataRequest) -> TaskExecutionGetDataResponse:
"""
Retrieve input and output data for a task execution.
Args:
request: TaskExecutionGetDataRequest with task execution identifier
Returns:
TaskExecutionGetDataResponse with input/output literals
"""
def ListTaskExecutions(request: TaskExecutionListRequest) -> TaskExecutionList:
"""
List task executions for a node execution.
Args:
request: TaskExecutionListRequest with node execution identifier
Returns:
TaskExecutionList with task executions including retries
"""Manage Flyte projects including creation, registration, updates, and domain configuration.
def CreateProject(request: ProjectRegisterRequest) -> ProjectRegisterResponse:
"""
Create a new project.
Args:
request: ProjectRegisterRequest with project specification
Returns:
ProjectRegisterResponse with creation status
Raises:
ALREADY_EXISTS: Project with the same identifier already exists
"""
def RegisterProject(request: ProjectRegisterRequest) -> ProjectRegisterResponse:
"""
Register an existing project in the Flyte system.
Args:
request: ProjectRegisterRequest with project details
Returns:
ProjectRegisterResponse with registration status
"""
def UpdateProject(request: Project) -> ProjectUpdateResponse:
"""
Update project configuration and metadata.
Args:
request: Project with updated configuration
Returns:
ProjectUpdateResponse with update status
"""
def ListProjects(request: ProjectListRequest) -> Projects:
"""
List all projects with filtering.
Args:
request: ProjectListRequest with optional filters
Returns:
Projects list with project details
"""
def GetDomains(request: GetDomainRequest) -> GetDomainsResponse:
"""
Get available domains for a project.
Args:
request: GetDomainRequest (typically empty)
Returns:
GetDomainsResponse with domain list and configurations
"""Configure resource attributes at project, domain, and workflow levels for execution customization.
def UpdateProjectAttributes(request: ProjectAttributesUpdateRequest) -> ProjectAttributesUpdateResponse:
"""
Update project-level resource attributes.
Args:
request: ProjectAttributesUpdateRequest with attribute configuration
Returns:
ProjectAttributesUpdateResponse with update status
"""
def GetProjectAttributes(request: ProjectAttributesGetRequest) -> ProjectAttributesGetResponse:
"""
Retrieve project-level resource attributes.
Args:
request: ProjectAttributesGetRequest with project identifier
Returns:
ProjectAttributesGetResponse with current attributes
"""
def DeleteProjectAttributes(request: ProjectAttributesDeleteRequest) -> ProjectAttributesDeleteResponse:
"""
Delete project-level resource attributes.
Args:
request: ProjectAttributesDeleteRequest with project and attribute type
Returns:
ProjectAttributesDeleteResponse with deletion status
"""
def UpdateWorkflowAttributes(request: WorkflowAttributesUpdateRequest) -> WorkflowAttributesUpdateResponse:
"""
Update workflow-level resource attributes.
Args:
request: WorkflowAttributesUpdateRequest with workflow and attributes
Returns:
WorkflowAttributesUpdateResponse with update status
"""
def GetWorkflowAttributes(request: WorkflowAttributesGetRequest) -> WorkflowAttributesGetResponse:
"""
Retrieve workflow-level resource attributes.
Args:
request: WorkflowAttributesGetRequest with workflow identifier
Returns:
WorkflowAttributesGetResponse with current attributes
"""
def DeleteWorkflowAttributes(request: WorkflowAttributesDeleteRequest) -> WorkflowAttributesDeleteResponse:
"""
Delete workflow-level resource attributes.
Args:
request: WorkflowAttributesDeleteRequest with workflow and attribute type
Returns:
WorkflowAttributesDeleteResponse with deletion status
"""
def ListMatchableAttributes(request: ListMatchableAttributesRequest) -> ListMatchableAttributesResponse:
"""
List all matchable resource attributes with hierarchical resolution.
Args:
request: ListMatchableAttributesRequest with resource scope
Returns:
ListMatchableAttributesResponse with attribute configurations
"""Handle workflow, node, and task execution events for state tracking and monitoring.
def CreateWorkflowEvent(request: WorkflowExecutionEventRequest) -> WorkflowExecutionEventResponse:
"""
Create a workflow execution event.
Args:
request: WorkflowExecutionEventRequest with event details
Returns:
WorkflowExecutionEventResponse with processing status
"""
def CreateNodeEvent(request: NodeExecutionEventRequest) -> NodeExecutionEventResponse:
"""
Create a node execution event.
Args:
request: NodeExecutionEventRequest with event details
Returns:
NodeExecutionEventResponse with processing status
"""
def CreateTaskEvent(request: TaskExecutionEventRequest) -> TaskExecutionEventResponse:
"""
Create a task execution event.
Args:
request: TaskExecutionEventRequest with event details
Returns:
TaskExecutionEventResponse with processing status
"""Retrieve server version and system status information.
def GetVersion(request: GetVersionRequest) -> GetVersionResponse:
"""
Get Flyte server version and build information.
Args:
request: GetVersionRequest (typically empty)
Returns:
GetVersionResponse with version details and build metadata
"""class TaskCreateRequest:
id: Identifier
spec: TaskSpec
class TaskCreateResponse:
pass
class ObjectGetRequest:
id: Identifier
class ResourceListRequest:
id: NamedEntityIdentifier
limit: int
token: str
filters: str
sort_by: Sort
class WorkflowExecutionGetRequest:
id: WorkflowExecutionIdentifier
class ExecutionCreateRequest:
project: str
domain: str
name: str
spec: ExecutionSpec
inputs: LiteralMap
class ExecutionCreateResponse:
id: WorkflowExecutionIdentifier
class ExecutionTerminateRequest:
id: WorkflowExecutionIdentifier
cause: str
class ExecutionTerminateResponse:
passclass Task:
id: Identifier
closure: TaskClosure
class Workflow:
id: Identifier
closure: WorkflowClosure
class LaunchPlan:
id: Identifier
spec: LaunchPlanSpec
closure: LaunchPlanClosure
class Execution:
id: WorkflowExecutionIdentifier
spec: ExecutionSpec
closure: ExecutionClosure
class NodeExecution:
id: NodeExecutionIdentifier
input_uri: str
closure: NodeExecutionClosure
metadata: NodeExecutionMetaData
class TaskExecution:
id: TaskExecutionIdentifier
input_uri: str
closure: TaskExecutionClosure
is_parent: boolInstall with Tessl CLI
npx tessl i tessl/pypi-flyteidl