class_docstr: Load threat intelligence data from DynamoDB and perform IOC detection
class_docstr_tok: ["Load","threat","intelligence","data","from","DynamoDB","and","perform","IOC","detection"]
docstr: Function to decide if giveup backoff or not.
docstr_tok: ["Function","to","decide","if","giveup","backoff","or","not","."]
code: def _exceptions_to_giveup(err):
      """Function to decide if giveup backoff or not."""
      error_code = {
          "AccessDeniedException",
          "ProvisionedThroughputExceededException",
          "ResourceNotFoundException",
      }
      return err.response["Error"]["Code"] in error_code
  
imports: from collections import defaultdict
  from os import environ
  import backoff
  import boto3
  from boto3.dynamodb.types import TypeDeserializer
  from botocore.exceptions import ClientError, ParamValidationError
  from netaddr import IPNetwork
  from streamalert.shared.backoff_handlers import backoff_handler, success_handler, giveup_handler
  from streamalert.shared.logger import get_logger
  from streamalert.shared.normalize import Normalizer
  from streamalert.shared.utils import in_network, valid_ip
label_desc: Use image node_id 3 for calling the ThreatIntel obj's underlying member method code with example usage: obj._exceptions_to_giveup(err) and returns: unknown