terraform-policy

Escribir, probar o convertir archivos de Terraform Policy (.policy.hcl, .policytest.hcl, Sentinel→tfpolicy). Disparadores: policy.hcl, policytest, convert sentinel, tfpolicy,…

npx skills add https://github.com/hashicorp/agent-skills --skill terraform-policy

terraform-policy

UTILITY SKILL — INVOKES: tfpolicy-author | tfpolicy-test

USE FOR:

  • Writing a new .policy.hcl policy from a description or requirement
  • Converting a .sentinel policy to Terraform Policy
  • Writing or debugging a .policytest.hcl test file
  • Migrating a Sentinel policy library to Terraform Policy

Before giving authoring or testing instructions, check the installed tfpolicy CLI version and tailor guidance accordingly. This skill maintains guidance for the two most recent minor lines, 0.2.x and 0.3.x; when a new minor ships, drop the oldest line and add the new one.

  • If the CLI is 0.2.x (baseline), include a top-level policy { required_providers { ... } } block when authoring .policy.hcl files containing resource or provider policies. It is mandatory for tfpolicy validate; version-range validation is best effort, and wildcard targets such as resource_policy "*" are not schema-validated. tfpolicy test does not preflight mocked attrs/prior_attrs against provider schemas, core::alltrue/core::anytrue do not exist, and, only in this 0.2.x line, mock resource {} blocks may omit attrs/prior_attrs entirely.
  • If the CLI is 0.3.x or newer, the other guidance above still applies, but the 0.2.x allowance for omitting resource state does not: every mock resource {} block in .policytest.hcl files must declare attrs or prior_attrs; if both evaluate to empty, the test case is skipped (provider {} and module {} mocks are unaffected) (see tfpolicy-test). tfpolicy test reuses the target .policy.hcl's existing top-level policy { required_providers { ... } } block (there is no separate .policytest.hcl-level declaration) to validate provider, resource, and data-source policies and core::getdatasource()/core::getresources() arguments against resolved provider schemas before any test runs, failing the whole run on a schema mismatch (see tfpolicy-test). core::alltrue(list) and core::anytrue(list) are also available — prefer them over the core::length() list-comprehension workaround (see tfpolicy-author). meta.tfe_stack and meta.tfe_workspace.tags are available to resource, provider, and module policies; Stack fields are empty outside Stack evaluations.
  • If the CLI version is unknown, ask the user to check it first or provide guidance that clearly distinguishes the 0.2.x and 0.3.x paths.

DO NOT USE FOR:

  • Writing .tftest.hcl files for Terraform modules — use terraform-test
  • General Terraform HCL authoring — use terraform-style-guide

Routing

TaskSub-skill
Write or convert a .policy.hcl policytfpolicy-author
Write or debug a .policytest.hcl testtfpolicy-test

Examples

Troubleshooting

  • Wrong skill triggered? Load the sub-skill directly from the routing table above.
npx skills add hashicorp/agent-skills/terraform/terraform-policy/skills/tfpolicy-author
npx skills add hashicorp/agent-skills/terraform/terraform-policy/skills/tfpolicy-test

Más skills de hashicorp

provider-framework-migration
hashicorp
Migra recursos de proveedor y fuentes de datos de Terraform del Plugin SDKv2 al Plugin Framework: combinando ambos plugins en un solo proveedor (terraform-plugin-mux,…
provider-configuration
hashicorp
Implementa la configuración y autenticación del proveedor de Terraform con el Plugin Framework: esquema del proveedor para credenciales (atributos Opcionales + Sensibles),…
provider-ephemeral-resources
hashicorp
Implementar recursos efímeros del proveedor de Terraform con el Plugin Framework: el ciclo de vida Open/Renew/Close, diseño de esquemas efímeros, registro a través de…
terraform-test
hashicorp
Guía completa para escribir y ejecutar pruebas de Terraform con aserciones, simulación y validación de módulos. Escribe archivos de prueba usando la sintaxis .tftest.hcl con bloques run que se ejecutan en modo plan o apply, soportando ejecución secuencial y paralela con aislamiento de estado opcional. Afirma condiciones sobre atributos de recursos, salidas y fuentes de datos; usa expect_failures para validar que las entradas inválidas sean rechazadas correctamente. Simula proveedores (Terraform 1.7.0+) para simular el comportamiento de la infraestructura sin...
terraform-search-import
hashicorp
Descubre recursos existentes en la nube utilizando consultas de Terraform Search e impórtalos de forma masiva a la gestión de Terraform. Úsalo al incorporar infraestructura no gestionada…
aws-ami-builder
hashicorp
Construye imágenes personalizadas de Amazon Machine con el builder amazon-ebs de Packer. Automatiza la creación de AMIs a partir de AMIs fuente usando plantillas HCL con provisionadores para personalización (scripts shell, cargas de archivos, gestión de configuración). Soporta distribución multi-región de AMIs mediante ami_regions y filtrado flexible de AMIs fuente por nombre, propietario y tipo de virtualización. Autentica mediante variables de entorno, archivo de credenciales de AWS o perfiles de instancia IAM; incluye comandos de validación y construcción para la plantilla...
tfctl
hashicorp
Interactúa con HCP Terraform / Terraform Cloud / Terraform Enterprise usando la CLI de tfctl. Cobertura completa de la API. Úsalo para CUALQUIER HCP Terraform o Terraform Cloud o…
provider-actions
hashicorp
Implementa acciones imperativas del proveedor de Terraform en eventos del ciclo de vida de recursos utilizando el Plugin Framework. Soporta disparadores de ciclo de vida antes/después de crear y antes/después de actualizar (los eventos de destrucción no están disponibles en Terraform 1.14.0). Requiere una definición de esquema adecuada con tipos de framework correctos, ElementType para colecciones y validadores para la validación de entrada. Incluye informes de progreso, gestión de tiempos de espera y manejo integral de errores para operaciones de larga duración. Implementa polling y...