class_docstr: Centralized config for handling configuration loading/parsing
class_docstr_tok: ["Centralized","config","for","handling","configuration","loading\/parsing"]
docstr: Scrub sensitive authentication info from a copy of the retrieved parameters.
  
  By scrubbing/masking the authentication info, it allows us to safely print the info
  to stdout (logger) without revealing secrets needed for authentication.
  
  Args:
      param_info (dict): All of the parameter information pulled from Parameter Store
      auth_param_name (str): The key for the auth config info within the param_info
  
  Returns:
      dict: A copy of the passed param_info dictionary with the authentication
          information scrubbed with an asterisk for each character
docstr_tok: ["Scrub","sensitive","authentication","info","from","a","copy","of","the","retrieved","parameters",".","By","scrubbing\/masking","the","authentication","info",",","it","allows","us","to","safely","print","the","info","to","stdout","(","logger",")","without","revealing","secrets","needed","for","authentication",".","Args",":","param_info","(","dict",")",":","All","of","the","parameter","information","pulled","from","Parameter","Store","auth_param_name","(","str",")",":","The","key","for","the","auth","config","info","within","the","param_info","Returns",":","dict",":","A","copy","of","the","passed","param_info","dictionary","with","the","authentication","information","scrubbed","with","an","asterisk","for","each","character"]
code: def _scrub_auth_info(param_info, auth_param_name):
      """Scrub sensitive authentication info from a copy of the retrieved parameters.
  
      By scrubbing/masking the authentication info, it allows us to safely print the info
      to stdout (logger) without revealing secrets needed for authentication.
  
      Args:
          param_info (dict): All of the parameter information pulled from Parameter Store
          auth_param_name (str): The key for the auth config info within the param_info
  
      Returns:
          dict: A copy of the passed param_info dictionary with the authentication
              information scrubbed with an asterisk for each character
      """
      info = param_info.copy()
      info[auth_param_name] = {
          key: "*" * len(str(value))
          for key, value in info[auth_param_name].items()
      }
  
      return info
  
imports: import calendar
  from datetime import datetime
  import json
  import re
  import time
  import backoff
  import boto3
  from botocore import client
  from botocore.exceptions import ClientError
  from streamalert.apps.exceptions import AppAuthError, AppConfigError, AppStateError
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 12 for calling the AppConfig obj's underlying member method code with example usage: obj._scrub_auth_info(param_info, auth_param_name) and returns: info