> ## 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.

# CSharp: DataResource

> CDKTN Core API Reference for DataResource in CSharp.

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" />

```csharp theme={null}
using Io.Cdktn;

new DataResource(Construct Scope, string Id, DataConfig Config = null);
```

| **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" />

```csharp theme={null}
private string ToString()
```

Returns a string representation of this construct.

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

```csharp theme={null}
private IConstruct With(params IMixin[] Mixins)
```

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:* params Constructs.IMixin\[]

The mixins to apply.

***

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

```csharp theme={null}
private void AddOverride(string Path, object Value)
```

#### `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:* object

***

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

```csharp theme={null}
private void OverrideLogicalId(string NewLogicalId)
```

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" />

```csharp theme={null}
private void ResetOverrideLogicalId()
```

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

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

```csharp theme={null}
private object ToHclTerraform()
```

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

```csharp theme={null}
private object ToMetadata()
```

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

```csharp theme={null}
private object ToTerraform()
```

Adds this resource to the terraform JSON output.

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

```csharp theme={null}
private void AddMoveTarget(string MoveTarget)
```

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" />

```csharp theme={null}
private System.Collections.Generic.IDictionary<string, object> GetAnyMapAttribute(string TerraformAttribute)
```

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

* *Type:* string

***

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

```csharp theme={null}
private IResolvable GetBooleanAttribute(string TerraformAttribute)
```

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

* *Type:* string

***

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

```csharp theme={null}
private System.Collections.Generic.IDictionary<string, bool> GetBooleanMapAttribute(string TerraformAttribute)
```

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

* *Type:* string

***

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

```csharp theme={null}
private string[] GetListAttribute(string TerraformAttribute)
```

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

* *Type:* string

***

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

```csharp theme={null}
private double GetNumberAttribute(string TerraformAttribute)
```

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

* *Type:* string

***

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

```csharp theme={null}
private double[] GetNumberListAttribute(string TerraformAttribute)
```

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

* *Type:* string

***

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

```csharp theme={null}
private System.Collections.Generic.IDictionary<string, double> GetNumberMapAttribute(string TerraformAttribute)
```

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

* *Type:* string

***

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

```csharp theme={null}
private string GetStringAttribute(string TerraformAttribute)
```

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

* *Type:* string

***

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

```csharp theme={null}
private System.Collections.Generic.IDictionary<string, string> GetStringMapAttribute(string TerraformAttribute)
```

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

* *Type:* string

***

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

```csharp theme={null}
private TerraformResourceMoveByTarget|TerraformResourceMoveById HasResourceMove()
```

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

```csharp theme={null}
private void ImportFrom(string Id, TerraformProvider Provider = null)
```

#### `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" />

```csharp theme={null}
private IResolvable InterpolationForAttribute(string TerraformAttribute)
```

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

* *Type:* string

***

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

```csharp theme={null}
private void MoveFromId(string Id)
```

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" />

```csharp theme={null}
private void MoveTo(string MoveTarget, string|double Index = null)
```

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|double

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" />

```csharp theme={null}
private void MoveToId(string Id)
```

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" />

```csharp theme={null}
private void ResetInput()
```

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

```csharp theme={null}
private void ResetTriggersReplace()
```

## 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" />

```csharp theme={null}
using Io.Cdktn;

DataResource.IsConstruct(object X);
```

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:* object

Any object.

***

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

```csharp theme={null}
using Io.Cdktn;

DataResource.IsTerraformElement(object X);
```

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

* *Type:* object

***

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

```csharp theme={null}
using Io.Cdktn;

DataResource.IsTerraformResource(object X);
```

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

* *Type:* object

***

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

```csharp theme={null}
using Io.Cdktn;

DataResource.GenerateConfigForImport(Construct Scope, string ImportToId, string ImportFromId, TerraformProvider Provider = null);
```

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>System.Collections.Generic.IDictionary\< string, object ></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>double\|<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>System.Collections.Generic.IDictionary\< string, object ></code>                                                                                                                                 | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.triggersReplaceInput">TriggersReplaceInput</a></code>             | <code>System.Collections.Generic.IDictionary\< string, object ></code>                                                                                                                                 | *No description.*                                                                                                 |
| <code><a href="#cdktn.DataResource.property.input">Input</a></code>                                           | <code>System.Collections.Generic.IDictionary\< string, object ></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>System.Collections.Generic.IDictionary\< string, object ></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" />

```csharp theme={null}
public Node Node { get; }
```

* *Type:* Constructs.Node

The tree node.

***

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

```csharp theme={null}
public TerraformStack CdktfStack { get; }
```

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

***

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

```csharp theme={null}
public string Fqn { get; }
```

* *Type:* string

***

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

```csharp theme={null}
public string FriendlyUniqueId { get; }
```

* *Type:* string

***

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

```csharp theme={null}
public System.Collections.Generic.IDictionary<string, object> TerraformMetaArguments { get; }
```

* *Type:* System.Collections.Generic.IDictionary\< string, object >

***

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

```csharp theme={null}
public string TerraformResourceType { get; }
```

* *Type:* string

***

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

```csharp theme={null}
public TerraformProviderGeneratorMetadata TerraformGeneratorMetadata { get; }
```

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

***

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

```csharp theme={null}
public SSHProvisionerConnection|WinrmProvisionerConnection Connection { get; }
```

* *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" />

```csharp theme={null}
public double|TerraformCount Count { get; }
```

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

***

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

```csharp theme={null}
public string[] DependsOn { get; }
```

* *Type:* string\[]

***

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

```csharp theme={null}
public ITerraformIterator ForEach { get; }
```

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

***

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

```csharp theme={null}
public TerraformResourceLifecycle Lifecycle { get; }
```

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

***

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

```csharp theme={null}
public TerraformProvider Provider { get; }
```

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

***

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

```csharp theme={null}
public (FileProvisioner|LocalExecProvisioner|RemoteExecProvisioner)[] Provisioners { get; }
```

* *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" />

```csharp theme={null}
public string Id { get; }
```

* *Type:* string

***

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

```csharp theme={null}
public AnyMap Output { get; }
```

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

***

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

```csharp theme={null}
public System.Collections.Generic.IDictionary<string, object> InputInput { get; }
```

* *Type:* System.Collections.Generic.IDictionary\< string, object >

***

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

```csharp theme={null}
public System.Collections.Generic.IDictionary<string, object> TriggersReplaceInput { get; }
```

* *Type:* System.Collections.Generic.IDictionary\< string, object >

***

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

```csharp theme={null}
public System.Collections.Generic.IDictionary<string, object> Input { get; }
```

* *Type:* System.Collections.Generic.IDictionary\< string, object >

(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" />

```csharp theme={null}
public System.Collections.Generic.IDictionary<string, object> TriggersReplace { get; }
```

* *Type:* System.Collections.Generic.IDictionary\< string, object >

(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" />

```csharp theme={null}
public string TfResourceType { get; }
```

* *Type:* string

***
