feat(terraform_plan): `resource_filter` — a per-record scoping predicate on `attribute` and `count`
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Stack tecnológico
- python, terraform
- Área
- devops, infrastructure
Línea de trabajo
Comienza con el motor terraform_plan y la evaluación propuesta de resource_filter alrededor de change.after; después, resuelve las dependencias de R1 "nothing-in-scope" y skip-ordering. Confirma que el diseño cubre la cuestión de same-element binding antes de especificar la funcionalidad. Se considera terminado cuando están representadas las cinco correcciones obligatorias, incluido el manejo explícito de un scope vacío y los errores de validación cuando error_tolerance es inferior a 1.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The single largest coverage win measured against public check libraries: a list of {attribute, type, value} clauses evaluated against
change.after before emission; a record failing any clause emits nothing, so the universal AND
quantifies over the in-scope subset. "Only postgres instances", "only internet-facing LBs" — the
per-resource scoping predicate is the most common reason a public check cannot be expressed in
Tirith today.
Five corrections are mandatory, all verified against the engine:
change.after is Noneis out of scope unconditionally —IsEmpty(None),NotEquals(None,x)
andNotContainedIn(None,[...])all pass, so otherwise every destroy is in scope for every
negative clause.- The empty-scope branch must
return outputsexplicitly, or the severity-2 attribute miss also
fires and fails the plan. DEFAULT_ERROR_TOLERANCEis 0, so validation must error (not warn) unless
error_tolerance ≥ 1.- Drop
scope_pathand a filtered-countexistential from v1. - Depends on the R1 decision "what does nothing-in-scope mean" and on the R1 skip-ordering fix.
Design question to settle before specification: many public checks bind two or three attributes
of the same array element (e.g. Kubernetes rules that must name both a resource and a verb;
name/value blocks where the name selects and the value is asserted). That is the same primitive
seen from inside a collection. Specified only as cross-resource scoping, resource_filter leaves
this on the table; specified as "bind several attributes of one collection member", it absorbs
both families at once — and it is exactly the same-element binding the documented at-least-one
idiom cannot do.
- Lenguaje dominante
- Python
- Estrellas
- 167
- Forks
- 47
- Merge medio
- 2 h 44 min
- PR fusionados (30 d)
- 5
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de StackGuardian/tirith
-
good first issue hacktoberfest tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
StackGuardian/tirith#381 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
research
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
StackGuardian/tirith#356 ·
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
StackGuardian/tirith#302 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
StackGuardian/tirith#299 ·
Los mantenedores suelen responder en 1 día
-
fix(providers): dotted keys are addressable from terraform_plan but not from json/kubernetesAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
StackGuardian/tirith#295 ·
Los mantenedores suelen responder en 1 día
Todos los issues de StackGuardian/tirith
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 3 días
-
Negation with "not" and "no" is ignored during sentiment analysisPosiblemente ocupada @vivek-3728 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
techcsispit/mess-mood#11 · 1 comentario ·
-
changelog investigate
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ramnes/notion-sdk-py#408 ·
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
btclib-org/btclib-wallet#267 ·
Los mantenedores suelen responder en 1 día
-
good first issue tech-debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
knnmelprop/YAADO#111 ·