benchling-api-client 2.0.411__py3-none-any.whl → 2.0.412__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.
Files changed (49) hide show
  1. benchling_api_client/models/aa_sequence.py +32 -0
  2. benchling_api_client/models/aa_sequence_with_entity_type.py +32 -0
  3. benchling_api_client/models/benchling_app.py +4 -4
  4. benchling_api_client/models/box_schema.py +41 -0
  5. benchling_api_client/models/custom_entity.py +32 -0
  6. benchling_api_client/models/custom_entity_with_entity_type.py +32 -0
  7. benchling_api_client/models/dna_sequence.py +68 -0
  8. benchling_api_client/models/dna_sequence_with_entity_type.py +68 -0
  9. benchling_api_client/models/entry_schema_detailed.py +41 -0
  10. benchling_api_client/models/location_schema.py +41 -0
  11. benchling_api_client/models/monomer.py +32 -0
  12. benchling_api_client/models/plate_schema.py +41 -0
  13. benchling_api_client/models/request_response_samples_item_entity.py +68 -0
  14. benchling_api_client/models/rna_sequence.py +68 -0
  15. benchling_api_client/models/workflow_output.py +40 -0
  16. benchling_api_client/models/workflow_task.py +87 -0
  17. benchling_api_client/models/workflow_task_base.py +40 -0
  18. benchling_api_client/models/workflow_task_group.py +87 -0
  19. benchling_api_client/models/workflow_task_group_base.py +40 -0
  20. benchling_api_client/models/workflow_task_schema.py +41 -0
  21. benchling_api_client/v2/beta/models/aa_sequence.py +32 -0
  22. benchling_api_client/v2/beta/models/custom_entity.py +32 -0
  23. benchling_api_client/v2/beta/models/dna_sequence.py +68 -0
  24. benchling_api_client/v2/beta/openapi.yaml +14 -0
  25. benchling_api_client/v2/stable/models/aa_sequence.py +32 -0
  26. benchling_api_client/v2/stable/models/aa_sequence_with_entity_type.py +32 -0
  27. benchling_api_client/v2/stable/models/benchling_app.py +4 -4
  28. benchling_api_client/v2/stable/models/box_schema.py +41 -0
  29. benchling_api_client/v2/stable/models/custom_entity.py +32 -0
  30. benchling_api_client/v2/stable/models/custom_entity_with_entity_type.py +32 -0
  31. benchling_api_client/v2/stable/models/dna_sequence.py +68 -0
  32. benchling_api_client/v2/stable/models/dna_sequence_with_entity_type.py +68 -0
  33. benchling_api_client/v2/stable/models/entry_schema_detailed.py +41 -0
  34. benchling_api_client/v2/stable/models/location_schema.py +41 -0
  35. benchling_api_client/v2/stable/models/monomer.py +32 -0
  36. benchling_api_client/v2/stable/models/plate_schema.py +41 -0
  37. benchling_api_client/v2/stable/models/request_response_samples_item_entity.py +68 -0
  38. benchling_api_client/v2/stable/models/rna_sequence.py +68 -0
  39. benchling_api_client/v2/stable/models/workflow_output.py +40 -0
  40. benchling_api_client/v2/stable/models/workflow_task.py +87 -0
  41. benchling_api_client/v2/stable/models/workflow_task_base.py +40 -0
  42. benchling_api_client/v2/stable/models/workflow_task_group.py +87 -0
  43. benchling_api_client/v2/stable/models/workflow_task_group_base.py +40 -0
  44. benchling_api_client/v2/stable/models/workflow_task_schema.py +41 -0
  45. benchling_api_client/v2/stable/openapi.yaml +78 -2
  46. {benchling_api_client-2.0.411.dist-info → benchling_api_client-2.0.412.dist-info}/METADATA +1 -1
  47. {benchling_api_client-2.0.411.dist-info → benchling_api_client-2.0.412.dist-info}/RECORD +49 -49
  48. {benchling_api_client-2.0.411.dist-info → benchling_api_client-2.0.412.dist-info}/LICENSE +0 -0
  49. {benchling_api_client-2.0.411.dist-info → benchling_api_client-2.0.412.dist-info}/WHEEL +0 -0
@@ -3,6 +3,7 @@ from typing import Any, cast, Dict, List, Optional, Type, TypeVar, Union
3
3
  import attr
4
4
 
5
5
  from ..extensions import NotPresentError
6
+ from ..models.archive_record import ArchiveRecord
6
7
  from ..models.creation_origin import CreationOrigin
7
8
  from ..models.fields import Fields
8
9
  from ..models.workflow_output_summary import WorkflowOutputSummary
@@ -17,6 +18,7 @@ T = TypeVar("T", bound="WorkflowOutput")
17
18
  class WorkflowOutput:
18
19
  """ """
19
20
 
21
+ _archive_record: Union[Unset, None, ArchiveRecord] = UNSET
20
22
  _created_at: Union[Unset, str] = UNSET
21
23
  _creation_origin: Union[Unset, CreationOrigin] = UNSET
22
24
  _fields: Union[Unset, Fields] = UNSET
@@ -34,6 +36,7 @@ class WorkflowOutput:
34
36
 
35
37
  def __repr__(self):
36
38
  fields = []
39
+ fields.append("archive_record={}".format(repr(self._archive_record)))
37
40
  fields.append("created_at={}".format(repr(self._created_at)))
38
41
  fields.append("creation_origin={}".format(repr(self._creation_origin)))
39
42
  fields.append("fields={}".format(repr(self._fields)))
@@ -51,6 +54,10 @@ class WorkflowOutput:
51
54
  return "WorkflowOutput({})".format(", ".join(fields))
52
55
 
53
56
  def to_dict(self) -> Dict[str, Any]:
57
+ archive_record: Union[Unset, None, Dict[str, Any]] = UNSET
58
+ if not isinstance(self._archive_record, Unset):
59
+ archive_record = self._archive_record.to_dict() if self._archive_record else None
60
+
54
61
  created_at = self._created_at
55
62
  creation_origin: Union[Unset, Dict[str, Any]] = UNSET
56
63
  if not isinstance(self._creation_origin, Unset):
@@ -108,6 +115,8 @@ class WorkflowOutput:
108
115
  field_dict: Dict[str, Any] = {}
109
116
  field_dict.update(self.additional_properties)
110
117
  # Allow the model to serialize even if it was created outside of the constructor, circumventing validation
118
+ if archive_record is not UNSET:
119
+ field_dict["archiveRecord"] = archive_record
111
120
  if created_at is not UNSET:
112
121
  field_dict["createdAt"] = created_at
113
122
  if creation_origin is not UNSET:
@@ -141,6 +150,22 @@ class WorkflowOutput:
141
150
  def from_dict(cls: Type[T], src_dict: Dict[str, Any], strict: bool = False) -> T:
142
151
  d = src_dict.copy()
143
152
 
153
+ def get_archive_record() -> Union[Unset, None, ArchiveRecord]:
154
+ archive_record = None
155
+ _archive_record = d.pop("archiveRecord")
156
+
157
+ if _archive_record is not None and not isinstance(_archive_record, Unset):
158
+ archive_record = ArchiveRecord.from_dict(_archive_record)
159
+
160
+ return archive_record
161
+
162
+ try:
163
+ archive_record = get_archive_record()
164
+ except KeyError:
165
+ if strict:
166
+ raise
167
+ archive_record = cast(Union[Unset, None, ArchiveRecord], UNSET)
168
+
144
169
  def get_created_at() -> Union[Unset, str]:
145
170
  created_at = d.pop("createdAt")
146
171
  return created_at
@@ -329,6 +354,7 @@ class WorkflowOutput:
329
354
  id = cast(Union[Unset, str], UNSET)
330
355
 
331
356
  workflow_output = cls(
357
+ archive_record=archive_record,
332
358
  created_at=created_at,
333
359
  creation_origin=creation_origin,
334
360
  fields=fields,
@@ -366,6 +392,20 @@ class WorkflowOutput:
366
392
  def get(self, key, default=None) -> Optional[Any]:
367
393
  return self.additional_properties.get(key, default)
368
394
 
395
+ @property
396
+ def archive_record(self) -> Optional[ArchiveRecord]:
397
+ if isinstance(self._archive_record, Unset):
398
+ raise NotPresentError(self, "archive_record")
399
+ return self._archive_record
400
+
401
+ @archive_record.setter
402
+ def archive_record(self, value: Optional[ArchiveRecord]) -> None:
403
+ self._archive_record = value
404
+
405
+ @archive_record.deleter
406
+ def archive_record(self) -> None:
407
+ self._archive_record = UNSET
408
+
369
409
  @property
370
410
  def created_at(self) -> str:
371
411
  """ The ISO formatted date and time that the task was created """
@@ -5,6 +5,7 @@ import attr
5
5
  from dateutil.parser import isoparse
6
6
 
7
7
  from ..extensions import NotPresentError
8
+ from ..models.archive_record import ArchiveRecord
8
9
  from ..models.creation_origin import CreationOrigin
9
10
  from ..models.fields import Fields
10
11
  from ..models.party_summary import PartySummary
@@ -33,6 +34,8 @@ class WorkflowTask:
33
34
  _root_task: Union[Unset, WorkflowTaskSummary] = UNSET
34
35
  _source_outputs: Union[Unset, List[WorkflowOutputSummary]] = UNSET
35
36
  _source_tasks: Union[Unset, List[WorkflowTaskSummary]] = UNSET
37
+ _workflow_outputs: Union[Unset, List[WorkflowOutputSummary]] = UNSET
38
+ _archive_record: Union[Unset, None, ArchiveRecord] = UNSET
36
39
  _assignee: Union[Unset, None, UserSummary] = UNSET
37
40
  _cloned_from: Union[Unset, None, WorkflowTaskSummary] = UNSET
38
41
  _created_at: Union[Unset, str] = UNSET
@@ -61,6 +64,8 @@ class WorkflowTask:
61
64
  fields.append("root_task={}".format(repr(self._root_task)))
62
65
  fields.append("source_outputs={}".format(repr(self._source_outputs)))
63
66
  fields.append("source_tasks={}".format(repr(self._source_tasks)))
67
+ fields.append("workflow_outputs={}".format(repr(self._workflow_outputs)))
68
+ fields.append("archive_record={}".format(repr(self._archive_record)))
64
69
  fields.append("assignee={}".format(repr(self._assignee)))
65
70
  fields.append("cloned_from={}".format(repr(self._cloned_from)))
66
71
  fields.append("created_at={}".format(repr(self._created_at)))
@@ -130,6 +135,18 @@ class WorkflowTask:
130
135
 
131
136
  source_tasks.append(source_tasks_item)
132
137
 
138
+ workflow_outputs: Union[Unset, List[Any]] = UNSET
139
+ if not isinstance(self._workflow_outputs, Unset):
140
+ workflow_outputs = []
141
+ for workflow_outputs_item_data in self._workflow_outputs:
142
+ workflow_outputs_item = workflow_outputs_item_data.to_dict()
143
+
144
+ workflow_outputs.append(workflow_outputs_item)
145
+
146
+ archive_record: Union[Unset, None, Dict[str, Any]] = UNSET
147
+ if not isinstance(self._archive_record, Unset):
148
+ archive_record = self._archive_record.to_dict() if self._archive_record else None
149
+
133
150
  assignee: Union[Unset, None, Dict[str, Any]] = UNSET
134
151
  if not isinstance(self._assignee, Unset):
135
152
  assignee = self._assignee.to_dict() if self._assignee else None
@@ -203,6 +220,10 @@ class WorkflowTask:
203
220
  field_dict["sourceOutputs"] = source_outputs
204
221
  if source_tasks is not UNSET:
205
222
  field_dict["sourceTasks"] = source_tasks
223
+ if workflow_outputs is not UNSET:
224
+ field_dict["workflowOutputs"] = workflow_outputs
225
+ if archive_record is not UNSET:
226
+ field_dict["archiveRecord"] = archive_record
206
227
  if assignee is not UNSET:
207
228
  field_dict["assignee"] = assignee
208
229
  if cloned_from is not UNSET:
@@ -372,6 +393,41 @@ class WorkflowTask:
372
393
  raise
373
394
  source_tasks = cast(Union[Unset, List[WorkflowTaskSummary]], UNSET)
374
395
 
396
+ def get_workflow_outputs() -> Union[Unset, List[WorkflowOutputSummary]]:
397
+ workflow_outputs = []
398
+ _workflow_outputs = d.pop("workflowOutputs")
399
+ for workflow_outputs_item_data in _workflow_outputs or []:
400
+ workflow_outputs_item = WorkflowOutputSummary.from_dict(
401
+ workflow_outputs_item_data, strict=False
402
+ )
403
+
404
+ workflow_outputs.append(workflow_outputs_item)
405
+
406
+ return workflow_outputs
407
+
408
+ try:
409
+ workflow_outputs = get_workflow_outputs()
410
+ except KeyError:
411
+ if strict:
412
+ raise
413
+ workflow_outputs = cast(Union[Unset, List[WorkflowOutputSummary]], UNSET)
414
+
415
+ def get_archive_record() -> Union[Unset, None, ArchiveRecord]:
416
+ archive_record = None
417
+ _archive_record = d.pop("archiveRecord")
418
+
419
+ if _archive_record is not None and not isinstance(_archive_record, Unset):
420
+ archive_record = ArchiveRecord.from_dict(_archive_record)
421
+
422
+ return archive_record
423
+
424
+ try:
425
+ archive_record = get_archive_record()
426
+ except KeyError:
427
+ if strict:
428
+ raise
429
+ archive_record = cast(Union[Unset, None, ArchiveRecord], UNSET)
430
+
375
431
  def get_assignee() -> Union[Unset, None, UserSummary]:
376
432
  assignee = None
377
433
  _assignee = d.pop("assignee")
@@ -612,6 +668,8 @@ class WorkflowTask:
612
668
  root_task=root_task,
613
669
  source_outputs=source_outputs,
614
670
  source_tasks=source_tasks,
671
+ workflow_outputs=workflow_outputs,
672
+ archive_record=archive_record,
615
673
  assignee=assignee,
616
674
  cloned_from=cloned_from,
617
675
  created_at=created_at,
@@ -771,6 +829,35 @@ class WorkflowTask:
771
829
  def source_tasks(self) -> None:
772
830
  self._source_tasks = UNSET
773
831
 
832
+ @property
833
+ def workflow_outputs(self) -> List[WorkflowOutputSummary]:
834
+ """ The outputs of the workflow task group """
835
+ if isinstance(self._workflow_outputs, Unset):
836
+ raise NotPresentError(self, "workflow_outputs")
837
+ return self._workflow_outputs
838
+
839
+ @workflow_outputs.setter
840
+ def workflow_outputs(self, value: List[WorkflowOutputSummary]) -> None:
841
+ self._workflow_outputs = value
842
+
843
+ @workflow_outputs.deleter
844
+ def workflow_outputs(self) -> None:
845
+ self._workflow_outputs = UNSET
846
+
847
+ @property
848
+ def archive_record(self) -> Optional[ArchiveRecord]:
849
+ if isinstance(self._archive_record, Unset):
850
+ raise NotPresentError(self, "archive_record")
851
+ return self._archive_record
852
+
853
+ @archive_record.setter
854
+ def archive_record(self, value: Optional[ArchiveRecord]) -> None:
855
+ self._archive_record = value
856
+
857
+ @archive_record.deleter
858
+ def archive_record(self) -> None:
859
+ self._archive_record = UNSET
860
+
774
861
  @property
775
862
  def assignee(self) -> Optional[UserSummary]:
776
863
  if isinstance(self._assignee, Unset):
@@ -5,6 +5,7 @@ import attr
5
5
  from dateutil.parser import isoparse
6
6
 
7
7
  from ..extensions import NotPresentError
8
+ from ..models.archive_record import ArchiveRecord
8
9
  from ..models.creation_origin import CreationOrigin
9
10
  from ..models.fields import Fields
10
11
  from ..models.user_summary import UserSummary
@@ -23,6 +24,7 @@ T = TypeVar("T", bound="WorkflowTaskBase")
23
24
  class WorkflowTaskBase:
24
25
  """ """
25
26
 
27
+ _archive_record: Union[Unset, None, ArchiveRecord] = UNSET
26
28
  _assignee: Union[Unset, None, UserSummary] = UNSET
27
29
  _cloned_from: Union[Unset, None, WorkflowTaskSummary] = UNSET
28
30
  _created_at: Union[Unset, str] = UNSET
@@ -43,6 +45,7 @@ class WorkflowTaskBase:
43
45
 
44
46
  def __repr__(self):
45
47
  fields = []
48
+ fields.append("archive_record={}".format(repr(self._archive_record)))
46
49
  fields.append("assignee={}".format(repr(self._assignee)))
47
50
  fields.append("cloned_from={}".format(repr(self._cloned_from)))
48
51
  fields.append("created_at={}".format(repr(self._created_at)))
@@ -63,6 +66,10 @@ class WorkflowTaskBase:
63
66
  return "WorkflowTaskBase({})".format(", ".join(fields))
64
67
 
65
68
  def to_dict(self) -> Dict[str, Any]:
69
+ archive_record: Union[Unset, None, Dict[str, Any]] = UNSET
70
+ if not isinstance(self._archive_record, Unset):
71
+ archive_record = self._archive_record.to_dict() if self._archive_record else None
72
+
66
73
  assignee: Union[Unset, None, Dict[str, Any]] = UNSET
67
74
  if not isinstance(self._assignee, Unset):
68
75
  assignee = self._assignee.to_dict() if self._assignee else None
@@ -120,6 +127,8 @@ class WorkflowTaskBase:
120
127
  field_dict: Dict[str, Any] = {}
121
128
  field_dict.update(self.additional_properties)
122
129
  # Allow the model to serialize even if it was created outside of the constructor, circumventing validation
130
+ if archive_record is not UNSET:
131
+ field_dict["archiveRecord"] = archive_record
123
132
  if assignee is not UNSET:
124
133
  field_dict["assignee"] = assignee
125
134
  if cloned_from is not UNSET:
@@ -159,6 +168,22 @@ class WorkflowTaskBase:
159
168
  def from_dict(cls: Type[T], src_dict: Dict[str, Any], strict: bool = False) -> T:
160
169
  d = src_dict.copy()
161
170
 
171
+ def get_archive_record() -> Union[Unset, None, ArchiveRecord]:
172
+ archive_record = None
173
+ _archive_record = d.pop("archiveRecord")
174
+
175
+ if _archive_record is not None and not isinstance(_archive_record, Unset):
176
+ archive_record = ArchiveRecord.from_dict(_archive_record)
177
+
178
+ return archive_record
179
+
180
+ try:
181
+ archive_record = get_archive_record()
182
+ except KeyError:
183
+ if strict:
184
+ raise
185
+ archive_record = cast(Union[Unset, None, ArchiveRecord], UNSET)
186
+
162
187
  def get_assignee() -> Union[Unset, None, UserSummary]:
163
188
  assignee = None
164
189
  _assignee = d.pop("assignee")
@@ -391,6 +416,7 @@ class WorkflowTaskBase:
391
416
  id = cast(Union[Unset, str], UNSET)
392
417
 
393
418
  workflow_task_base = cls(
419
+ archive_record=archive_record,
394
420
  assignee=assignee,
395
421
  cloned_from=cloned_from,
396
422
  created_at=created_at,
@@ -431,6 +457,20 @@ class WorkflowTaskBase:
431
457
  def get(self, key, default=None) -> Optional[Any]:
432
458
  return self.additional_properties.get(key, default)
433
459
 
460
+ @property
461
+ def archive_record(self) -> Optional[ArchiveRecord]:
462
+ if isinstance(self._archive_record, Unset):
463
+ raise NotPresentError(self, "archive_record")
464
+ return self._archive_record
465
+
466
+ @archive_record.setter
467
+ def archive_record(self, value: Optional[ArchiveRecord]) -> None:
468
+ self._archive_record = value
469
+
470
+ @archive_record.deleter
471
+ def archive_record(self) -> None:
472
+ self._archive_record = UNSET
473
+
434
474
  @property
435
475
  def assignee(self) -> Optional[UserSummary]:
436
476
  if isinstance(self._assignee, Unset):
@@ -3,6 +3,7 @@ from typing import Any, cast, Dict, List, Optional, Type, TypeVar, Union
3
3
  import attr
4
4
 
5
5
  from ..extensions import NotPresentError
6
+ from ..models.archive_record import ArchiveRecord
6
7
  from ..models.creation_origin import CreationOrigin
7
8
  from ..models.folder import Folder
8
9
  from ..models.team_summary import TeamSummary
@@ -28,6 +29,8 @@ class WorkflowTaskGroup:
28
29
  _flowchart_task_groups: Union[Unset, List[WorkflowNodeTaskGroupSummary]] = UNSET
29
30
  _node_config: Union[Unset, WorkflowFlowchartNodeConfig] = UNSET
30
31
  _root_task_group: Union[Unset, WorkflowTaskGroupSummary] = UNSET
32
+ _workflow_outputs: Union[Unset, List[WorkflowOutputSummary]] = UNSET
33
+ _archive_record: Union[Unset, None, ArchiveRecord] = UNSET
31
34
  _created_at: Union[Unset, str] = UNSET
32
35
  _creation_origin: Union[Unset, CreationOrigin] = UNSET
33
36
  _creator: Union[Unset, UserSummary] = UNSET
@@ -51,6 +54,8 @@ class WorkflowTaskGroup:
51
54
  fields.append("flowchart_task_groups={}".format(repr(self._flowchart_task_groups)))
52
55
  fields.append("node_config={}".format(repr(self._node_config)))
53
56
  fields.append("root_task_group={}".format(repr(self._root_task_group)))
57
+ fields.append("workflow_outputs={}".format(repr(self._workflow_outputs)))
58
+ fields.append("archive_record={}".format(repr(self._archive_record)))
54
59
  fields.append("created_at={}".format(repr(self._created_at)))
55
60
  fields.append("creation_origin={}".format(repr(self._creation_origin)))
56
61
  fields.append("creator={}".format(repr(self._creator)))
@@ -90,6 +95,18 @@ class WorkflowTaskGroup:
90
95
  if not isinstance(self._root_task_group, Unset):
91
96
  root_task_group = self._root_task_group.to_dict()
92
97
 
98
+ workflow_outputs: Union[Unset, List[Any]] = UNSET
99
+ if not isinstance(self._workflow_outputs, Unset):
100
+ workflow_outputs = []
101
+ for workflow_outputs_item_data in self._workflow_outputs:
102
+ workflow_outputs_item = workflow_outputs_item_data.to_dict()
103
+
104
+ workflow_outputs.append(workflow_outputs_item)
105
+
106
+ archive_record: Union[Unset, None, Dict[str, Any]] = UNSET
107
+ if not isinstance(self._archive_record, Unset):
108
+ archive_record = self._archive_record.to_dict() if self._archive_record else None
109
+
93
110
  created_at = self._created_at
94
111
  creation_origin: Union[Unset, Dict[str, Any]] = UNSET
95
112
  if not isinstance(self._creation_origin, Unset):
@@ -154,6 +171,10 @@ class WorkflowTaskGroup:
154
171
  field_dict["nodeConfig"] = node_config
155
172
  if root_task_group is not UNSET:
156
173
  field_dict["rootTaskGroup"] = root_task_group
174
+ if workflow_outputs is not UNSET:
175
+ field_dict["workflowOutputs"] = workflow_outputs
176
+ if archive_record is not UNSET:
177
+ field_dict["archiveRecord"] = archive_record
157
178
  if created_at is not UNSET:
158
179
  field_dict["createdAt"] = created_at
159
180
  if creation_origin is not UNSET:
@@ -269,6 +290,41 @@ class WorkflowTaskGroup:
269
290
  raise
270
291
  root_task_group = cast(Union[Unset, WorkflowTaskGroupSummary], UNSET)
271
292
 
293
+ def get_workflow_outputs() -> Union[Unset, List[WorkflowOutputSummary]]:
294
+ workflow_outputs = []
295
+ _workflow_outputs = d.pop("workflowOutputs")
296
+ for workflow_outputs_item_data in _workflow_outputs or []:
297
+ workflow_outputs_item = WorkflowOutputSummary.from_dict(
298
+ workflow_outputs_item_data, strict=False
299
+ )
300
+
301
+ workflow_outputs.append(workflow_outputs_item)
302
+
303
+ return workflow_outputs
304
+
305
+ try:
306
+ workflow_outputs = get_workflow_outputs()
307
+ except KeyError:
308
+ if strict:
309
+ raise
310
+ workflow_outputs = cast(Union[Unset, List[WorkflowOutputSummary]], UNSET)
311
+
312
+ def get_archive_record() -> Union[Unset, None, ArchiveRecord]:
313
+ archive_record = None
314
+ _archive_record = d.pop("archiveRecord")
315
+
316
+ if _archive_record is not None and not isinstance(_archive_record, Unset):
317
+ archive_record = ArchiveRecord.from_dict(_archive_record)
318
+
319
+ return archive_record
320
+
321
+ try:
322
+ archive_record = get_archive_record()
323
+ except KeyError:
324
+ if strict:
325
+ raise
326
+ archive_record = cast(Union[Unset, None, ArchiveRecord], UNSET)
327
+
272
328
  def get_created_at() -> Union[Unset, str]:
273
329
  created_at = d.pop("createdAt")
274
330
  return created_at
@@ -472,6 +528,8 @@ class WorkflowTaskGroup:
472
528
  flowchart_task_groups=flowchart_task_groups,
473
529
  node_config=node_config,
474
530
  root_task_group=root_task_group,
531
+ workflow_outputs=workflow_outputs,
532
+ archive_record=archive_record,
475
533
  created_at=created_at,
476
534
  creation_origin=creation_origin,
477
535
  creator=creator,
@@ -583,6 +641,35 @@ class WorkflowTaskGroup:
583
641
  def root_task_group(self) -> None:
584
642
  self._root_task_group = UNSET
585
643
 
644
+ @property
645
+ def workflow_outputs(self) -> List[WorkflowOutputSummary]:
646
+ """ The outputs of the workflow task group """
647
+ if isinstance(self._workflow_outputs, Unset):
648
+ raise NotPresentError(self, "workflow_outputs")
649
+ return self._workflow_outputs
650
+
651
+ @workflow_outputs.setter
652
+ def workflow_outputs(self, value: List[WorkflowOutputSummary]) -> None:
653
+ self._workflow_outputs = value
654
+
655
+ @workflow_outputs.deleter
656
+ def workflow_outputs(self) -> None:
657
+ self._workflow_outputs = UNSET
658
+
659
+ @property
660
+ def archive_record(self) -> Optional[ArchiveRecord]:
661
+ if isinstance(self._archive_record, Unset):
662
+ raise NotPresentError(self, "archive_record")
663
+ return self._archive_record
664
+
665
+ @archive_record.setter
666
+ def archive_record(self, value: Optional[ArchiveRecord]) -> None:
667
+ self._archive_record = value
668
+
669
+ @archive_record.deleter
670
+ def archive_record(self) -> None:
671
+ self._archive_record = UNSET
672
+
586
673
  @property
587
674
  def created_at(self) -> str:
588
675
  """ The ISO formatted date and time that the task group was created """
@@ -3,6 +3,7 @@ from typing import Any, cast, Dict, List, Optional, Type, TypeVar, Union
3
3
  import attr
4
4
 
5
5
  from ..extensions import NotPresentError
6
+ from ..models.archive_record import ArchiveRecord
6
7
  from ..models.creation_origin import CreationOrigin
7
8
  from ..models.folder import Folder
8
9
  from ..models.team_summary import TeamSummary
@@ -19,6 +20,7 @@ T = TypeVar("T", bound="WorkflowTaskGroupBase")
19
20
  class WorkflowTaskGroupBase:
20
21
  """ """
21
22
 
23
+ _archive_record: Union[Unset, None, ArchiveRecord] = UNSET
22
24
  _created_at: Union[Unset, str] = UNSET
23
25
  _creation_origin: Union[Unset, CreationOrigin] = UNSET
24
26
  _creator: Union[Unset, UserSummary] = UNSET
@@ -37,6 +39,7 @@ class WorkflowTaskGroupBase:
37
39
 
38
40
  def __repr__(self):
39
41
  fields = []
42
+ fields.append("archive_record={}".format(repr(self._archive_record)))
40
43
  fields.append("created_at={}".format(repr(self._created_at)))
41
44
  fields.append("creation_origin={}".format(repr(self._creation_origin)))
42
45
  fields.append("creator={}".format(repr(self._creator)))
@@ -55,6 +58,10 @@ class WorkflowTaskGroupBase:
55
58
  return "WorkflowTaskGroupBase({})".format(", ".join(fields))
56
59
 
57
60
  def to_dict(self) -> Dict[str, Any]:
61
+ archive_record: Union[Unset, None, Dict[str, Any]] = UNSET
62
+ if not isinstance(self._archive_record, Unset):
63
+ archive_record = self._archive_record.to_dict() if self._archive_record else None
64
+
58
65
  created_at = self._created_at
59
66
  creation_origin: Union[Unset, Dict[str, Any]] = UNSET
60
67
  if not isinstance(self._creation_origin, Unset):
@@ -109,6 +116,8 @@ class WorkflowTaskGroupBase:
109
116
  field_dict: Dict[str, Any] = {}
110
117
  field_dict.update(self.additional_properties)
111
118
  # Allow the model to serialize even if it was created outside of the constructor, circumventing validation
119
+ if archive_record is not UNSET:
120
+ field_dict["archiveRecord"] = archive_record
112
121
  if created_at is not UNSET:
113
122
  field_dict["createdAt"] = created_at
114
123
  if creation_origin is not UNSET:
@@ -144,6 +153,22 @@ class WorkflowTaskGroupBase:
144
153
  def from_dict(cls: Type[T], src_dict: Dict[str, Any], strict: bool = False) -> T:
145
154
  d = src_dict.copy()
146
155
 
156
+ def get_archive_record() -> Union[Unset, None, ArchiveRecord]:
157
+ archive_record = None
158
+ _archive_record = d.pop("archiveRecord")
159
+
160
+ if _archive_record is not None and not isinstance(_archive_record, Unset):
161
+ archive_record = ArchiveRecord.from_dict(_archive_record)
162
+
163
+ return archive_record
164
+
165
+ try:
166
+ archive_record = get_archive_record()
167
+ except KeyError:
168
+ if strict:
169
+ raise
170
+ archive_record = cast(Union[Unset, None, ArchiveRecord], UNSET)
171
+
147
172
  def get_created_at() -> Union[Unset, str]:
148
173
  created_at = d.pop("createdAt")
149
174
  return created_at
@@ -342,6 +367,7 @@ class WorkflowTaskGroupBase:
342
367
  name = cast(Union[Unset, str], UNSET)
343
368
 
344
369
  workflow_task_group_base = cls(
370
+ archive_record=archive_record,
345
371
  created_at=created_at,
346
372
  creation_origin=creation_origin,
347
373
  creator=creator,
@@ -380,6 +406,20 @@ class WorkflowTaskGroupBase:
380
406
  def get(self, key, default=None) -> Optional[Any]:
381
407
  return self.additional_properties.get(key, default)
382
408
 
409
+ @property
410
+ def archive_record(self) -> Optional[ArchiveRecord]:
411
+ if isinstance(self._archive_record, Unset):
412
+ raise NotPresentError(self, "archive_record")
413
+ return self._archive_record
414
+
415
+ @archive_record.setter
416
+ def archive_record(self, value: Optional[ArchiveRecord]) -> None:
417
+ self._archive_record = value
418
+
419
+ @archive_record.deleter
420
+ def archive_record(self) -> None:
421
+ self._archive_record = UNSET
422
+
383
423
  @property
384
424
  def created_at(self) -> str:
385
425
  """ The ISO formatted date and time that the task group was created """
@@ -1,6 +1,8 @@
1
+ import datetime
1
2
  from typing import Any, cast, Dict, List, Optional, Type, TypeVar, Union
2
3
 
3
4
  import attr
5
+ from dateutil.parser import isoparse
4
6
 
5
7
  from ..extensions import NotPresentError, UnknownType
6
8
  from ..models.archive_record import ArchiveRecord
@@ -27,6 +29,7 @@ class WorkflowTaskSchema:
27
29
  _default_responsible_parties: Union[Unset, List[PartySummary]] = UNSET
28
30
  _execution_type: Union[Unset, WorkflowTaskSchemaExecutionType] = UNSET
29
31
  _flowchart_config: Union[Unset, WorkflowFlowchartConfigSummary] = UNSET
32
+ _modified_at: Union[Unset, datetime.datetime] = UNSET
30
33
  _can_set_assignee_on_task_creation: Union[Unset, bool] = UNSET
31
34
  _default_creation_folder_id: Union[Unset, None, str] = UNSET
32
35
  _default_entry_execution_folder_id: Union[Unset, None, str] = UNSET
@@ -61,6 +64,7 @@ class WorkflowTaskSchema:
61
64
  fields.append("default_responsible_parties={}".format(repr(self._default_responsible_parties)))
62
65
  fields.append("execution_type={}".format(repr(self._execution_type)))
63
66
  fields.append("flowchart_config={}".format(repr(self._flowchart_config)))
67
+ fields.append("modified_at={}".format(repr(self._modified_at)))
64
68
  fields.append(
65
69
  "can_set_assignee_on_task_creation={}".format(repr(self._can_set_assignee_on_task_creation))
66
70
  )
@@ -100,6 +104,10 @@ class WorkflowTaskSchema:
100
104
  if not isinstance(self._flowchart_config, Unset):
101
105
  flowchart_config = self._flowchart_config.to_dict()
102
106
 
107
+ modified_at: Union[Unset, str] = UNSET
108
+ if not isinstance(self._modified_at, Unset):
109
+ modified_at = self._modified_at.isoformat()
110
+
103
111
  can_set_assignee_on_task_creation = self._can_set_assignee_on_task_creation
104
112
  default_creation_folder_id = self._default_creation_folder_id
105
113
  default_entry_execution_folder_id = self._default_entry_execution_folder_id
@@ -163,6 +171,8 @@ class WorkflowTaskSchema:
163
171
  field_dict["executionType"] = execution_type
164
172
  if flowchart_config is not UNSET:
165
173
  field_dict["flowchartConfig"] = flowchart_config
174
+ if modified_at is not UNSET:
175
+ field_dict["modifiedAt"] = modified_at
166
176
  if can_set_assignee_on_task_creation is not UNSET:
167
177
  field_dict["canSetAssigneeOnTaskCreation"] = can_set_assignee_on_task_creation
168
178
  if default_creation_folder_id is not UNSET:
@@ -253,6 +263,21 @@ class WorkflowTaskSchema:
253
263
  raise
254
264
  flowchart_config = cast(Union[Unset, WorkflowFlowchartConfigSummary], UNSET)
255
265
 
266
+ def get_modified_at() -> Union[Unset, datetime.datetime]:
267
+ modified_at: Union[Unset, datetime.datetime] = UNSET
268
+ _modified_at = d.pop("modifiedAt")
269
+ if _modified_at is not None and not isinstance(_modified_at, Unset):
270
+ modified_at = isoparse(cast(str, _modified_at))
271
+
272
+ return modified_at
273
+
274
+ try:
275
+ modified_at = get_modified_at()
276
+ except KeyError:
277
+ if strict:
278
+ raise
279
+ modified_at = cast(Union[Unset, datetime.datetime], UNSET)
280
+
256
281
  def get_can_set_assignee_on_task_creation() -> Union[Unset, bool]:
257
282
  can_set_assignee_on_task_creation = d.pop("canSetAssigneeOnTaskCreation")
258
283
  return can_set_assignee_on_task_creation
@@ -536,6 +561,7 @@ class WorkflowTaskSchema:
536
561
  default_responsible_parties=default_responsible_parties,
537
562
  execution_type=execution_type,
538
563
  flowchart_config=flowchart_config,
564
+ modified_at=modified_at,
539
565
  can_set_assignee_on_task_creation=can_set_assignee_on_task_creation,
540
566
  default_creation_folder_id=default_creation_folder_id,
541
567
  default_entry_execution_folder_id=default_entry_execution_folder_id,
@@ -619,6 +645,21 @@ class WorkflowTaskSchema:
619
645
  def flowchart_config(self) -> None:
620
646
  self._flowchart_config = UNSET
621
647
 
648
+ @property
649
+ def modified_at(self) -> datetime.datetime:
650
+ """ DateTime the Oligo was last modified. """
651
+ if isinstance(self._modified_at, Unset):
652
+ raise NotPresentError(self, "modified_at")
653
+ return self._modified_at
654
+
655
+ @modified_at.setter
656
+ def modified_at(self, value: datetime.datetime) -> None:
657
+ self._modified_at = value
658
+
659
+ @modified_at.deleter
660
+ def modified_at(self) -> None:
661
+ self._modified_at = UNSET
662
+
622
663
  @property
623
664
  def can_set_assignee_on_task_creation(self) -> bool:
624
665
  """ Whether or not tasks of this schema can be created with a non-null assignee. """