prepared for publishing
This commit is contained in:
0
src/access_azure_keyvault/__init__.py
Normal file
0
src/access_azure_keyvault/__init__.py
Normal file
26
src/access_azure_keyvault/__main__.py
Normal file
26
src/access_azure_keyvault/__main__.py
Normal file
@ -0,0 +1,26 @@
|
||||
import argparse
|
||||
import sys
|
||||
from . import _aak
|
||||
from loguru import logger
|
||||
|
||||
parser = argparse.ArgumentParser(description="access_azure_keyvault")
|
||||
parser.add_argument('--keyvault', '-v',
|
||||
help="Name of Azure Key Vault",
|
||||
required=True)
|
||||
parser.add_argument('--secretname', '-s',
|
||||
help='Name of secret to query',
|
||||
required=True)
|
||||
args = parser.parse_args()
|
||||
keyVaultName = args.keyvault
|
||||
secretName = args.secretname
|
||||
|
||||
logger.debug(f"Trying to retrieve secret {secretName} from keyvault {keyVaultName}")
|
||||
|
||||
try:
|
||||
secretValue = _aak.getSecret(keyVaultName, secretName)
|
||||
logger.debug(f"Retrieved {secretValue}")
|
||||
print(secretValue)
|
||||
except Exception as e:
|
||||
logger.error(f"Error: <{e.__class__.__name__}> <{e}>")
|
||||
sys.exit(1)
|
||||
|
17
src/access_azure_keyvault/_aak.py
Normal file
17
src/access_azure_keyvault/_aak.py
Normal file
@ -0,0 +1,17 @@
|
||||
from azure.keyvault.secrets import SecretClient
|
||||
from azure.identity import DefaultAzureCredential
|
||||
from azure.core.exceptions import AzureError
|
||||
|
||||
class LocalException (Exception): pass
|
||||
|
||||
def getSecret(keyVaultName, secretName):
|
||||
KVUri = f"https://{keyVaultName}.vault.azure.net"
|
||||
|
||||
try:
|
||||
credential = DefaultAzureCredential()
|
||||
client = SecretClient(vault_url=KVUri, credential=credential)
|
||||
retrieved_secret = client.get_secret(secretName)
|
||||
return retrieved_secret
|
||||
except AzureError as e:
|
||||
raise LocalException(f"AzureError: <{e.__class__.__name__}> <{e}>")
|
||||
|
Reference in New Issue
Block a user