Class KeyValueSecretBackendMetadata

java.lang.Object
org.springframework.cloud.vault.config.SecretBackendMetadataSupport
org.springframework.cloud.vault.config.KeyValueSecretBackendMetadata
All Implemented Interfaces:
SecretBackendMetadata

public class KeyValueSecretBackendMetadata extends SecretBackendMetadataSupport implements SecretBackendMetadata
SecretBackendMetadata for the kv (key-value) secret backend.
Since:
2.0
Author:
Mark Paluch
  • Method Details

    • create

      public static SecretBackendMetadata create(String secretBackendPath, String key)
      Create a SecretBackendMetadata for the kv secret backend given a secretBackendPath and key. Use plain mount and key paths. The required data segment is added by this method.
      Parameters:
      secretBackendPath - the secret backend mount path without leading/trailing slashes and without the data path segment, must not be empty or null.
      key - the key within the secret backend. May contain slashes but not leading/trailing slashes, must not be empty or null.
      Returns:
      the SecretBackendMetadata
    • create

      public static SecretBackendMetadata create(String path)
      Create a SecretBackendMetadata for the kv secret backend given a path.
      Parameters:
      path - the relative path of the secret. slashes, must not be empty or null.
      Returns:
      the SecretBackendMetadata
    • create

      public static SecretBackendMetadata create(String path, org.springframework.vault.core.util.PropertyTransformer propertyTransformer)
      Create a SecretBackendMetadata for the kv secret backend given a path.
      Parameters:
      path - the relative path of the secret. slashes, must not be empty or null.
      propertyTransformer - property transformer.
      Returns:
      the SecretBackendMetadata
    • buildContexts

      public static List<String> buildContexts(VaultKeyValueBackendPropertiesSupport properties, List<String> profiles)
      Build a list of context paths from application name and the active profile names. Application name and profiles support multiple (comma-separated) values.
      Parameters:
      properties - the key-value backend properties.
      profiles - active application profiles.
      Returns:
      list of context paths.
    • buildContexts

      public static List<String> buildContexts(String applicationName, List<String> profiles, String profileSeparator)
      Create a list of context names from a combination of application name and application name with profile name. Using an empty application name will return an empty list.
      Parameters:
      applicationName - the application name. May be empty.
      profiles - active application profiles.
      profileSeparator - profile separator character between application name and profile name.
      Returns:
      list of context names.
    • getPath

      public String getPath()
      Description copied from interface: SecretBackendMetadata
      Return the path of this secret backend.
      Specified by:
      getPath in interface SecretBackendMetadata
      Returns:
      the path of this secret backend.
    • getPropertyTransformer

      public org.springframework.vault.core.util.PropertyTransformer getPropertyTransformer()
      Description copied from interface: SecretBackendMetadata
      Return a PropertyTransformer to post-process properties retrieved from Vault.
      Specified by:
      getPropertyTransformer in interface SecretBackendMetadata
      Overrides:
      getPropertyTransformer in class SecretBackendMetadataSupport
      Returns:
      the property transformer.
      See Also:
      • PropertyTransformers