Récupère un paramètre unique dans AWS Systems Manager Parameter Store.
Si le nom du paramètre contient password ou secret, la récupération
utilise WithDecryption=True.
Parameters:
| Name |
Type |
Description |
Default |
system
|
str
|
Préfixe du chemin (ex: "mit") utilisé dans SSM.
|
required
|
param_name
|
str | None
|
Nom du paramètre ou None pour lire /{system}.
|
None
|
Returns:
| Type |
Description |
|
|
str | None: Valeur du paramètre si trouvée, sinon None.
|
Source code in cmpparis/parameters_utils.py
| Python |
|---|
| def get_parameter(system, param_name = None):
"""Récupère un paramètre unique dans AWS Systems Manager Parameter Store.
Si le nom du paramètre contient ``password`` ou ``secret``, la récupération
utilise ``WithDecryption=True``.
Args:
system (str): Préfixe du chemin (ex: ``"mit"``) utilisé dans SSM.
param_name (str | None): Nom du paramètre ou ``None`` pour lire ``/{system}``.
Returns:
str | None: Valeur du paramètre si trouvée, sinon ``None``.
"""
try:
ssm = boto3.client('ssm', region_name=aws_region_name)
if param_name is not None:
if 'password' in param_name or 'secret' in param_name:
parameter = ssm.get_parameter(Name=f'/{system}/{param_name}', WithDecryption=True)
param_value = parameter['Parameter']['Value']
else:
parameter = ssm.get_parameter(Name=f'/{system}/{param_name}')
param_value = parameter['Parameter']['Value']
else:
parameter = ssm.get_parameter(Name=f'/{system}')
param_value = parameter['Parameter']['Value']
return param_value
except Exception as e:
print(f"An error occurred while trying to retrieve parameter {param_name} : {e}")
|