public class KeyVaultOperation extends Object
| Modifier and Type | Field and Description |
|---|---|
private long |
cacheRefreshIntervalInMs |
private com.azure.security.keyvault.secrets.SecretClient |
keyVaultClient |
private AtomicLong |
lastUpdateTime |
private ArrayList<String> |
propertyNames |
private String[] |
propertyNamesArr |
private Object |
refreshLock |
private ReadWriteLock |
rwLock |
private List<String> |
secretKeys |
private String |
vaultUri |
| Constructor and Description |
|---|
KeyVaultOperation(com.azure.security.keyvault.secrets.SecretClient keyVaultClient,
String vaultUri,
long refreshInterval,
List<String> secretKeys) |
| Modifier and Type | Method and Description |
|---|---|
private void |
addSecretIfNotExist(String secretName) |
private void |
fillSecretsList() |
String |
get(String property)
For convention we need to support all relaxed binding format from spring, these may include:
Spring relaxed binding names
acme.my-project.person.first-name
acme.myProject.person.firstName
acme.my_project.person.first_name
ACME_MYPROJECT_PERSON_FIRSTNAME
But azure keyvault only allows ^[0-9a-zA-Z-]+$ and case insensitive, so there must be some conversion
between spring names and azure keyvault names.
|
private String |
getKeyvaultSecretName(String property) |
String[] |
list() |
private void |
refreshPropertyNames() |
private final long cacheRefreshIntervalInMs
private final Object refreshLock
private final com.azure.security.keyvault.secrets.SecretClient keyVaultClient
private final String vaultUri
private String[] propertyNamesArr
private final AtomicLong lastUpdateTime
private final ReadWriteLock rwLock
public String[] list()
public String get(String property)
| Spring relaxed binding names |
| acme.my-project.person.first-name |
| acme.myProject.person.firstName |
| acme.my_project.person.first_name |
| ACME_MYPROJECT_PERSON_FIRSTNAME |
property - of secret instance.private void refreshPropertyNames()
private void fillSecretsList()
private void addSecretIfNotExist(String secretName)
Copyright © 2020 Microsoft. All rights reserved.