class Google::Auth::ExternalAccount::PluggableAuthCredentials

def subprocess_with_timeout environment_vars, command, timeout_seconds

def subprocess_with_timeout environment_vars, command, timeout_seconds
  Timeout.timeout timeout_seconds do
    output, error, status = Open3.capture3 environment_vars, command
    unless status.success?
      raise "Executable exited with non-zero return code #{status.exitstatus}. Error: #{output}, #{error}"
    end
    output
  end
end