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

# Typescript: DataResource

> CDKTN Core API Reference for DataResource in Typescript.

The DataResource implements the standard resource lifecycle, but does not directly take any other actions.

You can use the DataResource resource without requiring or configuring a provider.

The DataResource resource is useful for storing values which need to follow a manage resource lifecycle, and for triggering provisioners when there is no other logical managed resource in which to place them.

It requires Terraform 1.4 or later.

It is also possible to generate these bindings by adding "terraform.io/builtin/terraform" to the "terraformProviders" key in your cdktf.json file and running "cdktn get".

[https://developer.hashicorp.com/terraform/language/resources/terraform-data](https://developer.hashicorp.com/terraform/language/resources/terraform-data)

## Initializers <a name="Initializers" id="cdktn.DataResource.Initializer" />

```typescript theme={null}
import { DataResource } from 'cdktn'

new DataResource(scope: Construct, id: string, config?: DataConfig)
```

| **Name**                                                                           | **Type**                                                | **Description**                              |
| ---------------------------------------------------------------------------------- | ------------------------------------------------------- | -------------------------------------------- |
| <code><a href="#cdktn.DataResource.Initializer.parameter.scope">scope</a></code>   | <code>constructs.Construct</code>                       | The scope in which to define this construct. |
| <code><a href="#cdktn.DataResource.Initializer.parameter.id">id</a></code>         | <code>string</code>                                     | The scoped construct ID.                     |
| <code><a href="#cdktn.DataResource.Initializer.parameter.config">config</a></code> | <code><a href="#cdktn.DataConfig">DataConfig</a></code> | *No description.*                            |

***

### `scope`<sup>Required</sup> <a name="scope" id="cdktn.DataResource.Initializer.parameter.scope" />

* *Type:* constructs.Construct

The scope in which to define this construct.

***

### `id`<sup>Required</sup> <a name="id" id="cdktn.DataResource.Initializer.parameter.id" />

* *Type:* string

The scoped construct ID.

Must be unique amongst siblings in the same scope

***

### `config`<sup>Optional</sup> <a name="config" id="cdktn.DataResource.Initializer.parameter.config" />

* *Type:* <a href="#cdktn.DataConfig">DataConfig</a>

***

## Methods <a name="Methods" id="Methods" />

| **Name**                                                                                           | **Description**                                                                                                                     |
| -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| <code><a href="#cdktn.DataResource.toString">toString</a></code>                                   | Returns a string representation of this construct.                                                                                  |
| <code><a href="#cdktn.DataResource.with">with</a></code>                                           | Applies one or more mixins to this construct.                                                                                       |
| <code><a href="#cdktn.DataResource.addOverride">addOverride</a></code>                             | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.overrideLogicalId">overrideLogicalId</a></code>                 | Overrides the auto-generated logical ID with a specific ID.                                                                         |
| <code><a href="#cdktn.DataResource.resetOverrideLogicalId">resetOverrideLogicalId</a></code>       | Resets a previously passed logical Id to use the auto-generated logical id again.                                                   |
| <code><a href="#cdktn.DataResource.toHclTerraform">toHclTerraform</a></code>                       | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.toMetadata">toMetadata</a></code>                               | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.toTerraform">toTerraform</a></code>                             | Adds this resource to the terraform JSON output.                                                                                    |
| <code><a href="#cdktn.DataResource.addMoveTarget">addMoveTarget</a></code>                         | Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move. |
| <code><a href="#cdktn.DataResource.getAnyMapAttribute">getAnyMapAttribute</a></code>               | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.getBooleanAttribute">getBooleanAttribute</a></code>             | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.getBooleanMapAttribute">getBooleanMapAttribute</a></code>       | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.getListAttribute">getListAttribute</a></code>                   | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.getNumberAttribute">getNumberAttribute</a></code>               | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.getNumberListAttribute">getNumberListAttribute</a></code>       | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.getNumberMapAttribute">getNumberMapAttribute</a></code>         | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.getStringAttribute">getStringAttribute</a></code>               | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.getStringMapAttribute">getStringMapAttribute</a></code>         | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.hasResourceMove">hasResourceMove</a></code>                     | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.importFrom">importFrom</a></code>                               | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.moveFromId">moveFromId</a></code>                               | Move the resource corresponding to "id" to this resource.                                                                           |
| <code><a href="#cdktn.DataResource.moveTo">moveTo</a></code>                                       | Moves this resource to the target resource given by moveTarget.                                                                     |
| <code><a href="#cdktn.DataResource.moveToId">moveToId</a></code>                                   | Moves this resource to the resource corresponding to "id".                                                                          |
| <code><a href="#cdktn.DataResource.resetInput">resetInput</a></code>                               | *No description.*                                                                                                                   |
| <code><a href="#cdktn.DataResource.resetTriggersReplace">resetTriggersReplace</a></code>           | *No description.*                                                                                                                   |

***

### `toString` <a name="toString" id="cdktn.DataResource.toString" />

```typescript theme={null}
public toString(): string
```

Returns a string representation of this construct.

### `with` <a name="with" id="cdktn.DataResource.with" />

```typescript theme={null}
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

#### `mixins`<sup>Required</sup> <a name="mixins" id="cdktn.DataResource.with.parameter.mixins" />

* *Type:* ...constructs.IMixin\[]

The mixins to apply.

***

### `addOverride` <a name="addOverride" id="cdktn.DataResource.addOverride" />

```typescript theme={null}
public addOverride(path: string, value: any): void
```

#### `path`<sup>Required</sup> <a name="path" id="cdktn.DataResource.addOverride.parameter.path" />

* *Type:* string

***

#### `value`<sup>Required</sup> <a name="value" id="cdktn.DataResource.addOverride.parameter.value" />

* *Type:* any

***

### `overrideLogicalId` <a name="overrideLogicalId" id="cdktn.DataResource.overrideLogicalId" />

```typescript theme={null}
public overrideLogicalId(newLogicalId: string): void
```

Overrides the auto-generated logical ID with a specific ID.

#### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="cdktn.DataResource.overrideLogicalId.parameter.newLogicalId" />

* *Type:* string

The new logical ID to use for this stack element.

***

### `resetOverrideLogicalId` <a name="resetOverrideLogicalId" id="cdktn.DataResource.resetOverrideLogicalId" />

```typescript theme={null}
public resetOverrideLogicalId(): void
```

Resets a previously passed logical Id to use the auto-generated logical id again.

### `toHclTerraform` <a name="toHclTerraform" id="cdktn.DataResource.toHclTerraform" />

```typescript theme={null}
public toHclTerraform(): any
```

### `toMetadata` <a name="toMetadata" id="cdktn.DataResource.toMetadata" />

```typescript theme={null}
public toMetadata(): any
```

### `toTerraform` <a name="toTerraform" id="cdktn.DataResource.toTerraform" />

```typescript theme={null}
public toTerraform(): any
```

Adds this resource to the terraform JSON output.

### `addMoveTarget` <a name="addMoveTarget" id="cdktn.DataResource.addMoveTarget" />

```typescript theme={null}
public addMoveTarget(moveTarget: string): void
```

Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.

#### `moveTarget`<sup>Required</sup> <a name="moveTarget" id="cdktn.DataResource.addMoveTarget.parameter.moveTarget" />

* *Type:* string

The string move target that will correspond to this resource.

***

### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="cdktn.DataResource.getAnyMapAttribute" />

```typescript theme={null}
public getAnyMapAttribute(terraformAttribute: string): {[ key: string ]: any}
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.DataResource.getAnyMapAttribute.parameter.terraformAttribute" />

* *Type:* string

***

### `getBooleanAttribute` <a name="getBooleanAttribute" id="cdktn.DataResource.getBooleanAttribute" />

```typescript theme={null}
public getBooleanAttribute(terraformAttribute: string): IResolvable
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.DataResource.getBooleanAttribute.parameter.terraformAttribute" />

* *Type:* string

***

### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="cdktn.DataResource.getBooleanMapAttribute" />

```typescript theme={null}
public getBooleanMapAttribute(terraformAttribute: string): {[ key: string ]: boolean}
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.DataResource.getBooleanMapAttribute.parameter.terraformAttribute" />

* *Type:* string

***

### `getListAttribute` <a name="getListAttribute" id="cdktn.DataResource.getListAttribute" />

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

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.DataResource.getListAttribute.parameter.terraformAttribute" />

* *Type:* string

***

### `getNumberAttribute` <a name="getNumberAttribute" id="cdktn.DataResource.getNumberAttribute" />

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

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.DataResource.getNumberAttribute.parameter.terraformAttribute" />

* *Type:* string

***

### `getNumberListAttribute` <a name="getNumberListAttribute" id="cdktn.DataResource.getNumberListAttribute" />

```typescript theme={null}
public getNumberListAttribute(terraformAttribute: string): number[]
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.DataResource.getNumberListAttribute.parameter.terraformAttribute" />

* *Type:* string

***

### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="cdktn.DataResource.getNumberMapAttribute" />

```typescript theme={null}
public getNumberMapAttribute(terraformAttribute: string): {[ key: string ]: number}
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.DataResource.getNumberMapAttribute.parameter.terraformAttribute" />

* *Type:* string

***

### `getStringAttribute` <a name="getStringAttribute" id="cdktn.DataResource.getStringAttribute" />

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

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.DataResource.getStringAttribute.parameter.terraformAttribute" />

* *Type:* string

***

### `getStringMapAttribute` <a name="getStringMapAttribute" id="cdktn.DataResource.getStringMapAttribute" />

```typescript theme={null}
public getStringMapAttribute(terraformAttribute: string): {[ key: string ]: string}
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.DataResource.getStringMapAttribute.parameter.terraformAttribute" />

* *Type:* string

***

### `hasResourceMove` <a name="hasResourceMove" id="cdktn.DataResource.hasResourceMove" />

```typescript theme={null}
public hasResourceMove(): TerraformResourceMoveByTarget | TerraformResourceMoveById
```

### `importFrom` <a name="importFrom" id="cdktn.DataResource.importFrom" />

```typescript theme={null}
public importFrom(id: string, provider?: TerraformProvider): void
```

#### `id`<sup>Required</sup> <a name="id" id="cdktn.DataResource.importFrom.parameter.id" />

* *Type:* string

***

#### `provider`<sup>Optional</sup> <a name="provider" id="cdktn.DataResource.importFrom.parameter.provider" />

* *Type:* <a href="#cdktn.TerraformProvider">TerraformProvider</a>

***

### `interpolationForAttribute` <a name="interpolationForAttribute" id="cdktn.DataResource.interpolationForAttribute" />

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

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.DataResource.interpolationForAttribute.parameter.terraformAttribute" />

* *Type:* string

***

### `moveFromId` <a name="moveFromId" id="cdktn.DataResource.moveFromId" />

```typescript theme={null}
public moveFromId(id: string): void
```

Move the resource corresponding to "id" to this resource.

Note that the resource being moved from must be marked as moved using it's instance function.

#### `id`<sup>Required</sup> <a name="id" id="cdktn.DataResource.moveFromId.parameter.id" />

* *Type:* string

Full id of resource being moved from, e.g. "aws\_s3\_bucket.example".

***

### `moveTo` <a name="moveTo" id="cdktn.DataResource.moveTo" />

```typescript theme={null}
public moveTo(moveTarget: string, index?: string | number): void
```

Moves this resource to the target resource given by moveTarget.

#### `moveTarget`<sup>Required</sup> <a name="moveTarget" id="cdktn.DataResource.moveTo.parameter.moveTarget" />

* *Type:* string

The previously set user defined string set by .addMoveTarget() corresponding to the resource to move to.

***

#### `index`<sup>Optional</sup> <a name="index" id="cdktn.DataResource.moveTo.parameter.index" />

* *Type:* string | number

Optional The index corresponding to the key the resource is to appear in the foreach of a resource to move to.

***

### `moveToId` <a name="moveToId" id="cdktn.DataResource.moveToId" />

```typescript theme={null}
public moveToId(id: string): void
```

Moves this resource to the resource corresponding to "id".

#### `id`<sup>Required</sup> <a name="id" id="cdktn.DataResource.moveToId.parameter.id" />

* *Type:* string

Full id of resource to move to, e.g. "aws\_s3\_bucket.example".

***

### `resetInput` <a name="resetInput" id="cdktn.DataResource.resetInput" />

```typescript theme={null}
public resetInput(): void
```

### `resetTriggersReplace` <a name="resetTriggersReplace" id="cdktn.DataResource.resetTriggersReplace" />

```typescript theme={null}
public resetTriggersReplace(): void
```

## Static Functions <a name="Static Functions" id="Static Functions" />

| **Name**                                                                                       | **Description**                                                                               |
| ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| <code><a href="#cdktn.DataResource.isConstruct">isConstruct</a></code>                         | Checks if `x` is a construct.                                                                 |
| <code><a href="#cdktn.DataResource.isTerraformElement">isTerraformElement</a></code>           | *No description.*                                                                             |
| <code><a href="#cdktn.DataResource.isTerraformResource">isTerraformResource</a></code>         | *No description.*                                                                             |
| <code><a href="#cdktn.DataResource.generateConfigForImport">generateConfigForImport</a></code> | Generates CDKTN code for importing a Data resource upon running "cdktn plan \< stack-name >". |

***

### `isConstruct` <a name="isConstruct" id="cdktn.DataResource.isConstruct" />

```typescript theme={null}
import { DataResource } from 'cdktn'

DataResource.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

#### `x`<sup>Required</sup> <a name="x" id="cdktn.DataResource.isConstruct.parameter.x" />

* *Type:* any

Any object.

***

### `isTerraformElement` <a name="isTerraformElement" id="cdktn.DataResource.isTerraformElement" />

```typescript theme={null}
import { DataResource } from 'cdktn'

DataResource.isTerraformElement(x: any)
```

#### `x`<sup>Required</sup> <a name="x" id="cdktn.DataResource.isTerraformElement.parameter.x" />

* *Type:* any

***

### `isTerraformResource` <a name="isTerraformResource" id="cdktn.DataResource.isTerraformResource" />

```typescript theme={null}
import { DataResource } from 'cdktn'

DataResource.isTerraformResource(x: any)
```

#### `x`<sup>Required</sup> <a name="x" id="cdktn.DataResource.isTerraformResource.parameter.x" />

* *Type:* any

***

### `generateConfigForImport` <a name="generateConfigForImport" id="cdktn.DataResource.generateConfigForImport" />

```typescript theme={null}
import { DataResource } from 'cdktn'

DataResource.generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: TerraformProvider)
```

Generates CDKTN code for importing a Data resource upon running "cdktn plan \< stack-name >".

#### `scope`<sup>Required</sup> <a name="scope" id="cdktn.DataResource.generateConfigForImport.parameter.scope" />

* *Type:* constructs.Construct

The scope in which to define this construct.

***

#### `importToId`<sup>Required</sup> <a name="importToId" id="cdktn.DataResource.generateConfigForImport.parameter.importToId" />

* *Type:* string

The construct id used in the generated config for the Data to import.

***

#### `importFromId`<sup>Required</sup> <a name="importFromId" id="cdktn.DataResource.generateConfigForImport.parameter.importFromId" />

* *Type:* string

The id of the existing Data that should be imported.

Refer to the [import section](https://terraform.io/providers/builtin/terraform/latest/docs/resources/data#import) in the documentation of this resource for the id to use

***

#### `provider`<sup>Optional</sup> <a name="provider" id="cdktn.DataResource.generateConfigForImport.parameter.provider" />

* *Type:* <a href="#cdktn.TerraformProvider">TerraformProvider</a>

? Optional instance of the provider where the Data to import is found.

***

## Properties <a name="Properties" id="Properties" />

| **Name**                                                                                                      | **Type**                                                                                                                                                                                                   | **Description**                                                                                                   |
| ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| <code><a href="#cdktn.DataResource.property.node">node</a></code>                                             | <code>constructs.Node</code>                                                                                                                                                                               | The tree node.                                                                                                    |
| <code><a href="#cdktn.DataResource.property.cdktfStack">cdktfStack</a></code>                                 | <code><a href="#cdktn.TerraformStack">TerraformStack</a></code>                                                                                                                                            | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.fqn">fqn</a></code>                                               | <code>string</code>                                                                                                                                                                                        | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.friendlyUniqueId">friendlyUniqueId</a></code>                     | <code>string</code>                                                                                                                                                                                        | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.terraformMetaArguments">terraformMetaArguments</a></code>         | <code>\{\[ key: string ]: any}</code>                                                                                                                                                                      | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.terraformResourceType">terraformResourceType</a></code>           | <code>string</code>                                                                                                                                                                                        | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.terraformGeneratorMetadata">terraformGeneratorMetadata</a></code> | <code><a href="#cdktn.TerraformProviderGeneratorMetadata">TerraformProviderGeneratorMetadata</a></code>                                                                                                    | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.connection">connection</a></code>                                 | <code><a href="#cdktn.SSHProvisionerConnection">SSHProvisionerConnection</a> \| <a href="#cdktn.WinrmProvisionerConnection">WinrmProvisionerConnection</a></code>                                          | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.count">count</a></code>                                           | <code>number \| <a href="#cdktn.TerraformCount">TerraformCount</a></code>                                                                                                                                  | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.dependsOn">dependsOn</a></code>                                   | <code>string\[]</code>                                                                                                                                                                                     | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.forEach">forEach</a></code>                                       | <code><a href="#cdktn.ITerraformIterator">ITerraformIterator</a></code>                                                                                                                                    | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.lifecycle">lifecycle</a></code>                                   | <code><a href="#cdktn.TerraformResourceLifecycle">TerraformResourceLifecycle</a></code>                                                                                                                    | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.provider">provider</a></code>                                     | <code><a href="#cdktn.TerraformProvider">TerraformProvider</a></code>                                                                                                                                      | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.provisioners">provisioners</a></code>                             | <code><a href="#cdktn.FileProvisioner">FileProvisioner</a> \| <a href="#cdktn.LocalExecProvisioner">LocalExecProvisioner</a> \| <a href="#cdktn.RemoteExecProvisioner">RemoteExecProvisioner</a>\[]</code> | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.id">id</a></code>                                                 | <code>string</code>                                                                                                                                                                                        | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.output">output</a></code>                                         | <code><a href="#cdktn.AnyMap">AnyMap</a></code>                                                                                                                                                            | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.inputInput">inputInput</a></code>                                 | <code>\{\[ key: string ]: any}</code>                                                                                                                                                                      | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.triggersReplaceInput">triggersReplaceInput</a></code>             | <code>\{\[ key: string ]: any}</code>                                                                                                                                                                      | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.input">input</a></code>                                           | <code>\{\[ key: string ]: any}</code>                                                                                                                                                                      | (Optional) A value which will be stored in the instance state, and reflected in the output attribute after apply. |
| <code><a href="#cdktn.DataResource.property.triggersReplace">triggersReplace</a></code>                       | <code>\{\[ key: string ]: any}</code>                                                                                                                                                                      | (Optional) A value which is stored in the instance state, and will force replacement when the value changes.      |

***

### `node`<sup>Required</sup> <a name="node" id="cdktn.DataResource.property.node" />

```typescript theme={null}
public readonly node: Node;
```

* *Type:* constructs.Node

The tree node.

***

### `cdktfStack`<sup>Required</sup> <a name="cdktfStack" id="cdktn.DataResource.property.cdktfStack" />

```typescript theme={null}
public readonly cdktfStack: TerraformStack;
```

* *Type:* <a href="#cdktn.TerraformStack">TerraformStack</a>

***

### `fqn`<sup>Required</sup> <a name="fqn" id="cdktn.DataResource.property.fqn" />

```typescript theme={null}
public readonly fqn: string;
```

* *Type:* string

***

### `friendlyUniqueId`<sup>Required</sup> <a name="friendlyUniqueId" id="cdktn.DataResource.property.friendlyUniqueId" />

```typescript theme={null}
public readonly friendlyUniqueId: string;
```

* *Type:* string

***

### `terraformMetaArguments`<sup>Required</sup> <a name="terraformMetaArguments" id="cdktn.DataResource.property.terraformMetaArguments" />

```typescript theme={null}
public readonly terraformMetaArguments: {[ key: string ]: any};
```

* *Type:* \{\[ key: string ]: any}

***

### `terraformResourceType`<sup>Required</sup> <a name="terraformResourceType" id="cdktn.DataResource.property.terraformResourceType" />

```typescript theme={null}
public readonly terraformResourceType: string;
```

* *Type:* string

***

### `terraformGeneratorMetadata`<sup>Optional</sup> <a name="terraformGeneratorMetadata" id="cdktn.DataResource.property.terraformGeneratorMetadata" />

```typescript theme={null}
public readonly terraformGeneratorMetadata: TerraformProviderGeneratorMetadata;
```

* *Type:* <a href="#cdktn.TerraformProviderGeneratorMetadata">TerraformProviderGeneratorMetadata</a>

***

### `connection`<sup>Optional</sup> <a name="connection" id="cdktn.DataResource.property.connection" />

```typescript theme={null}
public readonly connection: SSHProvisionerConnection | WinrmProvisionerConnection;
```

* *Type:* <a href="#cdktn.SSHProvisionerConnection">SSHProvisionerConnection</a> | <a href="#cdktn.WinrmProvisionerConnection">WinrmProvisionerConnection</a>

***

### `count`<sup>Optional</sup> <a name="count" id="cdktn.DataResource.property.count" />

```typescript theme={null}
public readonly count: number | TerraformCount;
```

* *Type:* number | <a href="#cdktn.TerraformCount">TerraformCount</a>

***

### `dependsOn`<sup>Optional</sup> <a name="dependsOn" id="cdktn.DataResource.property.dependsOn" />

```typescript theme={null}
public readonly dependsOn: string[];
```

* *Type:* string\[]

***

### `forEach`<sup>Optional</sup> <a name="forEach" id="cdktn.DataResource.property.forEach" />

```typescript theme={null}
public readonly forEach: ITerraformIterator;
```

* *Type:* <a href="#cdktn.ITerraformIterator">ITerraformIterator</a>

***

### `lifecycle`<sup>Optional</sup> <a name="lifecycle" id="cdktn.DataResource.property.lifecycle" />

```typescript theme={null}
public readonly lifecycle: TerraformResourceLifecycle;
```

* *Type:* <a href="#cdktn.TerraformResourceLifecycle">TerraformResourceLifecycle</a>

***

### `provider`<sup>Optional</sup> <a name="provider" id="cdktn.DataResource.property.provider" />

```typescript theme={null}
public readonly provider: TerraformProvider;
```

* *Type:* <a href="#cdktn.TerraformProvider">TerraformProvider</a>

***

### `provisioners`<sup>Optional</sup> <a name="provisioners" id="cdktn.DataResource.property.provisioners" />

```typescript theme={null}
public readonly provisioners: (FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner)[];
```

* *Type:* <a href="#cdktn.FileProvisioner">FileProvisioner</a> | <a href="#cdktn.LocalExecProvisioner">LocalExecProvisioner</a> | <a href="#cdktn.RemoteExecProvisioner">RemoteExecProvisioner</a>\[]

***

### `id`<sup>Required</sup> <a name="id" id="cdktn.DataResource.property.id" />

```typescript theme={null}
public readonly id: string;
```

* *Type:* string

***

### `output`<sup>Required</sup> <a name="output" id="cdktn.DataResource.property.output" />

```typescript theme={null}
public readonly output: AnyMap;
```

* *Type:* <a href="#cdktn.AnyMap">AnyMap</a>

***

### `inputInput`<sup>Optional</sup> <a name="inputInput" id="cdktn.DataResource.property.inputInput" />

```typescript theme={null}
public readonly inputInput: {[ key: string ]: any};
```

* *Type:* \{\[ key: string ]: any}

***

### `triggersReplaceInput`<sup>Optional</sup> <a name="triggersReplaceInput" id="cdktn.DataResource.property.triggersReplaceInput" />

```typescript theme={null}
public readonly triggersReplaceInput: {[ key: string ]: any};
```

* *Type:* \{\[ key: string ]: any}

***

### `input`<sup>Required</sup> <a name="input" id="cdktn.DataResource.property.input" />

```typescript theme={null}
public readonly input: {[ key: string ]: any};
```

* *Type:* \{\[ key: string ]: any}

(Optional) A value which will be stored in the instance state, and reflected in the output attribute after apply.

[https://developer.hashicorp.com/terraform/language/resources/terraform-data#input](https://developer.hashicorp.com/terraform/language/resources/terraform-data#input)

***

### `triggersReplace`<sup>Required</sup> <a name="triggersReplace" id="cdktn.DataResource.property.triggersReplace" />

```typescript theme={null}
public readonly triggersReplace: {[ key: string ]: any};
```

* *Type:* \{\[ key: string ]: any}

(Optional) A value which is stored in the instance state, and will force replacement when the value changes.

[https://developer.hashicorp.com/terraform/language/resources/terraform-data#triggers\\\_replace](https://developer.hashicorp.com/terraform/language/resources/terraform-data#triggers\\_replace)

***

## Constants <a name="Constants" id="Constants" />

| **Name**                                                                              | **Type**            | **Description**   |
| ------------------------------------------------------------------------------------- | ------------------- | ----------------- |
| <code><a href="#cdktn.DataResource.property.tfResourceType">tfResourceType</a></code> | <code>string</code> | *No description.* |

***

### `tfResourceType`<sup>Required</sup> <a name="tfResourceType" id="cdktn.DataResource.property.tfResourceType" />

```typescript theme={null}
public readonly tfResourceType: string;
```

* *Type:* string

***
