Skip to content

Instantly share code, notes, and snippets.

@antongrbin
Created November 19, 2020 10:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save antongrbin/848aa42d2aa0b0d6585a4312d92f447d to your computer and use it in GitHub Desktop.
Save antongrbin/848aa42d2aa0b0d6585a4312d92f447d to your computer and use it in GitHub Desktop.
syntax = "proto3";
package datawarehouse.dms;
message TableMappings {
// If set, it leaves all tasks in a paused state, regardless of the TaskConfig::paused value.
bool global_pause = 1;
// The replication tasks.
// These must match AWS::DMS::ReplicationTask resources in config/<TEAM>.yaml.j2.
repeated TaskConfig tasks = 2;
};
message TaskConfig {
// The name of the resource that specifies this task in config/<TEAM>.yaml.j2.
// For example: 'Core'
string cloudformation_task_label = 1;
// If set, it leaves the task in a paused state after the deploy.
bool paused = 2;
// A set of replicated tables for this task.
repeated TableConfig tables = 3;
};
message TableConfig {
// Source table name. This string should be in format "db1/CardioTrainer/ExperimentsData"
// The "db1" is used only in the output path of the table. All tables in a single task need
// to have the same database name.
// The schema and table are used to instruct which table to replicate.
// The 3 elements are condensed into a string to keep the config file readable.
string source = 1;
// String of format "v<YYYYMMDDHHmm>", used to initiate full reload on the table.
// If the version is bumped, the deploy will start a full reload for this table.
// Changes must be increasing.
string version = 2;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment