> For the complete documentation index, see [llms.txt](https://docs.infraglide.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.infraglide.com/terraform-iac-engine/provider-versions.md).

# Provider & Plugin Management

Each pipeline pins a **cloud provider plugin version** and a **Terraform CLI version**. Pins keep plans reproducible and drive which resource schemas the UI enables.

***

### Overview

![alt text](/files/LM6KPCBSbLPUzo5pbvWO)

***

### What Is Pinned

Each pipeline saves:

* **Cloud Provider Version** — e.g. AWS 5.83.0, GCP 6.0.0, or Azure 4.30.0
* **Terraform CLI Version** — execution engine version pin

New pipeline versions inherit provider and CLI version pins from their parent version.

***

### Version Catalogs

Version catalogs maintain supported provider and CLI versions:

| Provider | Default / Selectable Versions | Terraform CLI Compatibility   |
| -------- | ----------------------------- | ----------------------------- |
| AWS      | 5.83.0                        | Modern Terraform CLI versions |
| GCP      | 6.0.0, 7.39.0                 | Modern Terraform CLI versions |
| Azure    | 4.30.0                        | Modern Terraform CLI versions |

![alt text](/files/et1oR32bro7V7gRnG2bZ)

Resolution order:

1. Per-pipeline explicit pin
2. Workspace environment policies
3. Catalog default version
4. Platform fallbacks

Generated configurations automatically include the matching provider plugin requirements.

***

### Changing Versions in the UI

#### At Pipeline Creation

When creating a new pipeline, the **Create Pipeline** modal lets you select the provider version before saving.

![alt text](/files/1rb2BcVLG9RjKueq31pn)

#### In the Designer (Saved Pipeline)

The **provider version pill** appears in the toolbar status chips area (visible on `lg` screens and above). It displays:

```
{provider} {version} · Terraform {tf-version}
```

For saved pipelines, clicking the pill opens the **Change Provider Version** dialog:

![alt text](/files/G9cSMvBp1UVHb6c4EUgL)

* Select a new provider version from the catalog dropdown.
* Upgrades create a **new pipeline version** so state and schemas stay coherent.
* After upgrading, incompatible resource types are visually flagged in the component library.

Resource forms automatically adapt fields based on the selected provider version.

***

### Provider Version Pill (Status Chips)

The toolbar status bar shows three pieces of ambient status:

1. **Provider version pill** — `{provider} {version} · Terraform {tf-version}`
2. **Save status** — "Unsaved changes" or "All changes saved"
3. **Collaborator avatars** — appears when other users are co-editing

This pill is read-only for unsaved pipelines. On saved pipelines, it is clickable to open the Change Provider Version dialog.

***

### Terraform CLI Binary Execution

InfraGlide manages Terraform binary execution for consistent plan, deploy, and destroy workflows. The platform handles binary dependencies automatically so your infrastructure pipelines execute predictably.

Provider lockfiles are managed around execution initialization:

* Restored before initialization so provider plugin hashes match.
* Saved after initialization to persist newly resolved provider versions.
* Regeneration ensures lockfile synchronization whenever providers are updated.

See [State File & Backend Management](/terraform-iac-engine/state-management.md) for concurrency locks vs provider lockfiles.

***

### Tips

* Prefer upgrading provider versions on a new pipeline version, then Preview before Deploy.
* After a pin change, re-open resource forms — some attributes appear or disappear by schema version.
* Keep org-allowed cloud providers aligned with the pipelines you create (Settings → cloud provider policy).
* Resources incompatible with the pinned version appear greyed out in the Component Library with an explanatory tooltip.

***

### See also

* [Real-Time Terraform Code Generation](/terraform-iac-engine/code-generation.md)
* [Pipeline Versioning](/visual-canvas-and-pipeline-designer/versioning.md)
* [Plan, Deploy & Destroy Actions](/deployments-and-execution-history/execution-actions.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.infraglide.com/terraform-iac-engine/provider-versions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
