Skip to content

Protocol Documentation

Table of Contents

Top

lib/ame.proto

AmeSecret

This is a secret stored by AME

Field Type Label Description
key string
value string

AmeSecretId

Field Type Label Description
key string

AmeSecretVariant

Field Type Label Description
key string
injectAs string

AmeSecrets

Field Type Label Description
secrets AmeSecretId repeated

ArtifactCfg

Field Type Label Description
save_changed_files bool
paths string repeated

CreateProjectRequest

Field Type Label Description
cfg ProjectCfg
enableTriggers bool optional

CustomExecutor

Field Type Label Description
pythonVersion string
command string

DataSetCfg

Field Type Label Description
name string
task TaskCfg
path string
size string optional

Empty

EnvVar

Field Type Label Description
key string
val string

FileChunk

Field Type Label Description
contents bytes

GitProjectSource

Field Type Label Description
repository string
username string optional
secret string optional
sync_interval string optional

ListProjectSrcsResponse

Field Type Label Description
cfgs ProjectSourceCfg repeated

ListTasksRequest

ListTasksResponse

Field Type Label Description
tasks ListTasksResponse.TasksEntry repeated

ListTasksResponse.TasksEntry

Field Type Label Description
key string
value TaskListEntry

LogEntry

Field Type Label Description
contents bytes

MlflowExecutor

Model

Field Type Label Description
name string
validationTask TaskCfg optional
training ModelTrainingCfg optional
deployment ModelDeploymentCfg optional

ModelDeploymentCfg

Field Type Label Description
ingressAnnotations ModelDeploymentCfg.IngressAnnotationsEntry repeated
replicas int32 optional
image string optional
resources ModelDeploymentCfg.ResourcesEntry repeated
enableTls bool optional

ModelDeploymentCfg.IngressAnnotationsEntry

Field Type Label Description
key string
value string

ModelDeploymentCfg.ResourcesEntry

Field Type Label Description
key string
value string

ModelStatus

Field Type Label Description
latestValidatedModelVersion string optional

ModelTrainingCfg

Field Type Label Description
task TaskCfg

PipEnvExecutor

Field Type Label Description
command string

PipExecutor

Field Type Label Description
pythonVersion string
command string

PoetryExecutor

Field Type Label Description
pythonVersion string
command string

ProjectCfg

Field Type Label Description
name string
models Model repeated
dataSets DataSetCfg repeated
tasks TaskCfg repeated
templates TaskCfg repeated
enableTriggers bool optional

ProjectFileChunk

Field Type Label Description
chunk FileChunk
identifier ProjectFileIdentifier

ProjectFileIdentifier

Field Type Label Description
taskid string
filepath string

ProjectId

Field Type Label Description
name string

ProjectSourceCfg

Field Type Label Description
git GitProjectSource optional

ProjectSourceId

Field Type Label Description
name string

ProjectSourceIssue

Field Type Label Description
issue_type ProjectSourceIssueType
explanation string optional

ProjectSourceListParams

ProjectSourceStatus

Field Type Label Description
last_synced string optional
state ProjectSourceState
reason string optional
issues ProjectSourceIssue repeated

ProjectSrcIdRequest

Field Type Label Description
repo string

ProjectSrcPatchRequest

Field Type Label Description
id ProjectSourceId
cfg ProjectSourceCfg

ProjectStatus

Field Type Label Description
models ProjectStatus.ModelsEntry repeated

ProjectStatus.ModelsEntry

Field Type Label Description
key string
value ModelStatus

RemoveTaskRequest

Field Type Label Description
name string
approve bool optional

ResourceCfg

Field Type Label Description
projectSrcCfg ProjectSourceCfg

ResourceId

Field Type Label Description
projectSrcId ProjectSourceId

ResourceIds

Field Type Label Description
ids ResourceId repeated

ResourceListParams

Field Type Label Description
projectSourceListParams ProjectSourceListParams

RunTaskRequest

Field Type Label Description
projectId ProjectId
taskCfg TaskCfg

Secret

Field Type Label Description
ame AmeSecretVariant

TaskCfg

Field Type Label Description
name string optional
taskRef TaskRef optional
resources TaskCfg.ResourcesEntry repeated
poetry PoetryExecutor
mlflow MlflowExecutor
pipEnv PipEnvExecutor
pip PipExecutor
custom CustomExecutor
dataSets string repeated
fromTemplate TemplateRef optional
artifactCfg ArtifactCfg optional
triggers TriggerCfg optional
env EnvVar repeated
secrets Secret repeated

TaskCfg.ResourcesEntry

Field Type Label Description
key string
value string

TaskId

Field Type Label Description
name string

TaskIdentifier

Field Type Label Description
name string

TaskListEntry

Field Type Label Description
status TaskStatus
timeStamp string

TaskLogRequest

Field Type Label Description
taskid TaskIdentifier
start_from int32 optional
watch bool optional

TaskPhaseFailed

Field Type Label Description
workflowName string

TaskPhasePending

TaskPhaseRunning

Field Type Label Description
workflowName string

TaskPhaseSucceeded

Field Type Label Description
workflowName string

TaskProjectDirectoryStructure

Field Type Label Description
projectid string
taskid TaskIdentifier
paths string repeated

TaskRef

Field Type Label Description
name string
project string optional

TaskStatus

TODO: should there be an error case?

Field Type Label Description
pending TaskPhasePending
running TaskPhaseRunning
failed TaskPhaseFailed
succeeded TaskPhaseSucceeded

TemplateRef

Field Type Label Description
name string
project string optional

TrainRequest

Field Type Label Description
projectid string
model_name string

TriggerCfg

Field Type Label Description
schedule string optional

ProjectSourceIssueType

Name Number Description
Unknown 0
AuthFailure 1
RepositoryNotFound 2
AmeProjectNotFound 3
GitSecretNotFound 4

ProjectSourceState

Name Number Description
Pending 0
Synchronising 1
Synchronized 2
Error 3

TaskType

Name Number Description
Pipenv 0
Mlflow 1
Poetry 2

AmeService

Method Name Request Type Response Type Description
RunTask RunTaskRequest TaskIdentifier
GetTask TaskIdentifier TaskCfg
DeleteTask TaskIdentifier Empty
CreateTaskProjectDirectory TaskProjectDirectoryStructure Empty
UploadProjectFile ProjectFileChunk stream Empty
StreamTaskLogs TaskLogRequest LogEntry stream
CreateProjectSrc ProjectSourceCfg ProjectSourceId
DeleteProjectSrc ProjectSourceId Empty
TrainModel TrainRequest Empty
WatchProjectSrc ProjectSourceId ProjectSourceStatus stream
CreateSecret AmeSecret Empty
DeleteSecret AmeSecretId Empty
ListSecrets Empty AmeSecrets
UpdateProjectSrc ProjectSrcPatchRequest Empty
CreateResource ResourceCfg ResourceId
ListResource ResourceListParams ResourceIds
GetProjectSrcCfg ProjectSourceId ProjectSourceCfg
GetProjectSrcStatus ProjectSourceId ProjectSourceStatus
GetProjectSrcId ProjectSrcIdRequest ProjectSourceId
ListProjectSrcs ProjectSourceListParams ListProjectSrcsResponse
CreateProject CreateProjectRequest ProjectId
ListTasks ListTasksRequest ListTasksResponse
RemoveTask RemoveTaskRequest Empty

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)