55
66import json
77from warnings import warn
8- from typing import Dict , List
8+ from typing import Dict , List , Union
99from datetime import datetime
1010import time
1111
1212import re
1313import requests
1414from requests .adapters import HTTPAdapter , Retry
1515from retrying import retry
16- from typing import Union , List
1716
1817from jupiterone .errors import (
1918 JupiterOneClientError ,
@@ -703,7 +702,10 @@ def update_integration_instance_config_value(
703702 instance_config ["data" ]["integrationInstance" ]["config" ] = config_dict
704703
705704 # remove externalId to not include in update payload
706- del instance_config ["data" ]["integrationInstance" ]["config" ]["externalId" ]
705+ if "externalId" in instance_config ["data" ]["integrationInstance" ]["config" ]:
706+ del instance_config ["data" ]["integrationInstance" ]["config" ][
707+ "externalId"
708+ ]
707709
708710 # prepare variables GraphQL payload for updating config
709711 instance_details = instance_config ["data" ]["integrationInstance" ]
@@ -726,12 +728,18 @@ def update_integration_instance_config_value(
726728 }
727729
728730 # remove problem fields from previous response
729- del variables ["update" ]["pollingIntervalCronExpression" ]["__typename" ]
731+ if variables ["update" ].get ("pollingIntervalCronExpression" ) is not None :
732+ if "__typename" in ["update" ]["pollingIntervalCronExpression" ]:
733+ del variables ["update" ]["pollingIntervalCronExpression" ][
734+ "__typename"
735+ ]
730736
731- for ingestion_source in instance_details ["ingestionSourcesOverrides" ]:
732- ingestion_source .pop (
733- "__typename" , None
734- ) # Removes key if it exists, ignores if not
737+ ingestion_sources = instance_details .get ("ingestionSourcesOverrides" , None )
738+ if ingestion_sources is not None :
739+ for ingestion_source in instance_details ["ingestionSourcesOverrides" ]:
740+ ingestion_source .pop (
741+ "__typename" , None
742+ ) # Removes key if it exists, ignores if not
735743
736744 response = self ._execute_query (
737745 UPDATE_INTEGRATION_INSTANCE , variables = variables
0 commit comments