Skip to content
This repository was archived by the owner on Dec 5, 2025. It is now read-only.

Commit 249d98b

Browse files
[client] Adapt client for platform API changes (opencti/issues/5370)
1 parent 7e31fca commit 249d98b

8 files changed

+83
-147
lines changed

examples/create_observable_relationships.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
"type": "file",
1515
"hashes": {
1616
"md5": "16b3f663d0f0371a4706642c6ac04e42",
17-
"sha1": "3a1f908941311fc357051b5c35fd2a4e0c834e37",
18-
"sha256": "bcc70a49fab005b4cdbe0cbd87863ec622c6b2c656987d201adbb0e05ec03e56",
17+
"sha-1": "3a1f908941311fc357051b5c35fd2a4e0c834e37",
18+
"sha-256": "bcc70a49fab005b4cdbe0cbd87863ec622c6b2c656987d201adbb0e05ec03e56",
1919
},
2020
}
2121
)

pycti/entities/opencti_stix_core_object.py

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1332,8 +1332,6 @@ def list(self, **kwargs):
13321332
types = kwargs.get("types", None)
13331333
filters = kwargs.get("filters", None)
13341334
search = kwargs.get("search", None)
1335-
relationship_type = kwargs.get("relationship_type", None)
1336-
element_id = kwargs.get("elementId", None)
13371335
first = kwargs.get("first", 100)
13381336
after = kwargs.get("after", None)
13391337
order_by = kwargs.get("orderBy", None)
@@ -1350,8 +1348,8 @@ def list(self, **kwargs):
13501348
)
13511349
query = (
13521350
"""
1353-
query StixCoreObjects($types: [String], $filters: FilterGroup, $search: String, $relationship_type: [String], $elementId: [String], $first: Int, $after: ID, $orderBy: StixCoreObjectsOrdering, $orderMode: OrderingMode) {
1354-
stixCoreObjects(types: $types, filters: $filters, search: $search, relationship_type: $relationship_type, elementId: $elementId, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
1351+
query StixCoreObjects($types: [String], $filters: FilterGroup, $search: String, $first: Int, $after: ID, $orderBy: StixCoreObjectsOrdering, $orderMode: OrderingMode) {
1352+
stixCoreObjects(types: $types, filters: $filters, search: $search, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
13551353
edges {
13561354
node {
13571355
"""
@@ -1380,8 +1378,6 @@ def list(self, **kwargs):
13801378
"types": types,
13811379
"filters": filters,
13821380
"search": search,
1383-
"relationship_type": relationship_type,
1384-
"elementId": element_id,
13851381
"first": first,
13861382
"after": after,
13871383
"orderBy": order_by,
@@ -1404,8 +1400,6 @@ def list(self, **kwargs):
14041400
"types": types,
14051401
"filters": filters,
14061402
"search": search,
1407-
"relationship_type": relationship_type,
1408-
"elementId": element_id,
14091403
"first": first,
14101404
"after": after,
14111405
"orderBy": order_by,
@@ -1497,11 +1491,11 @@ def list_files(self, **kwargs):
14971491
return entity["importFiles"]
14981492

14991493
def push_list_export(
1500-
self, entity_type, file_name, data, list_filters="", mime_type=None
1494+
self, entity_id, entity_type, file_name, data, list_filters="", mime_type=None
15011495
):
15021496
query = """
1503-
mutation StixCoreObjectsExportPush($type: String!, $file: Upload!, $listFilters: String) {
1504-
stixCoreObjectsExportPush(type: $type, file: $file, listFilters: $listFilters)
1497+
mutation StixCoreObjectsExportPush($entity_id: String, $entity_type: String!, $file: Upload!, $listFilters: String) {
1498+
stixCoreObjectsExportPush(entity_id: $entity_id, entity_type: $entity_type, file: $file, listFilters: $listFilters)
15051499
}
15061500
"""
15071501
if mime_type is None:
@@ -1511,7 +1505,8 @@ def push_list_export(
15111505
self.opencti.query(
15121506
query,
15131507
{
1514-
"type": entity_type,
1508+
"entity_id": entity_id,
1509+
"entity_type": entity_type,
15151510
"file": file,
15161511
"listFilters": list_filters,
15171512
},

pycti/entities/opencti_stix_core_relationship.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ def generate_id(
384384
"""
385385

386386
def list(self, **kwargs):
387-
element_id = kwargs.get("elementId", None)
387+
from_or_to_id = kwargs.get("fromOrToId", None)
388388
element_with_target_types = kwargs.get("elementWithTargetTypes", None)
389389
from_id = kwargs.get("fromId", None)
390390
from_types = kwargs.get("fromTypes", None)
@@ -410,7 +410,7 @@ def list(self, **kwargs):
410410
"Listing stix_core_relationships",
411411
{
412412
"relationship_type": relationship_type,
413-
"element_id": element_id,
413+
"from_or_to_id": from_or_to_id,
414414
"from_id": from_id,
415415
"to_id": to_id,
416416
"element_with_target_types": element_with_target_types,
@@ -420,8 +420,8 @@ def list(self, **kwargs):
420420
)
421421
query = (
422422
"""
423-
query StixCoreRelationships($elementId: [String], $elementWithTargetTypes: [String], $fromId: [String], $fromTypes: [String], $toId: [String], $toTypes: [String], $relationship_type: [String], $startTimeStart: DateTime, $startTimeStop: DateTime, $stopTimeStart: DateTime, $stopTimeStop: DateTime, $filters: FilterGroup, $first: Int, $after: ID, $orderBy: StixCoreRelationshipsOrdering, $orderMode: OrderingMode) {
424-
stixCoreRelationships(elementId: $elementId, elementWithTargetTypes: $elementWithTargetTypes, fromId: $fromId, fromTypes: $fromTypes, toId: $toId, toTypes: $toTypes, relationship_type: $relationship_type, startTimeStart: $startTimeStart, startTimeStop: $startTimeStop, stopTimeStart: $stopTimeStart, stopTimeStop: $stopTimeStop, filters: $filters, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
423+
query StixCoreRelationships($fromOrToId: [String], $elementWithTargetTypes: [String], $fromId: [String], $fromTypes: [String], $toId: [String], $toTypes: [String], $relationship_type: [String], $startTimeStart: DateTime, $startTimeStop: DateTime, $stopTimeStart: DateTime, $stopTimeStop: DateTime, $filters: FilterGroup, $first: Int, $after: ID, $orderBy: StixCoreRelationshipsOrdering, $orderMode: OrderingMode) {
424+
stixCoreRelationships(fromOrToId: $fromOrToId, elementWithTargetTypes: $elementWithTargetTypes, fromId: $fromId, fromTypes: $fromTypes, toId: $toId, toTypes: $toTypes, relationship_type: $relationship_type, startTimeStart: $startTimeStart, startTimeStop: $startTimeStop, stopTimeStart: $stopTimeStart, stopTimeStop: $stopTimeStop, filters: $filters, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
425425
edges {
426426
node {
427427
"""
@@ -443,7 +443,7 @@ def list(self, **kwargs):
443443
result = self.opencti.query(
444444
query,
445445
{
446-
"elementId": element_id,
446+
"fromOrToId": from_or_to_id,
447447
"elementWithTargetTypes": element_with_target_types,
448448
"fromId": from_id,
449449
"fromTypes": from_types,
@@ -475,7 +475,7 @@ def list(self, **kwargs):
475475
result = self.opencti.query(
476476
query,
477477
{
478-
"elementId": element_id,
478+
"fromOrToId": from_or_to_id,
479479
"elementWithTargetTypes": element_with_target_types,
480480
"fromId": from_id,
481481
"fromTypes": from_types,
@@ -507,7 +507,7 @@ def list(self, **kwargs):
507507
Read a stix_core_relationship object
508508
509509
:param id: the id of the stix_core_relationship
510-
:param elementId: the id of the entity of the relation
510+
:param fromOrToId: the id of the entity of the relation
511511
:param fromId: the id of the source entity of the relation
512512
:param toId: the id of the target entity of the relation
513513
:param relationship_type: the relation type
@@ -520,7 +520,7 @@ def list(self, **kwargs):
520520

521521
def read(self, **kwargs):
522522
id = kwargs.get("id", None)
523-
element_id = kwargs.get("elementId", None)
523+
from_or_to_id = kwargs.get("fromOrToId", None)
524524
from_id = kwargs.get("fromId", None)
525525
to_id = kwargs.get("toId", None)
526526
relationship_type = kwargs.get("relationship_type", None)
@@ -552,7 +552,7 @@ def read(self, **kwargs):
552552
)
553553
elif from_id is not None and to_id is not None:
554554
result = self.list(
555-
elementId=element_id,
555+
fromOrToId=from_or_to_id,
556556
fromId=from_id,
557557
toId=to_id,
558558
relationship_type=relationship_type,

pycti/entities/opencti_stix_cyber_observable.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2162,10 +2162,12 @@ def remove_external_reference(self, **kwargs):
21622162
self.opencti.app_logger.error("Missing parameters: id and label_id")
21632163
return False
21642164

2165-
def push_list_export(self, file_name, data, list_filters="", mime_type=None):
2165+
def push_list_export(
2166+
self, entity_id, entity_type, file_name, data, list_filters="", mime_type=None
2167+
):
21662168
query = """
2167-
mutation StixCyberObservablesExportPush($file: Upload!, $listFilters: String) {
2168-
stixCyberObservablesExportPush(file: $file, listFilters: $listFilters)
2169+
mutation StixCyberObservablesExportPush($entity_id: String, $entity_type: String!, $file: Upload!, $listFilters: String) {
2170+
stixCyberObservablesExportPush(entity_id: $entity_id, entity_type: $entity_type, file: $file, listFilters: $listFilters)
21692171
}
21702172
"""
21712173
if mime_type is None:
@@ -2175,6 +2177,8 @@ def push_list_export(self, file_name, data, list_filters="", mime_type=None):
21752177
self.opencti.query(
21762178
query,
21772179
{
2180+
"entity_id": entity_id,
2181+
"entity_type": entity_type,
21782182
"file": file,
21792183
"listFilters": list_filters,
21802184
},

pycti/entities/opencti_stix_domain_object.py

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1055,8 +1055,6 @@ def list(self, **kwargs):
10551055
filters = kwargs.get("filters", None)
10561056
search = kwargs.get("search", None)
10571057
first = kwargs.get("first", 100)
1058-
relationship_type = kwargs.get("relationship_type", None)
1059-
element_id = kwargs.get("elementId", None)
10601058
after = kwargs.get("after", None)
10611059
order_by = kwargs.get("orderBy", None)
10621060
order_mode = kwargs.get("orderMode", None)
@@ -1072,8 +1070,8 @@ def list(self, **kwargs):
10721070
)
10731071
query = (
10741072
"""
1075-
query StixDomainObjects($types: [String], $filters: FilterGroup, $search: String, $relationship_type: [String], $elementId: String, $first: Int, $after: ID, $orderBy: StixDomainObjectsOrdering, $orderMode: OrderingMode) {
1076-
stixDomainObjects(types: $types, filters: $filters, search: $search, relationship_type: $relationship_type, elementId: $elementId, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
1073+
query StixDomainObjects($types: [String], $filters: FilterGroup, $search: String, $first: Int, $after: ID, $orderBy: StixDomainObjectsOrdering, $orderMode: OrderingMode) {
1074+
stixDomainObjects(types: $types, filters: $filters, search: $search, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
10771075
edges {
10781076
node {
10791077
"""
@@ -1102,8 +1100,6 @@ def list(self, **kwargs):
11021100
"types": types,
11031101
"filters": filters,
11041102
"search": search,
1105-
"relationship_type": relationship_type,
1106-
"elementId": element_id,
11071103
"first": first,
11081104
"after": after,
11091105
"orderBy": order_by,
@@ -1126,8 +1122,6 @@ def list(self, **kwargs):
11261122
"types": types,
11271123
"filters": filters,
11281124
"search": search,
1129-
"relationship_type": relationship_type,
1130-
"elementId": element_id,
11311125
"first": first,
11321126
"after": after,
11331127
"orderBy": order_by,
@@ -1365,11 +1359,11 @@ def add_file(self, **kwargs):
13651359
return None
13661360

13671361
def push_list_export(
1368-
self, entity_type, file_name, data, list_filters="", mime_type=None
1362+
self, entity_id, entity_type, file_name, data, list_filters="", mime_type=None
13691363
):
13701364
query = """
1371-
mutation StixDomainObjectsExportPush($type: String!, $file: Upload!, $listFilters: String) {
1372-
stixDomainObjectsExportPush(type: $type, file: $file, listFilters: $listFilters)
1365+
mutation StixDomainObjectsExportPush($entity_id: String, $entity_type: String!, $file: Upload!, $listFilters: String) {
1366+
stixDomainObjectsExportPush(entity_id: $entity_id, entity_type: $entity_type, file: $file, listFilters: $listFilters)
13731367
}
13741368
"""
13751369
if mime_type is None:
@@ -1379,7 +1373,8 @@ def push_list_export(
13791373
self.opencti.query(
13801374
query,
13811375
{
1382-
"type": entity_type,
1376+
"entity_id": entity_id,
1377+
"entity_type": entity_type,
13831378
"file": file,
13841379
"listFilters": list_filters,
13851380
},

pycti/entities/opencti_stix_nested_ref_relationship.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def __init__(self, opencti):
7676
"""
7777

7878
def list(self, **kwargs):
79-
element_id = kwargs.get("elementId", None)
79+
from_or_to_id = kwargs.get("fromOrToId", None)
8080
from_id = kwargs.get("fromId", None)
8181
from_types = kwargs.get("fromTypes", None)
8282
to_id = kwargs.get("toId", None)
@@ -107,10 +107,10 @@ def list(self, **kwargs):
107107
)
108108
query = (
109109
"""
110-
query StixNestedRefRelationships($elementId: String, $fromId: StixRef, $fromTypes: [String], $toId: StixRef, $toTypes: [String], $relationship_type: [String], $startTimeStart: DateTime, $startTimeStop: DateTime, $stopTimeStart: DateTime, $stopTimeStop: DateTime, $filters: FilterGroup, $first: Int, $after: ID, $orderBy: StixRefRelationshipsOrdering, $orderMode: OrderingMode) {
111-
stixNestedRefRelationships(elementId: $elementId, fromId: $fromId, fromTypes: $fromTypes, toId: $toId, toTypes: $toTypes, relationship_type: $relationship_type, startTimeStart: $startTimeStart, startTimeStop: $startTimeStop, stopTimeStart: $stopTimeStart, stopTimeStop: $stopTimeStop, filters: $filters, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
110+
query StixNestedRefRelationships($fromOrToId: String, $fromId: StixRef, $fromTypes: [String], $toId: StixRef, $toTypes: [String], $relationship_type: [String], $startTimeStart: DateTime, $startTimeStop: DateTime, $stopTimeStart: DateTime, $stopTimeStop: DateTime, $filters: FilterGroup, $first: Int, $after: ID, $orderBy: StixRefRelationshipsOrdering, $orderMode: OrderingMode) {
111+
stixNestedRefRelationships(fromOrToId: $fromOrToId, fromId: $fromId, fromTypes: $fromTypes, toId: $toId, toTypes: $toTypes, relationship_type: $relationship_type, startTimeStart: $startTimeStart, startTimeStop: $startTimeStop, stopTimeStart: $stopTimeStart, stopTimeStop: $stopTimeStop, filters: $filters, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
112112
edges {
113-
node {
113+
node {
114114
"""
115115
+ (custom_attributes if custom_attributes is not None else self.properties)
116116
+ """
@@ -131,7 +131,7 @@ def list(self, **kwargs):
131131
result = self.opencti.query(
132132
query,
133133
{
134-
"elementId": element_id,
134+
"fromOrToId": from_or_to_id,
135135
"fromId": from_id,
136136
"fromTypes": from_types,
137137
"toId": to_id,
@@ -169,7 +169,7 @@ def list(self, **kwargs):
169169

170170
def read(self, **kwargs):
171171
id = kwargs.get("id", None)
172-
element_id = kwargs.get("elementId", None)
172+
from_or_to_id = kwargs.get("fromOrToId", None)
173173
from_id = kwargs.get("fromId", None)
174174
to_id = kwargs.get("toId", None)
175175
relationship_type = kwargs.get("relationship_type", None)
@@ -203,7 +203,7 @@ def read(self, **kwargs):
203203
)
204204
else:
205205
result = self.list(
206-
elementId=element_id,
206+
fromOrToId=from_or_to_id,
207207
fromId=from_id,
208208
toId=to_id,
209209
relationship_type=relationship_type,

pycti/entities/opencti_stix_sighting_relationship.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ def generate_id(source_ref, target_ref, first_seen=None, last_seen=None):
306306
"""
307307

308308
def list(self, **kwargs):
309-
element_id = kwargs.get("elementId", None)
309+
from_or_to_id = kwargs.get("fromOrToId", None)
310310
from_id = kwargs.get("fromId", None)
311311
from_types = kwargs.get("fromTypes", None)
312312
to_id = kwargs.get("toId", None)
@@ -332,8 +332,8 @@ def list(self, **kwargs):
332332
)
333333
query = (
334334
"""
335-
query StixSightingRelationships($elementId: String, $fromId: StixRef, $fromTypes: [String], $toId: StixRef, $toTypes: [String], $firstSeenStart: DateTime, $firstSeenStop: DateTime, $lastSeenStart: DateTime, $lastSeenStop: DateTime, $filters: FilterGroup, $first: Int, $after: ID, $orderBy: StixSightingRelationshipsOrdering, $orderMode: OrderingMode) {
336-
stixSightingRelationships(elementId: $elementId, fromId: $fromId, fromTypes: $fromTypes, toId: $toId, toTypes: $toTypes, firstSeenStart: $firstSeenStart, firstSeenStop: $firstSeenStop, lastSeenStart: $lastSeenStart, lastSeenStop: $lastSeenStop, filters: $filters, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
335+
query StixSightingRelationships($fromOrToId: String, $fromId: StixRef, $fromTypes: [String], $toId: StixRef, $toTypes: [String], $firstSeenStart: DateTime, $firstSeenStop: DateTime, $lastSeenStart: DateTime, $lastSeenStop: DateTime, $filters: FilterGroup, $first: Int, $after: ID, $orderBy: StixSightingRelationshipsOrdering, $orderMode: OrderingMode) {
336+
stixSightingRelationships(fromOrToId: $fromOrToId, fromId: $fromId, fromTypes: $fromTypes, toId: $toId, toTypes: $toTypes, firstSeenStart: $firstSeenStart, firstSeenStop: $firstSeenStop, lastSeenStart: $lastSeenStart, lastSeenStop: $lastSeenStop, filters: $filters, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
337337
edges {
338338
node {
339339
"""
@@ -355,7 +355,7 @@ def list(self, **kwargs):
355355
result = self.opencti.query(
356356
query,
357357
{
358-
"elementId": element_id,
358+
"fromOrToId": from_or_to_id,
359359
"fromId": from_id,
360360
"fromTypes": from_types,
361361
"toId": to_id,
@@ -389,7 +389,7 @@ def list(self, **kwargs):
389389
result = self.opencti.query(
390390
query,
391391
{
392-
"elementId": element_id,
392+
"fromOrToId": from_or_to_id,
393393
"fromId": from_id,
394394
"fromTypes": from_types,
395395
"toId": to_id,
@@ -430,7 +430,7 @@ def list(self, **kwargs):
430430

431431
def read(self, **kwargs):
432432
id = kwargs.get("id", None)
433-
element_id = kwargs.get("elementId", None)
433+
from_or_to_id = kwargs.get("fromOrToId", None)
434434
from_id = kwargs.get("fromId", None)
435435
to_id = kwargs.get("toId", None)
436436
first_seen_start = kwargs.get("firstSeenStart", None)
@@ -461,7 +461,7 @@ def read(self, **kwargs):
461461
)
462462
elif from_id is not None and to_id is not None:
463463
result = self.list(
464-
elementId=element_id,
464+
fromOrToId=from_or_to_id,
465465
fromId=from_id,
466466
toId=to_id,
467467
firstSeenStart=first_seen_start,

0 commit comments

Comments
 (0)