> ## Documentation Index
> Fetch the complete documentation index at: https://tfts.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# TerraformDataSource

> Base class for all Terraform data sources.

`TerraformDataSource` represents a data source in Terraform.

## Meta-Arguments

All data sources support the following meta-arguments:

| Property    | Type                       | Description                         |
| :---------- | :------------------------- | :---------------------------------- |
| `dependsOn` | `ITerraformAddressable[]`  | Explicit dependencies.              |
| `count`     | `number \| TerraformCount` | Data source count.                  |
| `provider`  | `TerraformProvider`        | Specific provider instance.         |
| `forEach`   | `TerraformIterator`        | Iterator for multiple data sources. |

## Methods

### interpolationForAttribute()

```typescript theme={null}
interpolationForAttribute(attr: string): IResolvable
```

Returns an interpolation token for a specific attribute.

### getStringAttribute()

```typescript theme={null}
getStringAttribute(name: string): string
```

Returns a string attribute value.

### getNumberAttribute()

```typescript theme={null}
getNumberAttribute(name: string): number
```

Returns a number attribute value.

### getBooleanAttribute()

```typescript theme={null}
getBooleanAttribute(name: string): boolean
```

Returns a boolean attribute value.

### getListAttribute()

```typescript theme={null}
getListAttribute(name: string): string[]
```

Returns a list attribute value.

### getMapAttribute()

```typescript theme={null}
getMapAttribute(name: string): Record<string, any>
```

Returns a map attribute value.
