Skip to main content

job.proto

path mgmt/v1alpha1/job.proto

package mgmt.v1alpha1


Messages

ActivityFailure

NameTypeDescription
messagestringThe message of the failure

ActivityOptions

Config that contains various timeouts that are configured in the underlying temporal workflow(s) and activities

NameTypeDescription
schedule_to_close_timeoutoptional int64Total time that a workflow is willing to wait for an activity to complete, including retries. Measured in seconds
start_to_close_timeoutoptional int64Max time of a single Temporal Activity execution attempt. This timeout should be as short as the longest psosible execution of any activity (e.g. table sync). Important to know that this is per retry attempt. Defaults to the schedule to close timeout if not provided. Measured in seconds
retry_policyRetryPolicyOptionally define a retry policy for the activity If max attempts is not set, the activity will retry indefinitely until the start to close timeout lapses

AiGenerateSourceOptions

NameTypeDescription
ai_connection_idstringThe connection id that corresponds with an AI-based Neosync connection
schemasrepeated AiGenerateSourceSchemaOptionThe list of schemas (and their tables) along with any configuration options that will be used to generate data for.
fk_source_connection_idoptional stringAn optional connection id that will be used as the basis for the shape of data to be generated.
model_namestringThe name of the model to use
user_promptoptional stringOptionally provide a user prompt to give more context to the schema
generate_batch_sizeoptional int64The batch size that will be used to generate X number of records. This is global and will be applied to all tables configured.

AiGenerateSourceSchemaOption

NameTypeDescription
schemastringThe dataabase schema
tablesrepeated AiGenerateSourceTableOptionThe list of tables (and their configuration) that reside within the schema to receive generated data

AiGenerateSourceTableOption

NameTypeDescription
tablestringThe table that will be used to generate data for
row_countint64The total number of records to be generated.

AwsS3DestinationConnectionOptions

NameTypeDescription
storage_classAwsS3DestinationConnectionOptions.StorageClassThe storage class that will be used when objects are written to S3
max_in_flightoptional uint32The maximum number of batched messages to have in flight at a given time. Increase this to improve throughput.
timeoutoptional stringThe maximum period (duration string) to wait on an upload before abandoning it and reattempting.
batchBatchConfigConfigure batching options to more efficiently store records in S3

AwsS3SourceConnectionOptions

NameTypeDescription
connection_idstringThe unique connection id to a aws s3 connection configuration

BatchConfig

NameTypeDescription
countoptional uint32The max allowed in a batch before it is flushed. 0 to disable.
periodoptional stringA duration string in which an incomplete batch should be flushed regardless of the count. Examples are 1s, 1m, 500ms

CancelJobRunRequest

NameTypeDescription
job_run_idstringThe unique identifier of the job run
account_idstringThe unique identifier of the account

CancelJobRunResponse

NameTypeDescription

ColumnError

NameTypeDescription
schemastringThe schema of the table
tablestringThe table of the column
columnstringThe column of the error
errorsrepeated string@deprecated - Use error_reports instead
error_reportsrepeated ColumnError.ColumnErrorReportThe list of error reports

ColumnError.ColumnErrorReport

Column error report

NameTypeDescription
codeColumnError.ColumnErrorCodeThe error code
messagestringThe error message

ColumnWarning

NameTypeDescription
schemastringThe schema of the table
tablestringThe table of the column
columnstringThe column of the warning
warningsrepeated string@deprecated - Use warning_reports instead
warning_reportsrepeated ColumnWarning.ColumnWarningReportThe list of warning reports

ColumnWarning.ColumnWarningReport

Column warning report

NameTypeDescription
codeColumnWarning.ColumnWarningCodeThe warning code
messagestringThe warning message

CreateJobDestination

NameTypeDescription
connection_idstringThe connection id to use for the job destination
optionsJobDestinationOptionsThe destination options to use for the job destination

CreateJobDestinationConnectionsRequest

NameTypeDescription
job_idstringThe unique identifier of the job
destinationsrepeated CreateJobDestinationThe list of destinations to create and associate with the job

CreateJobDestinationConnectionsResponse

NameTypeDescription
jobJobThe job that was updated

CreateJobHookRequest

NameTypeDescription
job_idstringThe unique identifier of the job
hookNewJobHookThe new hook configuration

CreateJobHookResponse

NameTypeDescription
hookJobHookThe newly created hook

CreateJobRequest

NameTypeDescription
account_idstringThe unique account identifier that this job will be associated with
job_namestringThe unique, friendly name of the job. This is unique per account
cron_scheduleoptional stringOptionally provide a cron schedule. Goes into effect if the job status is set to enabled
mappingsrepeated JobMappingThe list of mappings that will be used to transform the data
sourceJobSourceThe source connection configuration
destinationsrepeated CreateJobDestinationThe list of destinations that will be used to store the data
initiate_job_runboolInitially trigger a run of this job regardless of its status or cron schedule
workflow_optionsWorkflowOptionsSpecify timeouts and other workflow options for the underlying temporal workflow
sync_optionsActivityOptionsSpecify timeout and retry options for data synchronization activities Data sync activities are any piece of work that involves actually synchronizing data from a source to a destination For the data sync and generate jobs, this will be applied per table
virtual_foreign_keysrepeated VirtualForeignConstraintThe list of virtual foreign keys that will be used to further constrain the data ontop of the database defined constraints

CreateJobResponse

NameTypeDescription
jobJobThe job that was created

CreateJobRunRequest

NameTypeDescription
job_idstringThe unique identifier of the job

CreateJobRunResponse

NameTypeDescription

DatabaseError

NameTypeDescription
errorsrepeated string@deprecated - Use error_reports instead
error_reportsrepeated DatabaseError.DatabaseErrorReportThe list of error reports

DatabaseError.DatabaseErrorReport

Database error report

NameTypeDescription
codeDatabaseError.DatabaseErrorCodeThe error code
messagestringThe error message

DeleteJobDestinationConnectionRequest

NameTypeDescription
destination_idstringThe unique identifier of the destination to delete

DeleteJobDestinationConnectionResponse

NameTypeDescription

DeleteJobHookRequest

NameTypeDescription
idstringThe unique identifier of the hook

DeleteJobHookResponse

NameTypeDescription

DeleteJobRequest

NameTypeDescription
idstringThe unique identifier of the job to delete

DeleteJobResponse

NameTypeDescription

DeleteJobRunRequest

NameTypeDescription
job_run_idstringThe unique identifier of the job run
account_idstringThe unique identifier of the account

DeleteJobRunResponse

NameTypeDescription

DynamoDBDestinationConnectionOptions

Configuration for DynamoDB Destination Connection Job Options

NameTypeDescription
table_mappingsrepeated DynamoDBDestinationTableMappingList of table mappings when piping data from a dynamoDB table to another dynamoDB table

DynamoDBDestinationTableMapping

Configuration for mapping a source table to a destination table for DynamoDB

NameTypeDescription
source_tablestringThe name of the incoming source table
destination_tablestringThe name of the outgoing destination table

DynamoDBSourceConnectionOptions

DynamoDB connection options for a job source

NameTypeDescription
connection_idstringThe unique connection id to a dynamodb connection configuration
tablesrepeated DynamoDBSourceTableOptionList of table option configurations for any mapped source table. Any table listed in this must also be present as a job mapping table to be applied.
unmapped_transformsDynamoDBSourceUnmappedTransformConfigDefault transformations for any unmapped keys
enable_consistent_readboolEnforces strong read consistency False: Eventually Consistent Reads, True: Strongly Consistent Reads https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html

DynamoDBSourceSchemaSubset

NameTypeDescription
tablesrepeated DynamoDBSourceTableOptionThe list of tables (and their configuration) that reside within the schema

DynamoDBSourceTableOption

NameTypeDescription
tablestringThe table that this configuration will be applied to
where_clauseoptional stringAn optional PartiQL query that may be used for subsetting the DynamoDB table. This is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword.

DynamoDBSourceUnmappedTransformConfig

NameTypeDescription
bJobMappingTransformerByte
booleanJobMappingTransformerBoolean
nJobMappingTransformerNumber
sJobMappingTransformerString

GcpCloudStorageDestinationConnectionOptions

Configuration for Google Cloud Storage Destination Connection Job Options

NameTypeDescription

GenerateSourceOptions

NameTypeDescription
schemasrepeated GenerateSourceSchemaOptionThe list of schemas (and their tables) along with any configuration options that will be used to generate data for.
fk_source_connection_idoptional stringAn optional connection id that will be used as the basis for the shape of data to be generated.

GenerateSourceSchemaOption

NameTypeDescription
schemastringThe database schema
tablesrepeated GenerateSourceTableOptionThe list of tables (and their configuration) that reside within the schema to receive generated data

GenerateSourceTableOption

NameTypeDescription
tablestringThe table that will be used to generate data for.
row_countint64The total number of records to be generated.

GetActiveJobHooksByTimingRequest

NameTypeDescription
job_idstringThe unique identifier of the job
timingGetActiveJobHooksByTimingRequest.TimingThe timing desired.

GetActiveJobHooksByTimingResponse

NameTypeDescription
hooksrepeated JobHookThe active job hooks

GetJobHookRequest

NameTypeDescription
idstringThe unique identifier of the hook

GetJobHookResponse

NameTypeDescription
hookJobHookThe found hook

GetJobHooksRequest

NameTypeDescription
job_idstringThe unique identifier of the job

GetJobHooksResponse

NameTypeDescription
hooksrepeated JobHookThe list of hooks found attached to the job

GetJobNextRunsRequest

NameTypeDescription
job_idstringThe unique identifier of the job

GetJobNextRunsResponse

NameTypeDescription
next_runsJobNextRunsThe list of next run times

GetJobRecentRunsRequest

NameTypeDescription
job_idstringThe unique identifier of the job

GetJobRecentRunsResponse

NameTypeDescription
recent_runsrepeated JobRecentRunThe list of recent job runs

GetJobRequest

NameTypeDescription
idstringThe unique identifier of the job

GetJobResponse

NameTypeDescription
jobJobThe job that was retrieved

GetJobRunEventsRequest

NameTypeDescription
job_run_idstringThe unique identifier of the job run
account_idstringThe unique identifier of the account

GetJobRunEventsResponse

NameTypeDescription
eventsrepeated JobRunEventThe list of events
is_run_completeboolWhether the run is complete

GetJobRunLogsRequest

NameTypeDescription
job_run_idstringThe unique identifier of the job run
account_idstringThe unique identifier of the account
windowLogWindowThe time window in which to retrieve the logs
max_log_linesoptional int64Optionally provide a max log limit
log_levelsrepeated LogLevelProvide a list of log levels to filter by. If any of these are UNSPECIFIED, all log levels are returned.

GetJobRunLogsResponse

NameTypeDescription
log_linesrepeated GetJobRunLogsResponse.LogLineThe list of log lines

GetJobRunLogsResponse.LogLine

NameTypeDescription
log_linestringThe log line
timestampoptional google.protobuf.TimestampThe timestamp of the log line
labelsrepeated GetJobRunLogsResponse.LogLine.LabelsEntryThe labels associated with the log line

GetJobRunLogsResponse.LogLine.LabelsEntry

NameTypeDescription
keystring
valuestring

GetJobRunLogsStreamRequest

NameTypeDescription
job_run_idstringThe unique identifier of the job run
account_idstringThe unique identifier of the account
windowLogWindowThe time window in which to retrieve the logs
should_tailboolWhether or not to tail the stream. Note: only works with k8s-pods and is not currently supported with Loki logs
max_log_linesoptional int64Optionally provide a max log limit
log_levelsrepeated LogLevelProvide a list of log levels to filter by. If any of these are UNSPECIFIED, all log levels are returned.

GetJobRunLogsStreamResponse

NameTypeDescription
log_linestringThe log line
timestampoptional google.protobuf.TimestampThe timestamp of the log line
labelsrepeated GetJobRunLogsStreamResponse.LabelsEntryThe labels associated with the log line

GetJobRunLogsStreamResponse.LabelsEntry

NameTypeDescription
keystring
valuestring

GetJobRunRequest

NameTypeDescription
job_run_idstringThe unique identifier of the job run
account_idstringThe unique identifier of the account

GetJobRunResponse

NameTypeDescription
job_runJobRunThe job run that was retrieved

GetJobRunsRequest

NameTypeDescription
job_idstringRetireve runs for a specific job
account_idstringRetrieve runs for all jobs in an account

GetJobRunsResponse

NameTypeDescription
job_runsrepeated JobRunThe list of job runs

GetJobStatusRequest

NameTypeDescription
job_idstringThe unique identifier of the job

GetJobStatusResponse

NameTypeDescription
statusJobStatusThe status of the job

GetJobStatusesRequest

NameTypeDescription
account_idstringThe unique identifier of the account

GetJobStatusesResponse

NameTypeDescription
statusesrepeated JobStatusRecordThe list of job statuses

GetJobsRequest

NameTypeDescription
account_idstringThe unique identifier of the account to get jobs for

GetJobsResponse

NameTypeDescription
jobsrepeated JobThe list of jobs

GetRunContextRequest

NameTypeDescription
idRunContextKeyThe run context key

GetRunContextResponse

NameTypeDescription
valuebytesThe returned value in bytes. The format is determined by the key when it is set.

IsJobHookNameAvailableRequest

NameTypeDescription
job_idstringThe unique identifier of the job
namestringThe hook name to check.

IsJobHookNameAvailableResponse

NameTypeDescription
is_availableboolWhether or not the hook name is available

IsJobNameAvailableRequest

NameTypeDescription
namestringThe name to check for availability
account_idstringThe unique identifier of the account to check for availability

IsJobNameAvailableResponse

NameTypeDescription
is_availableboolWhether the name is available

Job

NameTypeDescription
idstringThe unique identifier of the job
created_by_user_idstring
created_atgoogle.protobuf.Timestamp
updated_by_user_idstring
updated_atgoogle.protobuf.Timestamp
namestringThe unique, friendly name of the job
sourceJobSourceThe source connection configuration
destinationsrepeated JobDestinationThe list of destinations that will be used to store the data
mappingsrepeated JobMappingThe list of mappings that will be used to transform the data
cron_scheduleoptional stringThe cron schedule that will be used to trigger the job
account_idstringThe account identifier that a job is associated with
sync_optionsActivityOptionsSpecify timeout and retry options for data synchronization activities Data sync activities are any piece of work that involves actually synchronizing data from a source to a destination For the data sync and generate jobs, this will be applied per table
workflow_optionsWorkflowOptionsSpecify timeouts and other workflow options for the underlying temporal workflow
virtual_foreign_keysrepeated VirtualForeignConstraintAny virtual foreign keys that are configured as a part of this job

JobDestination

NameTypeDescription
connection_idstringThe connection id to use for the job destination
optionsJobDestinationOptionsThe destination options to use for the job destination
idstringThe unique identifier of the job destination

JobDestinationOptions

NameTypeDescription
postgres_optionsPostgresDestinationConnectionOptions
aws_s3_optionsAwsS3DestinationConnectionOptions
mysql_optionsMysqlDestinationConnectionOptions
mongodb_optionsMongoDBDestinationConnectionOptions
gcp_cloudstorage_optionsGcpCloudStorageDestinationConnectionOptionsDestination Connecton options for Google Cloud Storage
dynamodb_optionsDynamoDBDestinationConnectionOptionsDestination Connection options for DynamoDB
mssql_optionsMssqlDestinationConnectionOptionsDestination Connection options for Microsoft SQL Server

JobHook

NameTypeDescription
idstringThe unique identifier of this hook.
namestringName of the hook for display/reference.
descriptionstringDescription of what this hook does.
job_idstringThe unique identifier of the job this hook belongs to.
configJobHookConfigHook-type specific configuration.
created_by_user_idstringThe user that created this hook.
created_atgoogle.protobuf.TimestampThe time this hook was created.
updated_by_user_idstringThe user that last updated this hook.
updated_atgoogle.protobuf.TimestampThe last time this hook was updated.
enabledboolWhether or not the hook is enabled.
priorityuint32The priority of the hook (0-100). This determines the execution order. Lower values are higher priority (priority=0 is the highest). Tie Breaking is determined by the following: (priority, created_at, id) in ascending order.

JobHookConfig

Contains the specific hook type configurations.

NameTypeDescription
sqlJobHookConfig.JobSqlHookConfiguration for SQL-specific hooks.

JobHookConfig.JobSqlHook

Configuration for SQL-based hooks

NameTypeDescription
querystringThe SQL query to execute
connection_idstringUnique identifier of the Neosync connection to run this hook for. Must be a connection id that is present in the job.
timingJobHookConfig.JobSqlHook.TimingThe timing of when the hook will run

JobHookConfig.JobSqlHook.Timing

NameTypeDescription
pre_syncJobHookTimingPreSyncA Pre-Sync timing. Will run before the first table sync. Will run before Truncation, if enabled. Will run before Schema Init, if enabled.
post_syncJobHookTimingPostSyncA Post-Sync timing. Will run after the last table sync.

JobHookTimingPostSync

Configures the job hook to run after the last table sync.

NameTypeDescription

JobHookTimingPreSync

Configures the job hook to run before the first table sync. Will run before Truncation, if enabled. Will run before Schema Init, if enabled.

NameTypeDescription

JobMapping

NameTypeDescription
schemastringThe database schema
tablestringThe database table.
columnstringThe column in the configured schema.table
transformerJobMappingTransformerThe transformer configuration that will be applied to each cell in the column

JobMappingTransformer

NameTypeDescription
configTransformerConfigThe transformer configuration

JobNextRuns

NameTypeDescription
next_run_timesrepeated google.protobuf.TimestampThe list of next run times

JobRecentRun

NameTypeDescription
start_timegoogle.protobuf.TimestampThe start time of the job run
job_run_idstringThe unique identifier of the job run

JobRun

NameTypeDescription
idstringThe id of the job run. This will currently be equivalent to the temporal workflow id
job_idstringThe unique identifier of the job id this run is associated with
namestringThe name of the job run.
statusJobRunStatusthe status of the job run
started_atgoogle.protobuf.TimestampA timestamp of when the run started
completed_atoptional google.protobuf.TimestampAvailable if the run completed or has not yet been archived by the system
pending_activitiesrepeated PendingActivityPending activities are only returned when retrieving a specific job run and will not be returned when requesting job runs in list format

JobRunEvent

NameTypeDescription
idint64The unique identifier of the event
typestringThe type of the event
start_timegoogle.protobuf.TimestampThe start time of the event
close_timegoogle.protobuf.TimestampThe close time of the event
metadataJobRunEventMetadataThe metadata of the event
tasksrepeated JobRunEventTaskThe list of tasks associated with the event

JobRunEventMetadata

NameTypeDescription
sync_metadataJobRunSyncMetadataThe metadata of the sync

JobRunEventTask

NameTypeDescription
idint64The unique identifier of the task
typestringThe type of the task
event_timegoogle.protobuf.TimestampThe time of the event
errorJobRunEventTaskErrorThe error of the task

JobRunEventTaskError

NameTypeDescription
messagestringThe message of the error
retry_statestringThe retry state of the error

JobRunSyncMetadata

NameTypeDescription
schemastringThe schema of the table
tablestringThe table of the sync

JobSource

NameTypeDescription
optionsJobSourceOptionsThe source options to use for the job

JobSourceOptions

NameTypeDescription
postgresPostgresSourceConnectionOptions
aws_s3AwsS3SourceConnectionOptions
mysqlMysqlSourceConnectionOptions
generateGenerateSourceOptions
ai_generateAiGenerateSourceOptions
mongodbMongoDBSourceConnectionOptions
dynamodbDynamoDBSourceConnectionOptions
mssqlMssqlSourceConnectionOptions

JobSourceSqlSubetSchemas

NameTypeDescription
postgres_subsetPostgresSourceSchemaSubsetThe list of schemas (and their tables) along with any configuration options that will be used.
mysql_subsetMysqlSourceSchemaSubsetThe list of schemas (and their tables) along with any configuration options that will be used.
dynamodb_subsetDynamoDBSourceSchemaSubsetThe list of tables (and their configuration) that reside within the schema
mssql_subsetMssqlSourceSchemaSubsetThe list of schemas (and their tables) along with any configuration options that will be used.

JobStatusRecord

NameTypeDescription
job_idstringThe unique identifier of the job
statusJobStatusThe status of the job

MongoDBDestinationConnectionOptions

NameTypeDescription

MongoDBSourceConnectionOptions

MongoDB connection options for a job source

NameTypeDescription
connection_idstringThe unique connection id to a mongo connection configuration

MssqlDestinationConnectionOptions

NameTypeDescription
truncate_tableMssqlTruncateTableConfigWhether to truncate the table before inserting data
init_table_schemaboolWhether to initialize the table schema before inserting data
on_conflictMssqlOnConflictConfigThe configuration for handling conflicts when inserting data
skip_foreign_key_violationsboolInsert all valid records, skipping any that violate foreign key constraints.
batchBatchConfigConfigure batching options to handle how much data is sent to your database at once.
max_in_flightoptional uint32Determines the maximum number of parallel batched inserts.

MssqlOnConflictConfig

NameTypeDescription
do_nothingboolWhether to do nothing when a conflict occurs

MssqlSourceConnectionOptions

NameTypeDescription
halt_on_new_column_additionboolWhether to halt the job if a new column is added
schemasrepeated MssqlSourceSchemaOptionThe list of schemas (and their tables) along with any configuration options that will be used.
connection_idstringThe unique connection id to a mssql connection configuration
subset_by_foreign_key_constraintsboolWhether to subset the table by foreign key constraints
column_removal_strategyMssqlSourceConnectionOptions.ColumnRemovalStrategyProvide a strategy of what to do in the event Neosync encounters a column that is removed from the source table.

MssqlSourceConnectionOptions.ColumnRemovalStrategy

NameTypeDescription
halt_jobMssqlSourceConnectionOptions.ColumnRemovalStrategy.HaltJobhalt job if a column is removed
continue_jobMssqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJobcontinue job if a column is removed

MssqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob

Configuration for the ContinueJob strategy

NameTypeDescription

MssqlSourceConnectionOptions.ColumnRemovalStrategy.HaltJob

Configuration for the HaltJob strategy

NameTypeDescription

MssqlSourceSchemaOption

NameTypeDescription
schemastringThe database schema
tablesrepeated MssqlSourceTableOptionThe list of tables (and their configuration) that reside within the schema

MssqlSourceSchemaSubset

NameTypeDescription
mssql_schemasrepeated MssqlSourceSchemaOptionThe list of schemas (and their tables) along with any configuration options that will be used.

MssqlSourceTableOption

NameTypeDescription
tablestringThe table that will be used to subset the data for.
where_clauseoptional stringThis is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. Is used to subset the table.

MssqlTruncateTableConfig

NameTypeDescription
truncate_before_insertboolWhether to truncate the table before inserting data

MysqlDestinationConnectionOptions

NameTypeDescription
truncate_tableMysqlTruncateTableConfigWhether to truncate the table before inserting data
init_table_schemaboolWhether to initialize the table schema before inserting data
on_conflictMysqlOnConflictConfigThe configuration for handling conflicts when inserting data
skip_foreign_key_violationsboolInsert all valid records, skipping any that violate foreign key constraints.
batchBatchConfigConfigure batching options to handle how much data is sent to your database at once.
max_in_flightoptional uint32Determines the maximum number of parallel batched inserts.

MysqlOnConflictConfig

NameTypeDescription
do_nothingbool@deprecated - Use strategy nothing instead
nothingMysqlOnConflictConfig.MysqlOnConflictDoNothingDo nothing when a conflict occurs
updateMysqlOnConflictConfig.MysqlOnConflictUpdateUpdate columns when a conflict occurs

MysqlOnConflictConfig.MysqlOnConflictDoNothing

Do nothing strategy

NameTypeDescription

MysqlOnConflictConfig.MysqlOnConflictUpdate

Update strategy // List of table-specific update configurations repeated MysqlOnConflictSchemaUpdate schemas = 1;

NameTypeDescription

MysqlSourceConnectionOptions

NameTypeDescription
halt_on_new_column_additionboolWhether to halt the job if a new column is added
schemasrepeated MysqlSourceSchemaOptionThe list of schemas (and their tables) along with any configuration options that will be used.
connection_idstringThe unique connection id to a mysql connection configuration
subset_by_foreign_key_constraintsboolWhether to subset the table by foreign key constraints
column_removal_strategyMysqlSourceConnectionOptions.ColumnRemovalStrategyProvide a strategy of what to do in the event Neosync encounters a column that is removed from the source table.

MysqlSourceConnectionOptions.ColumnRemovalStrategy

NameTypeDescription
halt_jobMysqlSourceConnectionOptions.ColumnRemovalStrategy.HaltJobhalt job if a column is removed
continue_jobMysqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJobcontinue job if a column is removed

MysqlSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob

Configuration for the ContinueJob strategy

NameTypeDescription

MysqlSourceConnectionOptions.ColumnRemovalStrategy.HaltJob

Configuration for the HaltJob strategy

NameTypeDescription

MysqlSourceSchemaOption

NameTypeDescription
schemastringThe database schema
tablesrepeated MysqlSourceTableOptionThe list of tables (and their configuration) that reside within the schema

MysqlSourceSchemaSubset

NameTypeDescription
mysql_schemasrepeated MysqlSourceSchemaOptionThe list of schemas (and their tables) along with any configuration options that will be used.

MysqlSourceTableOption

NameTypeDescription
tablestringThe table that will be used to subset the data for.
where_clauseoptional stringThis is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. Is used to subset the table.

MysqlTruncateTableConfig

NameTypeDescription
truncate_before_insertboolWhether to truncate the table before inserting data

NewJobHook

NameTypeDescription
namestringName of the hook for display/reference.
descriptionstringDescription of what this hook does.
configJobHookConfigHook-type specific configuration.
enabledboolWhether or not the hook is enabled.
priorityuint32The priority of the hook (0-100). This determines the execution order. Lower values are higher priority (priority=0 is the highest). Tie Breaking is determined by the following: (priority, created_at, id) in ascending order.

PauseJobRequest

NameTypeDescription
idstringThe unique identifier of the job
pauseboolWhether to pause or unpause the job
noteoptional stringAn optional note to be associated with the pause

PauseJobResponse

NameTypeDescription
jobJobThe job that was updated

PendingActivity

NameTypeDescription
statusActivityStatusThe status of the activity
activity_namestringThe name of the activity
last_failureoptional ActivityFailureThe last failure of the activity

PostgresDestinationConnectionOptions

NameTypeDescription
truncate_tablePostgresTruncateTableConfigWhether to truncate the table before inserting data
init_table_schemaboolWhether to initialize the table schema before inserting data
on_conflictPostgresOnConflictConfigThe configuration for handling conflicts when inserting data
skip_foreign_key_violationsboolWhether to skip records that violate foreign key constraints
batchBatchConfigConfigure batching options to handle how much data is sent to your database at once.
max_in_flightoptional uint32Determines the maximum number of parallel batched inserts.

PostgresOnConflictConfig

NameTypeDescription
do_nothingbool@deprecated - Use strategy nothing instead
nothingPostgresOnConflictConfig.PostgresOnConflictDoNothingDo nothing when a conflict occurs
updatePostgresOnConflictConfig.PostgresOnConflictUpdateUpdate columns when a conflict occurs

PostgresOnConflictConfig.PostgresOnConflictDoNothing

Do nothing strategy

NameTypeDescription

PostgresOnConflictConfig.PostgresOnConflictUpdate

Update strategy // List of table-specific update configurations repeated PostgresOnConflictSchemaUpdate schemas = 1;

NameTypeDescription

PostgresSourceConnectionOptions

NameTypeDescription
schemasrepeated PostgresSourceSchemaOptionThe list of schemas (and their tables) along with any configuration options that will be used.
connection_idstringThe unique connection id to a postgres connection configuration
subset_by_foreign_key_constraintsboolWhether to subset the table by foreign key constraints
new_column_addition_strategyPostgresSourceConnectionOptions.NewColumnAdditionStrategyProvide a strategy of what to do in the event Neosync encounters an unmapped column for the job's mapped tables.
column_removal_strategyPostgresSourceConnectionOptions.ColumnRemovalStrategyProvide a strategy of what to do in the event Neosync encounters a column that is removed from the source table.

PostgresSourceConnectionOptions.ColumnRemovalStrategy

NameTypeDescription
halt_jobPostgresSourceConnectionOptions.ColumnRemovalStrategy.HaltJobhalt job if a column is removed
continue_jobPostgresSourceConnectionOptions.ColumnRemovalStrategy.ContinueJobcontinue job if a column is removed

PostgresSourceConnectionOptions.ColumnRemovalStrategy.ContinueJob

Configuration for the ContinueJob strategy

NameTypeDescription

PostgresSourceConnectionOptions.ColumnRemovalStrategy.HaltJob

Configuration for the HaltJob strategy

NameTypeDescription

PostgresSourceConnectionOptions.NewColumnAdditionStrategy

NameTypeDescription
halt_jobPostgresSourceConnectionOptions.NewColumnAdditionStrategy.HaltJobhalt job if a new column is detected.
auto_mapPostgresSourceConnectionOptions.NewColumnAdditionStrategy.AutoMapautomatically handle unmapped columns. It handles this by using the DBs default/nullable values. If this doesn't exist, will fall back to configuring generators for supported datatypes. If none of the criteria above can be met, the job run will fail to prevent leaking of PII.

PostgresSourceConnectionOptions.NewColumnAdditionStrategy.AutoMap

Configuration for the AutoMap strategy

NameTypeDescription

PostgresSourceConnectionOptions.NewColumnAdditionStrategy.HaltJob

Configuration for the HaltJob strategy

NameTypeDescription

PostgresSourceSchemaOption

NameTypeDescription
schemastringThe database schema
tablesrepeated PostgresSourceTableOptionThe list of tables (and their configuration) that reside within the schema

PostgresSourceSchemaSubset

NameTypeDescription
postgres_schemasrepeated PostgresSourceSchemaOptionThe list of schemas (and their tables) along with any configuration options that will be used.

PostgresSourceTableOption

NameTypeDescription
tablestringThe table that will be used subset the data for.
where_clauseoptional stringThis is not a parameterized query and must be valid. Intended to be everything after the WHERE keyword. Is used to subset the table.

PostgresTruncateTableConfig

NameTypeDescription
truncate_before_insertboolWhether to truncate the table before inserting data
cascadeboolWhether to cascade the truncate to child tables

RetryPolicy

Defines the retry policy for an activity

NameTypeDescription
maximum_attemptsoptional int32Maximum number of attempts. When exceeded the retries stop even if not expired yet. If not set or set to 0, it means unlimited, and rely on activity ScheduleToCloseTimeout to stop.

RunContextKey

NameTypeDescription
job_run_idstringThe Neosync Run ID
external_idstringAn opaque identifier that will be used to store specific items
account_idstringThe Neosync Account ID

SetJobHookEnabledRequest

NameTypeDescription
idstringThe unique identifier of the hook
enabledboolWhether or not the hook is enabled.

SetJobHookEnabledResponse

NameTypeDescription
hookJobHookThe updated job hook

SetJobSourceSqlConnectionSubsetsRequest

NameTypeDescription
idstringThe unique identifier of the job to update subsets for
schemasJobSourceSqlSubetSchemasThe subset configuration
subset_by_foreign_key_constraintsboolWhether or not to have subsets follow foreign key constraints (for connections that support it)

SetJobSourceSqlConnectionSubsetsResponse

NameTypeDescription
jobJobThe job that was updated

SetJobSyncOptionsRequest

NameTypeDescription
idstringThe unique identifier of the job
sync_optionsActivityOptionsThe sync options object. The entire object must be provided and will fully overwrite the previous result

SetJobSyncOptionsResponse

NameTypeDescription
jobJobThe updated job

SetJobWorkflowOptionsRequest

NameTypeDescription
idstringThe unique identifier of the job
worfklow_optionsWorkflowOptionsThe workflow options object. The entire object must be provided and will fully overwrite the previous result

SetJobWorkflowOptionsResponse

NameTypeDescription
jobJobThe updated job

SetRunContextRequest

NameTypeDescription
idRunContextKeyThe run context key
valuebytesAn opaque value that is to be determined by the key

SetRunContextResponse

NameTypeDescription

SetRunContextsRequest

NameTypeDescription
idRunContextKeyThe run context key
valuebytesAn opaque value that is to be determined by the key

SetRunContextsResponse

NameTypeDescription

TableError

NameTypeDescription
schemastringThe schema of the table
tablestringThe table of the error
error_reportsrepeated TableError.TableErrorReportThe list of error reports

TableError.TableErrorReport

Database error report

NameTypeDescription
codeTableError.TableErrorCodeThe error code
messagestringThe error message

TerminateJobRunRequest

NameTypeDescription
job_run_idstringThe unique identifier of the job run
account_idstringThe unique identifier of the account

TerminateJobRunResponse

NameTypeDescription

UpdateJobDestinationConnectionRequest

NameTypeDescription
job_idstringThe unique identifier of the job
connection_idstringThe unique identifier of the connection
optionsJobDestinationOptionsThe destination connection options
destination_idstringThe unique identifier of the destination

UpdateJobDestinationConnectionResponse

NameTypeDescription
jobJobThe job that was updated

UpdateJobHookRequest

NameTypeDescription
idstringThe unique identifier of the hook
namestringName of the hook for display/reference.
descriptionstringDescription of what this hook does.
configJobHookConfigHook-type specific configuration.
enabledboolWhether or not the hook is enabled.
priorityuint32The priority of the hook (0-100). This determines the execution order. Lower values are higher priority (priority=0 is the highest). Tie Breaking is determined by the following: (priority, created_at, id) in ascending order.

UpdateJobHookResponse

NameTypeDescription
hookJobHookThe updated job hook

UpdateJobScheduleRequest

NameTypeDescription
idstringThe unique identifier of the job
cron_scheduleoptional stringThe new cron schedule

UpdateJobScheduleResponse

NameTypeDescription
jobJobThe job that was updated

UpdateJobSourceConnectionRequest

NameTypeDescription
idstringThe unique identifier of the job
sourceJobSourceThe new source connection configuration
mappingsrepeated JobMappingThe new list of mappings that will be used to transform the data
virtual_foreign_keysrepeated VirtualForeignConstraintThe new list of virtual foreign keys that will be used to further constrain the data ontop of the database defined constraints

UpdateJobSourceConnectionResponse

NameTypeDescription
jobJob

ValidateJobMappingsRequest

NameTypeDescription
account_idstringThe unique identifier of the account
mappingsrepeated JobMappingThe list of mappings to validate
connection_idstringThe unique identifier of the connection
virtual_foreign_keysrepeated VirtualForeignConstraintThe list of virtual foreign keys
job_sourceoptional JobSourceThe source options of the job

ValidateJobMappingsResponse

NameTypeDescription
column_errorsrepeated ColumnErrorThe list of column errors
database_errorsDatabaseErrorThe list of database errors
column_warningsrepeated ColumnWarningThe list of column warnings
table_errorsrepeated TableErrorThe list of table errors

VirtualForeignConstraint

NameTypeDescription
schemastringThe schema of the table
tablestringThe table of the virtual foreign key
columnsrepeated stringThe list of columns
foreign_keyVirtualForeignKeyThe foreign key

VirtualForeignKey

NameTypeDescription
schemastringThe schema of the table
tablestringThe table of the virtual foreign key
columnsrepeated stringThe list of columns

WorkflowOptions

Config that contains various timeouts that are configured in the underlying temporal workflow More options will come in the future as needed

NameTypeDescription
run_timeoutoptional int64The timeout for a single workflow run. Measured in seconds

Enums

ActivityStatus

NameNumberDescription
ACTIVITY_STATUS_UNSPECIFIED0
ACTIVITY_STATUS_SCHEDULED1
ACTIVITY_STATUS_STARTED2
ACTIVITY_STATUS_CANCELED3
ACTIVITY_STATUS_FAILED4

AwsS3DestinationConnectionOptions.StorageClass

NameNumberDescription
STORAGE_CLASS_UNSPECIFIED0
STORAGE_CLASS_STANDARD1
STORAGE_CLASS_REDUCED_REDUNDANCY2
STORAGE_CLASS_GLACIER3
STORAGE_CLASS_STANDARD_IA4
STORAGE_CLASS_ONEZONE_IA5
STORAGE_CLASS_INTELLIGENT_TIERING6
STORAGE_CLASS_DEEP_ARCHIVE7

ColumnError.ColumnErrorCode

An enumeration of column error codes

NameNumberDescription
COLUMN_ERROR_CODE_UNSPECIFIED0Default unspecified value
COLUMN_ERROR_CODE_NOT_FOUND_IN_SOURCE1Column not found in source database
COLUMN_ERROR_CODE_NOT_FOUND_IN_MAPPING2Column not found in job mapping
COLUMN_ERROR_CODE_REQUIRED_COLUMN_NOT_FOUND_IN_MAPPING3Required column not found in job mapping
COLUMN_ERROR_CODE_REQUIRED_FOREIGN_KEY_NOT_FOUND_IN_MAPPING4Required foreign key not found in job mapping
COLUMN_ERROR_CODE_UNSUPPORTED_CIRCULAR_DEPENDENCY_AT_LEAST_ONE_NULLABLE5Unsupported circular dependency detected
COLUMN_ERROR_CODE_VFK_SOURCE_COLUMN_NOT_FOUND_IN_MAPPING6Virtual foreign key source column not found in mapping
COLUMN_ERROR_CODE_VFK_SOURCE_COLUMN_NOT_FOUND_IN_SOURCE7Virtual foreign key source column not found in source
COLUMN_ERROR_CODE_VFK_TARGET_COLUMN_NOT_FOUND_IN_MAPPING8Virtual foreign key target column not found in mapping
COLUMN_ERROR_CODE_VFK_TARGET_COLUMN_NOT_FOUND_IN_SOURCE9Virtual foreign key target column not found in source
COLUMN_ERROR_CODE_VFK_COLUMN_DATATYPE_MISMATCH10Virtual foreign key column datatype mismatch
COLUMN_ERROR_CODE_VFK_SOURCE_COLUMN_NOT_UNIQUE11Virtual foreign key source column not unique

ColumnWarning.ColumnWarningCode

An enumeration of column warning codes

NameNumberDescription
COLUMN_WARNING_CODE_UNSPECIFIED0Default unspecified value
COLUMN_WARNING_CODE_NOT_FOUND_IN_SOURCE1Column not found in source database
COLUMN_WARNING_CODE_NOT_FOUND_IN_MAPPING2Column not found in job mapping

DatabaseError.DatabaseErrorCode

An enumeration of database error codes

NameNumberDescription
DATABASE_ERROR_CODE_UNSPECIFIED0Default unspecified value
DATABASE_ERROR_CODE_UNSUPPORTED_CIRCULAR_DEPENDENCY_AT_LEAST_ONE_NULLABLE1Unsupported circular dependency detected
DATABASE_ERROR_CODE_VFK_COLUMN_MISMATCH2Virtual foreign key column mismatch

GetActiveJobHooksByTimingRequest.Timing

NameNumberDescription
TIMING_UNSPECIFIED0If unspecified, returns all active job hooks
TIMING_PRESYNC1Only returns presync hooks
TIMING_POSTSYNC2Only returns postsync hooks

JobRunStatus

An enumeration of job run statuses.

NameNumberDescription
JOB_RUN_STATUS_UNSPECIFIED0if the job run status is unknown
JOB_RUN_STATUS_PENDING1the run is pending and has not started yet
JOB_RUN_STATUS_RUNNING2the run is currently in progress
JOB_RUN_STATUS_COMPLETE3the run has successfully completed
JOB_RUN_STATUS_ERROR4the run ended with an error
JOB_RUN_STATUS_CANCELED5the run was cancelled
JOB_RUN_STATUS_TERMINATED6the run was terminated
JOB_RUN_STATUS_FAILED7the run ended in failure
JOB_RUN_STATUS_TIMED_OUT8the run was ended pre-maturely due to timeout

JobStatus

NameNumberDescription
JOB_STATUS_UNSPECIFIED0
JOB_STATUS_ENABLED1
JOB_STATUS_PAUSED3
JOB_STATUS_DISABLED4

LogLevel

NameNumberDescription
LOG_LEVEL_UNSPECIFIED0
LOG_LEVEL_DEBUG1
LOG_LEVEL_INFO2
LOG_LEVEL_WARN3
LOG_LEVEL_ERROR4

LogWindow

NameNumberDescription
LOG_WINDOW_NO_TIME_UNSPECIFIED0
LOG_WINDOW_FIFTEEN_MIN1
LOG_WINDOW_ONE_HOUR2
LOG_WINDOW_ONE_DAY3

TableError.TableErrorCode

An enumeration of table error codes

NameNumberDescription
TABLE_ERROR_CODE_UNSPECIFIED0Default unspecified value
TABLE_ERROR_CODE_TABLE_NOT_FOUND_IN_SOURCE1Table not found in source database
TABLE_ERROR_CODE_VFK_SOURCE_TABLE_NOT_FOUND_IN_MAPPING2Virtual foreign key source table not found in mapping
TABLE_ERROR_CODE_VFK_SOURCE_TABLE_NOT_FOUND_IN_SOURCE3Virtual foreign key source table not found in source
TABLE_ERROR_CODE_VFK_TARGET_TABLE_NOT_FOUND_IN_MAPPING4Virtual foreign key target table not found in mapping
TABLE_ERROR_CODE_VFK_TARGET_TABLE_NOT_FOUND_IN_SOURCE5Virtual foreign key target table not found in source

Services

JobService

Service that handles jobs, runs, and hooks

GetJobs

MethodGetJobs
RequestGetJobsRequest
ResponseGetJobsResponse
DescriptionReturns a list of jobs by either account or job

GetJob

MethodGetJob
RequestGetJobRequest
ResponseGetJobResponse
DescriptionReturns a specific job

CreateJob

MethodCreateJob
RequestCreateJobRequest
ResponseCreateJobResponse
DescriptionCreates a new job

DeleteJob

MethodDeleteJob
RequestDeleteJobRequest
ResponseDeleteJobResponse
DescriptionDeletes a job

IsJobNameAvailable

MethodIsJobNameAvailable
RequestIsJobNameAvailableRequest
ResponseIsJobNameAvailableResponse
DescriptionChecks if a job name is available

UpdateJobSchedule

MethodUpdateJobSchedule
RequestUpdateJobScheduleRequest
ResponseUpdateJobScheduleResponse
DescriptionUpdates the schedule of a job

UpdateJobSourceConnection

MethodUpdateJobSourceConnection
RequestUpdateJobSourceConnectionRequest
ResponseUpdateJobSourceConnectionResponse
DescriptionUpdates the source connection of a job

SetJobSourceSqlConnectionSubsets

MethodSetJobSourceSqlConnectionSubsets
RequestSetJobSourceSqlConnectionSubsetsRequest
ResponseSetJobSourceSqlConnectionSubsetsResponse
DescriptionSets the source sql connection subsets of a job

UpdateJobDestinationConnection

MethodUpdateJobDestinationConnection
RequestUpdateJobDestinationConnectionRequest
ResponseUpdateJobDestinationConnectionResponse
DescriptionUpdates the destination connection of a job

DeleteJobDestinationConnection

MethodDeleteJobDestinationConnection
RequestDeleteJobDestinationConnectionRequest
ResponseDeleteJobDestinationConnectionResponse
DescriptionDeletes the destination connection of a job

CreateJobDestinationConnections

MethodCreateJobDestinationConnections
RequestCreateJobDestinationConnectionsRequest
ResponseCreateJobDestinationConnectionsResponse
DescriptionCreates the destination connections of a job

PauseJob

MethodPauseJob
RequestPauseJobRequest
ResponsePauseJobResponse
DescriptionPauses or unpauses a job

GetJobRecentRuns

MethodGetJobRecentRuns
RequestGetJobRecentRunsRequest
ResponseGetJobRecentRunsResponse
DescriptionReturns a list of recently invoked job runs based on the Temporal cron scheduler. This will return a list of job runs that include archived runs

GetJobNextRuns

MethodGetJobNextRuns
RequestGetJobNextRunsRequest
ResponseGetJobNextRunsResponse
DescriptionReturns a list of runs that are scheduled for execution based on the Temporal cron scheduler.

GetJobStatus

MethodGetJobStatus
RequestGetJobStatusRequest
ResponseGetJobStatusResponse
DescriptionReturns the status of a job

GetJobStatuses

MethodGetJobStatuses
RequestGetJobStatusesRequest
ResponseGetJobStatusesResponse
DescriptionReturns the statuses of jobs within an account

GetJobRuns

MethodGetJobRuns
RequestGetJobRunsRequest
ResponseGetJobRunsResponse
DescriptionReturns a list of job runs by either account or job

GetJobRunEvents

MethodGetJobRunEvents
RequestGetJobRunEventsRequest
ResponseGetJobRunEventsResponse
DescriptionReturns a list of events for a job run to understand more details of the run itself

GetJobRun

MethodGetJobRun
RequestGetJobRunRequest
ResponseGetJobRunResponse
DescriptionReturns a specific job run, along with any of its pending activities

DeleteJobRun

MethodDeleteJobRun
RequestDeleteJobRunRequest
ResponseDeleteJobRunResponse
DescriptionDeletes a job run

CreateJobRun

MethodCreateJobRun
RequestCreateJobRunRequest
ResponseCreateJobRunResponse
DescriptionCreates a new job run

CancelJobRun

MethodCancelJobRun
RequestCancelJobRunRequest
ResponseCancelJobRunResponse
DescriptionCancels a job run. This is a graceful termination and allows the workflow to clean up and exit gracefully.

TerminateJobRun

MethodTerminateJobRun
RequestTerminateJobRunRequest
ResponseTerminateJobRunResponse
DescriptionTerminates a job run. This is an immediate termination and will not allow the workflow to clean up and exit gracefully.

GetJobRunLogsStream

MethodGetJobRunLogsStream
RequestGetJobRunLogsStreamRequest
ResponseGetJobRunLogsStreamResponse stream
DescriptionReturns a stream of logs from the worker nodes that pertain to a specific job run

GetJobRunLogs

MethodGetJobRunLogs
RequestGetJobRunLogsRequest
ResponseGetJobRunLogsResponse
DescriptionReturns a list of logs from the worker nodes that pertain to a specific job run. Equivalent to the stream endpoint, but runs in a unary fashion.

SetJobWorkflowOptions

MethodSetJobWorkflowOptions
RequestSetJobWorkflowOptionsRequest
ResponseSetJobWorkflowOptionsResponse
DescriptionSet any job workflow options. Must provide entire object as is it will fully override the previous configuration

SetJobSyncOptions

MethodSetJobSyncOptions
RequestSetJobSyncOptionsRequest
ResponseSetJobSyncOptionsResponse
DescriptionSet the job sync options. Must provide entire object as it will fully override the previous configuration

ValidateJobMappings

MethodValidateJobMappings
RequestValidateJobMappingsRequest
ResponseValidateJobMappingsResponse
DescriptionValidates that the jobmapping configured can run with table constraints

GetRunContext

MethodGetRunContext
RequestGetRunContextRequest
ResponseGetRunContextResponse
DescriptionGets a run context to be used by a workflow run

SetRunContext

MethodSetRunContext
RequestSetRunContextRequest
ResponseSetRunContextResponse
DescriptionSets a run context to be used by a workflow run

SetRunContexts

MethodSetRunContexts
RequestSetRunContextsRequest stream
ResponseSetRunContextsResponse
DescriptionSets a stream of run contexts to be used by a workflow run

GetJobHooks

MethodGetJobHooks
RequestGetJobHooksRequest
ResponseGetJobHooksResponse
DescriptionRetrieves all job hooks

GetJobHook

MethodGetJobHook
RequestGetJobHookRequest
ResponseGetJobHookResponse
DescriptionRetrieves a specific job hook

CreateJobHook

MethodCreateJobHook
RequestCreateJobHookRequest
ResponseCreateJobHookResponse
DescriptionCreates a new job hook

DeleteJobHook

MethodDeleteJobHook
RequestDeleteJobHookRequest
ResponseDeleteJobHookResponse
DescriptionRemoves a job hook

IsJobHookNameAvailable

MethodIsJobHookNameAvailable
RequestIsJobHookNameAvailableRequest
ResponseIsJobHookNameAvailableResponse
DescriptionCheck if a specific job hook name is available

UpdateJobHook

MethodUpdateJobHook
RequestUpdateJobHookRequest
ResponseUpdateJobHookResponse
DescriptionUpdates a job hook

SetJobHookEnabled

MethodSetJobHookEnabled
RequestSetJobHookEnabledRequest
ResponseSetJobHookEnabledResponse
DescriptionEnables or disables a job hook

GetActiveJobHooksByTiming

MethodGetActiveJobHooksByTiming
RequestGetActiveJobHooksByTimingRequest
ResponseGetActiveJobHooksByTimingResponse
DescriptionReturns job hooks that are enabled by a specific timing. They will be sorted by priority, created_at, and id ascending.