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
@@ -25,6 +25,7 @@ class RnaSequence:
25
25
  """ """
26
26
 
27
27
  _aliases: Union[Unset, List[str]] = UNSET
28
+ _alignment_ids: Union[Unset, List[str]] = UNSET
28
29
  _annotations: Union[Unset, List[RnaAnnotation]] = UNSET
29
30
  _api_url: Union[Unset, str] = UNSET
30
31
  _archive_record: Union[Unset, None, ArchiveRecord] = UNSET
@@ -50,12 +51,14 @@ class RnaSequence:
50
51
  _registry_id: Union[Unset, None, str] = UNSET
51
52
  _schema: Union[Unset, None, SchemaSummary] = UNSET
52
53
  _translations: Union[Unset, List[Translation]] = UNSET
54
+ _url: Union[Unset, str] = UNSET
53
55
  _web_url: Union[Unset, str] = UNSET
54
56
  additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
55
57
 
56
58
  def __repr__(self):
57
59
  fields = []
58
60
  fields.append("aliases={}".format(repr(self._aliases)))
61
+ fields.append("alignment_ids={}".format(repr(self._alignment_ids)))
59
62
  fields.append("annotations={}".format(repr(self._annotations)))
60
63
  fields.append("api_url={}".format(repr(self._api_url)))
61
64
  fields.append("archive_record={}".format(repr(self._archive_record)))
@@ -81,6 +84,7 @@ class RnaSequence:
81
84
  fields.append("registry_id={}".format(repr(self._registry_id)))
82
85
  fields.append("schema={}".format(repr(self._schema)))
83
86
  fields.append("translations={}".format(repr(self._translations)))
87
+ fields.append("url={}".format(repr(self._url)))
84
88
  fields.append("web_url={}".format(repr(self._web_url)))
85
89
  fields.append("additional_properties={}".format(repr(self.additional_properties)))
86
90
  return "RnaSequence({})".format(", ".join(fields))
@@ -90,6 +94,10 @@ class RnaSequence:
90
94
  if not isinstance(self._aliases, Unset):
91
95
  aliases = self._aliases
92
96
 
97
+ alignment_ids: Union[Unset, List[Any]] = UNSET
98
+ if not isinstance(self._alignment_ids, Unset):
99
+ alignment_ids = self._alignment_ids
100
+
93
101
  annotations: Union[Unset, List[Any]] = UNSET
94
102
  if not isinstance(self._annotations, Unset):
95
103
  annotations = []
@@ -174,6 +182,7 @@ class RnaSequence:
174
182
 
175
183
  translations.append(translations_item)
176
184
 
185
+ url = self._url
177
186
  web_url = self._web_url
178
187
 
179
188
  field_dict: Dict[str, Any] = {}
@@ -181,6 +190,8 @@ class RnaSequence:
181
190
  # Allow the model to serialize even if it was created outside of the constructor, circumventing validation
182
191
  if aliases is not UNSET:
183
192
  field_dict["aliases"] = aliases
193
+ if alignment_ids is not UNSET:
194
+ field_dict["alignmentIds"] = alignment_ids
184
195
  if annotations is not UNSET:
185
196
  field_dict["annotations"] = annotations
186
197
  if api_url is not UNSET:
@@ -231,6 +242,8 @@ class RnaSequence:
231
242
  field_dict["schema"] = schema
232
243
  if translations is not UNSET:
233
244
  field_dict["translations"] = translations
245
+ if url is not UNSET:
246
+ field_dict["url"] = url
234
247
  if web_url is not UNSET:
235
248
  field_dict["webURL"] = web_url
236
249
 
@@ -252,6 +265,18 @@ class RnaSequence:
252
265
  raise
253
266
  aliases = cast(Union[Unset, List[str]], UNSET)
254
267
 
268
+ def get_alignment_ids() -> Union[Unset, List[str]]:
269
+ alignment_ids = cast(List[str], d.pop("alignmentIds"))
270
+
271
+ return alignment_ids
272
+
273
+ try:
274
+ alignment_ids = get_alignment_ids()
275
+ except KeyError:
276
+ if strict:
277
+ raise
278
+ alignment_ids = cast(Union[Unset, List[str]], UNSET)
279
+
255
280
  def get_annotations() -> Union[Unset, List[RnaAnnotation]]:
256
281
  annotations = []
257
282
  _annotations = d.pop("annotations")
@@ -595,6 +620,17 @@ class RnaSequence:
595
620
  raise
596
621
  translations = cast(Union[Unset, List[Translation]], UNSET)
597
622
 
623
+ def get_url() -> Union[Unset, str]:
624
+ url = d.pop("url")
625
+ return url
626
+
627
+ try:
628
+ url = get_url()
629
+ except KeyError:
630
+ if strict:
631
+ raise
632
+ url = cast(Union[Unset, str], UNSET)
633
+
598
634
  def get_web_url() -> Union[Unset, str]:
599
635
  web_url = d.pop("webURL")
600
636
  return web_url
@@ -608,6 +644,7 @@ class RnaSequence:
608
644
 
609
645
  rna_sequence = cls(
610
646
  aliases=aliases,
647
+ alignment_ids=alignment_ids,
611
648
  annotations=annotations,
612
649
  api_url=api_url,
613
650
  archive_record=archive_record,
@@ -633,6 +670,7 @@ class RnaSequence:
633
670
  registry_id=registry_id,
634
671
  schema=schema,
635
672
  translations=translations,
673
+ url=url,
636
674
  web_url=web_url,
637
675
  )
638
676
 
@@ -672,6 +710,21 @@ class RnaSequence:
672
710
  def aliases(self) -> None:
673
711
  self._aliases = UNSET
674
712
 
713
+ @property
714
+ def alignment_ids(self) -> List[str]:
715
+ """ API IDs of Nucleotide Alignments involving the RNA sequence """
716
+ if isinstance(self._alignment_ids, Unset):
717
+ raise NotPresentError(self, "alignment_ids")
718
+ return self._alignment_ids
719
+
720
+ @alignment_ids.setter
721
+ def alignment_ids(self, value: List[str]) -> None:
722
+ self._alignment_ids = value
723
+
724
+ @alignment_ids.deleter
725
+ def alignment_ids(self) -> None:
726
+ self._alignment_ids = UNSET
727
+
675
728
  @property
676
729
  def annotations(self) -> List[RnaAnnotation]:
677
730
  if isinstance(self._annotations, Unset):
@@ -1026,6 +1079,21 @@ class RnaSequence:
1026
1079
  def translations(self) -> None:
1027
1080
  self._translations = UNSET
1028
1081
 
1082
+ @property
1083
+ def url(self) -> str:
1084
+ """ The path of the web URL, omitting the tenant domain """
1085
+ if isinstance(self._url, Unset):
1086
+ raise NotPresentError(self, "url")
1087
+ return self._url
1088
+
1089
+ @url.setter
1090
+ def url(self, value: str) -> None:
1091
+ self._url = value
1092
+
1093
+ @url.deleter
1094
+ def url(self) -> None:
1095
+ self._url = UNSET
1096
+
1029
1097
  @property
1030
1098
  def web_url(self) -> str:
1031
1099
  if isinstance(self._web_url, 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.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 """