Skip to content

Commit 13b6356

Browse files
committed
Add exception handler for AWS secret retrieval
1 parent 09f594e commit 13b6356

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

vaultapi/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from .exceptions import VaultAPIClientError
55
from .main import LOGGER, VaultAPIClient
66

7-
version = "0.1.1"
7+
version = "0.1.2"
88

99

1010
def commandline():

vaultapi/aws.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def __init__(self):
3030
self.secret_client = session.client(service_name="secretsmanager")
3131
self.ssm_client = session.client(service_name="ssm")
3232

33-
def get_aws_secrets(self, name: str = None) -> str | List[str]:
33+
def get_aws_secrets(self, name: str = None) -> str | List[str] | None:
3434
"""Get secrets from AWS secretsmanager.
3535
3636
Args:
@@ -42,13 +42,17 @@ def get_aws_secrets(self, name: str = None) -> str | List[str]:
4242
"""
4343
if name:
4444
LOGGER.info("Retrieving the secret '%s' from AWS secrets manager", name)
45-
response = self.secret_client.get_secret_value(SecretId=name)
45+
try:
46+
response = self.secret_client.get_secret_value(SecretId=name)
47+
except Exception as error:
48+
LOGGER.exception(error)
49+
return
4650
return response["SecretString"]
4751
paginator = self.secret_client.get_paginator("list_secrets")
4852
page_results = paginator.paginate().build_full_result()
4953
return [page["Name"] for page in page_results["SecretList"]]
5054

51-
def get_aws_params(self, name: str = None) -> str | List[str]:
55+
def get_aws_params(self, name: str = None) -> str | List[str] | None:
5256
"""Get SSM parameters from AWS.
5357
5458
Args:
@@ -60,7 +64,11 @@ def get_aws_params(self, name: str = None) -> str | List[str]:
6064
"""
6165
if name:
6266
LOGGER.info("Retrieving the parameter '%s' from AWS parameter store", name)
63-
response = self.ssm_client.get_parameter(Name=name, WithDecryption=True)
67+
try:
68+
response = self.ssm_client.get_parameter(Name=name, WithDecryption=True)
69+
except Exception as error:
70+
LOGGER.exception(error)
71+
return
6472
return response["Parameter"]["Value"]
6573
paginator = self.ssm_client.get_paginator("describe_parameters")
6674
page_results = paginator.paginate().build_full_result()

0 commit comments

Comments
 (0)