code: def _generate_lookup_tables_settings(config):
      """
      Generates .tf.json file for LookupTables
      """
      tf_file_name = os.path.join(
          config.build_directory, "lookup_tables.tf.json"
      )
  
      if not config["lookup_tables"].get("enabled", False):
          remove_temp_terraform_file(tf_file_name)
          return
  
      # Use the lookup_tables.json configuration file to determine which resources we have
      dynamodb_tables = set()
      s3_buckets = set()
      for _, table_config in (
          config["lookup_tables"].get("tables", {}).items()
      ):
          if table_config["driver"] == "s3":
              s3_buckets.add(table_config["bucket"])
              continue
  
          if table_config["driver"] == "dynamodb":
              dynamodb_tables.add(table_config["table"])
              continue
  
      if not dynamodb_tables and not s3_buckets:
          # If no resources are configured at all, simply return and do not generate lookuptables
          # IAM policies
          remove_temp_terraform_file(
              tf_file_name, extra="No tables configured"
          )
          return
  
      roles = {
          "${module.alert_processor_lambda.role_id}",
          "${module.alert_merger_lambda.role_id}",
          "${module.rules_engine_lambda.role_id}",
          "${module.scheduled_queries.lambda_function_role_id}",
      }
  
      for cluster in config.clusters():
          roles.add(
              "${{module.classifier_{}_lambda.role_id}}".format(cluster)
          )
  
      generated_config = {"module": {}}
  
      if dynamodb_tables:
          generated_config["module"]["lookup_tables_iam_dynamodb"] = {
              "source": "./modules/tf_lookup_tables_dynamodb",
              "dynamodb_tables": sorted(dynamodb_tables),
              "roles": sorted(roles),
              "role_count": len(roles),
              "account_id": config["global"]["account"][
                  "aws_account_id"
              ],
              "region": config["global"]["account"]["region"],
              "prefix": config["global"]["account"]["prefix"],
          }
  
      if s3_buckets:
          generated_config["module"]["lookup_tables_iam_s3"] = {
              "source": "./modules/tf_lookup_tables_s3",
              "s3_buckets": sorted(s3_buckets),
              "roles": sorted(roles),
              "role_count": len(roles),
              "prefix": config["global"]["account"]["prefix"],
          }
  
      _create_terraform_module_file(generated_config, tf_file_name)
  
imports: import json
  import os
  from streamalert.shared.config import ConfigError, firehose_alerts_bucket
  from streamalert.shared.logger import get_logger
  from streamalert.shared.utils import get_database_name, get_data_file_format
  from streamalert_cli.athena.helpers import generate_alerts_table_schema
  from streamalert_cli.helpers import check_credentials
  from streamalert_cli.terraform.common import InvalidClusterName, infinitedict, monitoring_topic_name, s3_access_logging_bucket, terraform_state_bucket
  from streamalert_cli.terraform.artifact_extractor import generate_artifact_extractor
  from streamalert_cli.terraform.alert_merger import generate_alert_merger
  from streamalert_cli.terraform.alert_processor import generate_alert_processor
  from streamalert_cli.terraform.apps import generate_apps
  from streamalert_cli.terraform.athena import generate_athena
  from streamalert_cli.terraform.cloudtrail import generate_cloudtrail
  from streamalert_cli.terraform.cloudwatch_destinations import generate_cloudwatch_destinations
  from streamalert_cli.terraform.cloudwatch_events import generate_cloudwatch_events
  from streamalert_cli.terraform.firehose import generate_firehose
  from streamalert_cli.terraform.flow_logs import generate_flow_logs
  from streamalert_cli.terraform.helpers import terraform_check
  from streamalert_cli.terraform.kinesis_events import generate_kinesis_events
  from streamalert_cli.terraform.kinesis_streams import generate_kinesis_streams
  from streamalert_cli.terraform.metrics import generate_aggregate_cloudwatch_metric_alarms, generate_aggregate_cloudwatch_metric_filters, generate_cluster_cloudwatch_metric_filters, generate_cluster_cloudwatch_metric_alarms
  from streamalert_cli.terraform.monitoring import generate_monitoring
  from streamalert_cli.terraform.rule_promotion import generate_rule_promotion
  from streamalert_cli.terraform.classifier import generate_classifier
  from streamalert_cli.terraform.rules_engine import generate_rules_engine
  from streamalert_cli.terraform.s3_events import generate_s3_events
  from streamalert_cli.terraform.scheduled_queries import generate_scheduled_queries_module_configuration
  from streamalert_cli.terraform.threat_intel_downloader import generate_threat_intel_downloader
  from streamalert_cli.utils import CLICommand
label_desc: Use image node_id 6 for calling a global function with example usage: _generate_lookup_tables_settings(config) without return types