Saltar al contenido principal

Especificación de Controles

La Especificación de Controles define el contrato que todo control —integrado o personalizado— debe cumplir. Todos los contratos se expresan como modelos Pydantic, no YAML.

Flujo de datos

NimbusGuardResource → EvaluationInput → ControlOutcome → EvaluationResult
  • NimbusGuardResourceid, provider, resource_type, region, configuration{}, tags{}.
  • ControlOutcome — lo que devuelve un control: status, message, evidence.
  • EvaluationResult — lo que emite el Motor por cada par recurso/control.

Puertas del dispatcher

Antes de correr la lógica del control, el dispatcher aplica dos puertas:

  1. El tipo de recurso no matchea el control → NOT_APPLICABLE.
  2. Faltan campos requeridos → NOT_EVALUATED.

:::danger Invariante crítico NOT_EVALUATED y ERROR nunca deben convertirse silenciosamente en PASS. :::

:::warning Placeholder ⚠️ Agrega la referencia completa campo por campo de cada modelo y la lista de campos requeridos por categoría de control. :::