Skills

Provider Configuration

Implement Terraform provider configuration and authentication with the Plugin...

Install

npx skills add hashicorp/agent-skills --skill provider-configuration -g -a claude-code -y
Category
Testing
Updated
7d ago
License
MPL-2.0
Context cost
Mediumabout 3,000 tokens
Runs scripts
No, instructions only

What it does

Implement Terraform provider configuration and authentication with the Plugin Framework: provider schema for credentials (Optional + Sensitive attributes), environment variable fallbacks, credential provider chains (static config, then environment variables, shared credentials file, and platform identity), unknown-value guards in Configure(), secret redaction, configure-time credential validation, and diagnostics that name every source tried. Use when implementing or reviewing a provider's Configure method or provider schema, adding authentication options (API keys, tokens, profiles, credentials files, assume-role), deciding how a provider should resolve credentials, debugging "no valid credential sources" or missing-credentials errors, or unit testing credential resolution.

Terraform Provider Configuration and Authentication

How a provider accepts connection settings and resolves credentials. Poor authentication UX is the first thing every user of a provider hits; a well-designed credential provider chain is what separates a production-grade provider from a demo. The examples use a fictional examplecloud provider and the Plugin Framework.

References (load when needed):

  • references/credential-chain.md, complete, compilable credential chain implementation (providers, chain, file profiles, Configure wiring, tests)
  • references/case-studies.md, how the AWS provider (aws-sdk-go-base) and smaller providers structure real credential chains

Provider Schema for Authentication

Every authentication attribute must be Optional, never Required, a Required attribute forces users to put credentials in configuration and makes environment-variable and credentials-file resolution impossible. Mark secrets Sensitive so Terraform redacts them in plan output, and state the environment-variable fallback in each description so tfplugindocs publishes the resolution rules.

Read the whole SKILL.md on GitHub

More in Testing