in Solutions/AWSSCV-VoicemailExpress/Code/awsscv_vmx_presigner/awsscv_vmx_presigner.py [0:0]
def get_secret():
# Set vars
secret_response = {}
try:
secret_name = os.environ['secrets_key_id']
region_name = os.environ['aws_region']
except Exception as e:
logger.error(e)
secret_response.update({'result':'fail'})
secret_response.update({'detail':'environment vars failed'})
return secret_response
# Create a Secrets Manager session
try:
session = boto3.session.Session()
client = session.client(
service_name='secretsmanager',
region_name=region_name
)
except Exception as e:
logger.error(e)
secret_response.update({'result':'fail'})
secret_response.update({'detail':'AWS Secrets Manager session failed'})
return secret_response
try:
get_secret_value_response = client.get_secret_value(
SecretId=secret_name
)
except Exception as e:
logger.error(e)
secret_response.update({'result':'fail'})
secret_response.update({'detail':'failed to get secrets'})
return secret_response
else:
if 'SecretString' in get_secret_value_response:
secret = get_secret_value_response['SecretString']
else:
decoded_binary_secret = base64.b64decode(get_secret_value_response['SecretBinary'])
secret_response.update(json.loads(secret))
return secret_response