Terraform
Component configuration overview
Component configuration files define the infrastructure components that make up your Stack. You write component configuration in .tfcomponent.hcl files.
Background
In component configuration files, you declare what infrastructure components are part of your Stack. Each component sources a Terraform module and represents a reusable piece of infrastructure that you can provision and manage.
Your component configuration defines multiple components that share a lifecycle you can repeatedly deploy. This helps ensure consistency across environments and reduces the complexity of provisioning at scale.
Each Stack requires at least one component block, and you must add a component block for every module you want to include in your Stack. Learn more about defining Stack component configuration files.
Configuration blocks
You can define the following blocks in component configuration files:
- The
componentblock sources individual modules that make up your Stack. Each component receives input variables and accepts providers that you declare at the Stack level. - The
required_providersblock declares which providers your component configuration requires so that Terraform can install and use them. - The
providerblock configures providers and passes that configuration to components. - The
removedblock defines components you want to remove from your Stack while ensuring proper cleanup of resources. - The
variableblock defines input variables that your deployments can set with different values. - The
outputblock defines values to expose in the HCP Terraform UI and to make available to deployments. - The
localsblock defines local values that you can reference within your component configuration.