HCP Terraform subscription plans
HCP Terraform is a platform that uses Terraform to provision and manage infrastructure, either on demand or in response to various events. Unlike a general-purpose continuous integration (CI) system, it is deeply integrated with Terraform's workflows and data.
Hands On: Try our What is HCP Terraform - Intro and Sign Up tutorial.
Subscription plans
HCP Terraform offers free, Essentials, Standard, and Premium subscription plans. Each plan provides different features and resource limits to match your team's needs.
HCP Terraform manages plans and billing at the organization level. Each HCP Terraform user can belong to multiple organizations, which might subscribe to different billing plans. The set of features available depends on which organization you work in.
Free plan
Teams getting started with infrastructure-as-code can use most HCP Terraform's features for free, including remote Terraform execution, VCS integration, the private module registry, single-sign-on, policy enforcement, and run tasks.
Free organizations are limited to 500 managed resources. This plan supports individuals, small teams, and organizations evaluating HCP Terraform.
Essentials plan
The Essentials plan includes all free plan features plus additional collaboration capabilities for growing teams. This plan uses pay-as-you-go billing based on managed resources.
Standard plan
The Standard plan includes all Essentials plan features plus advanced governance and compliance capabilities. This plan is designed for teams that need policy enforcement, cost estimation, and enhanced security features.
Premium plan
The Premium plan includes all Standard plan features plus enterprise-grade capabilities such as audit logging, custom RBAC, and priority support. This plan is designed for large organizations with complex compliance and governance requirements.
Plan comparison
The following table compares features across HCP Terraform plans. Refer to Terraform pricing for details and pricing:
| Feature | Free | Essentials | Standard | Premium |
|---|---|---|---|---|
| Managed resources | Up to 500 | Unlimited | Unlimited | Unlimited |
| Remote Terraform execution | ✓ | ✓ | ✓ | ✓ |
| VCS integration | ✓ | ✓ | ✓ | ✓ |
| Private module registry | ✓ | ✓ | ✓ | ✓ |
| Team management | ✓ | ✓ | ✓ | ✓ |
| Run tasks | ✓ | ✓ | ✓ | ✓ |
| Concurrent runs | 1 remote, 1 agent | 3 remote, 3 agent | 10 remote, 10 agent | 30 remote, 30 agent |
| Policy enforcement | - | - | ✓ | ✓ |
| Cost estimation | - | - | ✓ | ✓ |
| Audit logging | - | - | - | ✓ |
| Custom RBAC | - | - | - | ✓ |
| SSO (SAML) | - | - | ✓ | ✓ |
| Priority support | - | - | - | ✓ |
Billing models
HCP Terraform offers two billing models to match different organizational needs.
Pay-as-you-go
Pay-as-you-go billing charges monthly based on your actual usage of managed resources. This model supports organizations with variable infrastructure needs or those wanting to start small and scale gradually.
With pay-as-you-go billing, you pay only for the resources you manage, calculated hourly. This provides flexibility and predictable costs based on your infrastructure footprint.
To activate pay-as-you-go billing, refer to Activate pay-as-you-go.
HashiCorp Flex
HashiCorp Flex provides committed usage pricing with volume discounts. This model supports organizations with predictable infrastructure needs who want to optimize costs through annual commitments.
Flex plans offer greater discounts at larger scale compared to pay-as-you-go billing. Contact your HashiCorp account team to discuss Flex options.
To activate Flex billing, refer to Activate Flex.
Contract plans
Organizations with enterprise agreements can work with HashiCorp sales to create custom contract plans. Contract plans can include volume discounts, committed usage, and bundled features tailored to your organization's needs.
Contact HashiCorp Sales to discuss contract options.
Pricing
HCP Terraform pricing varies by plan and billing model. The following sections explain how pricing works and provide example calculations.
How pricing works
HCP Terraform pricing is based on managed resources for Essentials, Standard, and Premium plans. HashiCorp charges for each managed resource on a per-hour basis, from the time a managed resource is provisioned until it is destroyed.
Each partial hour is billed as a full hour. The peak number of managed resources in a given hour determines the cost for that hour.
Pricing by plan
HCP Terraform pricing is based on your plan:
- Free plan: No charge for up to 500 managed resources.
- Essentials plan: Pay-as-you-go billing per managed resource per hour. Refer to the pricing page for current rates.
- Standard and Premium plans: Contact HashiCorp Sales for pricing information.
Refer to Estimate HCP Terraform cost for more information, including an example cost calculation.
Billing cycles
HCP Terraform bills monthly based on your usage during the billing period. You can view your current usage and billing information in the HashiCorp Cloud Platform portal, which refreshes hourly.
Managed resources
Understanding managed resources is essential for estimating costs and managing your HCP Terraform usage.
What is a managed resource
A managed resource is a resource in an HCP Terraform-managed state file where mode = "managed". HCP Terraform counts a resource as part of this count starting from the first terraform plan or terraform apply operation on the resource.
HCP Terraform combines workspace and Stacks resources under management when calculating costs.
Examples of managed resources include:
- Resources provisioned by a Terraform provider (for example, an AWS VPC)
- Resources created by count and for_each meta-arguments
- Resources provisioned by modules and no-code ready modules
What does not count as a managed resource
HCP Terraform does not include the following in the total managed resource count:
- Resources defined as a
null_resource - Resources defined as a
terraform_dataresource - Data sources (resources where
mode = "data") - Local values and variables
View your managed resource count
You can open the Usage report page for an at-a-glance view of resource usage and other information. Refer to Estimate costs for more information.
Technical limits
Each HCP Terraform plan has specific technical limits for resources, concurrency, API usage, teams, and governance features.
Resource limits
| Limit | Free | Essentials | Standard | Premium |
|---|---|---|---|---|
| Managed resources | 500 | Unlimited | Unlimited | Unlimited |
| Workspaces | Unlimited | Unlimited | Unlimited | Unlimited |
| Stacks | Unlimited | Unlimited | Unlimited | Unlimited |
| Projects | Unlimited | Unlimited | Unlimited | Unlimited |
Concurrency limits
| Limit | Free | Essentials | Standard | Premium |
|---|---|---|---|---|
| Concurrent remote runs | 1 | 3 | 10 | 30 |
| Concurrent agent runs | 1 | 3 | 10 | 30 |
| Additional concurrency | Not available | Not available | Available for purchase | Available for purchase |
Organizations on Standard or Premium plans can purchase additional concurrency. Refer to Manage your plan for details.
API rate limits
| Limit | Free | Essentials | Standard | Premium |
|---|---|---|---|---|
| API requests per minute | 30 | 30 | 30 | 30 |
Team and access limits
| Limit | Free | Essentials | Standard | Premium |
|---|---|---|---|---|
| Team members | Unlimited | Unlimited | Unlimited | Unlimited |
| Teams | Unlimited | Unlimited | Unlimited | Unlimited |
| SSO (SAML) | Not available | Not available | ✓ | ✓ |
| Custom RBAC | Not available | Not available | Not available | ✓ |
Policy and governance limits
| Limit | Free | Essentials | Standard | Premium |
|---|---|---|---|---|
| Policy sets | Not available | Not available | Unlimited | Unlimited |
| Policies per set | Not available | Not available | Unlimited | Unlimited |
| Cost estimation | Not available | Not available | ✓ | ✓ |
| Audit logging | Not available | Not available | Not available | ✓ |
Terraform workflow
HCP Terraform runs the Terraform CLI to provision infrastructure. In its default state, the Terraform CLI uses a local workflow, performing operations on the workstation where it is invoked and storing state in a local directory.
HCP Terraform lets you organize and manage infrastructure using workspaces or Stacks.
- Workspaces manage a self-contained infrastructure of one Terraform root module.
- Stacks manage multiple infrastructure modules and repeat that infrastructure at scale.
To learn whether a workspace or a Stack fits your use case, refer to Choose workspaces or Stacks.
Working with Terraform in a team requires a remote workflow.
HCP Terraform offers a team-oriented remote Terraform workflow, designed for existing Terraform users and new users.
Remote Terraform execution
HCP Terraform runs Terraform on disposable virtual machines in its own cloud infrastructure by default. You can leverage HCP Terraform agents to run Terraform on your own isolated, private, or on-premises infrastructure.
Remote execution helps provide consistency and visibility for critical provisioning operations.
To learn more about workspace runs, refer to Runs and Remote Operations. To learn more about Stacks runs, refer to Stack deployment runs.
Workspace support for local execution
You can disable remote execution for specific workspaces by changin the Execution mode setting. The workspace still hosts remote state, and Terraform CLI can use that state for local runs using the HCP Terraform CLI integration.
Organize infrastructure with projects
Terraform's local workflow manages a collection of infrastructure with a persistent working directory, which contains configuration, state data, and variables. You can use separate directories to organize infrastructure resources into meaningful groups, and Terraform uses the configuration in the directory you invoke Terraform commands from.
HCP Terraform organizes infrastructure into projects that contain workspaces and Stacks. Each workspace contains everything necessary to manage a single Terraform configuration. Stacks use a component architecture based on modules to repeatedly deploy infrastructure, letting Terraform manage your infrastructure at scale.
You can use projects to organize your workspaces and Stacks into groups. Organizations with HCP Terraform Essentials edition can assign teams permissions for specific projects.
Projects let you grant access to collections of workspaces and Stacks, instead of using workspace or organization-wide permissions, making it easier to limit access to only the resources required for a team member's job function.
Refer to Projects for more details.
Remote state management and data storage
HCP Terraform acts as a remote backend for your Terraform state. In workspaces, state storage is tied to that workspace, helping keep state associated with the configuration that created it. In Stacks, each deployment stores and updates its own isolated remote state.
Workspaces can share information between each other with root-level outputs. Separate groups of infrastructure resources often need to share a small amount of information, and workspace outputs provide an interface for these dependencies.
Workspaces that use remote operations can use terraform_remote_state data sources to access other workspaces' outputs, subject to per-workspace access controls. Because information from one workspace might change the desired infrastructure state in another, you can create workspace-to-workspace run triggers to ensure downstream workspaces react when their dependencies change.
Stacks can also directly share information with each other in the same project, letting you manage the infrastructure independently. Refer to Pass data from one Stack to another for more details.
Version control integration
HCP Terraform is designed to work directly with your version control system (VCS) provider.
You can link each workspace to a VCS repository that contains its configuration and optionally specify a branch and subdirectory. You can also link Stacks to a VCS repository. By default, HCP Terraform automatically retrieves configuration content from linked repositories, and watches the repository for changes:
- When commits are merged, linked workspaces and Stacks automatically run Terraform plans with the new code.
- When pull requests are opened, linked workspaces and Stacks run speculative plans with the proposed code changes and post the results as a pull request check. Reviewers can see at a glance whether the plan was successful, and can click through to view the proposed changes in detail.
VCS integration is optional. If you use an unsupported VCS or want to preserve an existing validation and deployment pipeline, you can use the API or Terraform CLI to upload new configuration versions. You'll still get the benefits of remote execution and HCP Terraform's other features.
Refer to the following topics for more information:
Command line integration
Remote execution benefits teams, while local execution benefits individual developers. For example, most Terraform users run terraform plan to interactively check their work while editing configurations.
HCP Terraform allows you to run remote plans from your local command line.
Remote CLI-driven runs use the current working directory's Terraform configuration and the remote workspace's variables, so you don't need to obtain production cloud credentials to preview a configuration change.
The HCP Terraform CLI integration also supports state manipulation commands such as terraform import or terraform taint.
If you are working with a Stack, you can use the terraform stacks commands to manage your Stack and its configuration, deployments, and more from the command line. Refer to terraform stacks reference for more information.
Private Registry
Teams can benefit by codifying commonly used infrastructure patterns into reusable modules.
Terraform can fetch providers and modules from many sources. HCP Terraform provides a private registry to find providers and modules. Users throughout your organization can browse a directory of internal providers and modules, and can specify flexible version constraints for the modules they use in their configurations. Versioning lets module consumers use private modules with confidence, and frees module creators to iterate faster.
The private registry uses your VCS as the source of truth, relying on Git tags to manage module versions. Tell HCP Terraform which repositories contain modules, and the registry handles the rest. Refer to Private Registry for more information.
Integrations
HCP Terraform extends the core Terraform workflow and integrates workspace infrastructure provisioning with your business's other systems.
Full API
Nearly all of HCP Terraform's features are available in its API, which means other services can create or configure workspaces or Stacks, upload configurations, start Terraform runs, and more. The Terraform provider based on the API lets you manage your HCP Terraform teams and workspaces as a Terraform configuration.
Refer to the API reference documentation for more information.
Notifications
HCP Terraform can send notifications about workspace runs to other systems, including Slack and any other service that accepts webhooks. Notifications are configured per-workspace.
Refer to Notifications for more information.
Run tasks
Run tasks let workspaces execute tasks in external systems at specific points in the HCP Terraform run lifecycle.
There are several partner integrations already available for workspaces, or you can create your own based on the API.
Refer to Run Tasks for more information.
Access control and governance
Larger organizations are more complex, and tend to use access controls and explicit policies to help manage that complexity. HCP Terraform's paid upgrade plans provide extra features to help meet the control and governance needs of large organizations.
Team-based permissions system
With HCP Terraform's team management, you can define groups of users that match your organization's real-world teams and assign them only the permissions they need. When combined with the access controls your VCS provider already offers for code, workspace, project, and Stack permissions are an effective way to follow the principle of least privilege.
Refer to Permissions for more information.
Policy enforcement
Note: HCP Terraform Free edition includes one policy set of up to five policies. In HCP Terraform Standard and Premium editions, you can connect a policy set to a version control repository or create policy set versions with the API. Refer to HCP Terraform pricing for details.
Policy-as-code lets you define and enforce granular policies for workspaces to control how your organization provisions infrastructure. You can limit the size of compute VMs, confine major updates to defined maintenance windows, and much more.
You can use the Sentinel and the Open Policy Agent (OPA) policy-as-code frameworks to define policies. Depending on the settings, policies can act as advisory warnings, firm requirements that prevent Terraform from provisioning infrastructure, or soft requirements that your compliance team can bypass when appropriate.
Refer to Policy Enforcement for details.
Cost estimation
Before making changes to infrastructure in the major cloud providers, workspaces can display an estimate of their total cost, as well as any change in cost caused by the proposed updates. You can also use cost estimates in Sentinel policies to provide warnings about major price shifts.
- More info: Cost Estimation
Next steps
Use the following resources to get started with HCP Terraform billing and plan management.
- Estimate your costs: Calculate expected costs for your infrastructure
- Activate pay-as-you-go: Enable pay-as-you-go billing
- Activate Flex: Enable Flex billing with committed usage
- Manage your plan: Upgrade, downgrade, or purchase additional concurrency