> ## 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: ComplexList

> CDKTN Core API Reference for ComplexList in Typescript.

* *Implements:* <a href="#cdktn.ITerraformAddressable">ITerraformAddressable</a>, <a href="#cdktn.IResolvable">IResolvable</a>

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

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

new ComplexList(terraformResource: IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean)
```

| **Name**                                                                                                  | **Type**                                                                    | **Description**   |
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ----------------- |
| <code><a href="#cdktn.ComplexList.Initializer.parameter.terraformResource">terraformResource</a></code>   | <code><a href="#cdktn.IInterpolatingParent">IInterpolatingParent</a></code> | *No description.* |
| <code><a href="#cdktn.ComplexList.Initializer.parameter.terraformAttribute">terraformAttribute</a></code> | <code>string</code>                                                         | *No description.* |
| <code><a href="#cdktn.ComplexList.Initializer.parameter.wrapsSet">wrapsSet</a></code>                     | <code>boolean</code>                                                        | *No description.* |

***

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

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

***

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

* *Type:* string

***

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

* *Type:* boolean

***

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

| **Name**                                                                  | **Description**                                           |
| ------------------------------------------------------------------------- | --------------------------------------------------------- |
| <code><a href="#cdktn.ComplexList.allWithMapKey">allWithMapKey</a></code> | Creating an iterator for this complex list.               |
| <code><a href="#cdktn.ComplexList.computeFqn">computeFqn</a></code>       | *No description.*                                         |
| <code><a href="#cdktn.ComplexList.resolve">resolve</a></code>             | Produce the Token's value at resolution time.             |
| <code><a href="#cdktn.ComplexList.toString">toString</a></code>           | Return a string representation of this resolvable object. |

***

### `allWithMapKey` <a name="allWithMapKey" id="cdktn.ComplexList.allWithMapKey" />

```typescript theme={null}
public allWithMapKey(mapKeyAttributeName: string): DynamicListTerraformIterator
```

Creating an iterator for this complex list.

The list will be converted into a map with the mapKeyAttributeName as the key.

#### `mapKeyAttributeName`<sup>Required</sup> <a name="mapKeyAttributeName" id="cdktn.ComplexList.allWithMapKey.parameter.mapKeyAttributeName" />

* *Type:* string

***

### `computeFqn` <a name="computeFqn" id="cdktn.ComplexList.computeFqn" />

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

### `resolve` <a name="resolve" id="cdktn.ComplexList.resolve" />

```typescript theme={null}
public resolve(_context: IResolveContext): any
```

Produce the Token's value at resolution time.

#### `_context`<sup>Required</sup> <a name="_context" id="cdktn.ComplexList.resolve.parameter._context" />

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

***

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

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

Return a string representation of this resolvable object.

Returns a reversible string representation.

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

| **Name**                                                                           | **Type**               | **Description**                                                                                  |
| ---------------------------------------------------------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------ |
| <code><a href="#cdktn.ComplexList.property.creationStack">creationStack</a></code> | <code>string\[]</code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#cdktn.ComplexList.property.fqn">fqn</a></code>                     | <code>string</code>    | *No description.*                                                                                |

***

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

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

* *Type:* string\[]

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

***

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

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

* *Type:* string

***
