class_docstr: A class to load, modify, and display the StreamAlertCLI Config
docstr: Add Threat Intel Downloader configure to config
  
  Args:
      ti_downloader_info (dict): Settings for Threat Intel Downloader Lambda
          function, generated from commandline
          "manage.py threat_intel_downloader enable"
  
  Returns:
      (bool): Return True if writing settings of Lambda function successfully.
docstr_tok: ["Add","Threat","Intel","Downloader","configure","to","config","Args",":","ti_downloader_info","(","dict",")",":","Settings","for","Threat","Intel","Downloader","Lambda","function",",","generated","from","commandline","``","manage.py","threat_intel_downloader","enable","''","Returns",":","(","bool",")",":","Return","True","if","writing","settings","of","Lambda","function","successfully","."]
code: def add_threat_intel_downloader(self, ti_downloader_info):
      """Add Threat Intel Downloader configure to config
  
      Args:
          ti_downloader_info (dict): Settings for Threat Intel Downloader Lambda
              function, generated from commandline
              "manage.py threat_intel_downloader enable"
  
      Returns:
          (bool): Return True if writing settings of Lambda function successfully.
      """
      default_config = {
          "autoscale": False,
          "enabled": True,
          "interval": "rate(1 day)",
          "log_level": "info",
          "memory": "128",
          "timeout": "120",
          "table_rcu": 10,
          "table_wcu": 10,
          "ioc_keys": [],
          "ioc_filters": [],
          "ioc_types": [],
          "excluded_sub_types": [],
          "max_read_capacity": 5,
          "min_read_capacity": 5,
          "target_utilization": 70,
      }
  
      if "threat_intel_downloader_config" in self.config["lambda"]:
          LOGGER.info(
              "Threat Intel Downloader has been enabled. "
              "Please edit config/lambda.json if you want to "
              "change lambda function settings."
          )
          return False
  
      self.config["lambda"][
          "threat_intel_downloader_config"
      ] = default_config
      # overwrite settings in conf/lambda.json for Threat Intel Downloader
      for key, value in ti_downloader_info.items():
          if (
              key
              in self.config["lambda"]["threat_intel_downloader_config"]
          ):
              self.config["lambda"]["threat_intel_downloader_config"][
                  key
              ] = value
  
      self.write()
      return True
  
imports: import json
  import os
  import re
  import shutil
  import string
  import tempfile
  from streamalert.apps import StreamAlertApp
  from streamalert.shared import CLUSTERED_FUNCTIONS, config, metrics
  from streamalert.shared.logger import get_logger
  from streamalert_cli.terraform import TERRAFORM_FILES_PATH
  from streamalert_cli.apps.helpers import save_app_auth_info
  from streamalert_cli.helpers import continue_prompt
label_desc: Use image node_id 23 for calling the CLIConfig obj's underlying member method code with example usage: obj.add_threat_intel_downloader(ti_downloader_info) and returns: True, False