In Terraform's architecture, what is the primary role of a provider plugin?
- AIt translates Terraform resource declarations into API calls against a specific platform such as AWS, Azure, or GitHub. Correct
- BIt stores the mapping between resource addresses and real infrastructure identifiers so plans can be calculated.
- CIt defines reusable groups of resources that can be called with input variables from the root module.
- DIt locks the state file during an apply so that two runs cannot write to it at the same time.
Why A is correct: Correct: a provider is a plugin that implements resource and data source types and turns Terraform's create, read, update, and delete requests into concrete API calls against its target platform.
Why B is wrong: This describes the state file, not a provider. State tracks the resource-to-real-world mapping, whereas providers are the executable plugins that make the API calls; it is a tempting swap because both are central to how apply works.
Why C is wrong: This describes a module. Modules package configuration for reuse, but they still rely on providers to actually talk to an API; candidates conflate the two because both extend a configuration's capability.
Why D is wrong: State locking is a function of the backend, not the provider. It is a plausible distractor because both providers and backends are configured near the terraform block, but locking is unrelated to a provider's job.