Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Python Kata

1. Python Kata

Planteamiento

Tenemos una lista de recursos AWS obtenidos desde diferentes cuentas. Queremos detectar recursos que no cumplan nuestra política de tagging. Todo recurso debe tener los tags owner y environment. Implementa una función que devuelva los recursos no compliant indicando qué tags faltan.

Nota: los datos de recursos AWS son ficticios y no provienen de una cuenta ni API real. El objetivo de esta kata no es AWS en sí, sino practicar el manejo de Python y la creación de funciones y tests unitarios.

resources = [
    {"account": "prod", "type": "ec2", "id": "i-123",
     "tags": {"owner": "payments", "environment": "prod"}},
    {"account": "prod", "type": "s3", "id": "logs-prod",
     "tags": {"environment": "prod"}},
    {"account": "dev", "type": "ec2", "id": "i-456",
     "tags": {"owner": "platform", "environment": "dev"}},
    {"account": "dev", "type": "rds", "id": "db-001", "tags": {}},
]

Requisitos

  • Docker (requerido): necesario para poder trabajar con el devcontainer del proyecto. Antes de empezar la práctica, comprueba que Docker está en ejecución lanzando:

    docker ps

    Si el comando falla (no responde o da error de conexión), arranca el demonio de Docker antes de continuar.

Instalar la extensión Dev Containers en VS Code

Para abrir el proyecto directamente dentro del devcontainer desde VS Code, puedes instalar la extensión Dev Containers:

  1. Abre VS Code Quick Open con Ctrl+P.

  2. Pega el siguiente comando y pulsa Enter:

    ext install ms-vscode-remote.remote-containers
    

Una vez instalada la extensión, con el proyecto abierto en VS Code:

  1. Abre la paleta de comandos con Ctrl+Shift+P.
  2. Busca y selecciona Dev Containers: Reopen in Container.

VS Code reconstruirá (o reutilizará) el devcontainer definido en .devcontainer/ y reabrirá la ventana ya conectada dentro del contenedor.

Instalar dependencias

Este proyecto usa uv para la gestión de dependencias.

uv sync

Ejecutar los tests

uv run pytest

Arrancar la aplicación

uv run python src/main.py

Lint

uv run flake8 .

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages