aws ssm
get-parameters
# Get parameters
aws ssm get-parameters \
  --names "/my-app/dev/db-url" "/my-app/dev/db-password"
# Get parameters with decryption
aws ssm get-parameters \
  --names "/my-app/dev/db-url" "/my-app/dev/db-password" \
  --with-decryption # checks if you have kms permissions to decrypt it
# Get the AMI for Kubernetes Nodes
aws ssm get-parameter \
  --name /aws/service/eks/optimized-ami/1.31/amazon-linux-2/recommended/image_id \
  --query Parameter.Value \
  --output text
get-parameters-by-path
# Get parameters by path
aws ssm get-parameters-by-path \
  --path "/my-app/dev/"
# Get parameters by path recursive
aws ssm get-parameters-by-path \
  --path "/my-app/" \
  --recursive
# Get parameters by path with decryption
aws ssm get-parameters-by-path \
  --path "/my-app/" \
  --recursive \
  --with-decryption
Python
import json
import boto3
import os
ssm = boto3.client('ssm', region_name="eu-west-3")
environment = os.environ['ENVIRONMENT'] # dev or prd
def lambda_handler(event, context):
    db_url = ssm.get_parameters(Names=["/my-app/" + environment + "/db-url"])
    print(db_url)
    db_password = ssm.get_parameters(
        Names=["/my-app/" + environment + "/db-password"], WithDecryption=True)
    print(db_password)
    return "worked!"