2020-10-27 02:15:36 +01:00
---
layout: "language"
page_title: "Resources Overview - Configuration Language"
2021-07-07 20:09:20 +02:00
description: |-
2021-07-14 22:54:26 +02:00
An introduction to the `resources` element that describes infrastructure objects in Terraform configurations.
2020-10-27 02:15:36 +01:00
---
# Resources
> **Hands-on:** Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn.
_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.
2021-01-15 23:13:53 +01:00
- [Resource Blocks ](/docs/language/resources/syntax.html ) documents
2020-11-13 03:06:32 +01:00
the syntax for declaring resources.
2021-01-15 23:13:53 +01:00
- [Resource Behavior ](/docs/language/resources/behavior.html ) explains in
2020-11-13 03:06:32 +01:00
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
2021-01-15 23:13:53 +01:00
[`depends_on` ](/docs/language/meta-arguments/depends_on.html ),
[`count` ](/docs/language/meta-arguments/count.html ),
[`for_each` ](/docs/language/meta-arguments/for_each.html ),
[`provider` ](/docs/language/meta-arguments/resource-provider.html ),
and [`lifecycle` ](/docs/language/meta-arguments/lifecycle.html ).
2020-11-13 03:06:32 +01:00
2021-01-15 23:13:53 +01:00
- [Provisioners ](/docs/language/resources/provisioners/index.html )
2020-10-27 02:15:36 +01:00
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.