diff --git a/src/main/java/com/bettercloud/vault/api/Logical.java b/src/main/java/com/bettercloud/vault/api/Logical.java index e52bbf07..5343d07e 100644 --- a/src/main/java/com/bettercloud/vault/api/Logical.java +++ b/src/main/java/com/bettercloud/vault/api/Logical.java @@ -12,6 +12,7 @@ import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Map; +import java.util.Map.Entry; import static com.bettercloud.vault.api.LogicalUtilities.adjustPathForDelete; import static com.bettercloud.vault.api.LogicalUtilities.adjustPathForList; @@ -625,9 +626,11 @@ public LogicalResponse upgrade(final String kvPath) throws VaultException { private Integer engineVersionForSecretPath(final String secretPath) { if (!this.config.getSecretsEnginePathMap().isEmpty()) { - return this.config.getSecretsEnginePathMap().containsKey(secretPath + "/") ? - Integer.valueOf(this.config.getSecretsEnginePathMap().get(secretPath + "/")) - : this.config.getGlobalEngineVersion(); + for (Entry entry : this.config.getSecretsEnginePathMap().entrySet()) { + if (secretPath.startsWith(entry.getKey())) { + return Integer.valueOf(entry.getValue()); + } + } } return this.config.getGlobalEngineVersion(); }