All Downloads are FREE. Search and download functionalities are using the official Maven repository.

flyteidl.admin.node_execution.proto Maven / Gradle / Ivy

syntax = "proto3";

package flyteidl.admin;
option go_package = "github.com/lyft/flyteidl/gen/pb-go/flyteidl/admin";

import "flyteidl/admin/common.proto";
import "flyteidl/core/execution.proto";
import "flyteidl/core/identifier.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/duration.proto";

// A message used to fetch a single node execution entity.
message NodeExecutionGetRequest {

   // Uniquely identifies an individual node execution.
   core.NodeExecutionIdentifier id  = 1;
}

// Represents a request structure to retrieve a list of node execution entities.
message NodeExecutionListRequest {
    // Indicates the workflow execution to filter by.
    core.WorkflowExecutionIdentifier workflow_execution_id = 1;

    // Indicates the number of resources to be returned.
    uint32 limit    = 2;
    // In the case of multiple pages of results, the, server-provided token can be used to fetch the next page
    // in a query.
    // +optional
    string token    = 3;
    // Indicates a list of filters passed as string.
    // More info on constructing filters : 
    // +optional
    string filters  = 4;

    // Sort ordering.
    // +optional
    Sort sort_by    = 5;
}

// Represents a request structure to retrieve a list of node execution entities launched by a specific task.
message NodeExecutionForTaskListRequest {
    // Indicates the node execution to filter by.
    core.TaskExecutionIdentifier task_execution_id = 1;

    // Indicates the number of resources to be returned.
    uint32 limit    = 2;
    // In the case of multiple pages of results, the, server-provided token can be used to fetch the next page
    // in a query.
    // +optional
    string token    = 3;
    // Indicates a list of filters passed as string.
    // More info on constructing filters : 
    // +optional
    string filters  = 4;

    // Sort ordering.
    // +optional
    Sort sort_by    = 5;
}

// Encapsulates all details for a single node execution entity.
// A node represents a component in the overall workflow graph. A node launch a task, multiple tasks, an entire nested
// sub-workflow, or even a separate child-workflow execution.
// The same task can be called repeatedly in a single workflow but each node is unique.
message NodeExecution {

    // Uniquely identifies an individual node execution.
    core.NodeExecutionIdentifier id        = 1;

    // Path to remote data store where input blob is stored.
    string input_uri                       = 2;

    // Computed results associated with this node execution.
    NodeExecutionClosure closure           = 3;

    // Metadata for Node Execution
    NodeExecutionMetaData metadata = 4;
}

// Represents additional attributes related to a Node Execution
message NodeExecutionMetaData {
}

// Request structure to retrieve a list of node execution entities.
message NodeExecutionList {
    repeated NodeExecution node_executions = 1;

    // In the case of multiple pages of results, the server-provided token can be used to fetch the next page
    // in a query. If there are no more results, this value will be empty.
    string token                           = 2;
}

// Container for node execution details and results.
message NodeExecutionClosure {
    // Only a node in a terminal state will have a non-empty output_result.
    oneof output_result {
        string output_uri                  = 1;

        // Error information for the Node
        core.ExecutionError error          = 2;
    }

    // The last recorded phase for this node execution.
    core.NodeExecution.Phase phase          = 3;

    // Time at which the node execution began running.
    google.protobuf.Timestamp started_at   = 4;

    // The amount of time the node execution spent running.
    google.protobuf.Duration duration      = 5;

    // Time at which the node execution was created.
    google.protobuf.Timestamp created_at   = 6;

    // Time at which the node execution was last updated.
    google.protobuf.Timestamp updated_at   = 7;

    // Store metadata for what the node launched.
    // for ex: if this is a workflow node, we store information for the launched workflow.
    oneof target_metadata {
        WorkflowNodeMetadata workflow_node_metadata = 8;
    }
}

// Metadata for a WorkflowNode
message WorkflowNodeMetadata {
    core.WorkflowExecutionIdentifier executionId        = 1;
}

// Request structure to fetch inputs and output urls for a node execution.
message NodeExecutionGetDataRequest {
    // The identifier of the node execution for which to fetch inputs and outputs.
    core.NodeExecutionIdentifier id        = 1;
}

// Response structure for NodeExecutionGetDataRequest which contains inputs and outputs for a node execution.
message NodeExecutionGetDataResponse {
    // Signed url to fetch a core.LiteralMap of node execution inputs.
    UrlBlob inputs                             = 1;

    // Signed url to fetch a core.LiteralMap of node execution outputs.
    UrlBlob outputs                            = 2;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy