Class ReactiveCredHubCredentialTemplate
java.lang.Object
org.springframework.credhub.core.credential.ReactiveCredHubCredentialTemplate
- All Implemented Interfaces:
ReactiveCredHubCredentialOperations
public class ReactiveCredHubCredentialTemplate
extends Object
implements ReactiveCredHubCredentialOperations
Implements the interactions with CredHub to save, retrieve, and delete credentials.
- Author:
- Scott Frederick
-
Constructor Summary
ConstructorsConstructorDescriptionReactiveCredHubCredentialTemplate(ReactiveCredHubOperations credHubOperations) Create a newReactiveCredHubCredentialTemplate. -
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<Void>deleteByName(CredentialName name) Delete a credential by its full name.reactor.core.publisher.Flux<CredentialSummary>findByName(CredentialName name) Find a credential using a full or partial name.reactor.core.publisher.Flux<CredentialSummary>findByPath(String path) Find a credential using a path.<T,P> reactor.core.publisher.Mono<CredentialDetails<T>> generate(ParametersRequest<P> parametersRequest, Class<T> credentialType) Generate a new credential in CredHub, or overwrite an existing credential with a new generated value.<T> reactor.core.publisher.Mono<CredentialDetails<T>>Retrieve a credential using its ID, as returned in a write request.<T> reactor.core.publisher.Mono<CredentialDetails<T>>getByName(CredentialName name, Class<T> credentialType) Retrieve a credential using its name, as passed to a write request.<T> reactor.core.publisher.Flux<CredentialDetails<T>>getByNameWithHistory(CredentialName name, int versions, Class<T> credentialType) Retrieve a credential using its name, as passed to a write request.<T> reactor.core.publisher.Flux<CredentialDetails<T>>getByNameWithHistory(CredentialName name, Class<T> credentialType) Retrieve a credential using its name, as passed to a write request.<T> reactor.core.publisher.Mono<CredentialDetails<T>>regenerate(CredentialName name, Class<T> credentialType) Regenerate a credential in CredHub.<T> reactor.core.publisher.Mono<CredentialDetails<T>>write(CredentialRequest<T> credentialRequest) Write a new credential to CredHub, or overwrite an existing credential with a new value.
-
Constructor Details
-
ReactiveCredHubCredentialTemplate
Create a newReactiveCredHubCredentialTemplate.- Parameters:
credHubOperations- theReactiveCredHubOperationsto use for interactions with CredHub
-
-
Method Details
-
write
public <T> reactor.core.publisher.Mono<CredentialDetails<T>> write(CredentialRequest<T> credentialRequest) Description copied from interface:ReactiveCredHubCredentialOperationsWrite a new credential to CredHub, or overwrite an existing credential with a new value.- Specified by:
writein interfaceReactiveCredHubCredentialOperations- Type Parameters:
T- the credential implementation type- Parameters:
credentialRequest- the credential to write to CredHub; must not be null- Returns:
- the details of the written credential
-
generate
public <T,P> reactor.core.publisher.Mono<CredentialDetails<T>> generate(ParametersRequest<P> parametersRequest, Class<T> credentialType) Description copied from interface:ReactiveCredHubCredentialOperationsGenerate a new credential in CredHub, or overwrite an existing credential with a new generated value.- Specified by:
generatein interfaceReactiveCredHubCredentialOperations- Type Parameters:
T- the credential implementation typeP- the credential parameter implementation type- Parameters:
parametersRequest- the parameters of the new credential to generate in CredHub; must not be nullcredentialType- the type of the credential to be regenerated; must not be null- Returns:
- the details of the generated credential
-
regenerate
public <T> reactor.core.publisher.Mono<CredentialDetails<T>> regenerate(CredentialName name, Class<T> credentialType) Description copied from interface:ReactiveCredHubCredentialOperationsRegenerate a credential in CredHub. Only credentials that were previously generated can be re-generated.- Specified by:
regeneratein interfaceReactiveCredHubCredentialOperations- Type Parameters:
T- the credential implementation type- Parameters:
name- the name of the credential; must not be nullcredentialType- the type of the credential to be regenerated; must not be null- Returns:
- the details of the regenerated credential
-
getById
public <T> reactor.core.publisher.Mono<CredentialDetails<T>> getById(String id, Class<T> credentialType) Description copied from interface:ReactiveCredHubCredentialOperationsRetrieve a credential using its ID, as returned in a write request.- Specified by:
getByIdin interfaceReactiveCredHubCredentialOperations- Type Parameters:
T- the credential implementation type- Parameters:
id- the ID of the credential; must not be nullcredentialType- the type of the credential to be retrieved; must not be null- Returns:
- the details of the retrieved credential
-
getByName
public <T> reactor.core.publisher.Mono<CredentialDetails<T>> getByName(CredentialName name, Class<T> credentialType) Description copied from interface:ReactiveCredHubCredentialOperationsRetrieve a credential using its name, as passed to a write request. Only the current credential value will be returned.- Specified by:
getByNamein interfaceReactiveCredHubCredentialOperations- Type Parameters:
T- the credential implementation type- Parameters:
name- the name of the credential; must not be nullcredentialType- the type of credential expected to be returned- Returns:
- the details of the retrieved credential
-
getByNameWithHistory
public <T> reactor.core.publisher.Flux<CredentialDetails<T>> getByNameWithHistory(CredentialName name, Class<T> credentialType) Description copied from interface:ReactiveCredHubCredentialOperationsRetrieve a credential using its name, as passed to a write request. A collection of all stored values for the named credential will be returned, including historical values.- Specified by:
getByNameWithHistoryin interfaceReactiveCredHubCredentialOperations- Type Parameters:
T- the credential implementation type- Parameters:
name- the name of the credential; must not be nullcredentialType- the type of credential expected to be returned- Returns:
- the details of the retrieved credential, including history
-
getByNameWithHistory
public <T> reactor.core.publisher.Flux<CredentialDetails<T>> getByNameWithHistory(CredentialName name, int versions, Class<T> credentialType) Description copied from interface:ReactiveCredHubCredentialOperationsRetrieve a credential using its name, as passed to a write request. A collection of stored values for the named credential will be returned, with the specified number of historical values.- Specified by:
getByNameWithHistoryin interfaceReactiveCredHubCredentialOperations- Type Parameters:
T- the credential implementation type- Parameters:
name- the name of the credential; must not be nullversions- the number of historical versions to retrievecredentialType- the type of credential expected to be returned- Returns:
- the details of the retrieved credential, including history
-
findByName
Description copied from interface:ReactiveCredHubCredentialOperationsFind a credential using a full or partial name.- Specified by:
findByNamein interfaceReactiveCredHubCredentialOperations- Parameters:
name- the name of the credential; must not be null- Returns:
- a summary of the credential search results
-
findByPath
Description copied from interface:ReactiveCredHubCredentialOperationsFind a credential using a path.- Specified by:
findByPathin interfaceReactiveCredHubCredentialOperations- Parameters:
path- the path to the credential; must not be null- Returns:
- a summary of the credential search results
-
deleteByName
Description copied from interface:ReactiveCredHubCredentialOperationsDelete a credential by its full name.- Specified by:
deleteByNamein interfaceReactiveCredHubCredentialOperations- Parameters:
name- the name of the credential; must not be null- Returns:
- an empty
Mono
-