11
11
SCHEDULE_RE = ""
12
12
13
13
14
+ class EventType (BaseModel ):
15
+ event_type : str
16
+ parameters : Dict [str , str ]
17
+
18
+
19
+ class Event (BaseModel ):
20
+ event_id : str
21
+ event_type : str
22
+ parameters : Dict [str , str ]
23
+
24
+
14
25
class RuntimeEnvironment (BaseModel ):
15
26
"""Defines a runtime context where job
16
27
execution will happen. For example, conda
@@ -26,6 +37,7 @@ class RuntimeEnvironment(BaseModel):
26
37
compute_types : Optional [List [str ]]
27
38
default_compute_type : Optional [str ] # Should be a member of the compute_types list
28
39
utc_only : Optional [bool ]
40
+ event_types : Optional [List [EventType ]]
29
41
30
42
def __str__ (self ):
31
43
return self .json ()
@@ -85,6 +97,7 @@ class CreateJob(BaseModel):
85
97
name : str
86
98
output_filename_template : Optional [str ] = OUTPUT_FILENAME_TEMPLATE
87
99
compute_type : Optional [str ] = None
100
+ triggered_by : Optional [Event ] = None
88
101
89
102
@root_validator
90
103
def compute_input_filename (cls , values ) -> Dict :
@@ -145,6 +158,7 @@ class DescribeJob(BaseModel):
145
158
status : Status = Status .CREATED
146
159
status_message : Optional [str ] = None
147
160
downloaded : bool = False
161
+ triggered_by : Optional [Event ] = None
148
162
149
163
class Config :
150
164
orm_mode = True
@@ -209,6 +223,7 @@ class CreateJobDefinition(BaseModel):
209
223
compute_type : Optional [str ] = None
210
224
schedule : Optional [str ] = None
211
225
timezone : Optional [str ] = None
226
+ on_events : List [str ] = None
212
227
213
228
@root_validator
214
229
def compute_input_filename (cls , values ) -> Dict :
@@ -234,6 +249,7 @@ class DescribeJobDefinition(BaseModel):
234
249
create_time : int
235
250
update_time : int
236
251
active : bool
252
+ on_events : List [str ] = None
237
253
238
254
class Config :
239
255
orm_mode = True
@@ -253,6 +269,7 @@ class UpdateJobDefinition(BaseModel):
253
269
active : Optional [bool ] = None
254
270
compute_type : Optional [str ] = None
255
271
input_uri : Optional [str ] = None
272
+ on_events : List [str ] = None
256
273
257
274
258
275
class ListJobDefinitionsQuery (BaseModel ):
@@ -289,3 +306,8 @@ class JobFeature(str, Enum):
289
306
output_filename_template = "output_filename_template"
290
307
stop_job = "stop_job"
291
308
delete_job = "delete_job"
309
+
310
+ class Event (BaseModel ):
311
+ event_id : str
312
+ event_type : str
313
+ parameters : Dict [str , str ]
0 commit comments