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

Commit 963cb4b

Browse files
author
Samuel Hassine
committed
Add update connector config method
1 parent 4650365 commit 963cb4b

File tree

2 files changed

+31
-18
lines changed

2 files changed

+31
-18
lines changed

pycti/opencti.py

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import dateutil.parser
77
import json
88
import uuid
9+
import base64
910

1011
from .stix2 import Stix2
1112

@@ -37,7 +38,7 @@ def log(self, message):
3738
file.write('[' + datetime.datetime.today().strftime('%Y-%m-%d %H:%M:%S') + '] ' + message + "\n")
3839
file.close()
3940

40-
def query(self, query, variables = {}):
41+
def query(self, query, variables={}):
4142
r = requests.post(self.api_url, json={'query': query, 'variables': variables}, headers=self.request_headers)
4243
if r.status_code == requests.codes.ok:
4344
result = r.json()
@@ -111,6 +112,18 @@ def get_connectors(self):
111112
result = self.query(query)
112113
return result['data']['connectors']
113114

115+
def update_connector_config(self, identifier, config):
116+
self.log('Updating connector config of ' + identifier + '...')
117+
query = """
118+
mutation ConnectorConfig($identifier: String!, $config: String!) {
119+
connectorConfig(identifier: $identifier, config: $config)
120+
}
121+
"""
122+
self.query(query, {
123+
'identifier': identifier,
124+
'config': base64.b64encode(json.dumps(config).encode('ascii'))
125+
})
126+
114127
def get_stix_domain_entity(self, id):
115128
"""
116129
:param id: StixDomain entity identifier
@@ -2928,14 +2941,14 @@ def get_stix_observables(self, limit=10000):
29282941
return self.parse_multiple(result['data']['stixObservables'])
29292942

29302943
def create_stix_observable(self,
2931-
type,
2932-
observable_value,
2933-
description,
2934-
id=None,
2935-
stix_id=None,
2936-
created=None,
2937-
modified=None
2938-
):
2944+
type,
2945+
observable_value,
2946+
description,
2947+
id=None,
2948+
stix_id=None,
2949+
created=None,
2950+
modified=None
2951+
):
29392952
self.log('Creating observable ' + observable_value + '...')
29402953
query = """
29412954
mutation StixObservableAdd($input: StixObservableAddInput) {
@@ -2960,14 +2973,14 @@ def create_stix_observable(self,
29602973
return result['data']['stixObservableAdd']
29612974

29622975
def create_stix_observable_if_not_exists(self,
2963-
type,
2964-
observable_value,
2965-
description,
2966-
id=None,
2967-
stix_id=None,
2968-
created=None,
2969-
modified=None
2970-
):
2976+
type,
2977+
observable_value,
2978+
description,
2979+
id=None,
2980+
stix_id=None,
2981+
created=None,
2982+
modified=None
2983+
):
29712984
object_result = self.get_stix_observable_by_value(observable_value)
29722985
if object_result is not None:
29732986
return object_result

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
print("warning: pypandoc module not found, could not convert Markdown to RST")
1313
read_md = lambda f: open(f, 'r').read()
1414

15-
VERSION = "1.0.5"
15+
VERSION = "1.0.0"
1616

1717
class VerifyVersionCommand(install):
1818
description = 'verify that the git tag matches our version'

0 commit comments

Comments
 (0)