---
page_title: Resources Landing Page - Configuration Language
---

# Resources Landing Page

To improve navigation, we've split the old Resources page into several smaller
pages.

<a id="resource-syntax"></a> <a id="resource-types"></a> <a id="providers"></a> <a id="resource-arguments"></a> <a id="documentation-for-resource-types"></a> <a id="meta-arguments"></a> <a id="timeouts"></a> <a id="operation-timeouts"></a>

## Syntax and Elements of Resource Blocks

This information has moved to
[Resource Blocks](/language/resources/syntax).

<div style={{height: '100vh', margin: 0, padding: 0}} />

<a id="resource-behavior"></a> <a id="accessing-resource-attributes"></a> <a id="resource-dependencies"></a> <a id="local-only-resources"></a>

## Details of Resource Behavior

This information has moved to
[Resource Behavior](/language/resources/behavior).

<div style={{height: '100vh', margin: 0, padding: 0}} />

## Resource Meta-Arguments

Each resource meta-argument has moved to its own page:

- [`depends_on`](/language/meta-arguments/depends_on)
- [`count`](/language/meta-arguments/count)
- [`for_each`](/language/meta-arguments/for_each)
- [`provider`](/language/meta-arguments/resource-provider)
- [`lifecycle`](/language/meta-arguments/lifecycle)
- [Provisioners](/language/resources/provisioners/syntax)

<div style={{height: '100vh', margin: 0, padding: 0}} />

<a id="depends_on-explicit-resource-dependencies"></a>

### `depends_on`

This information has moved to
[`depends_on`](/language/meta-arguments/depends_on).

<div style={{height: '100vh', margin: 0, padding: 0}} />

<a id="count-multiple-resource-instances-by-count"></a> <a id="count-multiple-resource-instances"></a> <a id="the-count-object"></a> <a id="count-index"></a> <a id="referring-to-instances"></a> <a id="using-expressions-in-count"></a> <a id="when-to-use-for_each-instead-of-count"></a>

### `count`

This information has moved to
[`count`](/language/meta-arguments/count).

<div style={{height: '100vh', margin: 0, padding: 0}} />

<a id="for_each-multiple-resource-instances-defined-by-a-map-or-set-of-strings"></a> <a id="the-each-object"></a> <a id="each-key"></a> <a id="each-value"></a> <a id="using-expressions-in-for_each"></a> <a id="referring-to-instances-1"></a> <a id="using-sets"></a>

### `for_each`

This information has moved to
[`for_each`](/language/meta-arguments/for_each).

<div style={{height: '100vh', margin: 0, padding: 0}} />

<a id="provider-selecting-a-non-default-provider-configuration"></a>

### `provider`

This information has moved to
[`provider`](/language/meta-arguments/resource-provider).

<div style={{height: '100vh', margin: 0, padding: 0}} />

<a id="lifecycle-lifecycle-customizations"></a> <a id="prevent_destroy"></a> <a id="create_before_destroy"></a> <a id="ignore_changes"></a>

### `lifecycle`

This information has moved to
[`lifecycle`](/language/meta-arguments/lifecycle).

<div style={{height: '100vh', margin: 0, padding: 0}} />

<a id="provisioner-and-connection-resource-provisioners"></a>

### Provisioners

This information has moved to
[Provisioners](/language/resources/provisioners/syntax).

<div style={{height: '100vh', margin: 0, padding: 0}} />
