cdktg
Version:
Agile Threat Modeling as Code
1,551 lines (981 loc) • 275 kB
Markdown
# API Reference <a name="API Reference" id="api-reference"></a>
## Constructs <a name="Constructs" id="Constructs"></a>
### ApplicationLoadBalancer <a name="ApplicationLoadBalancer" id="cdktg.plus_aws.ApplicationLoadBalancer"></a>
#### Initializers <a name="Initializers" id="cdktg.plus_aws.ApplicationLoadBalancer.Initializer"></a>
```typescript
import { plus_aws } from 'cdktg'
new plus_aws.ApplicationLoadBalancer(scope: Construct, id: string, props: ApplicationLoadBalancerProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.Initializer.parameter.props">props</a></code> | <code>cdktg.plus_aws.ApplicationLoadBalancerProps</code> | *No description.* |
---
##### `scope`<sup>Required</sup> <a name="scope" id="cdktg.plus_aws.ApplicationLoadBalancer.Initializer.parameter.scope"></a>
- *Type:* constructs.Construct
---
##### `id`<sup>Required</sup> <a name="id" id="cdktg.plus_aws.ApplicationLoadBalancer.Initializer.parameter.id"></a>
- *Type:* string
---
##### `props`<sup>Required</sup> <a name="props" id="cdktg.plus_aws.ApplicationLoadBalancer.Initializer.parameter.props"></a>
- *Type:* cdktg.plus_aws.ApplicationLoadBalancerProps
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.communicatesWith">communicatesWith</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.isInScope">isInScope</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.isTrafficForwarding">isTrafficForwarding</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.isWebApplication">isWebApplication</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.isWebService">isWebService</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.processes">processes</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.stores">stores</a></code> | *No description.* |
---
##### `toString` <a name="toString" id="cdktg.plus_aws.ApplicationLoadBalancer.toString"></a>
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `communicatesWith` <a name="communicatesWith" id="cdktg.plus_aws.ApplicationLoadBalancer.communicatesWith"></a>
```typescript
public communicatesWith(id: string, target: TechnicalAsset, options: CommunicationOptions): Communication
```
###### `id`<sup>Required</sup> <a name="id" id="cdktg.plus_aws.ApplicationLoadBalancer.communicatesWith.parameter.id"></a>
- *Type:* string
---
###### `target`<sup>Required</sup> <a name="target" id="cdktg.plus_aws.ApplicationLoadBalancer.communicatesWith.parameter.target"></a>
- *Type:* <a href="#cdktg.TechnicalAsset">TechnicalAsset</a>
---
###### `options`<sup>Required</sup> <a name="options" id="cdktg.plus_aws.ApplicationLoadBalancer.communicatesWith.parameter.options"></a>
- *Type:* <a href="#cdktg.CommunicationOptions">CommunicationOptions</a>
---
##### `isInScope` <a name="isInScope" id="cdktg.plus_aws.ApplicationLoadBalancer.isInScope"></a>
```typescript
public isInScope(): boolean
```
##### `isTrafficForwarding` <a name="isTrafficForwarding" id="cdktg.plus_aws.ApplicationLoadBalancer.isTrafficForwarding"></a>
```typescript
public isTrafficForwarding(): boolean
```
##### `isWebApplication` <a name="isWebApplication" id="cdktg.plus_aws.ApplicationLoadBalancer.isWebApplication"></a>
```typescript
public isWebApplication(): boolean
```
##### `isWebService` <a name="isWebService" id="cdktg.plus_aws.ApplicationLoadBalancer.isWebService"></a>
```typescript
public isWebService(): boolean
```
##### `processes` <a name="processes" id="cdktg.plus_aws.ApplicationLoadBalancer.processes"></a>
```typescript
public processes(assets: DataAsset): void
```
###### `assets`<sup>Required</sup> <a name="assets" id="cdktg.plus_aws.ApplicationLoadBalancer.processes.parameter.assets"></a>
- *Type:* <a href="#cdktg.DataAsset">DataAsset</a>
---
##### `stores` <a name="stores" id="cdktg.plus_aws.ApplicationLoadBalancer.stores"></a>
```typescript
public stores(assets: DataAsset): void
```
###### `assets`<sup>Required</sup> <a name="assets" id="cdktg.plus_aws.ApplicationLoadBalancer.stores.parameter.assets"></a>
- *Type:* <a href="#cdktg.DataAsset">DataAsset</a>
---
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
---
##### `isConstruct` <a name="isConstruct" id="cdktg.plus_aws.ApplicationLoadBalancer.isConstruct"></a>
```typescript
import { plus_aws } from 'cdktg'
plus_aws.ApplicationLoadBalancer.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="cdktg.plus_aws.ApplicationLoadBalancer.isConstruct.parameter.x"></a>
- *Type:* any
Any object.
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.ciaTriad">ciaTriad</a></code> | <code><a href="#cdktg.CIATriad">CIATriad</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.customDevelopedParts">customDevelopedParts</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.encryption">encryption</a></code> | <code><a href="#cdktg.Encryption">Encryption</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.highestAvailability">highestAvailability</a></code> | <code><a href="#cdktg.Availability">Availability</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.highestIntegrity">highestIntegrity</a></code> | <code><a href="#cdktg.Integrity">Integrity</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.humanUse">humanUse</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.internet">internet</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.machine">machine</a></code> | <code><a href="#cdktg.Machine">Machine</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.multiTenant">multiTenant</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.redundant">redundant</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.size">size</a></code> | <code><a href="#cdktg.Size">Size</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.technology">technology</a></code> | <code><a href="#cdktg.Technology">Technology</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.type">type</a></code> | <code><a href="#cdktg.TechnicalAssetType">TechnicalAssetType</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.usage">usage</a></code> | <code><a href="#cdktg.Usage">Usage</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.dataFormatsAccepted">dataFormatsAccepted</a></code> | <code><a href="#cdktg.DataFormat">DataFormat</a>[]</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.owner">owner</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.scope">scope</a></code> | <code><a href="#cdktg.Scope">Scope</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.tags">tags</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.ApplicationLoadBalancer.property.securityGroup">securityGroup</a></code> | <code>cdktg.plus_aws.SecurityGroup</code> | *No description.* |
---
##### `node`<sup>Required</sup> <a name="node" id="cdktg.plus_aws.ApplicationLoadBalancer.property.node"></a>
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `id`<sup>Required</sup> <a name="id" id="cdktg.plus_aws.ApplicationLoadBalancer.property.id"></a>
```typescript
public readonly id: string;
```
- *Type:* string
---
##### `title`<sup>Required</sup> <a name="title" id="cdktg.plus_aws.ApplicationLoadBalancer.property.title"></a>
```typescript
public readonly title: string;
```
- *Type:* string
---
##### `description`<sup>Optional</sup> <a name="description" id="cdktg.plus_aws.ApplicationLoadBalancer.property.description"></a>
```typescript
public readonly description: string;
```
- *Type:* string
---
##### `ciaTriad`<sup>Required</sup> <a name="ciaTriad" id="cdktg.plus_aws.ApplicationLoadBalancer.property.ciaTriad"></a>
```typescript
public readonly ciaTriad: CIATriad;
```
- *Type:* <a href="#cdktg.CIATriad">CIATriad</a>
---
##### `customDevelopedParts`<sup>Required</sup> <a name="customDevelopedParts" id="cdktg.plus_aws.ApplicationLoadBalancer.property.customDevelopedParts"></a>
```typescript
public readonly customDevelopedParts: boolean;
```
- *Type:* boolean
---
##### `encryption`<sup>Required</sup> <a name="encryption" id="cdktg.plus_aws.ApplicationLoadBalancer.property.encryption"></a>
```typescript
public readonly encryption: Encryption;
```
- *Type:* <a href="#cdktg.Encryption">Encryption</a>
---
##### `highestAvailability`<sup>Required</sup> <a name="highestAvailability" id="cdktg.plus_aws.ApplicationLoadBalancer.property.highestAvailability"></a>
```typescript
public readonly highestAvailability: Availability;
```
- *Type:* <a href="#cdktg.Availability">Availability</a>
---
##### `highestIntegrity`<sup>Required</sup> <a name="highestIntegrity" id="cdktg.plus_aws.ApplicationLoadBalancer.property.highestIntegrity"></a>
```typescript
public readonly highestIntegrity: Integrity;
```
- *Type:* <a href="#cdktg.Integrity">Integrity</a>
---
##### `humanUse`<sup>Required</sup> <a name="humanUse" id="cdktg.plus_aws.ApplicationLoadBalancer.property.humanUse"></a>
```typescript
public readonly humanUse: boolean;
```
- *Type:* boolean
---
##### `internet`<sup>Required</sup> <a name="internet" id="cdktg.plus_aws.ApplicationLoadBalancer.property.internet"></a>
```typescript
public readonly internet: boolean;
```
- *Type:* boolean
---
##### `machine`<sup>Required</sup> <a name="machine" id="cdktg.plus_aws.ApplicationLoadBalancer.property.machine"></a>
```typescript
public readonly machine: Machine;
```
- *Type:* <a href="#cdktg.Machine">Machine</a>
---
##### `multiTenant`<sup>Required</sup> <a name="multiTenant" id="cdktg.plus_aws.ApplicationLoadBalancer.property.multiTenant"></a>
```typescript
public readonly multiTenant: boolean;
```
- *Type:* boolean
---
##### `redundant`<sup>Required</sup> <a name="redundant" id="cdktg.plus_aws.ApplicationLoadBalancer.property.redundant"></a>
```typescript
public readonly redundant: boolean;
```
- *Type:* boolean
---
##### `size`<sup>Required</sup> <a name="size" id="cdktg.plus_aws.ApplicationLoadBalancer.property.size"></a>
```typescript
public readonly size: Size;
```
- *Type:* <a href="#cdktg.Size">Size</a>
---
##### `technology`<sup>Required</sup> <a name="technology" id="cdktg.plus_aws.ApplicationLoadBalancer.property.technology"></a>
```typescript
public readonly technology: Technology;
```
- *Type:* <a href="#cdktg.Technology">Technology</a>
---
##### `type`<sup>Required</sup> <a name="type" id="cdktg.plus_aws.ApplicationLoadBalancer.property.type"></a>
```typescript
public readonly type: TechnicalAssetType;
```
- *Type:* <a href="#cdktg.TechnicalAssetType">TechnicalAssetType</a>
---
##### `usage`<sup>Required</sup> <a name="usage" id="cdktg.plus_aws.ApplicationLoadBalancer.property.usage"></a>
```typescript
public readonly usage: Usage;
```
- *Type:* <a href="#cdktg.Usage">Usage</a>
---
##### `dataFormatsAccepted`<sup>Optional</sup> <a name="dataFormatsAccepted" id="cdktg.plus_aws.ApplicationLoadBalancer.property.dataFormatsAccepted"></a>
```typescript
public readonly dataFormatsAccepted: DataFormat[];
```
- *Type:* <a href="#cdktg.DataFormat">DataFormat</a>[]
---
##### `owner`<sup>Optional</sup> <a name="owner" id="cdktg.plus_aws.ApplicationLoadBalancer.property.owner"></a>
```typescript
public readonly owner: string;
```
- *Type:* string
---
##### `scope`<sup>Optional</sup> <a name="scope" id="cdktg.plus_aws.ApplicationLoadBalancer.property.scope"></a>
```typescript
public readonly scope: Scope;
```
- *Type:* <a href="#cdktg.Scope">Scope</a>
---
##### `tags`<sup>Optional</sup> <a name="tags" id="cdktg.plus_aws.ApplicationLoadBalancer.property.tags"></a>
```typescript
public readonly tags: string[];
```
- *Type:* string[]
---
##### `securityGroup`<sup>Required</sup> <a name="securityGroup" id="cdktg.plus_aws.ApplicationLoadBalancer.property.securityGroup"></a>
```typescript
public readonly securityGroup: SecurityGroup;
```
- *Type:* cdktg.plus_aws.SecurityGroup
---
### Browser <a name="Browser" id="cdktg.plus.Browser"></a>
#### Initializers <a name="Initializers" id="cdktg.plus.Browser.Initializer"></a>
```typescript
import { plus } from 'cdktg'
new plus.Browser(scope: Construct, id: string, props: BrowserProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdktg.plus.Browser.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.Initializer.parameter.props">props</a></code> | <code>cdktg.plus.BrowserProps</code> | *No description.* |
---
##### `scope`<sup>Required</sup> <a name="scope" id="cdktg.plus.Browser.Initializer.parameter.scope"></a>
- *Type:* constructs.Construct
---
##### `id`<sup>Required</sup> <a name="id" id="cdktg.plus.Browser.Initializer.parameter.id"></a>
- *Type:* string
---
##### `props`<sup>Required</sup> <a name="props" id="cdktg.plus.Browser.Initializer.parameter.props"></a>
- *Type:* cdktg.plus.BrowserProps
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdktg.plus.Browser.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#cdktg.plus.Browser.communicatesWith">communicatesWith</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.isInScope">isInScope</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.isTrafficForwarding">isTrafficForwarding</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.isWebApplication">isWebApplication</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.isWebService">isWebService</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.processes">processes</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.stores">stores</a></code> | *No description.* |
---
##### `toString` <a name="toString" id="cdktg.plus.Browser.toString"></a>
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `communicatesWith` <a name="communicatesWith" id="cdktg.plus.Browser.communicatesWith"></a>
```typescript
public communicatesWith(id: string, target: TechnicalAsset, options: CommunicationOptions): Communication
```
###### `id`<sup>Required</sup> <a name="id" id="cdktg.plus.Browser.communicatesWith.parameter.id"></a>
- *Type:* string
---
###### `target`<sup>Required</sup> <a name="target" id="cdktg.plus.Browser.communicatesWith.parameter.target"></a>
- *Type:* <a href="#cdktg.TechnicalAsset">TechnicalAsset</a>
---
###### `options`<sup>Required</sup> <a name="options" id="cdktg.plus.Browser.communicatesWith.parameter.options"></a>
- *Type:* <a href="#cdktg.CommunicationOptions">CommunicationOptions</a>
---
##### `isInScope` <a name="isInScope" id="cdktg.plus.Browser.isInScope"></a>
```typescript
public isInScope(): boolean
```
##### `isTrafficForwarding` <a name="isTrafficForwarding" id="cdktg.plus.Browser.isTrafficForwarding"></a>
```typescript
public isTrafficForwarding(): boolean
```
##### `isWebApplication` <a name="isWebApplication" id="cdktg.plus.Browser.isWebApplication"></a>
```typescript
public isWebApplication(): boolean
```
##### `isWebService` <a name="isWebService" id="cdktg.plus.Browser.isWebService"></a>
```typescript
public isWebService(): boolean
```
##### `processes` <a name="processes" id="cdktg.plus.Browser.processes"></a>
```typescript
public processes(assets: DataAsset): void
```
###### `assets`<sup>Required</sup> <a name="assets" id="cdktg.plus.Browser.processes.parameter.assets"></a>
- *Type:* <a href="#cdktg.DataAsset">DataAsset</a>
---
##### `stores` <a name="stores" id="cdktg.plus.Browser.stores"></a>
```typescript
public stores(assets: DataAsset): void
```
###### `assets`<sup>Required</sup> <a name="assets" id="cdktg.plus.Browser.stores.parameter.assets"></a>
- *Type:* <a href="#cdktg.DataAsset">DataAsset</a>
---
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdktg.plus.Browser.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
---
##### `isConstruct` <a name="isConstruct" id="cdktg.plus.Browser.isConstruct"></a>
```typescript
import { plus } from 'cdktg'
plus.Browser.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="cdktg.plus.Browser.isConstruct.parameter.x"></a>
- *Type:* any
Any object.
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdktg.plus.Browser.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#cdktg.plus.Browser.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.ciaTriad">ciaTriad</a></code> | <code><a href="#cdktg.CIATriad">CIATriad</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.customDevelopedParts">customDevelopedParts</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.encryption">encryption</a></code> | <code><a href="#cdktg.Encryption">Encryption</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.highestAvailability">highestAvailability</a></code> | <code><a href="#cdktg.Availability">Availability</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.highestIntegrity">highestIntegrity</a></code> | <code><a href="#cdktg.Integrity">Integrity</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.humanUse">humanUse</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.internet">internet</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.machine">machine</a></code> | <code><a href="#cdktg.Machine">Machine</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.multiTenant">multiTenant</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.redundant">redundant</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.size">size</a></code> | <code><a href="#cdktg.Size">Size</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.technology">technology</a></code> | <code><a href="#cdktg.Technology">Technology</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.type">type</a></code> | <code><a href="#cdktg.TechnicalAssetType">TechnicalAssetType</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.usage">usage</a></code> | <code><a href="#cdktg.Usage">Usage</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.dataFormatsAccepted">dataFormatsAccepted</a></code> | <code><a href="#cdktg.DataFormat">DataFormat</a>[]</code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.owner">owner</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.scope">scope</a></code> | <code><a href="#cdktg.Scope">Scope</a></code> | *No description.* |
| <code><a href="#cdktg.plus.Browser.property.tags">tags</a></code> | <code>string[]</code> | *No description.* |
---
##### `node`<sup>Required</sup> <a name="node" id="cdktg.plus.Browser.property.node"></a>
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `id`<sup>Required</sup> <a name="id" id="cdktg.plus.Browser.property.id"></a>
```typescript
public readonly id: string;
```
- *Type:* string
---
##### `title`<sup>Required</sup> <a name="title" id="cdktg.plus.Browser.property.title"></a>
```typescript
public readonly title: string;
```
- *Type:* string
---
##### `description`<sup>Optional</sup> <a name="description" id="cdktg.plus.Browser.property.description"></a>
```typescript
public readonly description: string;
```
- *Type:* string
---
##### `ciaTriad`<sup>Required</sup> <a name="ciaTriad" id="cdktg.plus.Browser.property.ciaTriad"></a>
```typescript
public readonly ciaTriad: CIATriad;
```
- *Type:* <a href="#cdktg.CIATriad">CIATriad</a>
---
##### `customDevelopedParts`<sup>Required</sup> <a name="customDevelopedParts" id="cdktg.plus.Browser.property.customDevelopedParts"></a>
```typescript
public readonly customDevelopedParts: boolean;
```
- *Type:* boolean
---
##### `encryption`<sup>Required</sup> <a name="encryption" id="cdktg.plus.Browser.property.encryption"></a>
```typescript
public readonly encryption: Encryption;
```
- *Type:* <a href="#cdktg.Encryption">Encryption</a>
---
##### `highestAvailability`<sup>Required</sup> <a name="highestAvailability" id="cdktg.plus.Browser.property.highestAvailability"></a>
```typescript
public readonly highestAvailability: Availability;
```
- *Type:* <a href="#cdktg.Availability">Availability</a>
---
##### `highestIntegrity`<sup>Required</sup> <a name="highestIntegrity" id="cdktg.plus.Browser.property.highestIntegrity"></a>
```typescript
public readonly highestIntegrity: Integrity;
```
- *Type:* <a href="#cdktg.Integrity">Integrity</a>
---
##### `humanUse`<sup>Required</sup> <a name="humanUse" id="cdktg.plus.Browser.property.humanUse"></a>
```typescript
public readonly humanUse: boolean;
```
- *Type:* boolean
---
##### `internet`<sup>Required</sup> <a name="internet" id="cdktg.plus.Browser.property.internet"></a>
```typescript
public readonly internet: boolean;
```
- *Type:* boolean
---
##### `machine`<sup>Required</sup> <a name="machine" id="cdktg.plus.Browser.property.machine"></a>
```typescript
public readonly machine: Machine;
```
- *Type:* <a href="#cdktg.Machine">Machine</a>
---
##### `multiTenant`<sup>Required</sup> <a name="multiTenant" id="cdktg.plus.Browser.property.multiTenant"></a>
```typescript
public readonly multiTenant: boolean;
```
- *Type:* boolean
---
##### `redundant`<sup>Required</sup> <a name="redundant" id="cdktg.plus.Browser.property.redundant"></a>
```typescript
public readonly redundant: boolean;
```
- *Type:* boolean
---
##### `size`<sup>Required</sup> <a name="size" id="cdktg.plus.Browser.property.size"></a>
```typescript
public readonly size: Size;
```
- *Type:* <a href="#cdktg.Size">Size</a>
---
##### `technology`<sup>Required</sup> <a name="technology" id="cdktg.plus.Browser.property.technology"></a>
```typescript
public readonly technology: Technology;
```
- *Type:* <a href="#cdktg.Technology">Technology</a>
---
##### `type`<sup>Required</sup> <a name="type" id="cdktg.plus.Browser.property.type"></a>
```typescript
public readonly type: TechnicalAssetType;
```
- *Type:* <a href="#cdktg.TechnicalAssetType">TechnicalAssetType</a>
---
##### `usage`<sup>Required</sup> <a name="usage" id="cdktg.plus.Browser.property.usage"></a>
```typescript
public readonly usage: Usage;
```
- *Type:* <a href="#cdktg.Usage">Usage</a>
---
##### `dataFormatsAccepted`<sup>Optional</sup> <a name="dataFormatsAccepted" id="cdktg.plus.Browser.property.dataFormatsAccepted"></a>
```typescript
public readonly dataFormatsAccepted: DataFormat[];
```
- *Type:* <a href="#cdktg.DataFormat">DataFormat</a>[]
---
##### `owner`<sup>Optional</sup> <a name="owner" id="cdktg.plus.Browser.property.owner"></a>
```typescript
public readonly owner: string;
```
- *Type:* string
---
##### `scope`<sup>Optional</sup> <a name="scope" id="cdktg.plus.Browser.property.scope"></a>
```typescript
public readonly scope: Scope;
```
- *Type:* <a href="#cdktg.Scope">Scope</a>
---
##### `tags`<sup>Optional</sup> <a name="tags" id="cdktg.plus.Browser.property.tags"></a>
```typescript
public readonly tags: string[];
```
- *Type:* string[]
---
### Cloud <a name="Cloud" id="cdktg.plus_aws.Cloud"></a>
#### Initializers <a name="Initializers" id="cdktg.plus_aws.Cloud.Initializer"></a>
```typescript
import { plus_aws } from 'cdktg'
new plus_aws.Cloud(scope: Construct, id: string, props?: CloudProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdktg.plus_aws.Cloud.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.Cloud.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.Cloud.Initializer.parameter.props">props</a></code> | <code>cdktg.plus_aws.CloudProps</code> | *No description.* |
---
##### `scope`<sup>Required</sup> <a name="scope" id="cdktg.plus_aws.Cloud.Initializer.parameter.scope"></a>
- *Type:* constructs.Construct
---
##### `id`<sup>Required</sup> <a name="id" id="cdktg.plus_aws.Cloud.Initializer.parameter.id"></a>
- *Type:* string
---
##### `props`<sup>Optional</sup> <a name="props" id="cdktg.plus_aws.Cloud.Initializer.parameter.props"></a>
- *Type:* cdktg.plus_aws.CloudProps
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdktg.plus_aws.Cloud.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#cdktg.plus_aws.Cloud.addTechnicalAssets">addTechnicalAssets</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.Cloud.addTrustBoundary">addTrustBoundary</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.Cloud.isNetworkBoundary">isNetworkBoundary</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.Cloud.isWithinCloud">isWithinCloud</a></code> | *No description.* |
---
##### `toString` <a name="toString" id="cdktg.plus_aws.Cloud.toString"></a>
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `addTechnicalAssets` <a name="addTechnicalAssets" id="cdktg.plus_aws.Cloud.addTechnicalAssets"></a>
```typescript
public addTechnicalAssets(assets: TechnicalAsset): void
```
###### `assets`<sup>Required</sup> <a name="assets" id="cdktg.plus_aws.Cloud.addTechnicalAssets.parameter.assets"></a>
- *Type:* <a href="#cdktg.TechnicalAsset">TechnicalAsset</a>
---
##### `addTrustBoundary` <a name="addTrustBoundary" id="cdktg.plus_aws.Cloud.addTrustBoundary"></a>
```typescript
public addTrustBoundary(boundary: TrustBoundary): void
```
###### `boundary`<sup>Required</sup> <a name="boundary" id="cdktg.plus_aws.Cloud.addTrustBoundary.parameter.boundary"></a>
- *Type:* <a href="#cdktg.TrustBoundary">TrustBoundary</a>
---
##### `isNetworkBoundary` <a name="isNetworkBoundary" id="cdktg.plus_aws.Cloud.isNetworkBoundary"></a>
```typescript
public isNetworkBoundary(): boolean
```
##### `isWithinCloud` <a name="isWithinCloud" id="cdktg.plus_aws.Cloud.isWithinCloud"></a>
```typescript
public isWithinCloud(): boolean
```
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdktg.plus_aws.Cloud.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
---
##### `isConstruct` <a name="isConstruct" id="cdktg.plus_aws.Cloud.isConstruct"></a>
```typescript
import { plus_aws } from 'cdktg'
plus_aws.Cloud.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="cdktg.plus_aws.Cloud.isConstruct.parameter.x"></a>
- *Type:* any
Any object.
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdktg.plus_aws.Cloud.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#cdktg.plus_aws.Cloud.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.Cloud.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.Cloud.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.plus_aws.Cloud.property.type">type</a></code> | <code><a href="#cdktg.TrustBoundaryType">TrustBoundaryType</a></code> | *No description.* |
| <code><a href="#cdktg.plus_aws.Cloud.property.tags">tags</a></code> | <code>string[]</code> | *No description.* |
---
##### `node`<sup>Required</sup> <a name="node" id="cdktg.plus_aws.Cloud.property.node"></a>
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `id`<sup>Required</sup> <a name="id" id="cdktg.plus_aws.Cloud.property.id"></a>
```typescript
public readonly id: string;
```
- *Type:* string
---
##### `title`<sup>Required</sup> <a name="title" id="cdktg.plus_aws.Cloud.property.title"></a>
```typescript
public readonly title: string;
```
- *Type:* string
---
##### `description`<sup>Optional</sup> <a name="description" id="cdktg.plus_aws.Cloud.property.description"></a>
```typescript
public readonly description: string;
```
- *Type:* string
---
##### `type`<sup>Required</sup> <a name="type" id="cdktg.plus_aws.Cloud.property.type"></a>
```typescript
public readonly type: TrustBoundaryType;
```
- *Type:* <a href="#cdktg.TrustBoundaryType">TrustBoundaryType</a>
---
##### `tags`<sup>Optional</sup> <a name="tags" id="cdktg.plus_aws.Cloud.property.tags"></a>
```typescript
public readonly tags: string[];
```
- *Type:* string[]
---
### Communication <a name="Communication" id="cdktg.Communication"></a>
#### Initializers <a name="Initializers" id="cdktg.Communication.Initializer"></a>
```typescript
import { Communication } from 'cdktg'
new Communication(scope: Construct, id: string, props: CommunicationProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdktg.Communication.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#cdktg.Communication.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.Communication.Initializer.parameter.props">props</a></code> | <code><a href="#cdktg.CommunicationProps">CommunicationProps</a></code> | *No description.* |
---
##### `scope`<sup>Required</sup> <a name="scope" id="cdktg.Communication.Initializer.parameter.scope"></a>
- *Type:* constructs.Construct
---
##### `id`<sup>Required</sup> <a name="id" id="cdktg.Communication.Initializer.parameter.id"></a>
- *Type:* string
---
##### `props`<sup>Required</sup> <a name="props" id="cdktg.Communication.Initializer.parameter.props"></a>
- *Type:* <a href="#cdktg.CommunicationProps">CommunicationProps</a>
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdktg.Communication.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#cdktg.Communication.hasDataAssets">hasDataAssets</a></code> | *No description.* |
| <code><a href="#cdktg.Communication.isBidirectional">isBidirectional</a></code> | *No description.* |
| <code><a href="#cdktg.Communication.isEncrypted">isEncrypted</a></code> | *No description.* |
| <code><a href="#cdktg.Communication.isProcessLocal">isProcessLocal</a></code> | *No description.* |
| <code><a href="#cdktg.Communication.receives">receives</a></code> | *No description.* |
| <code><a href="#cdktg.Communication.sends">sends</a></code> | *No description.* |
---
##### `toString` <a name="toString" id="cdktg.Communication.toString"></a>
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `hasDataAssets` <a name="hasDataAssets" id="cdktg.Communication.hasDataAssets"></a>
```typescript
public hasDataAssets(): boolean
```
##### `isBidirectional` <a name="isBidirectional" id="cdktg.Communication.isBidirectional"></a>
```typescript
public isBidirectional(): boolean
```
##### `isEncrypted` <a name="isEncrypted" id="cdktg.Communication.isEncrypted"></a>
```typescript
public isEncrypted(): boolean
```
##### `isProcessLocal` <a name="isProcessLocal" id="cdktg.Communication.isProcessLocal"></a>
```typescript
public isProcessLocal(): boolean
```
##### `receives` <a name="receives" id="cdktg.Communication.receives"></a>
```typescript
public receives(assets: DataAsset): void
```
###### `assets`<sup>Required</sup> <a name="assets" id="cdktg.Communication.receives.parameter.assets"></a>
- *Type:* <a href="#cdktg.DataAsset">DataAsset</a>
---
##### `sends` <a name="sends" id="cdktg.Communication.sends"></a>
```typescript
public sends(assets: DataAsset): void
```
###### `assets`<sup>Required</sup> <a name="assets" id="cdktg.Communication.sends.parameter.assets"></a>
- *Type:* <a href="#cdktg.DataAsset">DataAsset</a>
---
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdktg.Communication.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
| <code><a href="#cdktg.Communication.isCommunicationl">isCommunicationl</a></code> | *No description.* |
---
##### `isConstruct` <a name="isConstruct" id="cdktg.Communication.isConstruct"></a>
```typescript
import { Communication } from 'cdktg'
Communication.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="cdktg.Communication.isConstruct.parameter.x"></a>
- *Type:* any
Any object.
---
##### `isCommunicationl` <a name="isCommunicationl" id="cdktg.Communication.isCommunicationl"></a>
```typescript
import { Communication } from 'cdktg'
Communication.isCommunicationl(x: any)
```
###### `x`<sup>Required</sup> <a name="x" id="cdktg.Communication.isCommunicationl.parameter.x"></a>
- *Type:* any
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdktg.Communication.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#cdktg.Communication.property.authentication">authentication</a></code> | <code><a href="#cdktg.Authentication">Authentication</a></code> | *No description.* |
| <code><a href="#cdktg.Communication.property.authorization">authorization</a></code> | <code><a href="#cdktg.Authorization">Authorization</a></code> | *No description.* |
| <code><a href="#cdktg.Communication.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.Communication.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.Communication.property.ipFiltered">ipFiltered</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdktg.Communication.property.protocol">protocol</a></code> | <code><a href="#cdktg.Protocol">Protocol</a></code> | *No description.* |
| <code><a href="#cdktg.Communication.property.readonly">readonly</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdktg.Communication.property.source">source</a></code> | <code><a href="#cdktg.TechnicalAsset">TechnicalAsset</a></code> | *No description.* |
| <code><a href="#cdktg.Communication.property.target">target</a></code> | <code><a href="#cdktg.TechnicalAsset">TechnicalAsset</a></code> | *No description.* |
| <code><a href="#cdktg.Communication.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.Communication.property.usage">usage</a></code> | <code><a href="#cdktg.Usage">Usage</a></code> | *No description.* |
| <code><a href="#cdktg.Communication.property.vpn">vpn</a></code> | <code>boolean</code> | *No description.* |
---
##### `node`<sup>Required</sup> <a name="node" id="cdktg.Communication.property.node"></a>
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `authentication`<sup>Required</sup> <a name="authentication" id="cdktg.Communication.property.authentication"></a>
```typescript
public readonly authentication: Authentication;
```
- *Type:* <a href="#cdktg.Authentication">Authentication</a>
---
##### `authorization`<sup>Required</sup> <a name="authorization" id="cdktg.Communication.property.authorization"></a>
```typescript
public readonly authorization: Authorization;
```
- *Type:* <a href="#cdktg.Authorization">Authorization</a>
---
##### `description`<sup>Required</sup> <a name="description" id="cdktg.Communication.property.description"></a>
```typescript
public readonly description: string;
```
- *Type:* string
---
##### `id`<sup>Required</sup> <a name="id" id="cdktg.Communication.property.id"></a>
```typescript
public readonly id: string;
```
- *Type:* string
---
##### `ipFiltered`<sup>Required</sup> <a name="ipFiltered" id="cdktg.Communication.property.ipFiltered"></a>
```typescript
public readonly ipFiltered: boolean;
```
- *Type:* boolean
---
##### `protocol`<sup>Required</sup> <a name="protocol" id="cdktg.Communication.property.protocol"></a>
```typescript
public readonly protocol: Protocol;
```
- *Type:* <a href="#cdktg.Protocol">Protocol</a>
---
##### `readonly`<sup>Required</sup> <a name="readonly" id="cdktg.Communication.property.readonly"></a>
```typescript
public readonly readonly: boolean;
```
- *Type:* boolean
---
##### `source`<sup>Required</sup> <a name="source" id="cdktg.Communication.property.source"></a>
```typescript
public readonly source: TechnicalAsset;
```
- *Type:* <a href="#cdktg.TechnicalAsset">TechnicalAsset</a>
---
##### `target`<sup>Required</sup> <a name="target" id="cdktg.Communication.property.target"></a>
```typescript
public readonly target: TechnicalAsset;
```
- *Type:* <a href="#cdktg.TechnicalAsset">TechnicalAsset</a>
---
##### `title`<sup>Required</sup> <a name="title" id="cdktg.Communication.property.title"></a>
```typescript
public readonly title: string;
```
- *Type:* string
---
##### `usage`<sup>Required</sup> <a name="usage" id="cdktg.Communication.property.usage"></a>
```typescript
public readonly usage: Usage;
```
- *Type:* <a href="#cdktg.Usage">Usage</a>
---
##### `vpn`<sup>Required</sup> <a name="vpn" id="cdktg.Communication.property.vpn"></a>
```typescript
public readonly vpn: boolean;
```
- *Type:* boolean
---
### DataAsset <a name="DataAsset" id="cdktg.DataAsset"></a>
#### Initializers <a name="Initializers" id="cdktg.DataAsset.Initializer"></a>
```typescript
import { DataAsset } from 'cdktg'
new DataAsset(scope: Construct, id: string, props: DataAssetProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdktg.DataAsset.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#cdktg.DataAsset.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.DataAsset.Initializer.parameter.props">props</a></code> | <code><a href="#cdktg.DataAssetProps">DataAssetProps</a></code> | *No description.* |
---
##### `scope`<sup>Required</sup> <a name="scope" id="cdktg.DataAsset.Initializer.parameter.scope"></a>
- *Type:* constructs.Construct
---
##### `id`<sup>Required</sup> <a name="id" id="cdktg.DataAsset.Initializer.parameter.id"></a>
- *Type:* string
---
##### `props`<sup>Required</sup> <a name="props" id="cdktg.DataAsset.Initializer.parameter.props"></a>
- *Type:* <a href="#cdktg.DataAssetProps">DataAssetProps</a>
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdktg.DataAsset.toString">toString</a></code> | Returns a string representation of this construct. |
---
##### `toString` <a name="toString" id="cdktg.DataAsset.toString"></a>
```typescript
public toString(): string
```
Returns a string representation of this construct.
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdktg.DataAsset.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
---
##### `isConstruct` <a name="isConstruct" id="cdktg.DataAsset.isConstruct"></a>
```typescript
import { DataAsset } from 'cdktg'
DataAsset.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="cdktg.DataAsset.isConstruct.parameter.x"></a>
- *Type:* any
Any object.
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdktg.DataAsset.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#cdktg.DataAsset.property.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.DataAsset.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.DataAsset.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.DataAsset.property.ciaTriad">ciaTriad</a></code> | <code><a href="#cdktg.CIATriad">CIATriad</a></code> | *No description.* |
| <code><a href="#cdktg.DataAsset.property.quantity">quantity</a></code> | <code><a href="#cdktg.Quantity">Quantity</a></code> | *No description.* |
| <code><a href="#cdktg.DataAsset.property.usage">usage</a></code> | <code><a href="#cdktg.Usage">Usage</a></code> | *No description.* |
| <code><a href="#cdktg.DataAsset.property.origin">origin</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.DataAsset.property.owner">owner</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdktg.DataAsset.property.tags">tags</a></code> | <code>string[]</code> | *No description.* |
---
##### `node`<sup>Required</sup> <a name="node" id="cdktg.DataAsset.property.node"></a>
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `id`<sup>Required</sup> <a name="id" id="cdktg.DataAsset.property.id"></a>
```typescript
public readonly id: string;
```
- *Type:* string
---
##### `title`<sup>Required</sup> <a name="title" id="cdktg.DataAsset.property.title"></a>
```typescript
public readonly title: string;
```
- *Type:* string
---
##### `description`<sup>Optional</sup> <a name="description" id="cdktg.DataAsset.property.description"></a>
```typescript
public readonly description: string;
```
- *Type:* string
---
##### `ciaTriad`<sup>Required</sup> <a name="ciaTriad" id="cdktg.DataAsset.property.ciaTriad"></a>
```typescript
public readonly ciaTriad: CIATriad;
```
- *Type:* <a href="#cdktg.CIATriad">CIATriad</a>
---
##### `quantity`<sup>Required</sup> <a name="quantity" id="cdktg.DataAsset.property.quantity"></a>
```typescript
public readonly quantity: Quantity;
```
- *Type:* <a href="#cdktg.Quan