Package org.apache.pulsar.functions.auth
Interface FunctionAuthProvider
-
- All Known Subinterfaces:
KubernetesFunctionAuthProvider
- All Known Implementing Classes:
ClearTextFunctionTokenAuthProvider,KubernetesSecretsTokenAuthProvider
public interface FunctionAuthProviderThis is a generic interface that functions can use to cache and distribute appropriate authentication data that is needed to configure the runtime of functions to support appropriate authentication of function instances
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Optional<FunctionAuthData>cacheAuthData(org.apache.pulsar.functions.proto.Function.FunctionDetails funcDetails, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationDataSource)Cache auth data in as part of function metadata for function that runtime may need to configure authenticationvoidcleanUpAuthData(org.apache.pulsar.functions.proto.Function.FunctionDetails funcDetails, java.util.Optional<FunctionAuthData> functionAuthData)Clean up operation for auth when function is terminatedvoidconfigureAuthenticationConfig(org.apache.pulsar.functions.instance.AuthenticationConfig authConfig, java.util.Optional<FunctionAuthData> functionAuthData)Set authentication configs for function instance based on the data in FunctionAuthenticationSpecstatic FunctionAuthProvidergetAuthProvider(java.lang.String className)java.util.Optional<FunctionAuthData>updateAuthData(org.apache.pulsar.functions.proto.Function.FunctionDetails funcDetails, java.util.Optional<FunctionAuthData> existingFunctionAuthData, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationDataSource)
-
-
-
Method Detail
-
configureAuthenticationConfig
void configureAuthenticationConfig(org.apache.pulsar.functions.instance.AuthenticationConfig authConfig, java.util.Optional<FunctionAuthData> functionAuthData)Set authentication configs for function instance based on the data in FunctionAuthenticationSpec- Parameters:
authConfig- authentication configs passed to the function instancefunctionAuthData- function authentication data that is provider specific
-
cacheAuthData
java.util.Optional<FunctionAuthData> cacheAuthData(org.apache.pulsar.functions.proto.Function.FunctionDetails funcDetails, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationDataSource) throws java.lang.Exception
Cache auth data in as part of function metadata for function that runtime may need to configure authentication- Parameters:
funcDetails- the function detailsauthenticationDataSource- auth data- Returns:
- Throws:
java.lang.Exception
-
updateAuthData
java.util.Optional<FunctionAuthData> updateAuthData(org.apache.pulsar.functions.proto.Function.FunctionDetails funcDetails, java.util.Optional<FunctionAuthData> existingFunctionAuthData, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationDataSource) throws java.lang.Exception
- Throws:
java.lang.Exception
-
cleanUpAuthData
void cleanUpAuthData(org.apache.pulsar.functions.proto.Function.FunctionDetails funcDetails, java.util.Optional<FunctionAuthData> functionAuthData) throws java.lang.ExceptionClean up operation for auth when function is terminated- Parameters:
funcDetails- the function detailsfunctionAuthData- function auth data- Throws:
java.lang.Exception
-
getAuthProvider
static FunctionAuthProvider getAuthProvider(java.lang.String className)
-
-