@Internal public abstract class XdsCredentialsProvider extends Object
Implementations can be automatically discovered by gRPC via Java's SPI mechanism. For
automatic discovery, the implementation must have a zero-argument constructor and include
a resource named
META-INF/services/io.grpc.xds.XdsCredentialsProvider in their JAR. The
file's contents should be the implementation's class name.
Implementations that need arguments in their constructor can be manually registered by
Implementations should not throw. If they do, it may interrupt class loading. If
exceptions may reasonably occur for implementation-specific reasons, implementations should
generally handle the exception gracefully and return
|Constructor and Description|
|Modifier and Type||Method and Description|
Returns the xDS credential name associated with this provider which makes it selectable via
Whether this provider is available for use, taking the current environment into consideration.
A priority, from 0 to 10 that this provider should be used, taking the current environment into consideration.
protected abstract ChannelCredentials newChannelCredentials(Map<String,?> jsonConfig)
ChannelCredentialsfrom the given jsonConfig, or
nullif the given config is invalid. The provider is free to ignore the config if it's not needed for producing the channel credentials.
jsonConfig- json config that can be consumed by the provider to create the channel credentials
protected abstract String getName()
XdsCredentialsRegistry.getProvider(java.lang.String). This is called only when the class is loaded. It shouldn't change, and there is no point doing so.
public abstract boolean isAvailable()
newChannelCredentials(java.util.Map<java.lang.String, ?>)is not safe to be called.
public abstract int priority()