diff options
author | Morten Tokle <mortent@yahooinc.com> | 2024-02-13 13:58:51 +0100 |
---|---|---|
committer | Morten Tokle <mortent@yahooinc.com> | 2024-02-13 14:06:27 +0100 |
commit | 05ab6800a9a9d2119aba89b2bf9d15aa29b11a48 (patch) | |
tree | 798fb3ef69c3d9447d04967e8332aefc673e1f6e /config-model-api | |
parent | 283af757b42ccb5ac6bfa8339a0a0674ae51c733 (diff) |
Proxy endpoint certificate secrets through EndpointCertificateSecretStore
Diffstat (limited to 'config-model-api')
-rw-r--r-- | config-model-api/src/main/java/com/yahoo/config/model/api/EndpointCertificateSecretStore.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/EndpointCertificateSecretStore.java b/config-model-api/src/main/java/com/yahoo/config/model/api/EndpointCertificateSecretStore.java new file mode 100644 index 00000000000..78be1942db7 --- /dev/null +++ b/config-model-api/src/main/java/com/yahoo/config/model/api/EndpointCertificateSecretStore.java @@ -0,0 +1,25 @@ +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +package com.yahoo.config.model.api; + +import java.util.List; +import java.util.Optional; + +public abstract class EndpointCertificateSecretStore { + + public final EndpointCertificateSecrets getSecret(EndpointCertificateMetadata metadata) { + Optional<String> certificate = getCertificate(metadata); + Optional<String> key = getPrivateKey(metadata); + if (certificate.isPresent() && key.isPresent()) { + return new EndpointCertificateSecrets(certificate.get(), key.get(), metadata.version()); + } else { + return EndpointCertificateSecrets.missing(metadata.version()); + } + } + + public abstract Optional<String> getPrivateKey(EndpointCertificateMetadata metadata); + public abstract Optional<String> getCertificate(EndpointCertificateMetadata metadata); + + public abstract boolean supports(EndpointCertificateMetadata.Provider provider); + +} |