1. Introduction to CredHubOperations

The interface org.springframework.credhub.core.CredHubOperations and the implementation org.springframework.credhub.core.CredHubTemplate are the central classes in Spring CredHub. CredHubOperations provides access to additional operations interfaces that model the full CredHub API:

/**
 * Get the operations for saving, retrieving, and deleting credentials.
 */
CredHubCredentialOperations credentials();

/**
 * Get the operations for adding, retrieving, and deleting credential permissions.
 */
CredHubPermissionOperations permissions();

/**
 * Get the operations for adding, retrieving, and deleting credential permissions.
 */
CredHubPermissionV2Operations permissionsV2();

/**
 * Get the operations for retrieving, regenerating, and updating certificates.
 */
CredHubCertificateOperations certificates();

/**
 * Get the operations for interpolating service binding credentials.
 */
CredHubInterpolationOperations interpolation();

/**
 * Get the operations for retrieving CredHub server information.
 */
CredHubInfoOperations info();

1.1. Mapping to CredHub API

Each method of the Operations interfaces maps directly to one endpoint of the CredHub HTTP API. The following table shows the mapping between the CredHub API and the appropriate Spring CredHub Operations interface.

{credhub-api-credentials}[CredHub Credentials API]

{apidocs-home}?org/springframework/credhub/core/credential/CredHubCredentialOperations.html[CredHubCredentialOperations]

{credhub-api-permissions}[CredHub Permissions API] (v1)

{apidocs-home}?org/springframework/credhub/core/permission/CredHubPermissionOperations.html[CredHubPermissionOperations]

{credhub-api-permissionsV2}[CredHub Permissions API] (v2)

{apidocs-home}?org/springframework/credhub/core/permissionV2/CredHubPermissionV2Operations.html[CredHubPermissionV2Operations]

{credhub-api-certificates}[CredHub Certificates API]

{apidocs-home}?org/springframework/credhub/core/certificate/CredHubCertificateOperations.html[CredHubCertificateOperations]

{credhub-api-interpolation}[CredHub Interpolation API]

{apidocs-home}?org/springframework/credhub/core/interpolation/CredHubInterpolationOperations.html[CredHubInterpolationOperations]

{credhub-api-info}[CredHub Information API]

{apidocs-home}?org/springframework/credhub/core/info/CredHubInfoOperations.html[CredHubInfoOperations]

1.2. CredHubOperations Auto-configuration

A CredHubOperations Spring bean is created using Spring Boot auto-configuration when application properties are properly configured. Application classes can autowire an instance of this bean to interact with a CredHub server.

Unresolved directive in operations.adoc - include::{examples-dir}CredHubService.java[]