in src/authentication.cc [28:61]
void export_authentication(py::module_& m) {
using namespace py;
class_<Authentication, std::shared_ptr<Authentication>>(m, "Authentication")
.def("getAuthMethodName", &Authentication::getAuthMethodName)
.def("getAuthData", &Authentication::getAuthData)
.def_static("create", static_cast<AuthenticationPtr (*)(const std::string&, const std::string&)>(
&AuthFactory::create));
class_<AuthTls, Authentication, std::shared_ptr<AuthTls>>(m, "AuthenticationTLS")
.def(init<AuthenticationDataPtr&>())
.def_static("create", static_cast<AuthenticationPtr (*)(const std::string&, const std::string&)>(
&AuthTls::create));
class_<AuthToken, Authentication, std::shared_ptr<AuthToken>>(m, "AuthenticationToken")
.def(init<AuthenticationDataPtr&>())
.def_static("create", static_cast<AuthenticationPtr (*)(const TokenSupplier&)>(&AuthToken::create))
.def_static("create", static_cast<AuthenticationPtr (*)(const std::string&)>(&AuthToken::create));
class_<AuthAthenz, Authentication, std::shared_ptr<AuthAthenz>>(m, "AuthenticationAthenz")
.def(init<AuthenticationDataPtr&>())
.def_static("create", static_cast<AuthenticationPtr (*)(const std::string&)>(&AuthAthenz::create));
class_<AuthOauth2, Authentication, std::shared_ptr<AuthOauth2>>(m, "AuthenticationOauth2")
.def(init<ParamMap&>())
.def_static("create", static_cast<AuthenticationPtr (*)(const std::string&)>(&AuthOauth2::create));
class_<AuthBasic, Authentication, std::shared_ptr<AuthBasic>>(m, "AuthenticationBasic")
.def(init<AuthenticationDataPtr&>())
.def_static("create", static_cast<AuthenticationPtr (*)(
const std::string& /* username */, const std::string& /* password */,
const std::string& /* method */)>(&AuthBasic::create))
.def_static("create", static_cast<AuthenticationPtr (*)(const std::string&)>(&AuthBasic::create));
}