code: def _get_credentials():
      '''
      Get the username and password from opts, grains, or pillar
      '''
      ret = {
          'user': False,
          'passwd': False
      }
  
      # Loop through opts, grains, and pillar
      # Return the first acceptable configuration found
      for item in ret:
          for struct in [__opts__, __grains__, __pillar__]:
              # Look for the config key
              # Support old-style config format and new
              for config_key in __valid_configs[item]:
                  value = salt.utils.data.traverse_dict_and_list(
                      struct,
                      config_key,
                      None)
                  if value:
                      ret[item] = value
                      break
      return ret['user'], ret['passwd'f _get_credentials():
      '''
      Get the username and password from opts, grains, or pillar
      '''
      ret = {
          'user': False,
          'passwd': False
      }
  
      # Loop through opts, grains, and pillar
      # Return the first acceptable configuration found
      for item in ret:
          for struct in [__opts__, __grains__, __pillar__]:
              # Look for the config key
              # Support old-style config format and new
              for config_key in __valid_configs[item]:
                  value = salt.utils.data.traverse_dict_and_list(
                      struct,
                      config_key,
                      None)
                  if value:
                      ret[item] = value
                      break
      return ret['user'], ret['passwd']
docs: Get the username and password from opts, grains, or pillar