docs: def write_creds_to_aws_credentials_file(profile_name, credentials, credentials_file = aws_credentials_file):
      """
      Write credentials to AWS config file
  
      :param profile_name:
      :param credentials:
      :param credentials_file:
      :return:
      """
      profile_found = False
      profile_ever_found = False
      session_token_written = False
      security_token_written = False
      mfa_serial_written = False
      expiration_written = False
      # Create the .aws folder if needed
      if not os.path.isdir(aws_config_dir):
          os.mkdir(aws_config_dir)
      # Create an empty file if target does not exist
      if not os.path.isfile(credentials_file):
          open(credentials_file, 'a').close()
      # Open and parse/edit file
      for line in fileinput.input(credentials_file, inplace=True):
          profile_line = re_profile_name.match(line)
          if profile_line:
              if profile_line.groups()[0] == profile_name:
                  profile_found = True
                  profile_ever_found = True
              else:
                  profile_found = False
              print(line.rstrip())
          elif profile_found:
              if re_access_key.match(line) and 'AccessKeyId' in credentials and credentials['AccessKeyId']:
                  print('aws_access_key_id = %s' % credentials['AccessKeyId'])
              elif re_secret_key.match(line) and 'SecretAccessKey' in credentials and credentials['SecretAccessKey']:
                  print('aws_secret_access_key = %s' % credentials['SecretAccessKey'])
              elif re_mfa_serial.match(line) and 'SerialNumber' in credentials and credentials['SerialNumber']:
                  print('aws_mfa_serial = %s' % credentials['SerialNumber'])
                  mfa_serial_written = True
              elif re_session_token.match(line) and 'SessionToken' in credentials and credentials['SessionToken']:
                  print('aws_session_token = %s' % credentials['SessionToken'])
                  session_token_written = True
              elif re_security_token.match(line) and 'SessionToken' in credentials and credentials['SessionToken']:
                  print('aws_security_token = %s' % credentials['SessionToken'])
                  security_token_written = True
              elif re_expiration.match(line) and 'Expiration' in credentials and credentials['Expiration']:
                  print('expiration = %s' % credentials['Expiration'])
                  expiration_written = True
              else:
                  print(line.rstrip())
          else:
              print(line.rstrip())
  
      # Complete the profile if needed
      if profile_found:
          with open(credentials_file, 'a') as f:
              complete_profile(f, credentials, session_token_written, mfa_serial_written)
  
      # Add new profile if not found
      if not profile_ever_found:
          with open(credentials_file, 'a') as f:
              f.write('[%s]\n' % profile_name)
              f.write('aws_access_key_id = %s\n' % credentials['AccessKeyId'])
              f.write('aws_secret_access_key = %s\n' % credentials['SecretAccessKey'])
              complete_profile(f, credentials, session_token_written, mfa_serial_written)