Skip to content

Commit 2a70ed6

Browse files
[client] add status x_opencti_workflow_id in entities & relationship (#opencti/7114)
1 parent 9ecbd7e commit 2a70ed6

24 files changed

+218
-9
lines changed

pycti/entities/opencti_attack_pattern.py

+11
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,7 @@ def create(self, **kwargs):
395395
kill_chain_phases = kwargs.get("killChainPhases", None)
396396
x_opencti_stix_ids = kwargs.get("x_opencti_stix_ids", None)
397397
granted_refs = kwargs.get("objectOrganization", None)
398+
x_opencti_workflow_id = kwargs.get("x_opencti_workflow_id", None)
398399
update = kwargs.get("update", False)
399400

400401
if name is not None:
@@ -433,6 +434,7 @@ def create(self, **kwargs):
433434
"x_mitre_id": x_mitre_id,
434435
"killChainPhases": kill_chain_phases,
435436
"x_opencti_stix_ids": x_opencti_stix_ids,
437+
"x_opencti_workflow_id": x_opencti_workflow_id,
436438
"update": update,
437439
}
438440
},
@@ -511,6 +513,10 @@ def import_from_stix2(self, **kwargs):
511513
stix_object["x_opencti_granted_refs"] = (
512514
self.opencti.get_attribute_in_extension("granted_refs", stix_object)
513515
)
516+
if "x_opencti_workflow_id" not in stix_object:
517+
stix_object["x_opencti_workflow_id"] = (
518+
self.opencti.get_attribute_in_extension("workflow_id", stix_object)
519+
)
514520

515521
return self.create(
516522
stix_id=stix_object["id"],
@@ -579,6 +585,11 @@ def import_from_stix2(self, **kwargs):
579585
if "x_opencti_granted_refs" in stix_object
580586
else None
581587
),
588+
x_opencti_workflow_id=(
589+
stix_object["x_opencti_workflow_id"]
590+
if "x_opencti_workflow_id" in stix_object
591+
else None
592+
),
582593
update=update,
583594
)
584595
else:

pycti/entities/opencti_campaign.py

+11
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,7 @@ def create(self, **kwargs):
376376
objective = kwargs.get("objective", None)
377377
granted_refs = kwargs.get("objectOrganization", None)
378378
x_opencti_stix_ids = kwargs.get("x_opencti_stix_ids", None)
379+
x_opencti_workflow_id = kwargs.get("x_opencti_workflow_id", None)
379380
update = kwargs.get("update", False)
380381

381382
if name is not None:
@@ -412,6 +413,7 @@ def create(self, **kwargs):
412413
"last_seen": last_seen,
413414
"objective": objective,
414415
"update": update,
416+
"x_opencti_workflow_id": x_opencti_workflow_id,
415417
"x_opencti_stix_ids": x_opencti_stix_ids,
416418
}
417419
},
@@ -443,6 +445,10 @@ def import_from_stix2(self, **kwargs):
443445
stix_object["x_opencti_granted_refs"] = (
444446
self.opencti.get_attribute_in_extension("granted_refs", stix_object)
445447
)
448+
if "x_opencti_workflow_id" not in stix_object:
449+
stix_object["x_opencti_workflow_id"] = (
450+
self.opencti.get_attribute_in_extension("workflow_id", stix_object)
451+
)
446452

447453
return self.create(
448454
stix_id=stix_object["id"],
@@ -495,6 +501,11 @@ def import_from_stix2(self, **kwargs):
495501
if "x_opencti_granted_refs" in stix_object
496502
else None
497503
),
504+
x_opencti_workflow_id=(
505+
stix_object["x_opencti_workflow_id"]
506+
if "x_opencti_workflow_id" in stix_object
507+
else None
508+
),
498509
update=update,
499510
)
500511
else:

pycti/entities/opencti_case_rfi.py

+11
Original file line numberDiff line numberDiff line change
@@ -680,6 +680,7 @@ def create(self, **kwargs):
680680
description = kwargs.get("description", None)
681681
x_opencti_stix_ids = kwargs.get("x_opencti_stix_ids", None)
682682
granted_refs = kwargs.get("objectOrganization", None)
683+
x_opencti_workflow_id = kwargs.get("x_opencti_workflow_id", None)
683684
update = kwargs.get("update", False)
684685
information_types = kwargs.get("information_types", None)
685686

@@ -714,6 +715,7 @@ def create(self, **kwargs):
714715
"name": name,
715716
"description": description,
716717
"x_opencti_stix_ids": x_opencti_stix_ids,
718+
"x_opencti_workflow_id": x_opencti_workflow_id,
717719
"update": update,
718720
"information_types": information_types,
719721
}
@@ -836,6 +838,10 @@ def import_from_stix2(self, **kwargs):
836838
stix_object["x_opencti_granted_refs"] = (
837839
self.opencti.get_attribute_in_extension("granted_refs", stix_object)
838840
)
841+
if "x_opencti_workflow_id" not in stix_object:
842+
stix_object["x_opencti_workflow_id"] = (
843+
self.opencti.get_attribute_in_extension("workflow_id", stix_object)
844+
)
839845

840846
return self.create(
841847
stix_id=stix_object["id"],
@@ -879,6 +885,11 @@ def import_from_stix2(self, **kwargs):
879885
if "x_opencti_granted_refs" in stix_object
880886
else None
881887
),
888+
x_opencti_workflow_id=(
889+
stix_object["x_opencti_workflow_id"]
890+
if "x_opencti_workflow_id" in stix_object
891+
else None
892+
),
882893
update=update,
883894
information_types=(
884895
stix_object["information_types"]

pycti/entities/opencti_case_rft.py

+11
Original file line numberDiff line numberDiff line change
@@ -679,6 +679,7 @@ def create(self, **kwargs):
679679
description = kwargs.get("description", None)
680680
x_opencti_stix_ids = kwargs.get("x_opencti_stix_ids", None)
681681
granted_refs = kwargs.get("objectOrganization", None)
682+
x_opencti_workflow_id = kwargs.get("x_opencti_workflow_id", None)
682683
update = kwargs.get("update", False)
683684
takedown_types = kwargs.get("takedown_types", None)
684685

@@ -713,6 +714,7 @@ def create(self, **kwargs):
713714
"name": name,
714715
"description": description,
715716
"x_opencti_stix_ids": x_opencti_stix_ids,
717+
"x_opencti_workflow_id": x_opencti_workflow_id,
716718
"update": update,
717719
"takedown_types": takedown_types,
718720
}
@@ -835,6 +837,10 @@ def import_from_stix2(self, **kwargs):
835837
stix_object["x_opencti_granted_refs"] = (
836838
self.opencti.get_attribute_in_extension("granted_refs", stix_object)
837839
)
840+
if "x_opencti_workflow_id" not in stix_object:
841+
stix_object["x_opencti_workflow_id"] = (
842+
self.opencti.get_attribute_in_extension("workflow_id", stix_object)
843+
)
838844

839845
return self.create(
840846
stix_id=stix_object["id"],
@@ -883,6 +889,11 @@ def import_from_stix2(self, **kwargs):
883889
if "x_opencti_granted_refs" in stix_object
884890
else None
885891
),
892+
x_opencti_workflow_id=(
893+
stix_object["x_opencti_workflow_id"]
894+
if "x_opencti_workflow_id" in stix_object
895+
else None
896+
),
886897
update=update,
887898
)
888899
else:

pycti/entities/opencti_course_of_action.py

+11
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,7 @@ def create(self, **kwargs):
367367
x_opencti_stix_ids = kwargs.get("x_opencti_stix_ids", None)
368368
x_mitre_id = kwargs.get("x_mitre_id", None)
369369
granted_refs = kwargs.get("objectOrganization", None)
370+
x_opencti_workflow_id = kwargs.get("x_opencti_workflow_id", None)
370371
update = kwargs.get("update", False)
371372

372373
if name is not None:
@@ -401,6 +402,7 @@ def create(self, **kwargs):
401402
"x_opencti_aliases": x_opencti_aliases,
402403
"x_opencti_stix_ids": x_opencti_stix_ids,
403404
"x_mitre_id": x_mitre_id,
405+
"x_opencti_workflow_id": x_opencti_workflow_id,
404406
"update": update,
405407
}
406408
},
@@ -459,6 +461,10 @@ def import_from_stix2(self, **kwargs):
459461
stix_object["x_opencti_granted_refs"] = (
460462
self.opencti.get_attribute_in_extension("granted_refs", stix_object)
461463
)
464+
if "x_opencti_workflow_id" not in stix_object:
465+
stix_object["x_opencti_workflow_id"] = (
466+
self.opencti.get_attribute_in_extension("workflow_id", stix_object)
467+
)
462468

463469
return self.create(
464470
stix_id=stix_object["id"],
@@ -503,6 +509,11 @@ def import_from_stix2(self, **kwargs):
503509
if "x_opencti_granted_refs" in stix_object
504510
else None
505511
),
512+
x_opencti_workflow_id=(
513+
stix_object["x_opencti_workflow_id"]
514+
if "x_opencti_workflow_id" in stix_object
515+
else None
516+
),
506517
update=update,
507518
)
508519
else:

pycti/entities/opencti_data_component.py

+11
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,7 @@ def create(self, **kwargs):
406406
aliases = kwargs.get("aliases", None)
407407
x_opencti_stix_ids = kwargs.get("x_opencti_stix_ids", None)
408408
granted_refs = kwargs.get("objectOrganization", None)
409+
x_opencti_workflow_id = kwargs.get("x_opencti_workflow_id", None)
409410
update = kwargs.get("update", False)
410411

411412
if name is not None:
@@ -443,6 +444,7 @@ def create(self, **kwargs):
443444
"aliases": aliases,
444445
"dataSource": dataSource,
445446
"x_opencti_stix_ids": x_opencti_stix_ids,
447+
"x_opencti_workflow_id": x_opencti_workflow_id,
446448
"update": update,
447449
}
448450
},
@@ -489,6 +491,10 @@ def import_from_stix2(self, **kwargs):
489491
stix_object["x_opencti_granted_refs"] = (
490492
self.opencti.get_attribute_in_extension("granted_refs", stix_object)
491493
)
494+
if "x_opencti_workflow_id" not in stix_object:
495+
stix_object["x_opencti_workflow_id"] = (
496+
self.opencti.get_attribute_in_extension("workflow_id", stix_object)
497+
)
492498

493499
return self.opencti.data_component.create(
494500
stix_id=stix_object["id"],
@@ -535,6 +541,11 @@ def import_from_stix2(self, **kwargs):
535541
if "x_opencti_granted_refs" in stix_object
536542
else None
537543
),
544+
x_opencti_workflow_id=(
545+
stix_object["x_opencti_workflow_id"]
546+
if "x_opencti_workflow_id" in stix_object
547+
else None
548+
),
538549
update=update,
539550
)
540551
else:

pycti/entities/opencti_data_source.py

+11
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,7 @@ def create(self, **kwargs):
363363
collection_layers = kwargs.get("collection_layers", None)
364364
x_opencti_stix_ids = kwargs.get("x_opencti_stix_ids", None)
365365
granted_refs = kwargs.get("objectOrganization", None)
366+
x_opencti_workflow_id = kwargs.get("x_opencti_workflow_id", None)
366367
update = kwargs.get("update", False)
367368

368369
if name is not None:
@@ -399,6 +400,7 @@ def create(self, **kwargs):
399400
"x_mitre_platforms": platforms,
400401
"collection_layers": collection_layers,
401402
"x_opencti_stix_ids": x_opencti_stix_ids,
403+
"x_opencti_workflow_id": x_opencti_workflow_id,
402404
"update": update,
403405
}
404406
},
@@ -445,6 +447,10 @@ def import_from_stix2(self, **kwargs):
445447
stix_object["x_opencti_granted_refs"] = (
446448
self.opencti.get_attribute_in_extension("granted_refs", stix_object)
447449
)
450+
if "x_opencti_workflow_id" not in stix_object:
451+
stix_object["x_opencti_workflow_id"] = (
452+
self.opencti.get_attribute_in_extension("workflow_id", stix_object)
453+
)
448454

449455
return self.opencti.data_source.create(
450456
stix_id=stix_object["id"],
@@ -496,6 +502,11 @@ def import_from_stix2(self, **kwargs):
496502
if "x_opencti_granted_refs" in stix_object
497503
else None
498504
),
505+
x_opencti_workflow_id=(
506+
stix_object["x_opencti_workflow_id"]
507+
if "x_opencti_workflow_id" in stix_object
508+
else None
509+
),
499510
update=update,
500511
)
501512
else:

pycti/entities/opencti_feedback.py

+11
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,7 @@ def create(self, **kwargs):
645645
rating = kwargs.get("rating", None)
646646
x_opencti_stix_ids = kwargs.get("x_opencti_stix_ids", None)
647647
granted_refs = kwargs.get("objectOrganization", None)
648+
x_opencti_workflow_id = kwargs.get("x_opencti_workflow_id", None)
648649
update = kwargs.get("update", False)
649650

650651
if name is not None:
@@ -679,6 +680,7 @@ def create(self, **kwargs):
679680
"description": description,
680681
"rating": rating,
681682
"x_opencti_stix_ids": x_opencti_stix_ids,
683+
"x_opencti_workflow_id": x_opencti_workflow_id,
682684
"update": update,
683685
}
684686
},
@@ -828,6 +830,10 @@ def import_from_stix2(self, **kwargs):
828830
stix_object["x_opencti_granted_refs"] = (
829831
self.opencti.get_attribute_in_extension("granted_refs", stix_object)
830832
)
833+
if "x_opencti_workflow_id" not in stix_object:
834+
stix_object["x_opencti_workflow_id"] = (
835+
self.opencti.get_attribute_in_extension("workflow_id", stix_object)
836+
)
831837

832838
return self.create(
833839
stix_id=stix_object["id"],
@@ -872,6 +878,11 @@ def import_from_stix2(self, **kwargs):
872878
if "x_opencti_granted_refs" in stix_object
873879
else None
874880
),
881+
x_opencti_workflow_id=(
882+
stix_object["x_opencti_workflow_id"]
883+
if "x_opencti_workflow_id" in stix_object
884+
else None
885+
),
875886
update=update,
876887
)
877888
else:

pycti/entities/opencti_grouping.py

+11
Original file line numberDiff line numberDiff line change
@@ -624,6 +624,7 @@ def create(self, **kwargs):
624624
x_opencti_aliases = kwargs.get("x_opencti_aliases", None)
625625
x_opencti_stix_ids = kwargs.get("x_opencti_stix_ids", None)
626626
granted_refs = kwargs.get("objectOrganization", None)
627+
x_opencti_workflow_id = kwargs.get("x_opencti_workflow_id", None)
627628
update = kwargs.get("update", False)
628629

629630
if name is not None and context is not None:
@@ -659,6 +660,7 @@ def create(self, **kwargs):
659660
"description": description,
660661
"x_opencti_aliases": x_opencti_aliases,
661662
"x_opencti_stix_ids": x_opencti_stix_ids,
663+
"x_opencti_workflow_id": x_opencti_workflow_id,
662664
"update": update,
663665
}
664666
},
@@ -776,6 +778,10 @@ def import_from_stix2(self, **kwargs):
776778
stix_object["x_opencti_granted_refs"] = (
777779
self.opencti.get_attribute_in_extension("granted_refs", stix_object)
778780
)
781+
if "x_opencti_workflow_id" not in stix_object:
782+
stix_object["x_opencti_workflow_id"] = (
783+
self.opencti.get_attribute_in_extension("workflow_id", stix_object)
784+
)
779785

780786
return self.create(
781787
stix_id=stix_object["id"],
@@ -821,6 +827,11 @@ def import_from_stix2(self, **kwargs):
821827
else None
822828
),
823829
x_opencti_aliases=self.opencti.stix2.pick_aliases(stix_object),
830+
x_opencti_workflow_id=(
831+
stix_object["x_opencti_workflow_id"]
832+
if "x_opencti_workflow_id" in stix_object
833+
else None
834+
),
824835
update=update,
825836
)
826837
else:

pycti/entities/opencti_identity.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -542,9 +542,7 @@ def import_from_stix2(self, **kwargs):
542542
)
543543
if "x_opencti_workflow_id" not in stix_object:
544544
stix_object["x_opencti_workflow_id"] = (
545-
self.opencti.get_attribute_in_extension(
546-
"x_opencti_workflow_id", stix_object
547-
)
545+
self.opencti.get_attribute_in_extension("workflow_id", stix_object)
548546
)
549547

550548
return self.create(

0 commit comments

Comments
 (0)