Skip to content

Commit 3e4cfff

Browse files
authored
[client] Modularization of relation refs (OpenCTI-Platform#347)
1 parent 65a6f17 commit 3e4cfff

21 files changed

+103
-82
lines changed

README.md

+6
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ $ git push origin [branch-name]
4444
# Open a pull request
4545
```
4646

47+
### Install the package locally
48+
49+
```bash
50+
$ pip install -e .
51+
```
52+
4753
## Documentation
4854

4955
### Client usage

docs/pycti/pycti.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ Classes
6868
- :py:class:`StixSightingRelationship`:
6969
Undocumented.
7070

71-
- :py:class:`StixCyberObservableRelation`:
71+
- :py:class:`StixNestedRefRelationship`:
7272
Undocumented.
7373

7474
- :py:class:`Identity`:
@@ -246,11 +246,11 @@ Classes
246246
.. inheritance-diagram:: StixSightingRelationship
247247
:parts: 1
248248

249-
.. autoclass:: StixCyberObservableRelation
249+
.. autoclass:: StixNestedRefRelationship
250250
:members:
251251

252252
.. rubric:: Inheritance
253-
.. inheritance-diagram:: StixCyberObservableRelation
253+
.. inheritance-diagram:: StixNestedRefRelationship
254254
:parts: 1
255255

256256
.. autoclass:: Identity

examples/create_ip_domain_resolution.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@
2323
}
2424
)
2525

26-
opencti_api_client.stix_cyber_observable_relationship.create(
26+
opencti_api_client.stix_nested_ref_relationship.create(
2727
fromId=observable_domain["id"],
2828
toId=observable_ip["id"],
2929
relationship_type="resolves-to",
3030
)
3131

32-
relationships = opencti_api_client.stix_cyber_observable_relationship.list(
32+
relationships = opencti_api_client.stix_nested_ref_relationship.list(
3333
elementId=observable_domain["id"]
3434
)
3535

pycti/__init__.py

+4-6
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,8 @@
3434
from .entities.opencti_report import Report
3535
from .entities.opencti_stix_core_relationship import StixCoreRelationship
3636
from .entities.opencti_stix_cyber_observable import StixCyberObservable
37-
from .entities.opencti_stix_cyber_observable_relationship import (
38-
StixCyberObservableRelationship,
39-
)
4037
from .entities.opencti_stix_domain_object import StixDomainObject
38+
from .entities.opencti_stix_nested_ref_relationship import StixNestedRefRelationship
4139
from .entities.opencti_stix_object_or_stix_relationship import (
4240
StixObjectOrStixRelationship,
4341
)
@@ -46,7 +44,7 @@
4644
from .entities.opencti_tool import Tool
4745
from .entities.opencti_vulnerability import Vulnerability
4846
from .utils.constants import (
49-
MultipleStixCyberObservableRelationship,
47+
MultipleRefRelationship,
5048
StixCyberObservableTypes,
5149
StixMetaTypes,
5250
)
@@ -91,11 +89,11 @@
9189
"Report",
9290
"StixCoreRelationship",
9391
"StixCyberObservable",
94-
"StixCyberObservableRelationship",
92+
"StixNestedRefRelationship",
9593
"StixCyberObservableTypes",
9694
"StixDomainObject",
9795
"StixMetaTypes",
98-
"MultipleStixCyberObservableRelationship",
96+
"MultipleRefRelationship",
9997
"StixObjectOrStixRelationship",
10098
"StixSightingRelationship",
10199
"ThreatActor",

pycti/api/opencti_api_client.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@
4545
from pycti.entities.opencti_stix_core_object import StixCoreObject
4646
from pycti.entities.opencti_stix_core_relationship import StixCoreRelationship
4747
from pycti.entities.opencti_stix_cyber_observable import StixCyberObservable
48-
from pycti.entities.opencti_stix_cyber_observable_relationship import (
49-
StixCyberObservableRelationship,
50-
)
5148
from pycti.entities.opencti_stix_domain_object import StixDomainObject
49+
from pycti.entities.opencti_stix_nested_ref_relationship import (
50+
StixNestedRefRelationship,
51+
)
5252
from pycti.entities.opencti_stix_object_or_stix_relationship import (
5353
StixObjectOrStixRelationship,
5454
)
@@ -166,7 +166,7 @@ def __init__(
166166
self.stix_cyber_observable = StixCyberObservable(self, File)
167167
self.stix_core_relationship = StixCoreRelationship(self)
168168
self.stix_sighting_relationship = StixSightingRelationship(self)
169-
self.stix_cyber_observable_relationship = StixCyberObservableRelationship(self)
169+
self.stix_nested_ref_relationship = StixNestedRefRelationship(self)
170170
self.identity = Identity(self)
171171
self.event = Event(self)
172172
self.location = Location(self)

pycti/entities/opencti_case_incident.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,7 @@ def add_stix_object_or_stix_relationship(self, **kwargs):
537537
+ "}",
538538
)
539539
query = """
540-
mutation CaseIncidentEditRelationAdd($id: ID!, $input: StixMetaRelationshipAddInput!) {
540+
mutation CaseIncidentEditRelationAdd($id: ID!, $input: StixRefRelationshipAddInput!) {
541541
caseIncidentRelationAdd(id: $id, input: $input) {
542542
id
543543
}

pycti/entities/opencti_feedback.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,7 @@ def add_stix_object_or_stix_relationship(self, **kwargs):
554554
+ "}",
555555
)
556556
query = """
557-
mutation FeedbackEditRelationAdd($id: ID!, $input: StixMetaRelationshipAddInput!) {
557+
mutation FeedbackEditRelationAdd($id: ID!, $input: StixRefRelationshipAddInput!) {
558558
feedbackRelationAdd(id: $id, input: $input) {
559559
id
560560
}

pycti/entities/opencti_grouping.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,7 @@ def add_stix_object_or_stix_relationship(self, **kwargs):
503503
*(stix_object_or_stix_relationship_id, id),
504504
)
505505
query = """
506-
mutation GroupingEditRelationAdd($id: ID!, $input: StixMetaRelationshipAddInput) {
506+
mutation GroupingEditRelationAdd($id: ID!, $input: StixRefRelationshipAddInput!) {
507507
groupingRelationAdd(id: $id, input: $input) {
508508
id
509509
}

pycti/entities/opencti_note.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ def add_stix_object_or_stix_relationship(self, **kwargs):
495495
*(stix_object_or_stix_relationship_id, id),
496496
)
497497
query = """
498-
mutation NoteEdit($id: ID!, $input: StixMetaRelationshipAddInput) {
498+
mutation NoteEdit($id: ID!, $input: StixRefRelationshipAddInput!) {
499499
noteEdit(id: $id) {
500500
relationAdd(input: $input) {
501501
id

pycti/entities/opencti_observed_data.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ def __init__(self, opencti):
209209
}
210210
... on Case {
211211
name
212-
}
212+
}
213213
... on StixCoreRelationship {
214214
standard_id
215215
spec_version
@@ -471,7 +471,7 @@ def add_stix_object_or_stix_relationship(self, **kwargs):
471471
*(stix_object_or_stix_relationship_id, id),
472472
)
473473
query = """
474-
mutation ObservedDataEdit($id: ID!, $input: StixMetaRelationshipAddInput) {
474+
mutation ObservedDataEdit($id: ID!, $input: StixRefRelationshipAddInput!) {
475475
observedDataEdit(id: $id) {
476476
relationAdd(input: $input) {
477477
id

pycti/entities/opencti_opinion.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ def __init__(self, opencti):
189189
}
190190
... on Case {
191191
name
192-
}
192+
}
193193
... on StixCoreRelationship {
194194
standard_id
195195
spec_version
@@ -462,7 +462,7 @@ def add_stix_object_or_stix_relationship(self, **kwargs):
462462
*(stix_object_or_stix_relationship_id, id),
463463
)
464464
query = """
465-
mutation OpinionEdit($id: ID!, $input: StixMetaRelationshipAddInput) {
465+
mutation OpinionEdit($id: ID!, $input: StixRefRelationshipAddInput!) {
466466
opinionEdit(id: $id) {
467467
relationAdd(input: $input) {
468468
id

pycti/entities/opencti_report.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,7 @@ def add_stix_object_or_stix_relationship(self, **kwargs):
529529
*(stix_object_or_stix_relationship_id, id),
530530
)
531531
query = """
532-
mutation ReportEditRelationAdd($id: ID!, $input: StixMetaRelationshipAddInput) {
532+
mutation ReportEditRelationAdd($id: ID!, $input: StixRefRelationshipAddInput!) {
533533
reportEdit(id: $id) {
534534
relationAdd(input: $input) {
535535
id

pycti/entities/opencti_stix_core_relationship.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -744,7 +744,7 @@ def add_marking_definition(self, **kwargs):
744744
*(marking_definition_id, id),
745745
)
746746
query = """
747-
mutation StixCoreRelationshipAddRelation($id: ID!, $input: StixMetaRelationshipAddInput) {
747+
mutation StixCoreRelationshipAddRelation($id: ID!, $input: StixRefRelationshipAddInput!) {
748748
stixCoreRelationshipEdit(id: $id) {
749749
relationAdd(input: $input) {
750750
id
@@ -831,7 +831,7 @@ def add_label(self, **kwargs):
831831
"Adding label {%s} to stix-core-relationship {%s}", label_id, id
832832
)
833833
query = """
834-
mutation StixCoreRelationshipAddRelation($id: ID!, $input: StixMetaRelationshipAddInput) {
834+
mutation StixCoreRelationshipAddRelation($id: ID!, $input: StixRefRelationshipAddInput!) {
835835
stixCoreRelationshipEdit(id: $id) {
836836
relationAdd(input: $input) {
837837
id
@@ -871,7 +871,7 @@ def add_external_reference(self, **kwargs):
871871
*(external_reference_id, id),
872872
)
873873
query = """
874-
mutation StixCoreRelationshipEditRelationAdd($id: ID!, $input: StixMetaRelationshipAddInput) {
874+
mutation StixCoreRelationshipEditRelationAdd($id: ID!, $input: StixRefRelationshipAddInput!) {
875875
stixCoreRelationshipEdit(id: $id) {
876876
relationAdd(input: $input) {
877877
id
@@ -949,7 +949,7 @@ def add_kill_chain_phase(self, **kwargs):
949949
*(kill_chain_phase_id, id),
950950
)
951951
query = """
952-
mutation StixCoreRelationshipAddRelation($id: ID!, $input: StixMetaRelationshipAddInput) {
952+
mutation StixCoreRelationshipAddRelation($id: ID!, $input: StixRefRelationshipAddInput!) {
953953
stixCoreRelationshipEdit(id: $id) {
954954
relationAdd(input: $input) {
955955
id
@@ -1076,7 +1076,7 @@ def update_created_by(self, **kwargs):
10761076
if identity_id is not None:
10771077
# Add the new relation
10781078
query = """
1079-
mutation StixCoreRelationshipEdit($id: ID!, $input: StixMetaRelationshipAddInput) {
1079+
mutation StixCoreRelationshipEdit($id: ID!, $input: StixRefRelationshipAddInput!) {
10801080
stixCoreRelationshipEdit(id: $id) {
10811081
relationAdd(input: $input) {
10821082
id

pycti/entities/opencti_stix_cyber_observable.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -1489,7 +1489,7 @@ def update_created_by(self, **kwargs):
14891489
if identity_id is not None:
14901490
# Add the new relation
14911491
query = """
1492-
mutation StixCyberObservableEdit($id: ID!, $input: StixMetaRelationshipAddInput) {
1492+
mutation StixCyberObservableEdit($id: ID!, $input: StixRefRelationshipAddInput!) {
14931493
stixCyberObservableEdit(id: $id) {
14941494
relationAdd(input: $input) {
14951495
id
@@ -1551,7 +1551,7 @@ def add_marking_definition(self, **kwargs):
15511551
*(marking_definition_id, id),
15521552
)
15531553
query = """
1554-
mutation StixCyberObservableAddRelation($id: ID!, $input: StixMetaRelationshipAddInput) {
1554+
mutation StixCyberObservableAddRelation($id: ID!, $input: StixRefRelationshipAddInput!) {
15551555
stixCyberObservableEdit(id: $id) {
15561556
relationAdd(input: $input) {
15571557
id
@@ -1636,7 +1636,7 @@ def add_label(self, **kwargs):
16361636
if id is not None and label_id is not None:
16371637
LOGGER.info("Adding label {%s} to Stix-Cyber-Observable {%s}", label_id, id)
16381638
query = """
1639-
mutation StixCyberObservableAddRelation($id: ID!, $input: StixMetaRelationshipAddInput) {
1639+
mutation StixCyberObservableAddRelation($id: ID!, $input: StixRefRelationshipAddInput!) {
16401640
stixCyberObservableEdit(id: $id) {
16411641
relationAdd(input: $input) {
16421642
id
@@ -1746,7 +1746,7 @@ def add_external_reference(self, **kwargs):
17461746
*(external_reference_id, id),
17471747
)
17481748
query = """
1749-
mutation StixCyberObservabletEditRelationAdd($id: ID!, $input: StixMetaRelationshipAddInput) {
1749+
mutation StixCyberObservabletEditRelationAdd($id: ID!, $input: StixRefRelationshipAddInput!) {
17501750
stixCyberObservableEdit(id: $id) {
17511751
relationAdd(input: $input) {
17521752
id

pycti/entities/opencti_stix_domain_object.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -906,7 +906,7 @@ def update_created_by(self, **kwargs):
906906
if identity_id is not None:
907907
# Add the new relation
908908
query = """
909-
mutation StixDomainObjectEdit($id: ID!, $input: StixMetaRelationshipAddInput) {
909+
mutation StixDomainObjectEdit($id: ID!, $input: StixRefRelationshipAddInput!) {
910910
stixDomainObjectEdit(id: $id) {
911911
relationAdd(input: $input) {
912912
id
@@ -968,7 +968,7 @@ def add_marking_definition(self, **kwargs):
968968
*(marking_definition_id, id),
969969
)
970970
query = """
971-
mutation StixDomainObjectAddRelation($id: ID!, $input: StixMetaRelationshipAddInput) {
971+
mutation StixDomainObjectAddRelation($id: ID!, $input: StixRefRelationshipAddInput!) {
972972
stixDomainObjectEdit(id: $id) {
973973
relationAdd(input: $input) {
974974
id
@@ -1053,7 +1053,7 @@ def add_label(self, **kwargs):
10531053
if id is not None and label_id is not None:
10541054
LOGGER.info("Adding label {%s} to Stix-Domain-Object {%s}", label_id, id)
10551055
query = """
1056-
mutation StixDomainObjectAddRelation($id: ID!, $input: StixMetaRelationshipAddInput) {
1056+
mutation StixDomainObjectAddRelation($id: ID!, $input: StixRefRelationshipAddInput!) {
10571057
stixDomainObjectEdit(id: $id) {
10581058
relationAdd(input: $input) {
10591059
id
@@ -1137,7 +1137,7 @@ def add_external_reference(self, **kwargs):
11371137
*(external_reference_id, id),
11381138
)
11391139
query = """
1140-
mutation StixDomainObjectEditRelationAdd($id: ID!, $input: StixMetaRelationshipAddInput) {
1140+
mutation StixDomainObjectEditRelationAdd($id: ID!, $input: StixRefRelationshipAddInput!) {
11411141
stixDomainObjectEdit(id: $id) {
11421142
relationAdd(input: $input) {
11431143
id
@@ -1216,7 +1216,7 @@ def add_kill_chain_phase(self, **kwargs):
12161216
id,
12171217
)
12181218
query = """
1219-
mutation StixDomainObjectAddRelation($id: ID!, $input: StixMetaRelationshipAddInput) {
1219+
mutation StixDomainObjectAddRelation($id: ID!, $input: StixRefRelationshipAddInput!) {
12201220
stixDomainObjectEdit(id: $id) {
12211221
relationAdd(input: $input) {
12221222
id

0 commit comments

Comments
 (0)