Aller au contenu

Parameters Store

get_parameter

Python
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.

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