Class CredHubInterpolationTemplate

java.lang.Object
org.springframework.credhub.core.interpolation.CredHubInterpolationTemplate
All Implemented Interfaces:
CredHubInterpolationOperations

public class CredHubInterpolationTemplate extends Object implements CredHubInterpolationOperations
Implements the main interaction with CredHub to interpolate service binding credentials.
Author:
Scott Frederick
  • Constructor Details

  • Method Details

    • interpolateServiceData

      public ServicesData interpolateServiceData(ServicesData serviceData)
      Description copied from interface: CredHubInterpolationOperations
      Search the provided data structure of bound service credentials, looking for references to CredHub credentials. Any CredHub credentials found in the data structure will be replaced by the credential value stored in CredHub. Example: A JSON data structure parsed from a VCAP_SERVICES environment variable might look like this if the service broker that provided the binding is integrated with CredHub:
       
       {
          "service-offering": [{
            "credentials": {
              "credhub-ref": "((/c/service-broker/service-offering/1111-2222-3333-4444/credentials))"
            }
            "label": "service-offering",
            "name": "service-instance",
            "plan": "standard",
            "tags": ["
              "cloud-service"
            ]
          }]
       }
       
       
      Assuming that CredHub has a credential with the name /c/service-broker/service-offering/1111-2222-3333-4444/credentials, passing the data structure above to this method would result in the credhub-ref field being replaced by the credentials stored in CredHub:
       
       {
          "service-offering": [{
            "credentials": {
              "url": "https://servicehost.example.com/",
              "username": "someuser",
              "password": "secret"
            }
            "label": "service-offering",
            "name": "service-instance",
            "plan": "standard",
            "tags": ["
              "cloud-service"
            ]
          }]
       }
       
       
      Specified by:
      interpolateServiceData in interface CredHubInterpolationOperations
      Parameters:
      serviceData - a data structure of bound service credentials, as would be parsed from the VCAP_SERVICES environment variable provided to applications running on Cloud Foundry
      Returns:
      the serviceData structure with CredHub references replaced by stored credential values