V1

agent_common.proto

CreateResultsMetaDataRequest

Request for creating results without data

FieldTypeLabelDescription
resultsCreateResultsMetaDataRequest.ResultCreaterepeatedThe list of results to create.
session_idstringThe session in which create results.
communication_tokenstringCommunication token received by the worker during task processing

CreateResultsMetaDataRequest.ResultCreate

A result to create.

FieldTypeLabelDescription
namestringThe result name. Given by the client.

CreateResultsMetaDataResponse

Response for creating results without data

FieldTypeLabelDescription
resultsResultMetaDatarepeatedThe list of metadata results that were created.
communication_tokenstringCommunication token received by the worker during task processing

CreateResultsRequest

Request for creating results with data

FieldTypeLabelDescription
resultsCreateResultsRequest.ResultCreaterepeatedThe results to create.
session_idstringThe session in which create results.
communication_tokenstringCommunication token received by the worker during task processing

CreateResultsRequest.ResultCreate

A result to create.

FieldTypeLabelDescription
namestringThe result name. Given by the client.
databytesThe actual data of the result.

CreateResultsResponse

Response for creating results without data

FieldTypeLabelDescription
resultsResultMetaDatarepeatedThe raw results that were created.
communication_tokenstringCommunication token received by the worker during task processing

CreateTaskReply

FieldTypeLabelDescription
creation_status_listCreateTaskReply.CreationStatusList
errorstring
communication_tokenstringCommunication token received by the worker during task processing

CreateTaskReply.CreationStatus

FieldTypeLabelDescription
task_infoCreateTaskReply.TaskInfo
errorstring

CreateTaskReply.CreationStatusList

FieldTypeLabelDescription
creation_statusesCreateTaskReply.CreationStatusrepeated

CreateTaskReply.TaskInfo

FieldTypeLabelDescription
task_idstringThe task ID.
expected_output_keysstringrepeatedThe expected output IDs. A task have expected output IDs.
data_dependenciesstringrepeatedThe data dependencies IDs (inputs). A task have data dependencies.
payload_idstringUnique ID of the result that will be used as payload. Results are created implicitly.

CreateTaskRequest

FieldTypeLabelDescription
init_requestCreateTaskRequest.InitRequest
init_taskarmonik.api.grpc.v1.InitTaskRequest
task_payloadarmonik.api.grpc.v1.DataChunk
communication_tokenstringCommunication token received by the worker during task processing

CreateTaskRequest.InitRequest

FieldTypeLabelDescription
task_optionsarmonik.api.grpc.v1.TaskOptions

DataRequest

Request to retrieve data

FieldTypeLabelDescription
communication_tokenstringCommunication token received by the worker during task processing
result_idstringId of the result that will be retrieved

DataResponse

Response when data is available in the shared folder

FieldTypeLabelDescription
result_idstringId of the result that will be retrieved

NotifyResultDataRequest

Request for notifying results data are available in files.

FieldTypeLabelDescription
idsNotifyResultDataRequest.ResultIdentifierrepeatedThe possible messages that constitute a UploadResultDataRequest
  • The identifier of the result to which add data. | | communication_token | string | | Communication token received by the worker during task processing |

NotifyResultDataRequest.ResultIdentifier

The metadata to identify the result to update.

FieldTypeLabelDescription
session_idstringThe session of the result.
result_idstringThe ID of the result.

NotifyResultDataResponse

Response for notifying data file availability for result Received when data are successfully copied to the ObjectStorage

FieldTypeLabelDescription
result_idsstringrepeatedThe Id of the result to which data were added

ResultMetaData

Result metadata

FieldTypeLabelDescription
session_idstringThe session ID.
result_idstringThe result ID.
namestringThe result name.
statusarmonik.api.grpc.v1.result_status.ResultStatusThe result status.
created_atgoogle.protobuf.TimestampThe result creation date.

SubmitTasksRequest

Request to create tasks.

FieldTypeLabelDescription
session_idstringThe session ID.
task_optionsarmonik.api.grpc.v1.TaskOptionsThe options for the tasks. Each task will have the same. Options are merged with the one from the session.
task_creationsSubmitTasksRequest.TaskCreationrepeatedTask creation requests.
communication_tokenstringCommunication token received by the worker during task processing

SubmitTasksRequest.TaskCreation

FieldTypeLabelDescription
expected_output_keysstringrepeatedUnique ID of the results that will be produced by the task. Results must be created using ResultsService.
data_dependenciesstringrepeatedUnique ID of the results that will be used as datadependencies. Results must be created using ResultsService.
payload_idstringUnique ID of the result that will be used as payload. Result must be created using ResultsService.
task_optionsarmonik.api.grpc.v1.TaskOptionsOptionnal task options.

SubmitTasksResponse

Response to create tasks.

expected_output_ids and data_dependencies must be created through ResultsService.

Remark : this may have to be enriched to a better management of errors but will the client application be able to manage a missing data dependency or expected output ?

FieldTypeLabelDescription
task_infosSubmitTasksResponse.TaskInforepeatedList of task infos if submission successful, else throw gRPC exception.
communication_tokenstringCommunication token received by the worker during task processing

SubmitTasksResponse.TaskInfo

FieldTypeLabelDescription
task_idstringThe task ID.
expected_output_idsstringrepeatedThe expected output IDs. A task has expected output IDs.
data_dependenciesstringrepeatedThe data dependencies IDs (inputs). A task has data dependencies.
payload_idstringUnique ID of the result that will be used as payload. Results are created implicitly.

Top

agent_service.proto

Agent

Method NameRequest TypeResponse TypeDescription
CreateTaskCreateTaskRequest streamCreateTaskReply
CreateResultsMetaDataCreateResultsMetaDataRequestCreateResultsMetaDataResponseCreate the metadata of multiple results at once Data have to be uploaded separately
CreateResultsCreateResultsRequestCreateResultsResponseCreate one result with data included in the request
NotifyResultDataNotifyResultDataRequestNotifyResultDataResponseNotify Agent that a data file representing the Result to upload is available in the shared folder The name of the file should be the result id Blocks until data are stored in Object Storage
SubmitTasksSubmitTasksRequestSubmitTasksResponseCreate tasks metadata and submit task for processing.
GetResourceDataDataRequestDataResponseRetrieve Resource Data from the Agent Data is stored in the shared folder between Agent and Worker as a file with the result id as name Blocks until data are available in the shared folder
GetCommonDataDataRequestDataResponseRetrieve Resource Data from the Agent Data is stored in the shared folder between Agent and Worker as a file with the result id as name Blocks until data are available in the shared folder
GetDirectDataDataRequestDataResponseRetrieve Resource Data from the Agent Data is stored in the shared folder between Agent and Worker as a file with the result id as name Blocks until data are available in the shared folder

Top

applications_common.proto

Messages describing applications and associated requests and responses.

ApplicationRaw

A raw application object.

Used when a list of applications is requested.

FieldTypeLabelDescription
namestringApplication name.
versionstringApplication version.
namespacestringApplication namespace used in the excecuted class.
servicestringApplication service used in the excecuted class.

ListApplicationsRequest

Request to list applications.

Use pagination, filtering and sorting.

FieldTypeLabelDescription
pageint32The page number. Start at 0.
page_sizeint32Number of items per page.
filtersFiltersThe filters.
sortListApplicationsRequest.SortThe sort.

Must be set for every request. |

ListApplicationsRequest.Sort

Represents the sort object.

FieldTypeLabelDescription
fieldsApplicationFieldrepeatedFields to order by.
directionarmonik.api.grpc.v1.sort_direction.SortDirectionThe order direction.

ListApplicationsResponse

Response to list applications.

Use pagination, filtering and sorting from the request. Return a list of raw applications.

FieldTypeLabelDescription
applicationsApplicationRawrepeated
pageint32The current page. Start at 0.
page_sizeint32Number of items per page.
totalint32Total number of items.

Top

applications_fields.proto

ApplicationField

FieldTypeLabelDescription
application_fieldApplicationRawField

ApplicationRawField

This message is used to wrap the enum in order to facilitate the 'oneOf' generation.

FieldTypeLabelDescription
fieldApplicationRawEnumField

ApplicationRawEnumField

Represents every available field in an application.

NameNumberDescription
APPLICATION_RAW_ENUM_FIELD_UNSPECIFIED0Unspecified
APPLICATION_RAW_ENUM_FIELD_NAME1Application name.
APPLICATION_RAW_ENUM_FIELD_VERSION2Application version.
APPLICATION_RAW_ENUM_FIELD_NAMESPACE3Application namespace.
APPLICATION_RAW_ENUM_FIELD_SERVICE4Application service.

Top

applications_filters.proto

FilterField

FieldTypeLabelDescription
fieldApplicationField
filter_stringarmonik.api.grpc.v1.FilterString

Filters

FieldTypeLabelDescription
orFiltersAndrepeated

FiltersAnd

FieldTypeLabelDescription
andFilterFieldrepeated

Top

applications_service.proto

Applications related methods within a service.

Applications

Service for handling applications.

Method NameRequest TypeResponse TypeDescription
ListApplicationsListApplicationsRequestListApplicationsResponseGet a applications list using pagination, filters and sorting;

Top

auth_common.proto

Messages describing authentication and associated requests and responses.

GetCurrentUserRequest

Request to get current user informations.

GetCurrentUserResponse

Response to get current user informations.

FieldTypeLabelDescription
userUserReturn current user. If auth failed, must throw a gRPC error.

User

A user.

FieldTypeLabelDescription
usernamestringUsername. If authentication is disabled, must be set to 'Anonymous'
rolesstringrepeatedRoles. If authentication is disabled, must return .
permissionsstringrepeatedPermissions. If authentication is disabled, must return every permissions.

Top

auth_service.proto

Authentication related methods within a service.

Authentication

Service for authentication management.

Method NameRequest TypeResponse TypeDescription
GetCurrentUserGetCurrentUserRequestGetCurrentUserResponseGet current user

Top

events_common.proto

EventSubscriptionRequest

Request to subscribe to the event stream.

FieldTypeLabelDescription
session_idstringId of the session that will be used to subscribe events for. *
tasks_filtersarmonik.api.grpc.v1.tasks.FiltersFilter for task related events.
results_filtersarmonik.api.grpc.v1.results.FiltersFilter for result related events.
returned_eventsEventsEnumrepeatedFilter the type of events to return. Empty means all.

EventSubscriptionResponse

Response containing the update event.

FieldTypeLabelDescription
session_idstringId of the session that will be used to subscribe events for. *
task_status_updateEventSubscriptionResponse.TaskStatusUpdateAn update to the status of a task. *
result_status_updateEventSubscriptionResponse.ResultStatusUpdateAn update to the status of a result. *
result_owner_updateEventSubscriptionResponse.ResultOwnerUpdateAn update to the owner of a result. *
new_taskEventSubscriptionResponse.NewTaskA new task in ArmoniK. *
new_resultEventSubscriptionResponse.NewResultA new result in ArmoniK. *

EventSubscriptionResponse.NewResult

Represents the submission of a new result in ArmoniK.

FieldTypeLabelDescription
result_idstringThe result id. *
owner_idstringThe owner task id. *
statusarmonik.api.grpc.v1.result_status.ResultStatusThe result status. *

EventSubscriptionResponse.NewTask

Represents the submission of a new task in ArmoniK.

FieldTypeLabelDescription
task_idstringThe task id. *
payload_idstringThe payload id. *
origin_task_idstringThe task id before retry. *
statusarmonik.api.grpc.v1.task_status.TaskStatusThe task status. *
expected_output_keysstringrepeatedThe keys of the expected outputs *
data_dependenciesstringrepeatedThe keys of the data dependencies. *
retry_of_idsstringrepeatedThe list of retried tasks from the first retry to the current. *
parent_task_idsstringrepeatedThe parent task IDs. A tasks can be a child of another task. *

EventSubscriptionResponse.ResultOwnerUpdate

Represents an update to the owner task id of a result.

FieldTypeLabelDescription
result_idstringThe result id. *
previous_owner_idstringThe previous owner id. *
current_owner_idstringThe current owner id. *

EventSubscriptionResponse.ResultStatusUpdate

Represents an update to the status of a result.

FieldTypeLabelDescription
result_idstringThe result id. *
statusarmonik.api.grpc.v1.result_status.ResultStatusThe result status. *

EventSubscriptionResponse.TaskStatusUpdate

Represents an update to the status of a task.

FieldTypeLabelDescription
task_idstringThe task id. *
statusarmonik.api.grpc.v1.task_status.TaskStatusThe task status. *

EventsEnum

Represents the events that can be returned in the EventSubscriptionResponse

NameNumberDescription
EVENTS_ENUM_UNSPECIFIED0Unspecified
EVENTS_ENUM_NEW_TASK1New task
EVENTS_ENUM_TASK_STATUS_UPDATE2Task status update
EVENTS_ENUM_NEW_RESULT3New restult
EVENTS_ENUM_RESULT_STATUS_UPDATE4Result status update
EVENTS_ENUM_RESULT_OWNER_UPDATE5Result owner update

Top

events_service.proto

Events subscription related methods within a service.

This service can be used to receive events related to the update of tasks and results whithin a session. The endpoint can be called to listen to the modifications of multiple sessions if needed.

Note: As for now, all the events of a session will be sent whithout filtering. It is possible that the API will evolve to a more refined way to filter the events to be received.

Events

Service for subscribing to events representing modifications to ArmoniK result and task data

Method NameRequest TypeResponse TypeDescription
GetEventsEventSubscriptionRequestEventSubscriptionResponse streamGet events that represents updates of result and tasks data.

Top

filters_common.proto

FilterArray

FieldTypeLabelDescription
valuestring
operatorFilterArrayOperator

FilterBoolean

FieldTypeLabelDescription
valuebool
operatorFilterBooleanOperator

FilterDate

FieldTypeLabelDescription
valuegoogle.protobuf.Timestamp
operatorFilterDateOperator

FilterDuration

FieldTypeLabelDescription
valuegoogle.protobuf.Duration
operatorFilterDurationOperator

FilterNumber

FieldTypeLabelDescription
valueint64
operatorFilterNumberOperator

FilterString

FieldTypeLabelDescription
valuestring
operatorFilterStringOperator

FilterArrayOperator

NameNumberDescription
FILTER_ARRAY_OPERATOR_CONTAINS0Contains
FILTER_ARRAY_OPERATOR_NOT_CONTAINS1Not contains

FilterBooleanOperator

NameNumberDescription
FILTER_BOOLEAN_OPERATOR_IS0Is

FilterDateOperator

NameNumberDescription
FILTER_DATE_OPERATOR_EQUAL0Equal
FILTER_DATE_OPERATOR_NOT_EQUAL1Not equal
FILTER_DATE_OPERATOR_BEFORE2Before
FILTER_DATE_OPERATOR_BEFORE_OR_EQUAL3Before or equal
FILTER_DATE_OPERATOR_AFTER_OR_EQUAL4After or equal
FILTER_DATE_OPERATOR_AFTER5After

FilterDurationOperator

NameNumberDescription
FILTER_DURATION_OPERATOR_EQUAL0Equal
FILTER_DURATION_OPERATOR_NOT_EQUAL1Not equal
FILTER_DURATION_OPERATOR_SHORTER_THAN2Shorter than
FILTER_DURATION_OPERATOR_SHORTER_THAN_OR_EQUAL3Shorter than or equal
FILTER_DURATION_OPERATOR_LONGER_THAN_OR_EQUAL4Longer than or equal
FILTER_DURATION_OPERATOR_LONGER_THAN5Longer than

FilterNumberOperator

NameNumberDescription
FILTER_NUMBER_OPERATOR_EQUAL0Equal
FILTER_NUMBER_OPERATOR_NOT_EQUAL1Not equal
FILTER_NUMBER_OPERATOR_LESS_THAN2Less than
FILTER_NUMBER_OPERATOR_LESS_THAN_OR_EQUAL3Less than or equal
FILTER_NUMBER_OPERATOR_GREATER_THAN_OR_EQUAL4Greater than or equal
FILTER_NUMBER_OPERATOR_GREATER_THAN5Greater than

FilterStatusOperator

NameNumberDescription
FILTER_STATUS_OPERATOR_EQUAL0Equal
FILTER_STATUS_OPERATOR_NOT_EQUAL1Not equal

FilterStringOperator

NameNumberDescription
FILTER_STRING_OPERATOR_EQUAL0Equal
FILTER_STRING_OPERATOR_NOT_EQUAL1Not equal
FILTER_STRING_OPERATOR_CONTAINS2Contains
FILTER_STRING_OPERATOR_NOT_CONTAINS3Not contains
FILTER_STRING_OPERATOR_STARTS_WITH4Starts with
FILTER_STRING_OPERATOR_ENDS_WITH5Ends with

Top

health_checks_common.proto

CheckHealthRequest

Request to check if all services are healthy

CheckHealthResponse

Response to check if all services are healthy

FieldTypeLabelDescription
servicesCheckHealthResponse.ServiceHealthrepeated

CheckHealthResponse.ServiceHealth

FieldTypeLabelDescription
namestringName of the service (e.g. "control_plane", "database", "redis")
messagestring
healthyHealthStatusEnum

HealthStatusEnum

Represents the available health status

NameNumberDescription
HEALTH_STATUS_ENUM_UNSPECIFIED0Unspecified
HEALTH_STATUS_ENUM_HEALTHY1Service is working without issues
HEALTH_STATUS_ENUM_DEGRADED2Service has issues but still works
HEALTH_STATUS_ENUM_UNHEALTHY3Service does not work

Top

health_checks_service.proto

HealthChecksService

The HealthChecksService provides methods to verify the health of the cluster.

Method NameRequest TypeResponse TypeDescription
CheckHealthCheckHealthRequestCheckHealthResponseChecks the health of the cluster. This can be used to verify that the cluster is up and running.

Top

objects.proto

Configuration

FieldTypeLabelDescription
data_chunk_max_sizeint32

Count

FieldTypeLabelDescription
valuesStatusCountrepeated

DataChunk

FieldTypeLabelDescription
databytes
data_completebool

Empty

Error

FieldTypeLabelDescription
task_statustask_status.TaskStatus
detailstring

InitKeyedDataStream

FieldTypeLabelDescription
keystring
last_resultbool

InitTaskRequest

FieldTypeLabelDescription
headerTaskRequestHeader
last_taskbool

Output

FieldTypeLabelDescription
okEmpty
errorOutput.Error

Output.Error

FieldTypeLabelDescription
detailsstring

ResultRequest

FieldTypeLabelDescription
sessionstring
result_idstring

Session

FieldTypeLabelDescription
idstring

StatusCount

FieldTypeLabelDescription
statustask_status.TaskStatus
countint32

TaskError

FieldTypeLabelDescription
task_idstring
errorsErrorrepeated

TaskId

FieldTypeLabelDescription
sessionstring
taskstring

TaskIdList

FieldTypeLabelDescription
task_idsstringrepeated

TaskIdWithStatus

FieldTypeLabelDescription
task_idTaskId
statustask_status.TaskStatus

TaskList

FieldTypeLabelDescription
task_idsTaskIdrepeated

TaskOptions

FieldTypeLabelDescription
optionsTaskOptions.OptionsEntryrepeated
max_durationgoogle.protobuf.Duration
max_retriesint32
priorityint32
partition_idstring
application_namestring
application_versionstring
application_namespacestring
application_servicestring
engine_typestring

TaskOptions.OptionsEntry

FieldTypeLabelDescription
keystring
valuestring

TaskOutputRequest

FieldTypeLabelDescription
sessionstring
task_idstring

TaskRequest

FieldTypeLabelDescription
expected_output_keysstringrepeatedGiven names to the expected outputs that will be created implicitly. IDs are returned after task creation
data_dependenciesstringrepeatedIDs of the results that will be used as data dependency.
payloadbytesContent of the payload for the task.
payload_namestringName that will be associated to the result created for the payload. Optionnal

TaskRequestHeader

FieldTypeLabelDescription
expected_output_keysstringrepeatedGiven names to the expected outputs that will be created implicitly. IDs are returned after task creation
data_dependenciesstringrepeatedIDs of the results that will be used as data dependency.

Top

partitions_common.proto

GetPartitionRequest

Request to get a partition.

FieldTypeLabelDescription
idstringThe partition ID.

GetPartitionResponse

Response to get a partition.

Return a raw partition.

FieldTypeLabelDescription
partitionPartitionRawThe raw partition.

ListPartitionsRequest

Request to list partitions.

FieldTypeLabelDescription
pageint32The page number. Start at 0.
page_sizeint32The number of items per page.
filtersFiltersThe filter.
sortListPartitionsRequest.SortThe sort.

Must be set for every request. |

ListPartitionsRequest.Sort

Represents the sort object.

FieldTypeLabelDescription
fieldPartitionFieldThe field to sort on.
directionarmonik.api.grpc.v1.sort_direction.SortDirectionThe sort direction.

ListPartitionsResponse

Response to list partitions.

Use pagination, filtering and sorting from the request. Retunr a list of raw partitions.

FieldTypeLabelDescription
partitionsPartitionRawrepeatedThe list of raw partitions.
pageint32The page number. Start at 0.
page_sizeint32The page size.
totalint32The total number of partitions.

PartitionRaw

A raw partition object.

Used when a list or a single partition is returned.

FieldTypeLabelDescription
idstringThe partition ID.
parent_partition_idsstringrepeatedThe parent partition IDs.
pod_reservedint64Whether the partition is reserved for pods.
pod_maxint64The maximum number of pods that can be used by sessions using the partition.
pod_configurationPartitionRaw.PodConfigurationEntryrepeatedThe pod configuration.
preemption_percentageint64The percentage of the partition that can be preempted.
priorityint64The priority of the partition.

PartitionRaw.PodConfigurationEntry

FieldTypeLabelDescription
keystring
valuestring

Top

partitions_fields.proto

PartitionField

FieldTypeLabelDescription
partition_raw_fieldPartitionRawFieldThe partition raw field.

PartitionRawField

This message is used to wrap the enum in order to facilitate the 'oneOf' generation.

FieldTypeLabelDescription
fieldPartitionRawEnumField

PartitionRawEnumField

Represents every available field in a partition.

NameNumberDescription
PARTITION_RAW_ENUM_FIELD_UNSPECIFIED0Unspecified.
PARTITION_RAW_ENUM_FIELD_ID1The partition ID.
PARTITION_RAW_ENUM_FIELD_PARENT_PARTITION_IDS2The parent partition IDs.
PARTITION_RAW_ENUM_FIELD_POD_RESERVED3Whether the partition is reserved for pods.
PARTITION_RAW_ENUM_FIELD_POD_MAX4The maximum number of pods that can be used by sessions using the partition.
PARTITION_RAW_ENUM_FIELD_PREEMPTION_PERCENTAGE5The percentage of the partition that can be preempted.
PARTITION_RAW_ENUM_FIELD_PRIORITY6The priority of the partition.

Top

partitions_filters.proto

FilterField

Filters

FieldTypeLabelDescription
orFiltersAndrepeated

FiltersAnd

FieldTypeLabelDescription
andFilterFieldrepeated

Top

partitions_service.proto

Partitions

The PartitionsService provides methods to manage partitions.

Method NameRequest TypeResponse TypeDescription
ListPartitionsListPartitionsRequestListPartitionsResponseGet a partitions list using pagination, filters and sorting.
GetPartitionGetPartitionRequestGetPartitionResponseGet a partition by its ID.

Top

result_status.proto

ResultStatus

NameNumberDescription
RESULT_STATUS_UNSPECIFIED0Result is in an unspecified state.
RESULT_STATUS_CREATED1Result is created and task is created, submitted or dispatched.
RESULT_STATUS_COMPLETED2Result is completed with a completed task.
RESULT_STATUS_ABORTED3Result is aborted.
RESULT_STATUS_DELETED4Result is completed, but data has been deleted from object storage.
RESULT_STATUS_NOTFOUND127NOTFOUND is encoded as 127 to make it small while still leaving enough room for future status extensions

see https://developers.google.com/protocol-buffers/docs/proto3#enum |

Top

results_common.proto

CreateResultsMetaDataRequest

Request for creating results without data

FieldTypeLabelDescription
resultsCreateResultsMetaDataRequest.ResultCreaterepeatedThe list of results to create.
session_idstringThe session in which create results.

CreateResultsMetaDataRequest.ResultCreate

A result to create.

FieldTypeLabelDescription
namestringThe result name. Given by the client.

CreateResultsMetaDataResponse

Response for creating results without data

FieldTypeLabelDescription
resultsResultRawrepeatedThe list of raw results that were created.

CreateResultsRequest

Request for creating results with data

FieldTypeLabelDescription
resultsCreateResultsRequest.ResultCreaterepeatedResults to create.
session_idstringThe session in which create results.

CreateResultsRequest.ResultCreate

A result to create.

FieldTypeLabelDescription
namestringThe result name. Given by the client.
databytesThe actual data of the result.

CreateResultsResponse

Response for creating results without data

FieldTypeLabelDescription
resultsResultRawrepeatedThe raw results that were created.

DeleteResultsDataRequest

Request deleting data from results results but keeping metadata

FieldTypeLabelDescription
session_idstringThe session of the results.
result_idstringrepeatedThe ID of the results to delete.

DeleteResultsDataResponse

Response deleting data from results results but keeping metadata

FieldTypeLabelDescription
session_idstringThe session of the results.
result_idstringrepeatedThe ID of the deleted results.

DownloadResultDataRequest

Request for getting a result

FieldTypeLabelDescription
session_idstringThe session of the result.
result_idstringThe ID of the result.

DownloadResultDataResponse

Response for creating results without data

FieldTypeLabelDescription
data_chunkbytesThe possible messages that constitute a UploadResultDataRequest Get the data chunks of the result
  • A chunk of data. |

GetOwnerTaskIdRequest

Request for getting the id of the task that should create this result

FieldTypeLabelDescription
session_idstringThe session ID.
result_idstringrepeatedThe list of result ID/name.

GetOwnerTaskIdResponse

Response for getting the id of the task that should create this result

FieldTypeLabelDescription
result_taskGetOwnerTaskIdResponse.MapResultTaskrepeated
session_idstringThe session ID.

GetOwnerTaskIdResponse.MapResultTask

FieldTypeLabelDescription
result_idstringThe result ID/name.
task_idstringThe owner task ID associated to the result.

GetResultRequest

Request to get an result.

FieldTypeLabelDescription
result_idstringResult id. Must fail when name is empty. *

GetResultResponse

Response to get an result.

FieldTypeLabelDescription
resultResultRawThe result.

ListResultsRequest

Request to list results.

Use pagination, filtering and sorting.

FieldTypeLabelDescription
pageint32The page number. Start at 0.
page_sizeint32The page size.
filtersFiltersThe filters.
sortListResultsRequest.SortThe sort.

Must be set for every request. |

ListResultsRequest.Sort

Represents the sort object.

FieldTypeLabelDescription
fieldResultFieldThe field to use to sort results.
directionarmonik.api.grpc.v1.sort_direction.SortDirectionThe direction to use to sort results.

ListResultsResponse

Response to list results.

Use pagination, filtering and sorting from the request. Retunr a list of raw results.

FieldTypeLabelDescription
resultsResultRawrepeatedThe list of raw results.
pageint32The page number. Start at 0.
page_sizeint32The page size.
totalint32The total number of results.

ResultRaw

A raw result object.

Used when a list or a single result is returned.

FieldTypeLabelDescription
session_idstringThe session ID.
namestringThe result name. Given by the client.
owner_task_idstringThe owner task ID.
statusarmonik.api.grpc.v1.result_status.ResultStatusThe result status.
created_atgoogle.protobuf.TimestampThe result creation date.
completed_atgoogle.protobuf.TimestampThe result completion date.
result_idstringThe result ID. Uniquely generated by the server.
sizeint64The size of the Result Data.
created_bystringThe ID of the Task that as submitted this result.

ResultsServiceConfigurationResponse

Response for obtaining results service configuration

FieldTypeLabelDescription
data_chunk_max_sizeint32Maximum size supported by a data chunk for the result service

UploadResultDataRequest

Request for uploading results data through stream. Data must be sent in multiple chunks. Only one result can be uploaded.

FieldTypeLabelDescription
idUploadResultDataRequest.ResultIdentifierThe identifier of the result to which add data.
data_chunkbytesA chunk of data.

UploadResultDataRequest.ResultIdentifier

The metadata to identify the result to update.

FieldTypeLabelDescription
session_idstringThe session of the result.
result_idstringThe ID of the result.

UploadResultDataResponse

Response for creating results without data

FieldTypeLabelDescription
resultResultRawThe metadata of the updated result that was updated.

WatchResultRequest

Request to watch result states It contains the list of result ids you want to watch and some options to filter out some events. Chunking is achieved by sending multiple messages with different result ids. It is the responsability of the client to chunk the messages properly and avoid messages too large.

FieldTypeLabelDescription
fetch_statusesarmonik.api.grpc.v1.result_status.ResultStatusrepeatedlist of statuses to check results against for the initial fetch
watch_statusesarmonik.api.grpc.v1.result_status.ResultStatusrepeatedlist of statuses to check results against for the watch
result_idsstringrepeatedresult ids to fetch/watch

WatchResultResponse

List of Result statuses Result Ids are grouped by status. One message contains result Ids that have the same status. Chunking is achieved by receiving several messages with the same status and the list of ids in multiple parts. As chunking is implicit, there is no way to distinguish between chunked messages and actually separate messages.

FieldTypeLabelDescription
statusarmonik.api.grpc.v1.result_status.ResultStatusStatus of the results
result_idsstringrepeatedList of result ids that triggered the event

Top

results_fields.proto

ResultField

FieldTypeLabelDescription
result_raw_fieldResultRawFieldThe field to use to sort results.

ResultRawField

This message is used to wrap the enum in order to facilitate the 'oneOf' generation.

FieldTypeLabelDescription
fieldResultRawEnumField

ResultRawEnumField

Represents every available field in a result.

NameNumberDescription
RESULT_RAW_ENUM_FIELD_UNSPECIFIED0The default value.
RESULT_RAW_ENUM_FIELD_SESSION_ID1The session ID.
RESULT_RAW_ENUM_FIELD_NAME2The result name.
RESULT_RAW_ENUM_FIELD_OWNER_TASK_ID3The owner task ID.
RESULT_RAW_ENUM_FIELD_STATUS4The result status.
RESULT_RAW_ENUM_FIELD_CREATED_AT5The result creation date.
RESULT_RAW_ENUM_FIELD_COMPLETED_AT6The result completion date.
RESULT_RAW_ENUM_FIELD_RESULT_ID7The result ID.
RESULT_RAW_ENUM_FIELD_SIZE8The size of the result.
RESULT_RAW_ENUM_FIELD_CREATED_BY9The size of the result.

Top

results_filters.proto

FilterField

FilterStatus

Filters

FieldTypeLabelDescription
orFiltersAndrepeated

FiltersAnd

FieldTypeLabelDescription
andFilterFieldrepeated

Top

results_service.proto

Results

The ResultsService provides methods for interacting with results

Method NameRequest TypeResponse TypeDescription
ListResultsListResultsRequestListResultsResponseGet a results list using pagination, filters and sorting
GetResultGetResultRequestGetResultResponseGet a result by id.
GetOwnerTaskIdGetOwnerTaskIdRequestGetOwnerTaskIdResponseGet the id of the task that should produce the result
CreateResultsMetaDataCreateResultsMetaDataRequestCreateResultsMetaDataResponseCreate the metadata of multiple results at once Data have to be uploaded separately
CreateResultsCreateResultsRequestCreateResultsResponseCreate one result with data included in the request
UploadResultDataUploadResultDataRequest streamUploadResultDataResponseUpload data for result with stream
DownloadResultDataDownloadResultDataRequestDownloadResultDataResponse streamRetrieve data
DeleteResultsDataDeleteResultsDataRequestDeleteResultsDataResponseDelete data from multiple results
GetServiceConfiguration.armonik.api.grpc.v1.EmptyResultsServiceConfigurationResponseGet the configuration of the service
WatchResultsWatchResultRequest streamWatchResultResponse streamThis endpoint allows a user to watch a list of results and be notified when there is any change. The user sends the list of ids they want to watch. The submitter will then send the statuses for all requested ids immediately and keep the stream open. Ids not present in DB will be returned at that time with the special state NOTFOUND. The submitter will send updates to the client via the opened stream. Any reply can be implicitely chunked if there are too many event to report at the same time (or for the first reply). It is possible to filter out specific statuses from events.

Top

session_status.proto

Status of a session.

SessionStatus

Session status.

NameNumberDescription
SESSION_STATUS_UNSPECIFIED0Session is in an unknown state.
SESSION_STATUS_RUNNING1Session is open and accepting tasks for execution.
SESSION_STATUS_CANCELLED2Session is cancelled. No more tasks can be submitted and no more tasks will be executed.
SESSION_STATUS_PAUSED3Session is paused. Tasks can be submitted but no more new tasks will be executed. Already running tasks will continue until they finish.
SESSION_STATUS_CLOSED4Session is closed. No more tasks can be submitted and executed.
SESSION_STATUS_PURGED5Session is purged. No more tasks can be submitted and executed. Results data will be deleted.
SESSION_STATUS_DELETED6Session is deleted. No more tasks can be submitted and executed. Sessions, tasks and results metadata associated to the session will be deleted.

Top

sessions_common.proto

Messages describing sessions and associated requests and responses.

CancelSessionRequest

Request for cancelling a single session.

FieldTypeLabelDescription
session_idstringThe session ID.

CancelSessionResponse

Response for cancelling a single session.

Return a raw session.

FieldTypeLabelDescription
sessionSessionRawThe session.

CloseSessionRequest

Request for closing a single session.

FieldTypeLabelDescription
session_idstringThe session ID.

CloseSessionResponse

Response for closing a single session.

Return a raw session.

FieldTypeLabelDescription
sessionSessionRawThe session.

CreateSessionReply

Reply after session creation. We have this reply in case of success. When the session creation is not successful, there is an rpc exception.

FieldTypeLabelDescription
session_idstringSession id of the created session if successful

CreateSessionRequest

Request for creating session.

FieldTypeLabelDescription
default_task_optionarmonik.api.grpc.v1.TaskOptionsDefault tasks options for tasks in the session
partition_idsstringrepeatedList of partitions allowed during the session

DeleteSessionRequest

Request for deleting a single session.

FieldTypeLabelDescription
session_idstringThe session ID.

DeleteSessionResponse

Response for deleting a single session.

Return a raw session.

FieldTypeLabelDescription
sessionSessionRawThe session.

GetSessionRequest

Request for getting a single session.

FieldTypeLabelDescription
session_idstringThe session ID.

GetSessionResponse

Response for getting a single session.

Return a raw session.

FieldTypeLabelDescription
sessionSessionRawThe session.

ListSessionsRequest

Request to list sessions.

Use pagination, filtering and sorting.

FieldTypeLabelDescription
pageint32The page number. Start at 0.
page_sizeint32The page size.
filtersFiltersThe filters.
sortListSessionsRequest.SortThe sort.

Must be set for every request. | | with_task_options | bool | | Flag to tell if server must return task options in summary sessions |

ListSessionsRequest.Sort

Represents the sort object.

FieldTypeLabelDescription
fieldSessionFieldThe field to sort on.
directionarmonik.api.grpc.v1.sort_direction.SortDirectionThe sort direction.

ListSessionsResponse

Response to list sessions.

Use pagination, filtering and sorting from the request. Return a list of summary sessions.

FieldTypeLabelDescription
sessionsSessionRawrepeatedThe list of sessions.
pageint32The current page. Start at 0.
page_sizeint32The page size.
totalint32The total number of sessions.

PauseSessionRequest

Request for pausing a single session.

FieldTypeLabelDescription
session_idstringThe session ID.

PauseSessionResponse

Response for pausing a single session.

Return a raw session.

FieldTypeLabelDescription
sessionSessionRawThe session.

PurgeSessionRequest

Request for purging a single session.

FieldTypeLabelDescription
session_idstringThe session ID.

PurgeSessionResponse

Response for purging a single session.

Return a raw session.

FieldTypeLabelDescription
sessionSessionRawThe session.

ResumeSessionRequest

Request for resuming a single session.

FieldTypeLabelDescription
session_idstringThe session ID.

ResumeSessionResponse

Response for resuming a single session.

Return a raw session.

FieldTypeLabelDescription
sessionSessionRawThe session.

SessionRaw

A raw session object.

FieldTypeLabelDescription
session_idstringThe session ID.
statusarmonik.api.grpc.v1.session_status.SessionStatusThe session status.
client_submissionboolWhether clients can submit tasks in the session.
worker_submissionboolWhether workers can submit tasks in the session.
partition_idsstringrepeatedThe partition IDs.
optionsarmonik.api.grpc.v1.TaskOptionsThe task options. In fact, these are used as default value in child tasks.
created_atgoogle.protobuf.TimestampThe creation date.
cancelled_atgoogle.protobuf.TimestampThe cancellation date. Only set when status is 'cancelled'.
closed_atgoogle.protobuf.TimestampThe closure date. Only set when status is 'closed'.
purged_atgoogle.protobuf.TimestampThe purge date. Only set when status is 'purged'.
deleted_atgoogle.protobuf.TimestampThe deletion date. Only set when status is 'deleted'.
durationgoogle.protobuf.DurationThe duration. Only set when status is 'cancelled' and 'closed'.

StopSubmissionRequest

Request for stopping new tasks submissions from clients or workers in the given session.

FieldTypeLabelDescription
session_idstringThe session ID.
clientboolWhether to stop client submission.
workerboolWhether to stop worker submission.

StopSubmissionResponse

Response for stopping new tasks submissions from clients or workers in the given session.

Return a raw session.

FieldTypeLabelDescription
sessionSessionRawThe session.

Top

sessions_fields.proto

SessionField

FieldTypeLabelDescription
session_raw_fieldSessionRawField
task_option_fieldTaskOptionFieldThe task option field.
task_option_generic_fieldTaskOptionGenericFieldThe task option generic field.

SessionRawField

FieldTypeLabelDescription
fieldSessionRawEnumField

TaskOptionField

This message is used to wrap the enum in order to facilitate the 'oneOf' generation.

FieldTypeLabelDescription
fieldTaskOptionEnumField

TaskOptionGenericField

Represents a generic field in a task option.

FieldTypeLabelDescription
fieldstringThe generic field.

SessionRawEnumField

Represents every available field in a session raw.

NameNumberDescription
SESSION_RAW_ENUM_FIELD_UNSPECIFIED0
SESSION_RAW_ENUM_FIELD_SESSION_ID1
SESSION_RAW_ENUM_FIELD_STATUS2
SESSION_RAW_ENUM_FIELD_PARTITION_IDS3
SESSION_RAW_ENUM_FIELD_OPTIONS4
SESSION_RAW_ENUM_FIELD_CREATED_AT5
SESSION_RAW_ENUM_FIELD_CANCELLED_AT6
SESSION_RAW_ENUM_FIELD_CLOSED_AT8
SESSION_RAW_ENUM_FIELD_PURGED_AT9
SESSION_RAW_ENUM_FIELD_DELETED_AT10
SESSION_RAW_ENUM_FIELD_DURATION7
SESSION_RAW_ENUM_FIELD_WORKER_SUBMISSION11
SESSION_RAW_ENUM_FIELD_CLIENT_SUBMISSION12

TaskOptionEnumField

Represents a field in a task option.

NameNumberDescription
TASK_OPTION_ENUM_FIELD_UNSPECIFIED0
TASK_OPTION_ENUM_FIELD_MAX_DURATION1
TASK_OPTION_ENUM_FIELD_MAX_RETRIES2
TASK_OPTION_ENUM_FIELD_PRIORITY3
TASK_OPTION_ENUM_FIELD_PARTITION_ID4
TASK_OPTION_ENUM_FIELD_APPLICATION_NAME5
TASK_OPTION_ENUM_FIELD_APPLICATION_VERSION6
TASK_OPTION_ENUM_FIELD_APPLICATION_NAMESPACE7
TASK_OPTION_ENUM_FIELD_APPLICATION_SERVICE8
TASK_OPTION_ENUM_FIELD_ENGINE_TYPE9

Top

sessions_filters.proto

FilterField

FilterStatus

Filters

FieldTypeLabelDescription
orFiltersAndrepeated

FiltersAnd

FieldTypeLabelDescription
andFilterFieldrepeated

Top

sessions_service.proto

Tasks related methods within a service.

Sessions

Service for handling sessions.

Method NameRequest TypeResponse TypeDescription
ListSessionsListSessionsRequestListSessionsResponseGet a sessions list using pagination, filters and sorting.
GetSessionGetSessionRequestGetSessionResponseGet a session by its id.
CancelSessionCancelSessionRequestCancelSessionResponseCancel a session by its id.
CreateSessionCreateSessionRequestCreateSessionReplyCreate a session
PauseSessionPauseSessionRequestPauseSessionResponsePause a session by its id.
ResumeSessionResumeSessionRequestResumeSessionResponseResume a paused session by its id.
CloseSessionCloseSessionRequestCloseSessionResponseClose a session by its id..
PurgeSessionPurgeSessionRequestPurgeSessionResponsePurge a session by its id. Removes Results data.
DeleteSessionDeleteSessionRequestDeleteSessionResponseDelete a session by its id. Removes metadata from Results, Sessions and Tasks associated to the session.
StopSubmissionStopSubmissionRequestStopSubmissionResponseStops clients and/or workers from submitting new tasks in the given session.

Top

sort_direction.proto

SortDirection

Represents every available sort directions.

NameNumberDescription
SORT_DIRECTION_UNSPECIFIED0Unspecified. Do not use.
SORT_DIRECTION_ASC1Ascending.
SORT_DIRECTION_DESC2Descending.

Top

submitter_common.proto

AvailabilityReply

FieldTypeLabelDescription
okarmonik.api.grpc.v1.Empty
errorarmonik.api.grpc.v1.TaskError
not_completed_taskstring

CreateLargeTaskRequest

CreateLargeTaskRequest.InitRequest

FieldTypeLabelDescription
session_idstring
task_optionsarmonik.api.grpc.v1.TaskOptions

CreateSessionReply

Reply after session creation. We have this reply in case of success. When the session creation is not successful, there is an rpc exception.

FieldTypeLabelDescription
session_idstringSession id of the created session if successful

CreateSessionRequest

FieldTypeLabelDescription
default_task_optionarmonik.api.grpc.v1.TaskOptions
partition_idsstringrepeatedList of partitions allowed during the session

CreateSmallTaskRequest

FieldTypeLabelDescription
session_idstring
task_optionsarmonik.api.grpc.v1.TaskOptions
task_requestsarmonik.api.grpc.v1.TaskRequestrepeated

CreateTaskReply

FieldTypeLabelDescription
creation_status_listCreateTaskReply.CreationStatusList
errorstring

CreateTaskReply.CreationStatus

FieldTypeLabelDescription
task_infoCreateTaskReply.TaskInfo
errorstring

CreateTaskReply.CreationStatusList

FieldTypeLabelDescription
creation_statusesCreateTaskReply.CreationStatusrepeated

CreateTaskReply.TaskInfo

FieldTypeLabelDescription
task_idstringUnique ID of the created task.
expected_output_keysstringrepeatedUnique ID of the result that will be used as expected output. Results should already exist.
data_dependenciesstringrepeatedUnique ID of the result that will be used as data dependency. Results should already exist.
payload_idstringUnique ID of the result that will be used as payload. Result associated to the payload is created implicitly.

GetResultStatusReply

FieldTypeLabelDescription
id_statusesGetResultStatusReply.IdStatusrepeated

GetResultStatusReply.IdStatus

FieldTypeLabelDescription
result_idstring
statusarmonik.api.grpc.v1.result_status.ResultStatus

GetResultStatusRequest

FieldTypeLabelDescription
result_idsstringrepeated
session_idstring

GetTaskStatusReply

FieldTypeLabelDescription
id_statusesGetTaskStatusReply.IdStatusrepeated

GetTaskStatusReply.IdStatus

FieldTypeLabelDescription
task_idstring
statusarmonik.api.grpc.v1.task_status.TaskStatus

GetTaskStatusRequest

FieldTypeLabelDescription
task_idsstringrepeated

ResultReply

FieldTypeLabelDescription
resultarmonik.api.grpc.v1.DataChunk
errorarmonik.api.grpc.v1.TaskError
not_completed_taskstring

SessionFilter

FieldTypeLabelDescription
sessionsstringrepeated
includedSessionFilter.StatusesRequest
excludedSessionFilter.StatusesRequest

SessionFilter.StatusesRequest

FieldTypeLabelDescription
statusesarmonik.api.grpc.v1.session_status.SessionStatusrepeated

SessionIdList

FieldTypeLabelDescription
session_idsstringrepeated

SessionList

FieldTypeLabelDescription
sessionsarmonik.api.grpc.v1.Sessionrepeated

TaskFilter

TaskFilter.IdsRequest

FieldTypeLabelDescription
idsstringrepeated

TaskFilter.StatusesRequest

FieldTypeLabelDescription
statusesarmonik.api.grpc.v1.task_status.TaskStatusrepeated

WaitRequest

FieldTypeLabelDescription
filterTaskFilter
stop_on_first_task_errorbool
stop_on_first_task_cancellationbool

WatchResultRequest

Request to watch result states It contains the list of result ids you want to watch and some options to filter out some events. Chunking is achieved by sending multiple messages with different result ids. It is the responsability of the client to chunk the messages properly and avoid messages too large.

FieldTypeLabelDescription
fetch_statusesarmonik.api.grpc.v1.result_status.ResultStatusrepeatedlist of statuses to check results against for the initial fetch
watch_statusesarmonik.api.grpc.v1.result_status.ResultStatusrepeatedlist of statuses to check results against for the watch
result_idsstringrepeatedresult ids to fetch/watch

WatchResultStream

List of Result statuses Result Ids are grouped by status. One message contains result Ids that have the same status. Chunking is achieved by receiving several messages with the same status and the list of ids in multiple parts. As chunking is implicit, there is no way to distinguish between chunked messages and actually separate messages.

FieldTypeLabelDescription
statusarmonik.api.grpc.v1.result_status.ResultStatusStatus of the results
result_idsstringrepeatedList of result ids that triggered the event

Top

submitter_service.proto

Submitter

Method NameRequest TypeResponse TypeDescription
GetServiceConfiguration.armonik.api.grpc.v1.Empty.armonik.api.grpc.v1.Configuration
CreateSessionCreateSessionRequestCreateSessionReply
CancelSession.armonik.api.grpc.v1.Session.armonik.api.grpc.v1.Empty
CreateSmallTasksCreateSmallTaskRequestCreateTaskReply
CreateLargeTasksCreateLargeTaskRequest streamCreateTaskReply
ListTasksTaskFilter.armonik.api.grpc.v1.TaskIdList
ListSessionsSessionFilterSessionIdList
CountTasksTaskFilter.armonik.api.grpc.v1.Count
TryGetResultStream.armonik.api.grpc.v1.ResultRequestResultReply stream
TryGetTaskOutput.armonik.api.grpc.v1.TaskOutputRequest.armonik.api.grpc.v1.Output
WaitForAvailability.armonik.api.grpc.v1.ResultRequestAvailabilityReply
WaitForCompletionWaitRequest.armonik.api.grpc.v1.Count
CancelTasksTaskFilter.armonik.api.grpc.v1.Empty
GetTaskStatusGetTaskStatusRequestGetTaskStatusReply
GetResultStatusGetResultStatusRequestGetResultStatusReply
WatchResultsWatchResultRequest streamWatchResultStream streamThis endpoint allows a user to watch a list of results and be notified when there is any change. The user sends the list of ids they want to watch. The submitter will then send the statuses for all requested ids immediately and keep the stream open. Ids not present in DB will be returned at that time with the special state NOTFOUND. The submitter will send updates to the client via the opened stream. Any reply can be implicitely chunked if there are too many event to report at the same time (or for the first reply). It is possible to filter out specific statuses from events.

Top

task_status.proto

Status of a task.

TaskStatus

Task status.

NameNumberDescription
TASK_STATUS_UNSPECIFIED0Task is in an unknown state.
TASK_STATUS_CREATING1Task is being created in database.
TASK_STATUS_SUBMITTED2Task is submitted to the queue.
TASK_STATUS_DISPATCHED3Task is dispatched to a worker.
TASK_STATUS_COMPLETED4Task is completed.
TASK_STATUS_ERROR5Task is in error state.
TASK_STATUS_TIMEOUT6Task is in timeout state.
TASK_STATUS_CANCELLING7Task is being cancelled.
TASK_STATUS_CANCELLED8Task is cancelled.
TASK_STATUS_PROCESSING9Task is being processed.
TASK_STATUS_PROCESSED10Task is processed.
TASK_STATUS_RETRIED11Task is retried.
TASK_STATUS_PENDING12Task is waiting for its dependencies before becoming executable.
TASK_STATUS_PAUSED13Task is paused and will not be executed until session is resumed.

Top

tasks_common.proto

Messages describing tasks and associated requests and responses.

CancelTasksRequest

Request to cancel one or many tasks

FieldTypeLabelDescription
task_idsstringrepeatedIds of the tasks to cancel

CancelTasksResponse

Response from canceling one or many tasks

FieldTypeLabelDescription
tasksTaskSummaryrepeatedTasks that have been asked to cancel

CountTasksByStatusRequest

Request to get count from tasks by status

FieldTypeLabelDescription
filtersFiltersThe filters.

CountTasksByStatusResponse

Response to get count from tasks by status

FieldTypeLabelDescription
statusarmonik.api.grpc.v1.StatusCountrepeatedNumber of tasks by status. Expected to have only 1 object by tasks status.

GetResultIdsRequest

Request for getting result ids of tasks ids.

FieldTypeLabelDescription
task_idstringrepeatedThe task IDs.

GetResultIdsResponse

Response for getting result ids of tasks ids.

FieldTypeLabelDescription
task_resultsGetResultIdsResponse.MapTaskResultrepeatedThe task results.

GetResultIdsResponse.MapTaskResult

Represents a task result.

FieldTypeLabelDescription
task_idstringThe task ID.
result_idsstringrepeatedThe result IDs.

GetTaskRequest

Request for getting a single task.

FieldTypeLabelDescription
task_idstringThe task ID.

GetTaskResponse

Response for getting a single task.

Return a raw task.

FieldTypeLabelDescription
taskTaskDetailedThe task.

ListTasksDetailedResponse

Response to list tasks.

Use pagination, filtering and sorting from the request. Return a list of formatted tasks.

FieldTypeLabelDescription
tasksTaskDetailedrepeatedThe list of tasks.
pageint32The page number. Start at 0.
page_sizeint32The page size.
totalint32The total number of tasks.

ListTasksRequest

Request to list tasks.

Use pagination, filtering and sorting.

FieldTypeLabelDescription
pageint32The page number. Start at 0.
page_sizeint32The page size.
filtersFiltersThe filters.
sortListTasksRequest.SortThe sort.

Must be set for every request. | | with_errors | bool | | Request error message in case of error in task |

ListTasksRequest.Sort

Represents the sort object.

FieldTypeLabelDescription
fieldTaskFieldThe field to sort on.
directionarmonik.api.grpc.v1.sort_direction.SortDirectionThe sort direction.

ListTasksResponse

Response to list tasks.

Use pagination, filtering and sorting from the request. Return a list of formatted tasks.

FieldTypeLabelDescription
tasksTaskSummaryrepeatedThe list of tasks.
pageint32The page number. Start at 0.
page_sizeint32The page size.
totalint32The total number of tasks.

SubmitTasksRequest

Request to create tasks.

FieldTypeLabelDescription
session_idstringThe session ID.
task_optionsarmonik.api.grpc.v1.TaskOptionsThe options for the tasks. Each task will have the same. Options are merged with the one from the session.
task_creationsSubmitTasksRequest.TaskCreationrepeatedTask creation requests.

SubmitTasksRequest.TaskCreation

FieldTypeLabelDescription
expected_output_keysstringrepeatedUnique ID of the results that will be produced by the task. Results should be created using ResultsService.
data_dependenciesstringrepeatedUnique ID of the results that will be used as datadependencies. Results should be created using ResultsService.
payload_idstringUnique ID of the result that will be used as payload. Result should created using ResultsService.
task_optionsarmonik.api.grpc.v1.TaskOptionsOptional task options.

SubmitTasksResponse

Response to create tasks.

expected_output_ids and data_dependencies must be created through ResultsService.

Remark : this may have to be enriched to a better management of errors but will the client application be able to manage a missing data dependency or expected output ?

FieldTypeLabelDescription
task_infosSubmitTasksResponse.TaskInforepeatedList of task infos if submission successful, else throw gRPC exception.

SubmitTasksResponse.TaskInfo

FieldTypeLabelDescription
task_idstringThe task ID.
expected_output_idsstringrepeatedThe expected output IDs. A task have expected output IDs.
data_dependenciesstringrepeatedThe data dependencies IDs (inputs). A task have data dependencies.
payload_idstringUnique ID of the result that will be used as payload. Result should created using ResultsService.

TaskDetailed

A raw task object.

Used when a single task is returned.

FieldTypeLabelDescription
idstringThe task ID.
session_idstringThe session ID. A task have only one related session but a session have many tasks.
owner_pod_idstringThe owner pod ID.
initial_task_idstringThe initial task ID. Set when a task is submitted independently of retries.
parent_task_idsstringrepeatedThe parent task IDs. A tasks can be a child of another task.
data_dependenciesstringrepeatedThe data dependencies. A task have data dependencies.
expected_output_idsstringrepeatedThe expected output IDs. A task have expected output IDs.
retry_of_idsstringrepeatedThe retry of IDs. When a task fail, retry will use these set of IDs.
statusarmonik.api.grpc.v1.task_status.TaskStatusThe task status.
status_messagestringThe status message.
optionsarmonik.api.grpc.v1.TaskOptionsThe task options.
created_atgoogle.protobuf.TimestampThe task creation date.
submitted_atgoogle.protobuf.TimestampThe task submission date.
received_atgoogle.protobuf.TimestampWhen the task is received by the agent.
acquired_atgoogle.protobuf.TimestampWhen the task is acquired by the agent.
fetched_atgoogle.protobuf.TimestampTask data retrieval end date.
started_atgoogle.protobuf.TimestampThe task start date.
processed_atgoogle.protobuf.TimestampThe end of task processing date.
ended_atgoogle.protobuf.TimestampThe task end date. Also used when task failed.
pod_ttlgoogle.protobuf.TimestampThe pod TTL (Time To Live).
creation_to_end_durationgoogle.protobuf.DurationThe task duration. Between the creation date and the end date.
processing_to_end_durationgoogle.protobuf.DurationThe task calculated duration. Between the start date and the end date.
received_to_end_durationgoogle.protobuf.DurationThe task calculated duration. Between the received date and the end date.
payload_idstringThe ID of the Result that is used as a payload for this task.
created_bystringThe ID of the Task that as submitted this task empty if none.
outputTaskDetailed.OutputThe task output.
pod_hostnamestringThe hostname of the container running the task.

TaskDetailed.Output

Represents the task output.

FieldTypeLabelDescription
successboolTo know if a task have failed or succeed.
errorstringThe error message. Only set if task have failed.

TaskSummary

A summary task object.

It contains only a subset of the fields from the underlying task object. Used when a list of tasks are returned.

FieldTypeLabelDescription
idstringThe task ID.
session_idstringThe session ID. A task have only one related session but a session have many tasks.
owner_pod_idstringThe owner pod ID.
initial_task_idstringThe initial task ID. Set when a task is submitted independently of retries.
count_parent_task_idsint64Count the parent task IDs. A tasks can be a child of another task.
count_data_dependenciesint64Count the data dependencies. A task have data dependencies.
count_expected_output_idsint64Count the expected output IDs. A task have expected output IDs.
count_retry_of_idsint64Count the retry of IDs. When a task fail, retry will use these set of IDs.
statusarmonik.api.grpc.v1.task_status.TaskStatusThe task status.
status_messagestringThe status message.
optionsarmonik.api.grpc.v1.TaskOptionsThe task options.
created_atgoogle.protobuf.TimestampThe task creation date.
submitted_atgoogle.protobuf.TimestampThe task submission date.
received_atgoogle.protobuf.TimestampWhen the task is received by the agent.
acquired_atgoogle.protobuf.TimestampWhen the task is acquired by the agent.
fetched_atgoogle.protobuf.TimestampTask data retrieval end date.
started_atgoogle.protobuf.TimestampThe task start date.
processed_atgoogle.protobuf.TimestampThe end of task processing date.
ended_atgoogle.protobuf.TimestampThe task end date. Also used when task failed.
pod_ttlgoogle.protobuf.TimestampThe pod TTL (Time To Live).
creation_to_end_durationgoogle.protobuf.DurationThe task duration. Between the creation date and the end date.
processing_to_end_durationgoogle.protobuf.DurationThe task calculated duration. Between the start date and the end date.
received_to_end_durationgoogle.protobuf.DurationThe task calculated duration. Between the received date and the end date.
payload_idstringThe ID of the Result that is used as a payload for this task.
created_bystringThe ID of the Task that as submitted this task empty if none.
errorstringThe error message. Only set if task have failed.
pod_hostnamestringThe hostname of the container running the task.

Top

tasks_fields.proto

TaskField

FieldTypeLabelDescription
task_summary_fieldTaskSummaryFieldThe task summary field.
task_option_fieldTaskOptionFieldThe task option field.
task_option_generic_fieldTaskOptionGenericFieldThe task option generic field.

TaskOptionField

This message is used to wrap the enum in order to facilitate the 'oneOf' generation.

FieldTypeLabelDescription
fieldTaskOptionEnumField

TaskOptionGenericField

Represents a generic field in a task option.

FieldTypeLabelDescription
fieldstringThe generic field.

TaskSummaryField

This message is used to wrap the enum in order to facilitate the 'oneOf' generation.

FieldTypeLabelDescription
fieldTaskSummaryEnumField

TaskOptionEnumField

Represents a field in a task option.

NameNumberDescription
TASK_OPTION_ENUM_FIELD_UNSPECIFIED0
TASK_OPTION_ENUM_FIELD_MAX_DURATION1
TASK_OPTION_ENUM_FIELD_MAX_RETRIES2
TASK_OPTION_ENUM_FIELD_PRIORITY3
TASK_OPTION_ENUM_FIELD_PARTITION_ID4
TASK_OPTION_ENUM_FIELD_APPLICATION_NAME5
TASK_OPTION_ENUM_FIELD_APPLICATION_VERSION6
TASK_OPTION_ENUM_FIELD_APPLICATION_NAMESPACE7
TASK_OPTION_ENUM_FIELD_APPLICATION_SERVICE8
TASK_OPTION_ENUM_FIELD_ENGINE_TYPE9

TaskSummaryEnumField

Represents every available field in a task summary.

NameNumberDescription
TASK_SUMMARY_ENUM_FIELD_UNSPECIFIED0Unspecified
TASK_SUMMARY_ENUM_FIELD_TASK_ID16The task ID.
TASK_SUMMARY_ENUM_FIELD_SESSION_ID1The session ID.
TASK_SUMMARY_ENUM_FIELD_OWNER_POD_ID9The owner pod ID.
TASK_SUMMARY_ENUM_FIELD_INITIAL_TASK_ID10The initial task ID. Set when a task is submitted independently of retries.
TASK_SUMMARY_ENUM_FIELD_STATUS2The task status.
TASK_SUMMARY_ENUM_FIELD_CREATED_AT3The task creation date.
TASK_SUMMARY_ENUM_FIELD_SUBMITTED_AT11The task submission date.
TASK_SUMMARY_ENUM_FIELD_STARTED_AT4The task start date.
TASK_SUMMARY_ENUM_FIELD_ENDED_AT5The task end date.
TASK_SUMMARY_ENUM_FIELD_CREATION_TO_END_DURATION6The task duration. Between the creation date and the end date.
TASK_SUMMARY_ENUM_FIELD_PROCESSING_TO_END_DURATION7The task calculated duration. Between the start date and the end date.
TASK_SUMMARY_ENUM_FIELD_RECEIVED_TO_END_DURATION18The task calculated duration. Between the received date and the end date.
TASK_SUMMARY_ENUM_FIELD_POD_TTL12The pod TTL (Time To Live).
TASK_SUMMARY_ENUM_FIELD_POD_HOSTNAME13The hostname of the container running the task.
TASK_SUMMARY_ENUM_FIELD_RECEIVED_AT14When the task is received by the agent.
TASK_SUMMARY_ENUM_FIELD_ACQUIRED_AT15When the task is acquired by the agent.
TASK_SUMMARY_ENUM_FIELD_PROCESSED_AT17When the task is processed by the agent.
TASK_SUMMARY_ENUM_FIELD_ERROR8The error message. Only set if task have failed.
TASK_SUMMARY_ENUM_FIELD_FETCHED_AT19When task data are fetched by the agent.
TASK_SUMMARY_ENUM_FIELD_PAYLOAD_ID20The ID of the Result that is used as a payload for this task.
TASK_SUMMARY_ENUM_FIELD_CREATED_BY21The ID of the Result that is used as a payload for this task.

Top

tasks_filters.proto

FilterField

FilterStatus

Filters

FieldTypeLabelDescription
orFiltersAndrepeated

FiltersAnd

FieldTypeLabelDescription
andFilterFieldrepeated

Top

tasks_service.proto

Tasks related methods within a service.

Tasks

Service for handling tasks.

Method NameRequest TypeResponse TypeDescription
ListTasksListTasksRequestListTasksResponseGet a tasks list using pagination, filters and sorting.
ListTasksDetailedListTasksRequestListTasksDetailedResponseGet a tasks list using pagination, filters and sorting with complete metada.
GetTaskGetTaskRequestGetTaskResponseGet a task by its id.
CancelTasksCancelTasksRequestCancelTasksResponseCancel tasks using ids.
GetResultIdsGetResultIdsRequestGetResultIdsResponseGet ids of the result that tasks should produce.
CountTasksByStatusCountTasksByStatusRequestCountTasksByStatusResponseGet count from tasks status.
SubmitTasksSubmitTasksRequestSubmitTasksResponseCreate tasks metadata and submit task for processing.

Top

versions_common.proto

Message describing versions.

ListVersionsRequest

Request to list versions.

ListVersionsResponse

Response to list versions.

FieldTypeLabelDescription
corestring
apistringWe can add more versions here.

Top

versions_service.proto

Versions related methods within a service. This service will be used to get the version of infrastructure components from outside the cluster.

Versions

Service for handling versions.

Method NameRequest TypeResponse TypeDescription
ListVersionsListVersionsRequestListVersionsResponseGet all versions.

Top

worker_common.proto

HealthCheckReply

FieldTypeLabelDescription
statusHealthCheckReply.ServingStatus

ProcessReply

FieldTypeLabelDescription
outputarmonik.api.grpc.v1.Output

ProcessRequest

FieldTypeLabelDescription
communication_tokenstring
session_idstring
task_idstring
task_optionsarmonik.api.grpc.v1.TaskOptions
expected_output_keysstringrepeated
payload_idstring
data_dependenciesstringrepeated
data_folderstring
configurationarmonik.api.grpc.v1.Configuration

HealthCheckReply.ServingStatus

NameNumberDescription
UNKNOWN0
SERVING1
NOT_SERVING2

Top

worker_service.proto

Worker

Method NameRequest TypeResponse TypeDescription
ProcessProcessRequestProcessReply
HealthCheck.armonik.api.grpc.v1.EmptyHealthCheckReply

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstrbyteByteStringstringString (ASCII-8BIT)
Table of Contents