public class ReactiveVaultTemplate extends Object implements ReactiveVaultOperations
ReactiveVaultTemplate will log
into Vault on initialization and use the token throughout the whole lifetime.SessionManager| Constructor and Description |
|---|
ReactiveVaultTemplate(VaultEndpoint vaultEndpoint,
ClientHttpConnector connector)
|
ReactiveVaultTemplate(VaultEndpoint vaultEndpoint,
ClientHttpConnector connector,
VaultTokenSupplier vaultTokenSupplier)
Create a new
ReactiveVaultTemplate with a VaultEndpoint,
ClientHttpConnector and VaultTokenSupplier. |
ReactiveVaultTemplate(VaultEndpointProvider endpointProvider,
ClientHttpConnector connector)
|
ReactiveVaultTemplate(VaultEndpointProvider endpointProvider,
ClientHttpConnector connector,
VaultTokenSupplier vaultTokenSupplier)
Create a new
ReactiveVaultTemplate with a VaultEndpointProvider,
ClientHttpConnector and VaultTokenSupplier. |
ReactiveVaultTemplate(WebClientBuilder webClientBuilder)
Create a new
ReactiveVaultTemplate through a WebClientBuilder. |
ReactiveVaultTemplate(WebClientBuilder webClientBuilder,
VaultTokenSupplier vaultTokenSupplier)
|
| Modifier and Type | Method and Description |
|---|---|
Mono<Void> |
delete(String path)
Delete a path.
|
protected WebClient |
doCreateSessionWebClient(VaultEndpointProvider endpointProvider,
ClientHttpConnector connector)
Create a session-bound
WebClient to be used by VaultTemplate for
Vault communication given VaultEndpointProvider and
ClientHttpConnector for calls that require an authenticated context. |
protected WebClient |
doCreateWebClient(VaultEndpointProvider endpointProvider,
ClientHttpConnector connector)
Create a
WebClient to be used by ReactiveVaultTemplate for Vault
communication given VaultEndpointProvider and ClientHttpConnector. |
<V,T extends org.reactivestreams.Publisher<V>> |
doWithSession(Function<WebClient,? extends T> sessionCallback)
Executes a Vault
RestOperationsCallback. |
<V,T extends org.reactivestreams.Publisher<V>> |
doWithVault(Function<WebClient,? extends T> clientCallback)
Executes a Vault
RestOperationsCallback. |
Flux<String> |
list(String path)
Enumerate keys from a Vault path.
|
Mono<VaultResponse> |
read(String path)
Read from a Vault path.
|
<T> Mono<VaultResponseSupport<T>> |
read(String path,
Class<T> responseType)
Read from a Vault path.
|
Mono<VaultResponse> |
write(String path,
Object body)
Write to a Vault path.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitwritepublic ReactiveVaultTemplate(VaultEndpoint vaultEndpoint, ClientHttpConnector connector)
ReactiveVaultTemplate with a VaultEndpoint,
ClientHttpConnector. This constructor does not use a
VaultTokenSupplier. It is intended for usage with Vault Agent to inherit
Vault Agent's authentication without using the authentication token header.vaultEndpoint - must not be null.connector - must not be null.public ReactiveVaultTemplate(VaultEndpoint vaultEndpoint, ClientHttpConnector connector, VaultTokenSupplier vaultTokenSupplier)
ReactiveVaultTemplate with a VaultEndpoint,
ClientHttpConnector and VaultTokenSupplier.vaultEndpoint - must not be null.connector - must not be null.vaultTokenSupplier - must not be null.public ReactiveVaultTemplate(VaultEndpointProvider endpointProvider, ClientHttpConnector connector)
ReactiveVaultTemplate with a VaultEndpointProvider and
ClientHttpConnector. This constructor does not use a
VaultTokenSupplier. It is intended for usage with Vault Agent to inherit
Vault Agent's authentication without using the authentication token header.endpointProvider - must not be null.connector - must not be null.public ReactiveVaultTemplate(VaultEndpointProvider endpointProvider, ClientHttpConnector connector, VaultTokenSupplier vaultTokenSupplier)
ReactiveVaultTemplate with a VaultEndpointProvider,
ClientHttpConnector and VaultTokenSupplier.endpointProvider - must not be null.connector - must not be null.vaultTokenSupplier - must not be null.public ReactiveVaultTemplate(WebClientBuilder webClientBuilder)
ReactiveVaultTemplate through a WebClientBuilder. This
constructor does not use a VaultTokenSupplier. It is intended for usage
with Vault Agent to inherit Vault Agent's authentication without using the
authentication token header.webClientBuilder - must not be null.public ReactiveVaultTemplate(WebClientBuilder webClientBuilder, VaultTokenSupplier vaultTokenSupplier)
webClientBuilder - must not be null.vaultTokenSupplier - must not be nullprotected WebClient doCreateWebClient(VaultEndpointProvider endpointProvider, ClientHttpConnector connector)
WebClient to be used by ReactiveVaultTemplate for Vault
communication given VaultEndpointProvider and ClientHttpConnector.
VaultEndpointProvider is used to contribute host and port details for
relative URLs typically used by the Template API. Subclasses may override this
method to customize the WebClient.endpointProvider - must not be null.connector - must not be null.WebClient used for Vault communication.protected WebClient doCreateSessionWebClient(VaultEndpointProvider endpointProvider, ClientHttpConnector connector)
WebClient to be used by VaultTemplate for
Vault communication given VaultEndpointProvider and
ClientHttpConnector for calls that require an authenticated context.
VaultEndpointProvider is used to contribute host and port details for
relative URLs typically used by the Template API. Subclasses may override this
method to customize the WebClient.endpointProvider - must not be null.connector - must not be null.WebClient used for Vault communication.public Mono<VaultResponse> read(String path)
ReactiveVaultOperationsread in interface ReactiveVaultOperationspath - must not be null.public <T> Mono<VaultResponseSupport<T>> read(String path, Class<T> responseType)
ReactiveVaultOperationsread in interface ReactiveVaultOperationspath - must not be null.responseType - must not be null.public Flux<String> list(String path)
ReactiveVaultOperationslist in interface ReactiveVaultOperationspath - must not be null.public Mono<VaultResponse> write(String path, @Nullable Object body)
ReactiveVaultOperationswrite in interface ReactiveVaultOperationspath - must not be null.body - the body, may be null if absent.public Mono<Void> delete(String path)
ReactiveVaultOperationsdelete in interface ReactiveVaultOperationspath - must not be null.public <V,T extends org.reactivestreams.Publisher<V>> T doWithVault(Function<WebClient,? extends T> clientCallback) throws VaultException, WebClientException
ReactiveVaultOperationsRestOperationsCallback. Allows to interact with Vault
using RestOperations without requiring a
session.doWithVault in interface ReactiveVaultOperationsclientCallback - the request.RestOperationsCallback return value.VaultException - when a
HttpStatusCodeException occurs.WebClientException - exceptions from
WebClient.public <V,T extends org.reactivestreams.Publisher<V>> T doWithSession(Function<WebClient,? extends T> sessionCallback) throws VaultException, WebClientException
ReactiveVaultOperationsRestOperationsCallback. Allows to interact with Vault in
an authenticated session.doWithSession in interface ReactiveVaultOperationssessionCallback - the request.RestOperationsCallback return value.VaultException - when a
HttpStatusCodeException occurs.WebClientException - exceptions from
WebClient.Copyright © 2016–2020 Pivotal Software, Inc.. All rights reserved.