Interface CredHubCredentialOperations

All Known Implementing Classes:
CredHubCredentialTemplate

public interface CredHubCredentialOperations
Specifies the interactions with CredHub to save, generate, retrieve, and delete credentials.
Author:
Scott Frederick
  • Method Details

    • write

      <T> CredentialDetails<T> write(CredentialRequest<T> credentialRequest)
      Write a new credential to CredHub, or overwrite an existing credential with a new value.
      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

      <T, P> CredentialDetails<T> generate(ParametersRequest<P> parametersRequest)
      Generate a new credential in CredHub, or overwrite an existing credential with a new generated value.
      Type Parameters:
      T - the credential implementation type
      P - the credential parameter implementation type
      Parameters:
      parametersRequest - the parameters of the new credential to generate in CredHub; must not be null
      Returns:
      the details of the generated credential
    • regenerate

      <T> CredentialDetails<T> regenerate(CredentialName name, Class<T> credentialType)
      Regenerate a credential in CredHub. Only credentials that were previously generated can be re-generated.
      Type Parameters:
      T - the credential implementation type
      Parameters:
      name - the name of the credential; must not be null
      credentialType - the type of the credential to be regenerated; must not be null
      Returns:
      the details of the regenerated credential
    • getById

      <T> CredentialDetails<T> getById(String id, Class<T> credentialType)
      Retrieve a credential using its ID, as returned in a write request.
      Type Parameters:
      T - the credential implementation type
      Parameters:
      id - the ID of the credential; must not be null
      credentialType - the type of the credential to be retrieved; must not be null
      Returns:
      the details of the retrieved credential
    • getByName

      <T> CredentialDetails<T> getByName(CredentialName name, Class<T> credentialType)
      Retrieve a credential using its name, as passed to a write request. Only the current credential value will be returned.
      Type Parameters:
      T - the credential implementation type
      Parameters:
      name - the name of the credential; must not be null
      credentialType - the type of credential expected to be returned
      Returns:
      the details of the retrieved credential
    • getByNameWithHistory

      <T> List<CredentialDetails<T>> getByNameWithHistory(CredentialName name, Class<T> credentialType)
      Retrieve 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.
      Type Parameters:
      T - the credential implementation type
      Parameters:
      name - the name of the credential; must not be null
      credentialType - the type of credential expected to be returned
      Returns:
      the details of the retrieved credential, including history
    • getByNameWithHistory

      <T> List<CredentialDetails<T>> getByNameWithHistory(CredentialName name, int versions, Class<T> credentialType)
      Retrieve 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.
      Type Parameters:
      T - the credential implementation type
      Parameters:
      name - the name of the credential; must not be null
      versions - the number of historical versions to retrieve
      credentialType - the type of credential expected to be returned
      Returns:
      the details of the retrieved credential, including history
    • findByName

      Find a credential using a full or partial name.
      Parameters:
      name - the name of the credential; must not be null
      Returns:
      a summary of the credential search results
    • findByPath

      List<CredentialSummary> findByPath(String path)
      Find a credential using a path.
      Parameters:
      path - the path to the credential; must not be null
      Returns:
      a summary of the credential search results
    • deleteByName

      void deleteByName(CredentialName name)
      Delete a credential by its full name.
      Parameters:
      name - the name of the credential; must not be null