provider-resources

Automate Terraform provider resource and data source creation with the Plugin Framework.

Updated Mar 8, 2026
One-click install
npx skills add https://github.com/hashi-demo-lab/terraform-provider-aap --skill provider-resources-hashi-demo-lab
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: provider-resources
Source: https://github.com/hashi-demo-lab/terraform-provider-aap/tree/main/.claude/skills/provider-resources
Command: npx skills add https://github.com/hashi-demo-lab/terraform-provider-aap --skill provider-resources-hashi-demo-lab

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Terraform provider development requires a cohesive pattern for building resources and data sources with the Plugin Framework to manage infrastructure reliably.

Core Features & Use Cases

  • Guides on implementing Create, Read, Update, Delete (CRUD) operations for resources and data sources.
  • Emphasizes schema design, state management, and acceptance testing within the internal/service structure.
  • Provides a reference structure for resource and data source code, tests, and documentation.

Quick Start

Create a new Terraform provider resource or data source using the Plugin Framework and wire it into your provider's service layer for CRUD, validation, and testing.

Frequently Asked Questions about provider-resources

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a Terraform provider resource with CRUD operations using the Plugin Framework?

To build a Terraform provider resource with CRUD operations, implement Create, Read, Update, and Delete methods within the internal/service package structure using the Plugin Framework. This provides robust schema design, state management, and lifecycle handling for infrastructure management.

What is the required structure for Terraform provider data sources and tests?

The required structure for Terraform provider data sources and tests organizes code, tests, and documentation within an internal/service directory. This structure ensures proper validation, acceptance testing integration, and documentation generation for reliable data source implementation.

How does state management work when implementing Terraform provider resources?

State management in Terraform provider resources involves reading and writing resource state during CRUD operations within the Plugin Framework. It ensures the provider accurately tracks infrastructure changes across the resource lifecycle by mapping schema attributes to current state.

Do I need acceptance testing when developing Terraform data sources with the provider framework?

Yes, acceptance testing is required when developing Terraform data sources with the provider framework. It validates end-to-end CRUD behavior, schema enforcement, and state management through automated tests within the internal/service package structure.

What's the best way to organize Terraform provider code for multiple data sources?

The best way to organize Terraform provider code for multiple data sources is using an internal/service package structure. This separates each data source's schema, CRUD logic, and documentation, enabling maintainable validation and testing integration.

Why does my Terraform provider resource fail acceptance testing during CRUD validation?

Terraform provider resource acceptance testing fails during CRUD validation when schema attributes, state management, or lifecycle operations are incorrectly mapped within the internal/service package. Proper Plugin Framework implementation and robust schema design are required to pass tests.