forked from dataform-co/dataform
-
Notifications
You must be signed in to change notification settings - Fork 0
/
schedules.proto
70 lines (57 loc) · 1.61 KB
/
schedules.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
syntax="proto3";
package dataform.schedules;
option go_package = "github.com/dataform-co/dataform/protos/dataform/schedules";
// NOTE ON THIS FILE: All messages are deprecated in favour of the variants in 'core.proto'.
// Please do not make any further updates to the contents of this file.
enum NotificationEventType {
UNKNOWN = 0;
SUCCESS = 1;
FAILURE = 2;
}
message EmailNotificationChannel {
repeated string to = 1;
}
message SlackNotificationChannel {
string webhook_url = 1;
}
message NotificationChannel {
string name = 1;
oneof channel {
EmailNotificationChannel email = 2;
SlackNotificationChannel slack = 3;
}
}
message ScheduleNotification {
repeated string environments = 1;
// should consists of event type from NotificationEventType enum
repeated string events = 2;
repeated string channels = 3;
}
message NotificationSettings {
repeated string emails = 1;
bool on_success = 2;
bool on_failure = 3;
}
// All the field names should be in sync with RunConfig
message ScheduleOptions {
repeated string actions = 1;
repeated string tags = 4;
bool include_dependencies = 2;
bool include_dependents = 5;
bool full_refresh = 3;
}
message Schedule {
string name = 1; // required field
bool disabled = 2;
ScheduleOptions options = 3;
string cron = 4; // required field
// Deprecated
NotificationSettings notification = 5;
repeated ScheduleNotification notifications = 6;
}
// Don't change the field names as it will be serialized to JSON
message SchedulesJSON {
repeated Schedule schedules = 2;
repeated NotificationChannel notification_channels = 3;
reserved 1;
}