- The OpenTofu Language
- Resources
Resources
Resources are the most important element in the OpenTofu language. Each resource block describes one or more infrastructure objects, such as virtual networks, compute instances, or higher-level components such as DNS records.
This section discusses the main kind of resource, known as a "managed resource", which represents an infrastructure object managed by OpenTofu.
-
Resource Blocks documents the syntax for declaring resources.
-
Resource Behavior explains in more detail how OpenTofu handles resource declarations when applying a configuration.
-
The Meta-Arguments section documents special arguments that can be used with any managed resource type, including
depends_on,count,for_each,provider, andlifecycle. -
Provisioners are post-creation actions for a resource using the
provisionerandconnectionblocks. Since provisioners are non-declarative and potentially unpredictable, we strongly recommend that you treat them as a last resort.
There are two other kinds of resources that play different roles within an OpenTofu configuration:
- Data resources declare that a configuration depends on information read from a data source outside of the configuration.
- Ephemeral resources declare transient objects that are opened only for the duration of a single OpenTofu phase, such as temporary session credentials.