prepared for publishing

This commit is contained in:
2022-09-16 12:08:23 +02:00
parent 7481d7a0e1
commit 3886bb19f2
8 changed files with 93 additions and 45 deletions

View File

View 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)

View 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}>")