Class FileWatcherCertificateProviderProvider
java.lang.Object
io.grpc.xds.internal.security.certprovider.FileWatcherCertificateProviderProvider
- All Implemented Interfaces:
CertificateProviderProvider
final class FileWatcherCertificateProviderProvider
extends Object
implements CertificateProviderProvider
Provider of
FileWatcherCertificateProviders.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static classPOJO class for storing various config values.(package private) static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String(package private) static final String(package private) final FileWatcherCertificateProvider.Factoryprivate static final String(package private) static final longprivate static final Stringprivate static final Stringprivate final io.grpc.internal.TimeProvider -
Constructor Summary
ConstructorsConstructorDescriptionFileWatcherCertificateProviderProvider(FileWatcherCertificateProvider.Factory fileWatcherCertificateProviderFactory, FileWatcherCertificateProviderProvider.ScheduledExecutorServiceFactory scheduledExecutorServiceFactory, io.grpc.internal.TimeProvider timeProvider) -
Method Summary
Modifier and TypeMethodDescriptionprivate static StringcheckForNullAndGet(Map<String, ?> map, String key) createCertificateProvider(Object config, CertificateProvider.DistributorWatcher watcher, boolean notifyCertUpdates) Creates aCertificateProviderplugin.getName()Returns the unique name of theCertificateProviderplugin.private static FileWatcherCertificateProviderProvider.ConfigvalidateAndTranslateConfig(Object config)
-
Field Details
-
CERT_FILE_KEY
- See Also:
-
KEY_FILE_KEY
- See Also:
-
ROOT_FILE_KEY
- See Also:
-
REFRESH_INTERVAL_KEY
- See Also:
-
REFRESH_INTERVAL_DEFAULT
static final long REFRESH_INTERVAL_DEFAULT- See Also:
-
FILE_WATCHER_PROVIDER_NAME
- See Also:
-
fileWatcherCertificateProviderFactory
-
scheduledExecutorServiceFactory
private final FileWatcherCertificateProviderProvider.ScheduledExecutorServiceFactory scheduledExecutorServiceFactory -
timeProvider
private final io.grpc.internal.TimeProvider timeProvider
-
-
Constructor Details
-
FileWatcherCertificateProviderProvider
FileWatcherCertificateProviderProvider() -
FileWatcherCertificateProviderProvider
FileWatcherCertificateProviderProvider(FileWatcherCertificateProvider.Factory fileWatcherCertificateProviderFactory, FileWatcherCertificateProviderProvider.ScheduledExecutorServiceFactory scheduledExecutorServiceFactory, io.grpc.internal.TimeProvider timeProvider)
-
-
Method Details
-
getName
Description copied from interface:CertificateProviderProviderReturns the unique name of theCertificateProviderplugin.- Specified by:
getNamein interfaceCertificateProviderProvider
-
createCertificateProvider
public CertificateProvider createCertificateProvider(Object config, CertificateProvider.DistributorWatcher watcher, boolean notifyCertUpdates) Description copied from interface:CertificateProviderProviderCreates aCertificateProviderplugin.- Specified by:
createCertificateProviderin interfaceCertificateProviderProvider- Parameters:
config- configuration needed by the Provider to create the CertificateProvider. A form of JSON that the Provider understands e.g. a string or a key-value Map.watcher- ACertificateProvider.Watcherto receive updates from the CertificateProvidernotifyCertUpdates- if true, the provider is required to call the watcher’s updateCertificate method. Implies the Provider is capable of minting certificates. Used by server-side and mTLS client-side. Note the Provider is always required to call updateTrustedRoots to provide trusted-root updates.
-
checkForNullAndGet
-
validateAndTranslateConfig
private static FileWatcherCertificateProviderProvider.Config validateAndTranslateConfig(Object config)
-