Librería para gestionar y respaldar parámetros de AWS SSM de manera sencilla y eficiente.
Project description
ParamsX
ParamsX es una librería diseñada para gestionar parámetros de AWS SSM de manera sencilla y eficiente. Con ella podrás:
- Leer parámetros almacenados en AWS SSM.
- Comparar y actualizar parámetros existentes.
- Eliminar parámetros que ya no estén presentes en los archivos de configuración.
- Crear respaldos para evitar pérdida de datos.
Consejos varios para tener un orden en los parámetros
Para aprovechar al máximo ParamsX, te recomendamos estructurar los parámetros de AWS SSM siguiendo un esquema lógico y ordenado. Por ejemplo:
- /APP/nombreApp/tipoEntorno/más datos...
Ventajas de usar esta estructura:
- Claridad: Es más sencillo identificar a qué aplicación, entorno o componente pertenece cada parámetro.
- Escalabilidad: Facilita el crecimiento de tu infraestructura manteniendo un orden consistente.
- Gestión simplificada: Con ParamsX, puedes configurar listas específicas de parámetros basadas en estos prefijos, lo que permite modificarlos o gestionarlos de forma eficiente.
Este enfoque te permitirá integrar ParamsX de manera más efectiva en tu flujo de trabajo y mantener el control de tus parámetros en AWS SSM.
Instalación
pip install paramx
Configuración inicial
Una vez instalado el paquete, debes configurar ParamsX antes de usarlo. Para ello, ejecuta el siguiente comando:
paramsx configure
Este comando creará automáticamente una carpeta de configuración en tu directorio de usuario:
Windows: C:\Users<tu_usuario>.xsoft Linux/MacOS: /home/<tu_usuario>/.xsoft
Dentro de esta carpeta encontrarás un archivo llamado paramsx_config.py. Este archivo contiene la configuración inicial de la librería. Antes de usarla, debes asegurarte de editar este archivo para incluir el perfil de AWS y la región que utilizarás.
Contenido de paramsx_config.py:
configuraciones = {
"profile_name": "default", # Cambiar por el nombre de tu perfil en ~/.aws/credentials
"region_name": "eu-south-2", # Cambiar por tu región de AWS
"entornos": ["DEV", "PROD"], # Los entornos que manejarás
"parameter_list": [ # Cambiar por lista de parámetros.
"/params1/xx",
"/params2/xx",
]
}
Nota: Si el archivo paramsx_config.py ya existe, no será sobrescrito durante la instalación para proteger las configuraciones personalizadas.
Modo de Uso
Ejecuta el comando principal desde la terminal:
paramsx
Navega por el menú interactivo:
El programa mostrará un menú donde Podrás:
- Leer parámetros desde AWS SSM.
- Cargar y actualizar parámetros.
- Backup de parámetros.
Leer Parámetros:
- Selecciona la opción "Leer parámetros" en el menú.
- Elige el prefijo y el entorno que deseas consultar.
- Los parámetros serán descargados y guardados en archivos como:
- parameters_DEV.py
- parameters_DEV_backup.py
Importante: Los archivos se generarán en la misma ruta desde donde ejecutes el comando paramsx
Modificar parámetros actuales
Un pequeño truco para modificar tus parámetros actuales:
- Crea los archivos necesarios:
- parameters_DEV.py (Cambia DEV por el entorno deseado)
- parameters_DEV_backup.py (Cambia DEV por el entorno deseado)
- Copia tus parámetros dentro de cada uno de ellos.
- Modifica los en el archivo parameters_DEV.py
- Accede a paramsx y usa la opción 2 de cargar seleccionando el entorno.
- Verás tus parametros nuevos, modificados y los que se eliminarán.
Cargar Parámetros:
- Modifica los archivos generados (parameters_DEV.py).
- Usa la opción "Cargar parámetros desde archivo" para comparar los cambios.
- El programa mostrará una lista con los siguientes estados:
- Nuevos: Parámetros que se agregarán.
- Modificados: Parámetros existentes que se actualizarán.
- Eliminados: Parámetros que se eliminarán automáticamente de AWS SSM.
- Revisa los cambios antes de confirmar.
Importante: Una vez confirmados los cambios, los archivos parameters_DEV.py y parameters_DEV_backup.py se eliminarán automáticamente
Backup Parámetros:
- Backup de un rango específico: Selecciona un prefijo y un entorno específico. Se creará un archivo único con el respaldo de los parámetros de esa selección. Ideal para respaldar y modificar parámetros de una aplicación o entorno en particular.
- Backup de todos los parámetros listados: Genera un respaldo combinado de todos los prefijos definidos en tu configuración (parameter_list) y sus entornos asociados. Se crea un archivo total_listed_parameters_backup.py que contiene los parámetros organizados.
- Backup de todos los parámetros de la cuenta de AWS: Lee todos los parámetros de AWS SSM desde la raíz (/). Se crea un archivo all_parameters_backup.py con el respaldo completo de la cuenta. Ten en cuenta que este proceso puede tardar dependiendo de la cantidad de parámetros almacenados.
Notas Adicionales
-
Credenciales de AWS: Asegúrate de que el perfil especificado en paramsx_config.py exista en tus archivos de configuración de AWS (~/.aws/credentials y ~/.aws/config).
-
Seguridad: Los parámetros se manejan como SecureString para garantizar que la información sensible esté cifrada
-
Backup: Antes de realizar cualquier cambio, ParamsX crea automáticamente un respaldo (parameters_DEV_backup.py). Este archivo se eliminará después de cargar los nuevos parámetro
Licencia
ParamsX se distribuye bajo la licencia MIT. Puedes usarlo libremente, modificarlo y adaptarlo a tus necesidades. Recuerda siempre hacer un respaldo de tus configuraciones antes de realizar cambios.
Nota: El creador de ParamsX no se hace responsable de posibles pérdidas de datos o configuraciones incorrectas.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file paramsx-1.1.1.tar.gz.
File metadata
- Download URL: paramsx-1.1.1.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1ab82d2cba7d85b830e36852527e28c0134acad3a92260ee160694243da21d1
|
|
| MD5 |
4b3ba587e34750bcce5590ec072f189b
|
|
| BLAKE2b-256 |
0fea88e96422dba681f57b698e954b1c49266033cbd219daa6f6bb415e80ff8f
|
File details
Details for the file paramsx-1.1.1-py3-none-any.whl.
File metadata
- Download URL: paramsx-1.1.1-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1278ddc1a0b01b54718d41bbc20e302c5f2ea66a3349b9071e4730835490ce39
|
|
| MD5 |
36b16b5c3b7904c27e75b9feef54eb22
|
|
| BLAKE2b-256 |
5f37a5108a60bdd4450a999854efa8ea354d4d3c73439da62b918c4ce81731b4
|