dnastack-client-library 3.1.179__py3-none-any.whl → 3.1.205__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dnastack/alpha/app/explorer.py +1 -1
- dnastack/alpha/app/workbench.py +4 -4
- dnastack/alpha/cli/wes.py +3 -3
- dnastack/alpha/client/collections/client.py +2 -3
- dnastack/alpha/client/wes/client.py +5 -8
- dnastack/cli/commands/collections/commands.py +3 -4
- dnastack/cli/commands/collections/tables.py +1 -1
- dnastack/cli/commands/collections/utils.py +1 -1
- dnastack/cli/commands/config/commands.py +1 -1
- dnastack/cli/commands/config/endpoints.py +39 -20
- dnastack/cli/commands/config/registries.py +2 -2
- dnastack/cli/commands/dataconnect/tables.py +1 -1
- dnastack/cli/commands/drs/commands.py +1 -1
- dnastack/cli/commands/explorer/questions/commands.py +12 -6
- dnastack/cli/commands/explorer/questions/utils.py +16 -7
- dnastack/cli/commands/publisher/collections/commands.py +20 -20
- dnastack/cli/commands/publisher/collections/items.py +9 -0
- dnastack/cli/commands/publisher/collections/tables.py +1 -1
- dnastack/cli/commands/publisher/collections/utils.py +1 -1
- dnastack/cli/commands/publisher/datasources/commands.py +1 -1
- dnastack/cli/commands/workbench/runs/commands.py +11 -3
- dnastack/cli/commands/workbench/workflows/versions/dependencies/commands.py +3 -3
- dnastack/cli/commands/workbench/workflows/versions/transformations.py +5 -9
- dnastack/cli/helpers/exporter.py +1 -1
- dnastack/client/base_exceptions.py +2 -2
- dnastack/client/collections/client.py +4 -4
- dnastack/client/collections/model.py +30 -29
- dnastack/client/data_connect.py +5 -9
- dnastack/client/datasources/model.py +3 -3
- dnastack/client/drs.py +4 -4
- dnastack/client/explorer/client.py +1 -1
- dnastack/client/explorer/models.py +3 -7
- dnastack/client/factory.py +1 -1
- dnastack/client/models.py +6 -6
- dnastack/client/service_registry/factory.py +3 -3
- dnastack/client/service_registry/helper.py +7 -14
- dnastack/client/service_registry/manager.py +4 -4
- dnastack/client/workbench/base_client.py +2 -2
- dnastack/client/workbench/ewes/client.py +3 -3
- dnastack/client/workbench/ewes/models.py +246 -181
- dnastack/client/workbench/models.py +7 -7
- dnastack/client/workbench/samples/models.py +40 -40
- dnastack/client/workbench/storage/client.py +2 -2
- dnastack/client/workbench/storage/models.py +24 -24
- dnastack/client/workbench/workflow/client.py +7 -7
- dnastack/client/workbench/workflow/models.py +64 -64
- dnastack/client/workbench/workflow/utils.py +5 -5
- dnastack/common/auth_manager.py +6 -13
- dnastack/common/class_decorator.py +3 -3
- dnastack/common/events.py +7 -7
- dnastack/common/json_argument_parser.py +4 -4
- dnastack/common/model_mixin.py +1 -1
- dnastack/common/parser.py +3 -3
- dnastack/common/simple_stream.py +1 -1
- dnastack/configuration/manager.py +8 -4
- dnastack/configuration/models.py +2 -2
- dnastack/constants.py +1 -1
- dnastack/context/manager.py +2 -2
- dnastack/context/models.py +2 -2
- dnastack/feature_flags.py +2 -2
- dnastack/http/authenticators/abstract.py +2 -2
- dnastack/http/authenticators/factory.py +2 -2
- dnastack/http/authenticators/oauth2.py +8 -8
- dnastack/http/authenticators/oauth2_adapter/client_credential.py +5 -14
- dnastack/http/authenticators/oauth2_adapter/models.py +15 -15
- dnastack/http/session.py +3 -3
- dnastack/http/session_info.py +3 -3
- {dnastack_client_library-3.1.179.dist-info → dnastack_client_library-3.1.205.dist-info}/METADATA +2 -2
- {dnastack_client_library-3.1.179.dist-info → dnastack_client_library-3.1.205.dist-info}/RECORD +73 -73
- {dnastack_client_library-3.1.179.dist-info → dnastack_client_library-3.1.205.dist-info}/WHEEL +0 -0
- {dnastack_client_library-3.1.179.dist-info → dnastack_client_library-3.1.205.dist-info}/entry_points.txt +0 -0
- {dnastack_client_library-3.1.179.dist-info → dnastack_client_library-3.1.205.dist-info}/licenses/LICENSE +0 -0
- {dnastack_client_library-3.1.179.dist-info → dnastack_client_library-3.1.205.dist-info}/top_level.txt +0 -0
|
@@ -21,197 +21,260 @@ class LogType(str, CaseInsensitiveEnum):
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
class WesServiceInfo(Service):
|
|
24
|
-
workflow_type_versions: Optional[Dict]
|
|
25
|
-
supported_wes_versions: Optional[List[str]]
|
|
26
|
-
supported_filesystem_protocols: Optional[List[str]]
|
|
27
|
-
workflow_engine_versions: Optional[Dict]
|
|
28
|
-
default_workflow_engine_parameters: Optional[List[Dict]]
|
|
29
|
-
system_state_counts: Optional[Dict]
|
|
30
|
-
auth_instructions_url: Optional[str]
|
|
31
|
-
tags: Optional[Dict]
|
|
24
|
+
workflow_type_versions: Optional[Dict] = None
|
|
25
|
+
supported_wes_versions: Optional[List[str]] = None
|
|
26
|
+
supported_filesystem_protocols: Optional[List[str]] = None
|
|
27
|
+
workflow_engine_versions: Optional[Dict] = None
|
|
28
|
+
default_workflow_engine_parameters: Optional[List[Dict]] = None
|
|
29
|
+
system_state_counts: Optional[Dict] = None
|
|
30
|
+
auth_instructions_url: Optional[str] = None
|
|
31
|
+
tags: Optional[Dict] = None
|
|
32
32
|
|
|
33
33
|
class SimpleSample(BaseModel):
|
|
34
34
|
id: str
|
|
35
|
-
storage_account_id: Optional[str]
|
|
35
|
+
storage_account_id: Optional[str] = None
|
|
36
36
|
|
|
37
37
|
|
|
38
|
+
class Hook(BaseModel):
|
|
39
|
+
id: Optional[str] = None
|
|
40
|
+
type: Optional[str] = None
|
|
41
|
+
result_data: Optional[Dict] = None
|
|
42
|
+
config: Optional[Dict] = None
|
|
43
|
+
state: Optional[str] = None
|
|
44
|
+
created_at: Optional[datetime] = None
|
|
45
|
+
started_at: Optional[datetime] = None
|
|
46
|
+
finished_at: Optional[datetime] = None
|
|
47
|
+
updated_at: Optional[datetime] = None
|
|
48
|
+
|
|
38
49
|
class ExtendedRunStatus(BaseModel):
|
|
39
50
|
run_id: str
|
|
40
|
-
external_id: Optional[str]
|
|
51
|
+
external_id: Optional[str] = None
|
|
41
52
|
state: State
|
|
42
53
|
start_time: datetime
|
|
43
|
-
end_time: Optional[datetime]
|
|
44
|
-
submitted_by: Optional[str]
|
|
45
|
-
workflow_id: Optional[str]
|
|
46
|
-
workflow_version_id: Optional[str]
|
|
47
|
-
workflow_url: Optional[str]
|
|
48
|
-
workflow_name: Optional[str]
|
|
49
|
-
workflow_version: Optional[str]
|
|
50
|
-
workflow_authors: Optional[List[str]]
|
|
51
|
-
workflow_type: Optional[str]
|
|
52
|
-
workflow_type_version: Optional[str]
|
|
53
|
-
workflow_params: Optional[Dict]
|
|
54
|
-
tags: Optional[Dict]
|
|
55
|
-
workflow_engine_parameters: Optional[Dict]
|
|
56
|
-
samples: Optional[List[SimpleSample]]
|
|
54
|
+
end_time: Optional[datetime] = None
|
|
55
|
+
submitted_by: Optional[str] = None
|
|
56
|
+
workflow_id: Optional[str] = None
|
|
57
|
+
workflow_version_id: Optional[str] = None
|
|
58
|
+
workflow_url: Optional[str] = None
|
|
59
|
+
workflow_name: Optional[str] = None
|
|
60
|
+
workflow_version: Optional[str] = None
|
|
61
|
+
workflow_authors: Optional[List[str]] = None
|
|
62
|
+
workflow_type: Optional[str] = None
|
|
63
|
+
workflow_type_version: Optional[str] = None
|
|
64
|
+
workflow_params: Optional[Dict] = None
|
|
65
|
+
tags: Optional[Dict] = None
|
|
66
|
+
workflow_engine_parameters: Optional[Dict] = None
|
|
67
|
+
samples: Optional[List[SimpleSample]] = None
|
|
68
|
+
hooks: Optional[List[Hook]] = None
|
|
57
69
|
|
|
58
70
|
|
|
59
71
|
class Log(BaseModel):
|
|
60
|
-
task_id: Optional[str]
|
|
72
|
+
task_id: Optional[str] = None
|
|
61
73
|
name: str
|
|
62
|
-
pretty_name: Optional[str]
|
|
63
|
-
cmd: Optional[Any]
|
|
64
|
-
start_time: Optional[datetime]
|
|
65
|
-
end_time: Optional[datetime]
|
|
66
|
-
stdout: Optional[str]
|
|
67
|
-
stderr: Optional[str]
|
|
68
|
-
exit_code: Optional[int]
|
|
69
|
-
state: Optional[State]
|
|
74
|
+
pretty_name: Optional[str] = None
|
|
75
|
+
cmd: Optional[Any] = None
|
|
76
|
+
start_time: Optional[datetime] = None
|
|
77
|
+
end_time: Optional[datetime] = None
|
|
78
|
+
stdout: Optional[str] = None
|
|
79
|
+
stderr: Optional[str] = None
|
|
80
|
+
exit_code: Optional[int] = None
|
|
81
|
+
state: Optional[State] = None
|
|
70
82
|
|
|
71
83
|
class RunDependency(BaseModel):
|
|
72
84
|
run_id: str
|
|
73
85
|
|
|
74
86
|
class ExtendedRunRequest(BaseModel):
|
|
75
|
-
workflow_url: Optional[str]
|
|
76
|
-
workflow_name: Optional[str]
|
|
77
|
-
workflow_version: Optional[str]
|
|
78
|
-
workflow_authors: Optional[List[str]]
|
|
79
|
-
workflow_type: Optional[str]
|
|
80
|
-
workflow_type_version: Optional[str]
|
|
81
|
-
workflow_id: Optional[str]
|
|
82
|
-
workflow_version_id: Optional[str]
|
|
83
|
-
submitted_by: Optional[str]
|
|
84
|
-
workflow_params: Optional[Dict]
|
|
85
|
-
workflow_engine_parameters: Optional[Dict]
|
|
86
|
-
dependencies: Optional[List[RunDependency]]
|
|
87
|
-
tags: Optional[Dict]
|
|
88
|
-
samples: Optional[List[SimpleSample]]
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
class EventType(str, Enum):
|
|
92
|
-
PREPROCESSING = "PREPROCESSING"
|
|
93
|
-
RUN_SUBMITTED = "RUN_SUBMITTED"
|
|
94
|
-
RUN_SUBMITTED_TO_ENGINE = "RUN_SUBMITTED_TO_ENGINE"
|
|
95
|
-
ERROR_OCCURRED = "ERROR_OCCURRED"
|
|
96
|
-
ENGINE_STATUS_UPDATE = "ENGINE_STATUS_UPDATE"
|
|
97
|
-
STATE_TRANSITION = "STATE_TRANSITION"
|
|
98
|
-
EVENT_METADATA = "EventMetadata"
|
|
87
|
+
workflow_url: Optional[str] = None
|
|
88
|
+
workflow_name: Optional[str] = None
|
|
89
|
+
workflow_version: Optional[str] = None
|
|
90
|
+
workflow_authors: Optional[List[str]] = None
|
|
91
|
+
workflow_type: Optional[str] = None
|
|
92
|
+
workflow_type_version: Optional[str] = None
|
|
93
|
+
workflow_id: Optional[str] = None
|
|
94
|
+
workflow_version_id: Optional[str] = None
|
|
95
|
+
submitted_by: Optional[str] = None
|
|
96
|
+
workflow_params: Optional[Dict] = None
|
|
97
|
+
workflow_engine_parameters: Optional[Dict] = None
|
|
98
|
+
dependencies: Optional[List[RunDependency]] = None
|
|
99
|
+
tags: Optional[Dict] = None
|
|
100
|
+
samples: Optional[List[SimpleSample]] = None
|
|
101
|
+
hooks: Optional[List[Hook]] = None
|
|
102
|
+
|
|
99
103
|
|
|
100
104
|
class SampleId(BaseModel):
|
|
101
|
-
id: Optional[str]
|
|
102
|
-
storage_account_id: Optional[str]
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
class
|
|
141
|
-
event_type: Literal[
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
105
|
+
id: Optional[str] = None
|
|
106
|
+
storage_account_id: Optional[str] = None
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
# Base metadata class for unknown event types
|
|
110
|
+
class UnknownEventMetadata(BaseModel):
|
|
111
|
+
"""Fallback metadata for unknown event types from the server."""
|
|
112
|
+
event_type: str
|
|
113
|
+
message: Optional[str] = None
|
|
114
|
+
|
|
115
|
+
# Allow arbitrary fields for unknown event types (Pydantic v1)
|
|
116
|
+
class Config:
|
|
117
|
+
extra = 'allow'
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
class RunSubmittedMetadata(BaseModel):
|
|
121
|
+
event_type: Literal["RUN_SUBMITTED"]
|
|
122
|
+
message: Optional[str] = None
|
|
123
|
+
start_time: Optional[str] = None
|
|
124
|
+
submitted_by: Optional[str] = None
|
|
125
|
+
state: Optional[State] = None
|
|
126
|
+
workflow_id: Optional[str] = None
|
|
127
|
+
workflow_version_id: Optional[str] = None
|
|
128
|
+
workflow_url: Optional[str] = None
|
|
129
|
+
workflow_name: Optional[str] = None
|
|
130
|
+
workflow_version: Optional[str] = None
|
|
131
|
+
workflow_authors: Optional[List[str]] = None
|
|
132
|
+
workflow_type: Optional[str] = None
|
|
133
|
+
workflow_type_version: Optional[str] = None
|
|
134
|
+
tags: Optional[dict[str, str]] = None
|
|
135
|
+
sample_ids: Optional[List[SampleId]] = None
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
class PreprocessingMetadata(BaseModel):
|
|
139
|
+
event_type: Literal["PREPROCESSING"]
|
|
140
|
+
message: Optional[str] = None
|
|
141
|
+
outcome: Optional[str] = None
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
class ErrorOccurredMetadata(BaseModel):
|
|
145
|
+
event_type: Literal["ERROR_OCCURRED"]
|
|
146
|
+
message: Optional[str] = None
|
|
147
|
+
errors: Optional[List[str]] = None
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
class StateTransitionMetadata(BaseModel):
|
|
151
|
+
event_type: Literal["STATE_TRANSITION"]
|
|
152
|
+
message: Optional[str] = None
|
|
153
|
+
end_time: Optional[str] = None
|
|
154
|
+
old_state: Optional[State] = None
|
|
155
|
+
new_state: Optional[State] = None
|
|
156
|
+
errors: Optional[List[str]] = None
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
class EngineStatusUpdateMetadata(BaseModel):
|
|
160
|
+
event_type: Literal["ENGINE_STATUS_UPDATE"]
|
|
161
|
+
message: Optional[str] = None
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
class RunSubmittedToEngineMetadata(BaseModel):
|
|
165
|
+
event_type: Literal["RUN_SUBMITTED_TO_ENGINE"]
|
|
166
|
+
message: Optional[str] = None
|
|
167
|
+
external_id: Optional[str] = None
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
# Custom validator to handle unknown event types gracefully
|
|
171
|
+
def parse_event_metadata(data: Dict[str, Any]) -> Union[
|
|
151
172
|
RunSubmittedMetadata,
|
|
152
173
|
PreprocessingMetadata,
|
|
153
174
|
ErrorOccurredMetadata,
|
|
154
175
|
StateTransitionMetadata,
|
|
155
176
|
EngineStatusUpdateMetadata,
|
|
156
177
|
RunSubmittedToEngineMetadata,
|
|
157
|
-
|
|
158
|
-
]
|
|
178
|
+
UnknownEventMetadata
|
|
179
|
+
]:
|
|
180
|
+
"""Parse event metadata, falling back to UnknownEventMetadata for unknown types."""
|
|
181
|
+
if not isinstance(data, dict):
|
|
182
|
+
raise ValueError("metadata must be a dict")
|
|
183
|
+
|
|
184
|
+
event_type = data.get('event_type')
|
|
185
|
+
if not event_type:
|
|
186
|
+
raise ValueError("event_type is required in metadata")
|
|
187
|
+
|
|
188
|
+
# Try to parse as known types
|
|
189
|
+
type_mapping = {
|
|
190
|
+
"RUN_SUBMITTED": RunSubmittedMetadata,
|
|
191
|
+
"PREPROCESSING": PreprocessingMetadata,
|
|
192
|
+
"ERROR_OCCURRED": ErrorOccurredMetadata,
|
|
193
|
+
"STATE_TRANSITION": StateTransitionMetadata,
|
|
194
|
+
"ENGINE_STATUS_UPDATE": EngineStatusUpdateMetadata,
|
|
195
|
+
"RUN_SUBMITTED_TO_ENGINE": RunSubmittedToEngineMetadata,
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
metadata_class = type_mapping.get(event_type)
|
|
199
|
+
if metadata_class:
|
|
200
|
+
return metadata_class(**data)
|
|
201
|
+
else:
|
|
202
|
+
# Unknown event type - use fallback
|
|
203
|
+
return UnknownEventMetadata(**data)
|
|
204
|
+
|
|
159
205
|
|
|
160
206
|
class RunEvent(BaseModel):
|
|
161
207
|
id: str
|
|
162
|
-
event_type:
|
|
208
|
+
event_type: str
|
|
163
209
|
created_at: datetime
|
|
164
|
-
metadata:
|
|
210
|
+
metadata: Union[
|
|
211
|
+
RunSubmittedMetadata,
|
|
212
|
+
PreprocessingMetadata,
|
|
213
|
+
ErrorOccurredMetadata,
|
|
214
|
+
StateTransitionMetadata,
|
|
215
|
+
EngineStatusUpdateMetadata,
|
|
216
|
+
RunSubmittedToEngineMetadata,
|
|
217
|
+
UnknownEventMetadata
|
|
218
|
+
]
|
|
219
|
+
|
|
220
|
+
@classmethod
|
|
221
|
+
def parse_obj(cls, obj: Any) -> 'RunEvent':
|
|
222
|
+
"""Custom validation to handle unknown event types (Pydantic v1)."""
|
|
223
|
+
if isinstance(obj, dict):
|
|
224
|
+
# Parse metadata with our custom function
|
|
225
|
+
if 'metadata' in obj:
|
|
226
|
+
obj = {**obj, 'metadata': parse_event_metadata(obj['metadata'])}
|
|
227
|
+
return super().parse_obj(obj)
|
|
165
228
|
|
|
166
229
|
|
|
167
230
|
class ExtendedRunEvents(BaseModel):
|
|
168
|
-
events: Optional[List[RunEvent]]
|
|
231
|
+
events: Optional[List[RunEvent]] = None
|
|
169
232
|
|
|
170
233
|
class ExtendedRun(BaseModel):
|
|
171
234
|
run_id: str
|
|
172
|
-
external_id: Optional[str]
|
|
173
|
-
engine_id: Optional[str]
|
|
174
|
-
request: Optional[ExtendedRunRequest]
|
|
175
|
-
state: Optional[State]
|
|
176
|
-
run_log: Optional[Log]
|
|
177
|
-
errors: Optional[List[str]]
|
|
178
|
-
task_logs: Optional[List[Log]]
|
|
179
|
-
task_logs_url: Optional[str]
|
|
180
|
-
outputs: Optional[Dict]
|
|
181
|
-
dependencies: Optional[List[RunDependency]]
|
|
182
|
-
events: Optional[List[RunEvent]]
|
|
235
|
+
external_id: Optional[str] = None
|
|
236
|
+
engine_id: Optional[str] = None
|
|
237
|
+
request: Optional[ExtendedRunRequest] = None
|
|
238
|
+
state: Optional[State] = None
|
|
239
|
+
run_log: Optional[Log] = None
|
|
240
|
+
errors: Optional[List[str]] = None
|
|
241
|
+
task_logs: Optional[List[Log]] = None
|
|
242
|
+
task_logs_url: Optional[str] = None
|
|
243
|
+
outputs: Optional[Dict] = None
|
|
244
|
+
dependencies: Optional[List[RunDependency]] = None
|
|
245
|
+
events: Optional[List[RunEvent]] = None
|
|
183
246
|
|
|
184
247
|
|
|
185
248
|
|
|
186
249
|
class MinimalExtendedRun(BaseModel):
|
|
187
|
-
run_id: Optional[str]
|
|
188
|
-
state: Optional[State]
|
|
189
|
-
msg: Optional[str]
|
|
190
|
-
error_code: Optional[int]
|
|
191
|
-
timestamp: Optional[str]
|
|
192
|
-
trace_id: Optional[str]
|
|
250
|
+
run_id: Optional[str] = None
|
|
251
|
+
state: Optional[State] = None
|
|
252
|
+
msg: Optional[str] = None
|
|
253
|
+
error_code: Optional[int] = None
|
|
254
|
+
timestamp: Optional[str] = None
|
|
255
|
+
trace_id: Optional[str] = None
|
|
193
256
|
|
|
194
257
|
|
|
195
258
|
class MinimalExtendedRunWithInputs(BaseModel):
|
|
196
259
|
run_id: str
|
|
197
|
-
inputs: Optional[Dict]
|
|
260
|
+
inputs: Optional[Dict] = None
|
|
198
261
|
|
|
199
262
|
|
|
200
263
|
class MinimalExtendedRunWithOutputs(BaseModel):
|
|
201
264
|
run_id: str
|
|
202
|
-
outputs: Optional[Dict]
|
|
265
|
+
outputs: Optional[Dict] = None
|
|
203
266
|
|
|
204
267
|
|
|
205
268
|
class BatchRunRequest(BaseModel):
|
|
206
269
|
workflow_url: str
|
|
207
|
-
workflow_type: Optional[str]
|
|
208
|
-
workflow_type_version: Optional[str]
|
|
209
|
-
engine_id: Optional[str]
|
|
210
|
-
default_workflow_params: Optional[Dict]
|
|
211
|
-
default_workflow_engine_parameters: Optional[Dict]
|
|
212
|
-
default_tags: Optional[Dict]
|
|
213
|
-
run_requests: Optional[List[ExtendedRunRequest]]
|
|
214
|
-
samples: Optional[List[SimpleSample]]
|
|
270
|
+
workflow_type: Optional[str] = None
|
|
271
|
+
workflow_type_version: Optional[str] = None
|
|
272
|
+
engine_id: Optional[str] = None
|
|
273
|
+
default_workflow_params: Optional[Dict] = None
|
|
274
|
+
default_workflow_engine_parameters: Optional[Dict] = None
|
|
275
|
+
default_tags: Optional[Dict] = None
|
|
276
|
+
run_requests: Optional[List[ExtendedRunRequest]] = None
|
|
277
|
+
samples: Optional[List[SimpleSample]] = None
|
|
215
278
|
|
|
216
279
|
|
|
217
280
|
class BatchRunResponse(BaseModel):
|
|
@@ -220,20 +283,20 @@ class BatchRunResponse(BaseModel):
|
|
|
220
283
|
|
|
221
284
|
class RunId(BaseModel):
|
|
222
285
|
run_id: str
|
|
223
|
-
state: Optional[State]
|
|
286
|
+
state: Optional[State] = None
|
|
224
287
|
|
|
225
288
|
|
|
226
289
|
class WorkbenchApiError(BaseModel):
|
|
227
|
-
timestamp: Optional[str]
|
|
228
|
-
msg: Optional[str]
|
|
229
|
-
error_code: Optional[int]
|
|
230
|
-
trace_id: Optional[str]
|
|
290
|
+
timestamp: Optional[str] = None
|
|
291
|
+
msg: Optional[str] = None
|
|
292
|
+
error_code: Optional[int] = None
|
|
293
|
+
trace_id: Optional[str] = None
|
|
231
294
|
|
|
232
295
|
|
|
233
296
|
class ActionResult(BaseModel):
|
|
234
297
|
outcome: Outcome
|
|
235
|
-
data: Optional[Any]
|
|
236
|
-
exception: Optional[WorkbenchApiError]
|
|
298
|
+
data: Optional[Any] = None
|
|
299
|
+
exception: Optional[WorkbenchApiError] = None
|
|
237
300
|
|
|
238
301
|
|
|
239
302
|
class BatchActionResult(BaseModel):
|
|
@@ -255,25 +318,27 @@ class ExtendedRunListResponse(PaginatedResource):
|
|
|
255
318
|
|
|
256
319
|
|
|
257
320
|
class ExtendedRunListOptions(BaseListOptions):
|
|
258
|
-
expand: Optional[bool]
|
|
259
|
-
until: Optional[str]
|
|
260
|
-
since: Optional[str]
|
|
261
|
-
search: Optional[str]
|
|
262
|
-
sort: Optional[str]
|
|
263
|
-
order: Optional[str] = Field(
|
|
264
|
-
direction: Optional[str]
|
|
265
|
-
batch_id: Optional[str]
|
|
266
|
-
state: Optional[List[State]]
|
|
267
|
-
engine_id: Optional[str]
|
|
268
|
-
submitted_by: Optional[str]
|
|
269
|
-
workflow_name: Optional[str]
|
|
270
|
-
workflow_version: Optional[str]
|
|
271
|
-
workflow_url: Optional[str]
|
|
272
|
-
workflow_type: Optional[str]
|
|
273
|
-
workflow_type_version: Optional[str]
|
|
274
|
-
tag: Optional[List[str]]
|
|
275
|
-
sample_ids: Optional[List[str]]
|
|
276
|
-
storage_account_id: Optional[str]
|
|
321
|
+
expand: Optional[bool] = None
|
|
322
|
+
until: Optional[str] = None
|
|
323
|
+
since: Optional[str] = None
|
|
324
|
+
search: Optional[str] = None
|
|
325
|
+
sort: Optional[str] = None
|
|
326
|
+
order: Optional[str] = Field(deprecated=True, default=None, json_schema_extra={'type': 'string'})
|
|
327
|
+
direction: Optional[str] = None
|
|
328
|
+
batch_id: Optional[str] = None
|
|
329
|
+
state: Optional[List[State]] = None
|
|
330
|
+
engine_id: Optional[str] = None
|
|
331
|
+
submitted_by: Optional[str] = None
|
|
332
|
+
workflow_name: Optional[str] = None
|
|
333
|
+
workflow_version: Optional[str] = None
|
|
334
|
+
workflow_url: Optional[str] = None
|
|
335
|
+
workflow_type: Optional[str] = None
|
|
336
|
+
workflow_type_version: Optional[str] = None
|
|
337
|
+
tag: Optional[List[str]] = None
|
|
338
|
+
sample_ids: Optional[List[str]] = None
|
|
339
|
+
storage_account_id: Optional[str] = None
|
|
340
|
+
show_hidden: Optional[bool] = False
|
|
341
|
+
|
|
277
342
|
|
|
278
343
|
|
|
279
344
|
class TaskListOptions(BaseListOptions):
|
|
@@ -294,15 +359,15 @@ class ExecutionEngineProviderType(str, Enum):
|
|
|
294
359
|
class ExecutionEngine(BaseModel):
|
|
295
360
|
id: str
|
|
296
361
|
name: str
|
|
297
|
-
description: Optional[str]
|
|
362
|
+
description: Optional[str] = None
|
|
298
363
|
provider: ExecutionEngineProviderType
|
|
299
|
-
region: Optional[str]
|
|
300
|
-
default: Optional[bool]
|
|
301
|
-
created_at: Optional[datetime]
|
|
302
|
-
updated_at: Optional[datetime]
|
|
303
|
-
state: Optional[str]
|
|
364
|
+
region: Optional[str] = None
|
|
365
|
+
default: Optional[bool] = None
|
|
366
|
+
created_at: Optional[datetime] = None
|
|
367
|
+
updated_at: Optional[datetime] = None
|
|
368
|
+
state: Optional[str] = None
|
|
304
369
|
health: Optional[str] = Field(default=None, deprecated=True)
|
|
305
|
-
engine_adapter_configuration: Optional[Dict[str, JSONType]]
|
|
370
|
+
engine_adapter_configuration: Optional[Dict[str, JSONType]] = None
|
|
306
371
|
|
|
307
372
|
|
|
308
373
|
class ExecutionEngineListResponse(PaginatedResource):
|
|
@@ -319,12 +384,12 @@ class ExecutionEngineListOptions(BaseListOptions):
|
|
|
319
384
|
class EngineParamPreset(BaseModel):
|
|
320
385
|
id: str
|
|
321
386
|
name: str
|
|
322
|
-
default: Optional[bool]
|
|
387
|
+
default: Optional[bool] = None
|
|
323
388
|
preset_values: Dict[str, object]
|
|
324
389
|
engine_id: str
|
|
325
|
-
etag: Optional[str]
|
|
326
|
-
created_at: Optional[datetime]
|
|
327
|
-
updated_at: Optional[datetime]
|
|
390
|
+
etag: Optional[str] = None
|
|
391
|
+
created_at: Optional[datetime] = None
|
|
392
|
+
updated_at: Optional[datetime] = None
|
|
328
393
|
|
|
329
394
|
|
|
330
395
|
class EngineParamPresetListResponse(PaginatedResource):
|
|
@@ -349,11 +414,11 @@ class CheckType(str, Enum):
|
|
|
349
414
|
class Check(BaseModel):
|
|
350
415
|
type: CheckType
|
|
351
416
|
outcome: Outcome
|
|
352
|
-
error: Optional[str]
|
|
417
|
+
error: Optional[str] = None
|
|
353
418
|
|
|
354
419
|
|
|
355
420
|
class EngineHealthCheck(BaseModel):
|
|
356
|
-
created_at: Optional[datetime]
|
|
421
|
+
created_at: Optional[datetime] = None
|
|
357
422
|
outcome: str
|
|
358
423
|
checks: List[Check]
|
|
359
424
|
|
|
@@ -366,6 +431,6 @@ class EngineHealthCheckListResponse(PaginatedResource):
|
|
|
366
431
|
|
|
367
432
|
|
|
368
433
|
class EngineHealthCheckListOptions(BaseListOptions):
|
|
369
|
-
outcome: Optional[str]
|
|
370
|
-
check_type: Optional[str]
|
|
371
|
-
sort: Optional[str]
|
|
434
|
+
outcome: Optional[str] = None
|
|
435
|
+
check_type: Optional[str] = None
|
|
436
|
+
sort: Optional[str] = None
|
|
@@ -4,19 +4,19 @@ from pydantic import BaseModel
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class BaseListOptions(BaseModel):
|
|
7
|
-
page_token: Optional[str]
|
|
8
|
-
page: Optional[int]
|
|
9
|
-
page_size: Optional[int]
|
|
7
|
+
page_token: Optional[str] = None
|
|
8
|
+
page: Optional[int] = None
|
|
9
|
+
page_size: Optional[int] = None
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class Pagination(BaseModel):
|
|
13
|
-
next_page_url: Optional[str]
|
|
14
|
-
total_elements: Optional[int]
|
|
13
|
+
next_page_url: Optional[str] = None
|
|
14
|
+
total_elements: Optional[int] = None
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class PaginatedResource(BaseModel):
|
|
18
|
-
pagination: Optional[Pagination]
|
|
19
|
-
next_page_token: Optional[str]
|
|
18
|
+
pagination: Optional[Pagination] = None
|
|
19
|
+
next_page_token: Optional[str] = None
|
|
20
20
|
|
|
21
21
|
def items(self) -> List[Any]:
|
|
22
22
|
pass
|