code: def user_input(requested_info, mask, input_restrictions):
      """Prompt user for requested information
  
      Args:
          requested_info (str): Description of the information needed
          mask (bool): Decides whether to mask input or not
  
      Returns:
          str: response provided by the user
      """
      # pylint: disable=protected-access
      response = ""
      prompt = "\nPlease supply {}: ".format(requested_info)
  
      if not mask:
          while not response:
              response = input(prompt)  # nosec
  
          valid_response = response_is_valid(
              response, input_restrictions
          )
  
          if not valid_response:
              return user_input(
                  requested_info, mask, input_restrictions
              )
      else:
          while not response:
              response = getpass(prompt=prompt)
  
      return response
  
file_path: streamalert/streamalert_cli/helpers.py
imports: from getpass import getpass
  import json
  import os
  import re
  import subprocess
  import boto3
  from botocore.exceptions import ClientError, NoCredentialsError
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 4 for calling a global function with example usage: user_input(requested_info, mask, input_restrictions) and returns: response, user_input