blob: 0c3d230f91d6a51fca473fbd29dd613bc6ac8db4 [file] [log] [blame]
---
page_title: Resources Overview - Configuration Language
description: >-
Resources describe infrastructure objects in Terraform configurations. Find
documentation for resource syntax, behavior, and meta-arguments.
---
# Resources
> **Hands-on:** Try the [Terraform: Get Started](/terraform/tutorials/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorials.
_Resources_ are the most important element in the Terraform language.
Each resource block describes one or more infrastructure objects, such
as virtual networks, compute instances, or higher-level components such
as DNS records.
- [Resource Blocks](/terraform/language/resources/syntax) documents
the syntax for declaring resources.
- [Resource Behavior](/terraform/language/resources/behavior) explains in
more detail how Terraform handles resource declarations when applying a
configuration.
- The Meta-Arguments section documents special arguments that can be used with
every resource type, including
[`depends_on`](/terraform/language/meta-arguments/depends_on),
[`count`](/terraform/language/meta-arguments/count),
[`for_each`](/terraform/language/meta-arguments/for_each),
[`provider`](/terraform/language/meta-arguments/resource-provider),
and [`lifecycle`](/terraform/language/meta-arguments/lifecycle).
- [Provisioners](/terraform/language/resources/provisioners/syntax)
documents configuring post-creation actions for a resource using the
`provisioner` and `connection` blocks. Since provisioners are non-declarative
and potentially unpredictable, we strongly recommend that you treat them as a
last resort.