# API Reference <a name="API Reference" id="api-reference"></a>

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

### BitmapDashboard <a name="BitmapDashboard" id="cdk-monitoring-constructs.BitmapDashboard"></a>

Specific subtype of dashboard that renders supported widgets as bitmaps, while preserving the overall layout.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.BitmapDashboard.Initializer"></a>

```typescript
import { BitmapDashboard } from 'cdk-monitoring-constructs'

new BitmapDashboard(scope: Construct, id: string, props: DashboardProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BitmapDashboard.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BitmapDashboard.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BitmapDashboard.Initializer.parameter.props">props</a></code> | <code>aws-cdk-lib.aws_cloudwatch.DashboardProps</code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.BitmapDashboard.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="cdk-monitoring-constructs.BitmapDashboard.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.BitmapDashboard.Initializer.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.DashboardProps

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.BitmapDashboard.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#cdk-monitoring-constructs.BitmapDashboard.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. |
| <code><a href="#cdk-monitoring-constructs.BitmapDashboard.addWidgets">addWidgets</a></code> | Add a widget to the dashboard. |

---

##### `toString` <a name="toString" id="cdk-monitoring-constructs.BitmapDashboard.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="cdk-monitoring-constructs.BitmapDashboard.applyRemovalPolicy"></a>

```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```

Apply the given removal policy to this resource.

The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.

The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).

###### `policy`<sup>Required</sup> <a name="policy" id="cdk-monitoring-constructs.BitmapDashboard.applyRemovalPolicy.parameter.policy"></a>

- *Type:* aws-cdk-lib.RemovalPolicy

---

##### `addWidgets` <a name="addWidgets" id="cdk-monitoring-constructs.BitmapDashboard.addWidgets"></a>

```typescript
public addWidgets(widgets: IWidget): void
```

Add a widget to the dashboard.

Widgets given in multiple calls to add() will be laid out stacked on
top of each other.

Multiple widgets added in the same call to add() will be laid out next
to each other.

###### `widgets`<sup>Required</sup> <a name="widgets" id="cdk-monitoring-constructs.BitmapDashboard.addWidgets.parameter.widgets"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.IWidget

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.BitmapDashboard.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
| <code><a href="#cdk-monitoring-constructs.BitmapDashboard.isResource">isResource</a></code> | Check whether the given construct is a Resource. |

---

##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-monitoring-constructs.BitmapDashboard.isConstruct"></a>

```typescript
import { BitmapDashboard } from 'cdk-monitoring-constructs'

BitmapDashboard.isConstruct(x: any)
```

Checks if `x` is a construct.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.BitmapDashboard.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

##### `isResource` <a name="isResource" id="cdk-monitoring-constructs.BitmapDashboard.isResource"></a>

```typescript
import { BitmapDashboard } from 'cdk-monitoring-constructs'

BitmapDashboard.isResource(construct: IConstruct)
```

Check whether the given construct is a Resource.

###### `construct`<sup>Required</sup> <a name="construct" id="cdk-monitoring-constructs.BitmapDashboard.isResource.parameter.construct"></a>

- *Type:* constructs.IConstruct

---

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BitmapDashboard.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#cdk-monitoring-constructs.BitmapDashboard.property.env">env</a></code> | <code>aws-cdk-lib.ResourceEnvironment</code> | The environment this resource belongs to. |
| <code><a href="#cdk-monitoring-constructs.BitmapDashboard.property.stack">stack</a></code> | <code>aws-cdk-lib.Stack</code> | The stack in which this resource is defined. |

---

##### `node`<sup>Required</sup> <a name="node" id="cdk-monitoring-constructs.BitmapDashboard.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `env`<sup>Required</sup> <a name="env" id="cdk-monitoring-constructs.BitmapDashboard.property.env"></a>

```typescript
public readonly env: ResourceEnvironment;
```

- *Type:* aws-cdk-lib.ResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.

---

##### `stack`<sup>Required</sup> <a name="stack" id="cdk-monitoring-constructs.BitmapDashboard.property.stack"></a>

```typescript
public readonly stack: Stack;
```

- *Type:* aws-cdk-lib.Stack

The stack in which this resource is defined.

---


### BitmapWidgetRenderingSupport <a name="BitmapWidgetRenderingSupport" id="cdk-monitoring-constructs.BitmapWidgetRenderingSupport"></a>

Support for rendering bitmap widgets on the server side.

It is a custom widget lambda with some additional roles and helper methods.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.BitmapWidgetRenderingSupport.Initializer"></a>

```typescript
import { BitmapWidgetRenderingSupport } from 'cdk-monitoring-constructs'

new BitmapWidgetRenderingSupport(scope: Construct, id: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BitmapWidgetRenderingSupport.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BitmapWidgetRenderingSupport.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.BitmapWidgetRenderingSupport.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="cdk-monitoring-constructs.BitmapWidgetRenderingSupport.Initializer.parameter.id"></a>

- *Type:* string

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.BitmapWidgetRenderingSupport.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#cdk-monitoring-constructs.BitmapWidgetRenderingSupport.asBitmap">asBitmap</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="cdk-monitoring-constructs.BitmapWidgetRenderingSupport.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `asBitmap` <a name="asBitmap" id="cdk-monitoring-constructs.BitmapWidgetRenderingSupport.asBitmap"></a>

```typescript
public asBitmap(widget: IWidget): CustomWidget
```

###### `widget`<sup>Required</sup> <a name="widget" id="cdk-monitoring-constructs.BitmapWidgetRenderingSupport.asBitmap.parameter.widget"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.IWidget

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.BitmapWidgetRenderingSupport.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-monitoring-constructs.BitmapWidgetRenderingSupport.isConstruct"></a>

```typescript
import { BitmapWidgetRenderingSupport } from 'cdk-monitoring-constructs'

BitmapWidgetRenderingSupport.isConstruct(x: any)
```

Checks if `x` is a construct.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.BitmapWidgetRenderingSupport.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BitmapWidgetRenderingSupport.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#cdk-monitoring-constructs.BitmapWidgetRenderingSupport.property.handler">handler</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="cdk-monitoring-constructs.BitmapWidgetRenderingSupport.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `handler`<sup>Required</sup> <a name="handler" id="cdk-monitoring-constructs.BitmapWidgetRenderingSupport.property.handler"></a>

```typescript
public readonly handler: IFunction;
```

- *Type:* aws-cdk-lib.aws_lambda.IFunction

---


### DashboardWithBitmapCopy <a name="DashboardWithBitmapCopy" id="cdk-monitoring-constructs.DashboardWithBitmapCopy"></a>

Composite dashboard which keeps a normal dashboard with its bitmap copy.

The bitmap copy name will be derived from the primary dashboard name, if specified.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.Initializer"></a>

```typescript
import { DashboardWithBitmapCopy } from 'cdk-monitoring-constructs'

new DashboardWithBitmapCopy(scope: Construct, id: string, props: DashboardProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DashboardWithBitmapCopy.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DashboardWithBitmapCopy.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DashboardWithBitmapCopy.Initializer.parameter.props">props</a></code> | <code>aws-cdk-lib.aws_cloudwatch.DashboardProps</code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.Initializer.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.DashboardProps

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DashboardWithBitmapCopy.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#cdk-monitoring-constructs.DashboardWithBitmapCopy.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. |
| <code><a href="#cdk-monitoring-constructs.DashboardWithBitmapCopy.addWidgets">addWidgets</a></code> | Add a widget to the dashboard. |

---

##### `toString` <a name="toString" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.applyRemovalPolicy"></a>

```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```

Apply the given removal policy to this resource.

The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.

The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).

###### `policy`<sup>Required</sup> <a name="policy" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.applyRemovalPolicy.parameter.policy"></a>

- *Type:* aws-cdk-lib.RemovalPolicy

---

##### `addWidgets` <a name="addWidgets" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.addWidgets"></a>

```typescript
public addWidgets(widgets: IWidget): void
```

Add a widget to the dashboard.

Widgets given in multiple calls to add() will be laid out stacked on
top of each other.

Multiple widgets added in the same call to add() will be laid out next
to each other.

###### `widgets`<sup>Required</sup> <a name="widgets" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.addWidgets.parameter.widgets"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.IWidget

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DashboardWithBitmapCopy.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
| <code><a href="#cdk-monitoring-constructs.DashboardWithBitmapCopy.isResource">isResource</a></code> | Check whether the given construct is a Resource. |

---

##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.isConstruct"></a>

```typescript
import { DashboardWithBitmapCopy } from 'cdk-monitoring-constructs'

DashboardWithBitmapCopy.isConstruct(x: any)
```

Checks if `x` is a construct.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

##### `isResource` <a name="isResource" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.isResource"></a>

```typescript
import { DashboardWithBitmapCopy } from 'cdk-monitoring-constructs'

DashboardWithBitmapCopy.isResource(construct: IConstruct)
```

Check whether the given construct is a Resource.

###### `construct`<sup>Required</sup> <a name="construct" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.isResource.parameter.construct"></a>

- *Type:* constructs.IConstruct

---

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DashboardWithBitmapCopy.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#cdk-monitoring-constructs.DashboardWithBitmapCopy.property.env">env</a></code> | <code>aws-cdk-lib.ResourceEnvironment</code> | The environment this resource belongs to. |
| <code><a href="#cdk-monitoring-constructs.DashboardWithBitmapCopy.property.stack">stack</a></code> | <code>aws-cdk-lib.Stack</code> | The stack in which this resource is defined. |

---

##### `node`<sup>Required</sup> <a name="node" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `env`<sup>Required</sup> <a name="env" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.property.env"></a>

```typescript
public readonly env: ResourceEnvironment;
```

- *Type:* aws-cdk-lib.ResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.

---

##### `stack`<sup>Required</sup> <a name="stack" id="cdk-monitoring-constructs.DashboardWithBitmapCopy.property.stack"></a>

```typescript
public readonly stack: Stack;
```

- *Type:* aws-cdk-lib.Stack

The stack in which this resource is defined.

---


### DefaultDashboardFactory <a name="DefaultDashboardFactory" id="cdk-monitoring-constructs.DefaultDashboardFactory"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IDashboardFactory">IDashboardFactory</a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DefaultDashboardFactory.Initializer"></a>

```typescript
import { DefaultDashboardFactory } from 'cdk-monitoring-constructs'

new DefaultDashboardFactory(scope: Construct, id: string, props: MonitoringDashboardsProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsProps">MonitoringDashboardsProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.DefaultDashboardFactory.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="cdk-monitoring-constructs.DefaultDashboardFactory.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DefaultDashboardFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringDashboardsProps">MonitoringDashboardsProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.addSegment">addSegment</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.createdAlarmDashboard">createdAlarmDashboard</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.createdDashboard">createdDashboard</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.createdSummaryDashboard">createdSummaryDashboard</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="cdk-monitoring-constructs.DefaultDashboardFactory.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addSegment` <a name="addSegment" id="cdk-monitoring-constructs.DefaultDashboardFactory.addSegment"></a>

```typescript
public addSegment(props: IDashboardFactoryProps): void
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DefaultDashboardFactory.addSegment.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.IDashboardFactoryProps">IDashboardFactoryProps</a>

---

##### `createdAlarmDashboard` <a name="createdAlarmDashboard" id="cdk-monitoring-constructs.DefaultDashboardFactory.createdAlarmDashboard"></a>

```typescript
public createdAlarmDashboard(): Dashboard
```

##### `createdDashboard` <a name="createdDashboard" id="cdk-monitoring-constructs.DefaultDashboardFactory.createdDashboard"></a>

```typescript
public createdDashboard(): Dashboard
```

##### `createdSummaryDashboard` <a name="createdSummaryDashboard" id="cdk-monitoring-constructs.DefaultDashboardFactory.createdSummaryDashboard"></a>

```typescript
public createdSummaryDashboard(): Dashboard
```

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-monitoring-constructs.DefaultDashboardFactory.isConstruct"></a>

```typescript
import { DefaultDashboardFactory } from 'cdk-monitoring-constructs'

DefaultDashboardFactory.isConstruct(x: any)
```

Checks if `x` is a construct.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.DefaultDashboardFactory.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.property.anyDashboardCreated">anyDashboardCreated</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.property.alarmDashboard">alarmDashboard</a></code> | <code>aws-cdk-lib.aws_cloudwatch.Dashboard</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.property.dashboard">dashboard</a></code> | <code>aws-cdk-lib.aws_cloudwatch.Dashboard</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.property.summaryDashboard">summaryDashboard</a></code> | <code>aws-cdk-lib.aws_cloudwatch.Dashboard</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="cdk-monitoring-constructs.DefaultDashboardFactory.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `anyDashboardCreated`<sup>Required</sup> <a name="anyDashboardCreated" id="cdk-monitoring-constructs.DefaultDashboardFactory.property.anyDashboardCreated"></a>

```typescript
public readonly anyDashboardCreated: boolean;
```

- *Type:* boolean

---

##### `alarmDashboard`<sup>Optional</sup> <a name="alarmDashboard" id="cdk-monitoring-constructs.DefaultDashboardFactory.property.alarmDashboard"></a>

```typescript
public readonly alarmDashboard: Dashboard;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.Dashboard

---

##### `dashboard`<sup>Optional</sup> <a name="dashboard" id="cdk-monitoring-constructs.DefaultDashboardFactory.property.dashboard"></a>

```typescript
public readonly dashboard: Dashboard;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.Dashboard

---

##### `summaryDashboard`<sup>Optional</sup> <a name="summaryDashboard" id="cdk-monitoring-constructs.DefaultDashboardFactory.property.summaryDashboard"></a>

```typescript
public readonly summaryDashboard: Dashboard;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.Dashboard

---


### MonitoringFacade <a name="MonitoringFacade" id="cdk-monitoring-constructs.MonitoringFacade"></a>

Main entry point to create your monitoring.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.MonitoringFacade.Initializer"></a>

```typescript
import { MonitoringFacade } from 'cdk-monitoring-constructs'

new MonitoringFacade(scope: Construct, id: string, props?: MonitoringFacadeProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringFacadeProps">MonitoringFacadeProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.MonitoringFacade.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="cdk-monitoring-constructs.MonitoringFacade.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringFacadeProps">MonitoringFacadeProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createAwsConsoleUrlFactory">createAwsConsoleUrlFactory</a></code> | Creates a new factory that creates AWS Console URLs. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.addLargeHeader">addLargeHeader</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.addMediumHeader">addMediumHeader</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.addSegment">addSegment</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.addSmallHeader">addSmallHeader</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.addWidget">addWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createCompositeAlarmUsingDisambiguator">createCompositeAlarmUsingDisambiguator</a></code> | Finds a subset of created alarms that are marked by a specific disambiguator and creates a composite alarm. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createCompositeAlarmUsingTag">createCompositeAlarmUsingTag</a></code> | Finds a subset of created alarms that are marked by a specific custom tag and creates a composite alarm. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createdAlarmDashboard">createdAlarmDashboard</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createdAlarms">createdAlarms</a></code> | Returns the created alarms across all the monitorings added up until now. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createdAlarmsWithDisambiguator">createdAlarmsWithDisambiguator</a></code> | Returns a subset of created alarms that are marked by a specific disambiguator. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createdAlarmsWithTag">createdAlarmsWithTag</a></code> | Returns a subset of created alarms that are marked by a specific custom tag. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createdDashboard">createdDashboard</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createdMonitorings">createdMonitorings</a></code> | Returns the created monitorings added up until now. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createdSummaryDashboard">createdSummaryDashboard</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorApiGateway">monitorApiGateway</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorApiGatewayV2HttpApi">monitorApiGatewayV2HttpApi</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorAppSyncApi">monitorAppSyncApi</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorAutoScalingGroup">monitorAutoScalingGroup</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorBilling">monitorBilling</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorCertificate">monitorCertificate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorCloudFrontDistribution">monitorCloudFrontDistribution</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorCodeBuildProject">monitorCodeBuildProject</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorCustom">monitorCustom</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorDocumentDbCluster">monitorDocumentDbCluster</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorDynamoTable">monitorDynamoTable</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorDynamoTableGlobalSecondaryIndex">monitorDynamoTableGlobalSecondaryIndex</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorEc2ApplicationLoadBalancer">monitorEc2ApplicationLoadBalancer</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorEC2Instances">monitorEC2Instances</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorEc2NetworkLoadBalancer">monitorEc2NetworkLoadBalancer</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorEc2Service">monitorEc2Service</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorElastiCacheCluster">monitorElastiCacheCluster</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorElasticsearchCluster">monitorElasticsearchCluster</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorFargateApplicationLoadBalancer">monitorFargateApplicationLoadBalancer</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorFargateNetworkLoadBalancer">monitorFargateNetworkLoadBalancer</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorFargateService">monitorFargateService</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorGlueJob">monitorGlueJob</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorKinesisDataAnalytics">monitorKinesisDataAnalytics</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorKinesisDataStream">monitorKinesisDataStream</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorKinesisFirehose">monitorKinesisFirehose</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorLambdaFunction">monitorLambdaFunction</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorLog">monitorLog</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorNetworkLoadBalancer">monitorNetworkLoadBalancer</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorOpenSearchCluster">monitorOpenSearchCluster</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorQueueProcessingEc2Service">monitorQueueProcessingEc2Service</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorQueueProcessingFargateService">monitorQueueProcessingFargateService</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorRdsCluster">monitorRdsCluster</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorRedshiftCluster">monitorRedshiftCluster</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorS3Bucket">monitorS3Bucket</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorScope">monitorScope</a></code> | Monitor all the resources in the given scope. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorSecretsManagerSecret">monitorSecretsManagerSecret</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorSimpleEc2Service">monitorSimpleEc2Service</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorSimpleFargateService">monitorSimpleFargateService</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorSnsTopic">monitorSnsTopic</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorSqsQueue">monitorSqsQueue</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorSqsQueueWithDlq">monitorSqsQueueWithDlq</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorStepFunction">monitorStepFunction</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorStepFunctionActivity">monitorStepFunctionActivity</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorStepFunctionLambdaIntegration">monitorStepFunctionLambdaIntegration</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorStepFunctionServiceIntegration">monitorStepFunctionServiceIntegration</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorSyntheticsCanary">monitorSyntheticsCanary</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorWebApplicationFirewallAclV2">monitorWebApplicationFirewallAclV2</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="cdk-monitoring-constructs.MonitoringFacade.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.MonitoringFacade.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.MonitoringFacade.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

---

##### `createAwsConsoleUrlFactory` <a name="createAwsConsoleUrlFactory" id="cdk-monitoring-constructs.MonitoringFacade.createAwsConsoleUrlFactory"></a>

```typescript
public createAwsConsoleUrlFactory(): AwsConsoleUrlFactory
```

Creates a new factory that creates AWS Console URLs.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.MonitoringFacade.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.MonitoringFacade.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `addLargeHeader` <a name="addLargeHeader" id="cdk-monitoring-constructs.MonitoringFacade.addLargeHeader"></a>

```typescript
public addLargeHeader(text: string, addToSummary?: boolean, addToAlarm?: boolean): MonitoringFacade
```

###### `text`<sup>Required</sup> <a name="text" id="cdk-monitoring-constructs.MonitoringFacade.addLargeHeader.parameter.text"></a>

- *Type:* string

---

###### `addToSummary`<sup>Optional</sup> <a name="addToSummary" id="cdk-monitoring-constructs.MonitoringFacade.addLargeHeader.parameter.addToSummary"></a>

- *Type:* boolean

---

###### `addToAlarm`<sup>Optional</sup> <a name="addToAlarm" id="cdk-monitoring-constructs.MonitoringFacade.addLargeHeader.parameter.addToAlarm"></a>

- *Type:* boolean

---

##### `addMediumHeader` <a name="addMediumHeader" id="cdk-monitoring-constructs.MonitoringFacade.addMediumHeader"></a>

```typescript
public addMediumHeader(text: string, addToSummary?: boolean, addToAlarm?: boolean): MonitoringFacade
```

###### `text`<sup>Required</sup> <a name="text" id="cdk-monitoring-constructs.MonitoringFacade.addMediumHeader.parameter.text"></a>

- *Type:* string

---

###### `addToSummary`<sup>Optional</sup> <a name="addToSummary" id="cdk-monitoring-constructs.MonitoringFacade.addMediumHeader.parameter.addToSummary"></a>

- *Type:* boolean

---

###### `addToAlarm`<sup>Optional</sup> <a name="addToAlarm" id="cdk-monitoring-constructs.MonitoringFacade.addMediumHeader.parameter.addToAlarm"></a>

- *Type:* boolean

---

##### `addSegment` <a name="addSegment" id="cdk-monitoring-constructs.MonitoringFacade.addSegment"></a>

```typescript
public addSegment(segment: IDashboardSegment, overrideProps?: MonitoringDashboardsOverrideProps): MonitoringFacade
```

###### `segment`<sup>Required</sup> <a name="segment" id="cdk-monitoring-constructs.MonitoringFacade.addSegment.parameter.segment"></a>

- *Type:* <a href="#cdk-monitoring-constructs.IDashboardSegment">IDashboardSegment</a>

---

###### `overrideProps`<sup>Optional</sup> <a name="overrideProps" id="cdk-monitoring-constructs.MonitoringFacade.addSegment.parameter.overrideProps"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringDashboardsOverrideProps">MonitoringDashboardsOverrideProps</a>

---

##### `addSmallHeader` <a name="addSmallHeader" id="cdk-monitoring-constructs.MonitoringFacade.addSmallHeader"></a>

```typescript
public addSmallHeader(text: string, addToSummary?: boolean, addToAlarm?: boolean): MonitoringFacade
```

###### `text`<sup>Required</sup> <a name="text" id="cdk-monitoring-constructs.MonitoringFacade.addSmallHeader.parameter.text"></a>

- *Type:* string

---

###### `addToSummary`<sup>Optional</sup> <a name="addToSummary" id="cdk-monitoring-constructs.MonitoringFacade.addSmallHeader.parameter.addToSummary"></a>

- *Type:* boolean

---

###### `addToAlarm`<sup>Optional</sup> <a name="addToAlarm" id="cdk-monitoring-constructs.MonitoringFacade.addSmallHeader.parameter.addToAlarm"></a>

- *Type:* boolean

---

##### `addWidget` <a name="addWidget" id="cdk-monitoring-constructs.MonitoringFacade.addWidget"></a>

```typescript
public addWidget(widget: IWidget, addToSummary?: boolean, addToAlarm?: boolean): MonitoringFacade
```

###### `widget`<sup>Required</sup> <a name="widget" id="cdk-monitoring-constructs.MonitoringFacade.addWidget.parameter.widget"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.IWidget

---

###### `addToSummary`<sup>Optional</sup> <a name="addToSummary" id="cdk-monitoring-constructs.MonitoringFacade.addWidget.parameter.addToSummary"></a>

- *Type:* boolean

---

###### `addToAlarm`<sup>Optional</sup> <a name="addToAlarm" id="cdk-monitoring-constructs.MonitoringFacade.addWidget.parameter.addToAlarm"></a>

- *Type:* boolean

---

##### `createCompositeAlarmUsingDisambiguator` <a name="createCompositeAlarmUsingDisambiguator" id="cdk-monitoring-constructs.MonitoringFacade.createCompositeAlarmUsingDisambiguator"></a>

```typescript
public createCompositeAlarmUsingDisambiguator(alarmDisambiguator: string, props?: AddCompositeAlarmProps): CompositeAlarm
```

Finds a subset of created alarms that are marked by a specific disambiguator and creates a composite alarm.

This composite alarm is created with an 'OR' condition, so it triggers with any child alarm.
NOTE: This composite alarm is not added among other alarms, so it is not returned by createdAlarms() calls.

###### `alarmDisambiguator`<sup>Required</sup> <a name="alarmDisambiguator" id="cdk-monitoring-constructs.MonitoringFacade.createCompositeAlarmUsingDisambiguator.parameter.alarmDisambiguator"></a>

- *Type:* string

disambiguator to filter alarms by.

---

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.createCompositeAlarmUsingDisambiguator.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AddCompositeAlarmProps">AddCompositeAlarmProps</a>

customization options.

---

##### `createCompositeAlarmUsingTag` <a name="createCompositeAlarmUsingTag" id="cdk-monitoring-constructs.MonitoringFacade.createCompositeAlarmUsingTag"></a>

```typescript
public createCompositeAlarmUsingTag(customTag: string, props?: AddCompositeAlarmProps): CompositeAlarm
```

Finds a subset of created alarms that are marked by a specific custom tag and creates a composite alarm.

This composite alarm is created with an 'OR' condition, so it triggers with any child alarm.
NOTE: This composite alarm is not added among other alarms, so it is not returned by createdAlarms() calls.

###### `customTag`<sup>Required</sup> <a name="customTag" id="cdk-monitoring-constructs.MonitoringFacade.createCompositeAlarmUsingTag.parameter.customTag"></a>

- *Type:* string

tag to filter alarms by.

---

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.createCompositeAlarmUsingTag.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AddCompositeAlarmProps">AddCompositeAlarmProps</a>

customization options.

---

##### `createdAlarmDashboard` <a name="createdAlarmDashboard" id="cdk-monitoring-constructs.MonitoringFacade.createdAlarmDashboard"></a>

```typescript
public createdAlarmDashboard(): Dashboard
```

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.MonitoringFacade.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns the created alarms across all the monitorings added up until now.

##### `createdAlarmsWithDisambiguator` <a name="createdAlarmsWithDisambiguator" id="cdk-monitoring-constructs.MonitoringFacade.createdAlarmsWithDisambiguator"></a>

```typescript
public createdAlarmsWithDisambiguator(disambiguator: string): AlarmWithAnnotation[]
```

Returns a subset of created alarms that are marked by a specific disambiguator.

###### `disambiguator`<sup>Required</sup> <a name="disambiguator" id="cdk-monitoring-constructs.MonitoringFacade.createdAlarmsWithDisambiguator.parameter.disambiguator"></a>

- *Type:* string

disambiguator to filter alarms by.

---

##### `createdAlarmsWithTag` <a name="createdAlarmsWithTag" id="cdk-monitoring-constructs.MonitoringFacade.createdAlarmsWithTag"></a>

```typescript
public createdAlarmsWithTag(customTag: string): AlarmWithAnnotation[]
```

Returns a subset of created alarms that are marked by a specific custom tag.

###### `customTag`<sup>Required</sup> <a name="customTag" id="cdk-monitoring-constructs.MonitoringFacade.createdAlarmsWithTag.parameter.customTag"></a>

- *Type:* string

tag to filter alarms by.

---

##### `createdDashboard` <a name="createdDashboard" id="cdk-monitoring-constructs.MonitoringFacade.createdDashboard"></a>

```typescript
public createdDashboard(): Dashboard
```

##### `createdMonitorings` <a name="createdMonitorings" id="cdk-monitoring-constructs.MonitoringFacade.createdMonitorings"></a>

```typescript
public createdMonitorings(): Monitoring[]
```

Returns the created monitorings added up until now.

##### `createdSummaryDashboard` <a name="createdSummaryDashboard" id="cdk-monitoring-constructs.MonitoringFacade.createdSummaryDashboard"></a>

```typescript
public createdSummaryDashboard(): Dashboard
```

##### `monitorApiGateway` <a name="monitorApiGateway" id="cdk-monitoring-constructs.MonitoringFacade.monitorApiGateway"></a>

```typescript
public monitorApiGateway(props: ApiGatewayMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorApiGateway.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps">ApiGatewayMonitoringProps</a>

---

##### `monitorApiGatewayV2HttpApi` <a name="monitorApiGatewayV2HttpApi" id="cdk-monitoring-constructs.MonitoringFacade.monitorApiGatewayV2HttpApi"></a>

```typescript
public monitorApiGatewayV2HttpApi(props: ApiGatewayV2HttpApiMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorApiGatewayV2HttpApi.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps">ApiGatewayV2HttpApiMonitoringProps</a>

---

##### `monitorAppSyncApi` <a name="monitorAppSyncApi" id="cdk-monitoring-constructs.MonitoringFacade.monitorAppSyncApi"></a>

```typescript
public monitorAppSyncApi(props: AppSyncMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorAppSyncApi.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AppSyncMonitoringProps">AppSyncMonitoringProps</a>

---

##### `monitorAutoScalingGroup` <a name="monitorAutoScalingGroup" id="cdk-monitoring-constructs.MonitoringFacade.monitorAutoScalingGroup"></a>

```typescript
public monitorAutoScalingGroup(props: AutoScalingGroupMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorAutoScalingGroup.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringProps">AutoScalingGroupMonitoringProps</a>

---

##### `monitorBilling` <a name="monitorBilling" id="cdk-monitoring-constructs.MonitoringFacade.monitorBilling"></a>

```typescript
public monitorBilling(props?: BillingMonitoringProps): MonitoringFacade
```

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorBilling.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.BillingMonitoringProps">BillingMonitoringProps</a>

---

##### `monitorCertificate` <a name="monitorCertificate" id="cdk-monitoring-constructs.MonitoringFacade.monitorCertificate"></a>

```typescript
public monitorCertificate(props: CertificateManagerMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorCertificate.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CertificateManagerMonitoringProps">CertificateManagerMonitoringProps</a>

---

##### `monitorCloudFrontDistribution` <a name="monitorCloudFrontDistribution" id="cdk-monitoring-constructs.MonitoringFacade.monitorCloudFrontDistribution"></a>

```typescript
public monitorCloudFrontDistribution(props: CloudFrontDistributionMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorCloudFrontDistribution.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps">CloudFrontDistributionMonitoringProps</a>

---

##### `monitorCodeBuildProject` <a name="monitorCodeBuildProject" id="cdk-monitoring-constructs.MonitoringFacade.monitorCodeBuildProject"></a>

```typescript
public monitorCodeBuildProject(props: CodeBuildProjectMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorCodeBuildProject.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps">CodeBuildProjectMonitoringProps</a>

---

##### `monitorCustom` <a name="monitorCustom" id="cdk-monitoring-constructs.MonitoringFacade.monitorCustom"></a>

```typescript
public monitorCustom(props: CustomMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorCustom.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CustomMonitoringProps">CustomMonitoringProps</a>

---

##### `monitorDocumentDbCluster` <a name="monitorDocumentDbCluster" id="cdk-monitoring-constructs.MonitoringFacade.monitorDocumentDbCluster"></a>

```typescript
public monitorDocumentDbCluster(props: DocumentDbMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorDocumentDbCluster.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DocumentDbMonitoringProps">DocumentDbMonitoringProps</a>

---

##### `monitorDynamoTable` <a name="monitorDynamoTable" id="cdk-monitoring-constructs.MonitoringFacade.monitorDynamoTable"></a>

```typescript
public monitorDynamoTable(props: DynamoTableMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorDynamoTable.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps">DynamoTableMonitoringProps</a>

---

##### `monitorDynamoTableGlobalSecondaryIndex` <a name="monitorDynamoTableGlobalSecondaryIndex" id="cdk-monitoring-constructs.MonitoringFacade.monitorDynamoTableGlobalSecondaryIndex"></a>

```typescript
public monitorDynamoTableGlobalSecondaryIndex(props: DynamoTableGlobalSecondaryIndexMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorDynamoTableGlobalSecondaryIndex.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps">DynamoTableGlobalSecondaryIndexMonitoringProps</a>

---

##### `monitorEc2ApplicationLoadBalancer` <a name="monitorEc2ApplicationLoadBalancer" id="cdk-monitoring-constructs.MonitoringFacade.monitorEc2ApplicationLoadBalancer"></a>

```typescript
public monitorEc2ApplicationLoadBalancer(props: Ec2ApplicationLoadBalancerMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorEc2ApplicationLoadBalancer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps">Ec2ApplicationLoadBalancerMonitoringProps</a>

---

##### `monitorEC2Instances` <a name="monitorEC2Instances" id="cdk-monitoring-constructs.MonitoringFacade.monitorEC2Instances"></a>

```typescript
public monitorEC2Instances(props: EC2MonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorEC2Instances.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.EC2MonitoringProps">EC2MonitoringProps</a>

---

##### `monitorEc2NetworkLoadBalancer` <a name="monitorEc2NetworkLoadBalancer" id="cdk-monitoring-constructs.MonitoringFacade.monitorEc2NetworkLoadBalancer"></a>

```typescript
public monitorEc2NetworkLoadBalancer(props: Ec2NetworkLoadBalancerMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorEc2NetworkLoadBalancer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps">Ec2NetworkLoadBalancerMonitoringProps</a>

---

##### `monitorEc2Service` <a name="monitorEc2Service" id="cdk-monitoring-constructs.MonitoringFacade.monitorEc2Service"></a>

```typescript
public monitorEc2Service(props: Ec2ServiceMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorEc2Service.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps">Ec2ServiceMonitoringProps</a>

---

##### `monitorElastiCacheCluster` <a name="monitorElastiCacheCluster" id="cdk-monitoring-constructs.MonitoringFacade.monitorElastiCacheCluster"></a>

```typescript
public monitorElastiCacheCluster(props: ElastiCacheClusterMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorElastiCacheCluster.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps">ElastiCacheClusterMonitoringProps</a>

---

##### `monitorElasticsearchCluster` <a name="monitorElasticsearchCluster" id="cdk-monitoring-constructs.MonitoringFacade.monitorElasticsearchCluster"></a>

```typescript
public monitorElasticsearchCluster(props: OpenSearchClusterMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorElasticsearchCluster.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps">OpenSearchClusterMonitoringProps</a>

---

##### `monitorFargateApplicationLoadBalancer` <a name="monitorFargateApplicationLoadBalancer" id="cdk-monitoring-constructs.MonitoringFacade.monitorFargateApplicationLoadBalancer"></a>

```typescript
public monitorFargateApplicationLoadBalancer(props: FargateApplicationLoadBalancerMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorFargateApplicationLoadBalancer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps">FargateApplicationLoadBalancerMonitoringProps</a>

---

##### `monitorFargateNetworkLoadBalancer` <a name="monitorFargateNetworkLoadBalancer" id="cdk-monitoring-constructs.MonitoringFacade.monitorFargateNetworkLoadBalancer"></a>

```typescript
public monitorFargateNetworkLoadBalancer(props: FargateNetworkLoadBalancerMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorFargateNetworkLoadBalancer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps">FargateNetworkLoadBalancerMonitoringProps</a>

---

##### `monitorFargateService` <a name="monitorFargateService" id="cdk-monitoring-constructs.MonitoringFacade.monitorFargateService"></a>

```typescript
public monitorFargateService(props: FargateServiceMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorFargateService.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps">FargateServiceMonitoringProps</a>

---

##### `monitorGlueJob` <a name="monitorGlueJob" id="cdk-monitoring-constructs.MonitoringFacade.monitorGlueJob"></a>

```typescript
public monitorGlueJob(props: GlueJobMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorGlueJob.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.GlueJobMonitoringProps">GlueJobMonitoringProps</a>

---

##### `monitorKinesisDataAnalytics` <a name="monitorKinesisDataAnalytics" id="cdk-monitoring-constructs.MonitoringFacade.monitorKinesisDataAnalytics"></a>

```typescript
public monitorKinesisDataAnalytics(props: KinesisDataAnalyticsMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorKinesisDataAnalytics.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps">KinesisDataAnalyticsMonitoringProps</a>

---

##### `monitorKinesisDataStream` <a name="monitorKinesisDataStream" id="cdk-monitoring-constructs.MonitoringFacade.monitorKinesisDataStream"></a>

```typescript
public monitorKinesisDataStream(props: KinesisDataStreamMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorKinesisDataStream.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps">KinesisDataStreamMonitoringProps</a>

---

##### `monitorKinesisFirehose` <a name="monitorKinesisFirehose" id="cdk-monitoring-constructs.MonitoringFacade.monitorKinesisFirehose"></a>

```typescript
public monitorKinesisFirehose(props: KinesisFirehoseMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorKinesisFirehose.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps">KinesisFirehoseMonitoringProps</a>

---

##### `monitorLambdaFunction` <a name="monitorLambdaFunction" id="cdk-monitoring-constructs.MonitoringFacade.monitorLambdaFunction"></a>

```typescript
public monitorLambdaFunction(props: LambdaFunctionMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorLambdaFunction.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps">LambdaFunctionMonitoringProps</a>

---

##### `monitorLog` <a name="monitorLog" id="cdk-monitoring-constructs.MonitoringFacade.monitorLog"></a>

```typescript
public monitorLog(props: LogMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorLog.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LogMonitoringProps">LogMonitoringProps</a>

---

##### `monitorNetworkLoadBalancer` <a name="monitorNetworkLoadBalancer" id="cdk-monitoring-constructs.MonitoringFacade.monitorNetworkLoadBalancer"></a>

```typescript
public monitorNetworkLoadBalancer(props: NetworkLoadBalancerMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorNetworkLoadBalancer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps">NetworkLoadBalancerMonitoringProps</a>

---

##### `monitorOpenSearchCluster` <a name="monitorOpenSearchCluster" id="cdk-monitoring-constructs.MonitoringFacade.monitorOpenSearchCluster"></a>

```typescript
public monitorOpenSearchCluster(props: OpenSearchClusterMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorOpenSearchCluster.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps">OpenSearchClusterMonitoringProps</a>

---

##### `monitorQueueProcessingEc2Service` <a name="monitorQueueProcessingEc2Service" id="cdk-monitoring-constructs.MonitoringFacade.monitorQueueProcessingEc2Service"></a>

```typescript
public monitorQueueProcessingEc2Service(props: QueueProcessingEc2ServiceMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorQueueProcessingEc2Service.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps">QueueProcessingEc2ServiceMonitoringProps</a>

---

##### `monitorQueueProcessingFargateService` <a name="monitorQueueProcessingFargateService" id="cdk-monitoring-constructs.MonitoringFacade.monitorQueueProcessingFargateService"></a>

```typescript
public monitorQueueProcessingFargateService(props: QueueProcessingFargateServiceMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorQueueProcessingFargateService.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps">QueueProcessingFargateServiceMonitoringProps</a>

---

##### `monitorRdsCluster` <a name="monitorRdsCluster" id="cdk-monitoring-constructs.MonitoringFacade.monitorRdsCluster"></a>

```typescript
public monitorRdsCluster(props: RdsClusterMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorRdsCluster.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps">RdsClusterMonitoringProps</a>

---

##### `monitorRedshiftCluster` <a name="monitorRedshiftCluster" id="cdk-monitoring-constructs.MonitoringFacade.monitorRedshiftCluster"></a>

```typescript
public monitorRedshiftCluster(props: RedshiftClusterMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorRedshiftCluster.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps">RedshiftClusterMonitoringProps</a>

---

##### `monitorS3Bucket` <a name="monitorS3Bucket" id="cdk-monitoring-constructs.MonitoringFacade.monitorS3Bucket"></a>

```typescript
public monitorS3Bucket(props: S3BucketMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorS3Bucket.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.S3BucketMonitoringProps">S3BucketMonitoringProps</a>

---

##### `monitorScope` <a name="monitorScope" id="cdk-monitoring-constructs.MonitoringFacade.monitorScope"></a>

```typescript
public monitorScope(scope: Construct, aspectProps?: MonitoringAspectProps): void
```

Monitor all the resources in the given scope.

###### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.MonitoringFacade.monitorScope.parameter.scope"></a>

- *Type:* constructs.Construct

---

###### `aspectProps`<sup>Optional</sup> <a name="aspectProps" id="cdk-monitoring-constructs.MonitoringFacade.monitorScope.parameter.aspectProps"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectProps">MonitoringAspectProps</a>

---

##### `monitorSecretsManagerSecret` <a name="monitorSecretsManagerSecret" id="cdk-monitoring-constructs.MonitoringFacade.monitorSecretsManagerSecret"></a>

```typescript
public monitorSecretsManagerSecret(props: SecretsManagerSecretMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorSecretsManagerSecret.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps">SecretsManagerSecretMonitoringProps</a>

---

##### `monitorSimpleEc2Service` <a name="monitorSimpleEc2Service" id="cdk-monitoring-constructs.MonitoringFacade.monitorSimpleEc2Service"></a>

```typescript
public monitorSimpleEc2Service(props: SimpleEc2ServiceMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorSimpleEc2Service.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps">SimpleEc2ServiceMonitoringProps</a>

---

##### `monitorSimpleFargateService` <a name="monitorSimpleFargateService" id="cdk-monitoring-constructs.MonitoringFacade.monitorSimpleFargateService"></a>

```typescript
public monitorSimpleFargateService(props: SimpleFargateServiceMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorSimpleFargateService.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps">SimpleFargateServiceMonitoringProps</a>

---

##### `monitorSnsTopic` <a name="monitorSnsTopic" id="cdk-monitoring-constructs.MonitoringFacade.monitorSnsTopic"></a>

```typescript
public monitorSnsTopic(props: SnsTopicMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorSnsTopic.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps">SnsTopicMonitoringProps</a>

---

##### `monitorSqsQueue` <a name="monitorSqsQueue" id="cdk-monitoring-constructs.MonitoringFacade.monitorSqsQueue"></a>

```typescript
public monitorSqsQueue(props: SqsQueueMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorSqsQueue.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps">SqsQueueMonitoringProps</a>

---

##### `monitorSqsQueueWithDlq` <a name="monitorSqsQueueWithDlq" id="cdk-monitoring-constructs.MonitoringFacade.monitorSqsQueueWithDlq"></a>

```typescript
public monitorSqsQueueWithDlq(props: SqsQueueMonitoringWithDlqProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorSqsQueueWithDlq.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps">SqsQueueMonitoringWithDlqProps</a>

---

##### `monitorStepFunction` <a name="monitorStepFunction" id="cdk-monitoring-constructs.MonitoringFacade.monitorStepFunction"></a>

```typescript
public monitorStepFunction(props: StepFunctionMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorStepFunction.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps">StepFunctionMonitoringProps</a>

---

##### `monitorStepFunctionActivity` <a name="monitorStepFunctionActivity" id="cdk-monitoring-constructs.MonitoringFacade.monitorStepFunctionActivity"></a>

```typescript
public monitorStepFunctionActivity(props: StepFunctionActivityMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorStepFunctionActivity.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps">StepFunctionActivityMonitoringProps</a>

---

##### `monitorStepFunctionLambdaIntegration` <a name="monitorStepFunctionLambdaIntegration" id="cdk-monitoring-constructs.MonitoringFacade.monitorStepFunctionLambdaIntegration"></a>

```typescript
public monitorStepFunctionLambdaIntegration(props: StepFunctionLambdaIntegrationMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorStepFunctionLambdaIntegration.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps">StepFunctionLambdaIntegrationMonitoringProps</a>

---

##### `monitorStepFunctionServiceIntegration` <a name="monitorStepFunctionServiceIntegration" id="cdk-monitoring-constructs.MonitoringFacade.monitorStepFunctionServiceIntegration"></a>

```typescript
public monitorStepFunctionServiceIntegration(props: StepFunctionServiceIntegrationMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorStepFunctionServiceIntegration.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps">StepFunctionServiceIntegrationMonitoringProps</a>

---

##### `monitorSyntheticsCanary` <a name="monitorSyntheticsCanary" id="cdk-monitoring-constructs.MonitoringFacade.monitorSyntheticsCanary"></a>

```typescript
public monitorSyntheticsCanary(props: SyntheticsCanaryMonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorSyntheticsCanary.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps">SyntheticsCanaryMonitoringProps</a>

---

##### `monitorWebApplicationFirewallAclV2` <a name="monitorWebApplicationFirewallAclV2" id="cdk-monitoring-constructs.MonitoringFacade.monitorWebApplicationFirewallAclV2"></a>

```typescript
public monitorWebApplicationFirewallAclV2(props: WafV2MonitoringProps): MonitoringFacade
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringFacade.monitorWebApplicationFirewallAclV2.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.WafV2MonitoringProps">WafV2MonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-monitoring-constructs.MonitoringFacade.isConstruct"></a>

```typescript
import { MonitoringFacade } from 'cdk-monitoring-constructs'

MonitoringFacade.isConstruct(x: any)
```

Checks if `x` is a construct.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.MonitoringFacade.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |

---

##### `node`<sup>Required</sup> <a name="node" id="cdk-monitoring-constructs.MonitoringFacade.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---


### MonitoringScope <a name="MonitoringScope" id="cdk-monitoring-constructs.MonitoringScope"></a>

A scope (construct) where all monitoring constructs are living in.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.MonitoringScope.Initializer"></a>

```typescript
import { MonitoringScope } from 'cdk-monitoring-constructs'

new MonitoringScope(scope: Construct, id: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringScope.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
| <code><a href="#cdk-monitoring-constructs.MonitoringScope.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.MonitoringScope.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

The scope in which to define this construct.

---

##### `id`<sup>Required</sup> <a name="id" id="cdk-monitoring-constructs.MonitoringScope.Initializer.parameter.id"></a>

- *Type:* string

The scoped construct ID.

Must be unique amongst siblings. If
the ID includes a path separator (`/`), then it will be replaced by double
dash `--`.

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringScope.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#cdk-monitoring-constructs.MonitoringScope.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.MonitoringScope.createAwsConsoleUrlFactory">createAwsConsoleUrlFactory</a></code> | Creates a new factory that creates AWS Console URLs. |
| <code><a href="#cdk-monitoring-constructs.MonitoringScope.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.MonitoringScope.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |

---

##### `toString` <a name="toString" id="cdk-monitoring-constructs.MonitoringScope.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.MonitoringScope.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.MonitoringScope.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createAwsConsoleUrlFactory` <a name="createAwsConsoleUrlFactory" id="cdk-monitoring-constructs.MonitoringScope.createAwsConsoleUrlFactory"></a>

```typescript
public createAwsConsoleUrlFactory(): AwsConsoleUrlFactory
```

Creates a new factory that creates AWS Console URLs.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.MonitoringScope.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.MonitoringScope.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringScope.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-monitoring-constructs.MonitoringScope.isConstruct"></a>

```typescript
import { MonitoringScope } from 'cdk-monitoring-constructs'

MonitoringScope.isConstruct(x: any)
```

Checks if `x` is a construct.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.MonitoringScope.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringScope.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |

---

##### `node`<sup>Required</sup> <a name="node" id="cdk-monitoring-constructs.MonitoringScope.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---


### SecretsManagerMetricsPublisher <a name="SecretsManagerMetricsPublisher" id="cdk-monitoring-constructs.SecretsManagerMetricsPublisher"></a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMetricsPublisher.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMetricsPublisher.addSecret">addSecret</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="cdk-monitoring-constructs.SecretsManagerMetricsPublisher.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `addSecret` <a name="addSecret" id="cdk-monitoring-constructs.SecretsManagerMetricsPublisher.addSecret"></a>

```typescript
public addSecret(secret: ISecret): void
```

###### `secret`<sup>Required</sup> <a name="secret" id="cdk-monitoring-constructs.SecretsManagerMetricsPublisher.addSecret.parameter.secret"></a>

- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMetricsPublisher.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMetricsPublisher.getInstance">getInstance</a></code> | *No description.* |

---

##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-monitoring-constructs.SecretsManagerMetricsPublisher.isConstruct"></a>

```typescript
import { SecretsManagerMetricsPublisher } from 'cdk-monitoring-constructs'

SecretsManagerMetricsPublisher.isConstruct(x: any)
```

Checks if `x` is a construct.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.SecretsManagerMetricsPublisher.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

##### `getInstance` <a name="getInstance" id="cdk-monitoring-constructs.SecretsManagerMetricsPublisher.getInstance"></a>

```typescript
import { SecretsManagerMetricsPublisher } from 'cdk-monitoring-constructs'

SecretsManagerMetricsPublisher.getInstance(scope: MonitoringScope)
```

###### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.SecretsManagerMetricsPublisher.getInstance.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMetricsPublisher.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMetricsPublisher.property.lambda">lambda</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="cdk-monitoring-constructs.SecretsManagerMetricsPublisher.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `lambda`<sup>Required</sup> <a name="lambda" id="cdk-monitoring-constructs.SecretsManagerMetricsPublisher.property.lambda"></a>

```typescript
public readonly lambda: IFunction;
```

- *Type:* aws-cdk-lib.aws_lambda.IFunction

---


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

### AddAlarmProps <a name="AddAlarmProps" id="cdk-monitoring-constructs.AddAlarmProps"></a>

Properties necessary to create a single alarm and configure it.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AddAlarmProps.Initializer"></a>

```typescript
import { AddAlarmProps } from 'cdk-monitoring-constructs'

const addAlarmProps: AddAlarmProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.alarmDescription">alarmDescription</a></code> | <code>string</code> | Alarm description is included in the ticket and therefore should describe what happened, with as much context as possible. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.alarmNameSuffix">alarmNameSuffix</a></code> | <code>string</code> | Suffix added to base alarm name. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.comparisonOperator">comparisonOperator</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.threshold">threshold</a></code> | <code>number</code> | Threshold to alarm on. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.treatMissingData">treatMissingData</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default action strategy. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.alarmDedupeStringSuffix">alarmDedupeStringSuffix</a></code> | <code>string</code> | If this is defined, the default resource-specific alarm dedupe string will be set and this will be added as a suffix. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.disambiguator">disambiguator</a></code> | <code>string</code> | Disambiguator is a string that differentiates this alarm from other similar ones. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.minMetricSamplesToAlarm">minMetricSamplesToAlarm</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed to trigger the alarm. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |

---

##### `alarmDescription`<sup>Required</sup> <a name="alarmDescription" id="cdk-monitoring-constructs.AddAlarmProps.property.alarmDescription"></a>

```typescript
public readonly alarmDescription: string;
```

- *Type:* string

Alarm description is included in the ticket and therefore should describe what happened, with as much context as possible.

---

##### `alarmNameSuffix`<sup>Required</sup> <a name="alarmNameSuffix" id="cdk-monitoring-constructs.AddAlarmProps.property.alarmNameSuffix"></a>

```typescript
public readonly alarmNameSuffix: string;
```

- *Type:* string

Suffix added to base alarm name.

Alarm names need to be unique.

---

##### `comparisonOperator`<sup>Required</sup> <a name="comparisonOperator" id="cdk-monitoring-constructs.AddAlarmProps.property.comparisonOperator"></a>

```typescript
public readonly comparisonOperator: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator

Comparison operator used to compare actual value against the threshold.

---

##### `threshold`<sup>Required</sup> <a name="threshold" id="cdk-monitoring-constructs.AddAlarmProps.property.threshold"></a>

```typescript
public readonly threshold: number;
```

- *Type:* number

Threshold to alarm on.

---

##### `treatMissingData`<sup>Required</sup> <a name="treatMissingData" id="cdk-monitoring-constructs.AddAlarmProps.property.treatMissingData"></a>

```typescript
public readonly treatMissingData: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData

Behaviour in case the metric data is missing.

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.AddAlarmProps.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* default action will be used

Allows to override the default action strategy.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.AddAlarmProps.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.AddAlarmProps.property.alarmDedupeStringSuffix"></a>

```typescript
public readonly alarmDedupeStringSuffix: string;
```

- *Type:* string
- *Default:* undefined (no suffix)

If this is defined, the default resource-specific alarm dedupe string will be set and this will be added as a suffix.

This allows you to specify the same dedupe string for a family of alarms.
Cannot be defined at the same time as alarmDedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.AddAlarmProps.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.AddAlarmProps.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.AddAlarmProps.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.AddAlarmProps.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.AddAlarmProps.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.AddAlarmProps.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.AddAlarmProps.property.disambiguator"></a>

```typescript
public readonly disambiguator: string;
```

- *Type:* string
- *Default:* undefined (no disambiguator)

Disambiguator is a string that differentiates this alarm from other similar ones.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.AddAlarmProps.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.AddAlarmProps.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.AddAlarmProps.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* Same as datapointsToAlarm.

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.AddAlarmProps.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `minMetricSamplesToAlarm`<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.AddAlarmProps.property.minMetricSamplesToAlarm"></a>

```typescript
public readonly minMetricSamplesToAlarm: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be added to the alarm

Specifies how many samples (N) of the metric is needed to trigger the alarm.

If this property is specified, an artificial composite alarm is created of the following:
<ul>
<li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
<li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
</ul>
The newly created composite alarm will be returned as a result, and it will take the original alarm actions.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.AddAlarmProps.property.overrideAnnotationColor"></a>

```typescript
public readonly overrideAnnotationColor: string;
```

- *Type:* string
- *Default:* no override (default color)

If specified, it modifies the final alarm annotation color.

---

##### `overrideAnnotationLabel`<sup>Optional</sup> <a name="overrideAnnotationLabel" id="cdk-monitoring-constructs.AddAlarmProps.property.overrideAnnotationLabel"></a>

```typescript
public readonly overrideAnnotationLabel: string;
```

- *Type:* string
- *Default:* no override (default label)

If specified, it modifies the final alarm annotation label.

---

##### `overrideAnnotationVisibility`<sup>Optional</sup> <a name="overrideAnnotationVisibility" id="cdk-monitoring-constructs.AddAlarmProps.property.overrideAnnotationVisibility"></a>

```typescript
public readonly overrideAnnotationVisibility: boolean;
```

- *Type:* boolean
- *Default:* no override (default visibility)

If specified, it modifies the final alarm annotation visibility.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.AddAlarmProps.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.AddAlarmProps.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

### AddCompositeAlarmProps <a name="AddCompositeAlarmProps" id="cdk-monitoring-constructs.AddCompositeAlarmProps"></a>

Properties necessary to create a composite alarm and configure it.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AddCompositeAlarmProps.Initializer"></a>

```typescript
import { AddCompositeAlarmProps } from 'cdk-monitoring-constructs'

const addCompositeAlarmProps: AddCompositeAlarmProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.disambiguator">disambiguator</a></code> | <code>string</code> | Disambiguator is a string that differentiates this alarm from other similar ones. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default action strategy. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.alarmDedupeStringSuffix">alarmDedupeStringSuffix</a></code> | <code>string</code> | If this is defined, the default resource-specific alarm dedupe string will be set and this will be added as a suffix. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.alarmDescription">alarmDescription</a></code> | <code>string</code> | Alarm description is included in the ticket and therefore should describe what happened, with as much context as possible. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.alarmNameSuffix">alarmNameSuffix</a></code> | <code>string</code> | Suffix added to base alarm name. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.compositeOperator">compositeOperator</a></code> | <code><a href="#cdk-monitoring-constructs.CompositeAlarmOperator">CompositeAlarmOperator</a></code> | Logical operator used to aggregate the status individual alarms. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |

---

##### `disambiguator`<sup>Required</sup> <a name="disambiguator" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.disambiguator"></a>

```typescript
public readonly disambiguator: string;
```

- *Type:* string

Disambiguator is a string that differentiates this alarm from other similar ones.

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* default action will be used

Allows to override the default action strategy.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.alarmDedupeStringSuffix"></a>

```typescript
public readonly alarmDedupeStringSuffix: string;
```

- *Type:* string
- *Default:* undefined (no suffix)

If this is defined, the default resource-specific alarm dedupe string will be set and this will be added as a suffix.

This allows you to specify the same dedupe string for a family of alarms.
Cannot be defined at the same time as alarmDedupeStringOverride.

---

##### `alarmDescription`<sup>Optional</sup> <a name="alarmDescription" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.alarmDescription"></a>

```typescript
public readonly alarmDescription: string;
```

- *Type:* string
- *Default:* no description

Alarm description is included in the ticket and therefore should describe what happened, with as much context as possible.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `alarmNameSuffix`<sup>Optional</sup> <a name="alarmNameSuffix" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.alarmNameSuffix"></a>

```typescript
public readonly alarmNameSuffix: string;
```

- *Type:* string
- *Default:* no suffix

Suffix added to base alarm name.

Alarm names need to be unique.

---

##### `compositeOperator`<sup>Optional</sup> <a name="compositeOperator" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.compositeOperator"></a>

```typescript
public readonly compositeOperator: CompositeAlarmOperator;
```

- *Type:* <a href="#cdk-monitoring-constructs.CompositeAlarmOperator">CompositeAlarmOperator</a>
- *Default:* OR

Logical operator used to aggregate the status individual alarms.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.AddCompositeAlarmProps.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

### AlarmActionStrategyProps <a name="AlarmActionStrategyProps" id="cdk-monitoring-constructs.AlarmActionStrategyProps"></a>

Properties necessary to append actions to an alarm.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AlarmActionStrategyProps.Initializer"></a>

```typescript
import { AlarmActionStrategyProps } from 'cdk-monitoring-constructs'

const alarmActionStrategyProps: AlarmActionStrategyProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmActionStrategyProps.property.action">action</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmActionStrategyProps.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmActionStrategyProps.property.customTags">customTags</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmActionStrategyProps.property.dedupeString">dedupeString</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmActionStrategyProps.property.disambiguator">disambiguator</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmActionStrategyProps.property.alarm">alarm</a></code> | <code>aws-cdk-lib.aws_cloudwatch.AlarmBase</code> | *No description.* |

---

##### `action`<sup>Required</sup> <a name="action" id="cdk-monitoring-constructs.AlarmActionStrategyProps.property.action"></a>

```typescript
public readonly action: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.AlarmActionStrategyProps.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

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

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.AlarmActionStrategyProps.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]

---

##### `dedupeString`<sup>Optional</sup> <a name="dedupeString" id="cdk-monitoring-constructs.AlarmActionStrategyProps.property.dedupeString"></a>

```typescript
public readonly dedupeString: string;
```

- *Type:* string

---

##### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.AlarmActionStrategyProps.property.disambiguator"></a>

```typescript
public readonly disambiguator: string;
```

- *Type:* string

---

##### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.AlarmActionStrategyProps.property.alarm"></a>

```typescript
public readonly alarm: AlarmBase;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.AlarmBase

---

### AlarmAnnotationStrategyProps <a name="AlarmAnnotationStrategyProps" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.Initializer"></a>

```typescript
import { AlarmAnnotationStrategyProps } from 'cdk-monitoring-constructs'

const alarmAnnotationStrategyProps: AlarmAnnotationStrategyProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.action">action</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.customTags">customTags</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.dedupeString">dedupeString</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.disambiguator">disambiguator</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.alarm">alarm</a></code> | <code>aws-cdk-lib.aws_cloudwatch.Alarm</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.comparisonOperator">comparisonOperator</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.metric">metric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.Metric \| aws-cdk-lib.aws_cloudwatch.MathExpression</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.threshold">threshold</a></code> | <code>number</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.minMetricSamplesToAlarm">minMetricSamplesToAlarm</a></code> | <code>number</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | *No description.* |

---

##### `action`<sup>Required</sup> <a name="action" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.action"></a>

```typescript
public readonly action: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

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

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]

---

##### `dedupeString`<sup>Optional</sup> <a name="dedupeString" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.dedupeString"></a>

```typescript
public readonly dedupeString: string;
```

- *Type:* string

---

##### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.disambiguator"></a>

```typescript
public readonly disambiguator: string;
```

- *Type:* string

---

##### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.alarm"></a>

```typescript
public readonly alarm: Alarm;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.Alarm

---

##### `comparisonOperator`<sup>Required</sup> <a name="comparisonOperator" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.comparisonOperator"></a>

```typescript
public readonly comparisonOperator: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator

---

##### `datapointsToAlarm`<sup>Required</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number

---

##### `evaluationPeriods`<sup>Required</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number

---

##### `fillAlarmRange`<sup>Required</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean

---

##### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.metric"></a>

```typescript
public readonly metric: Metric | MathExpression;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

##### `threshold`<sup>Required</sup> <a name="threshold" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.threshold"></a>

```typescript
public readonly threshold: number;
```

- *Type:* number

---

##### `minMetricSamplesToAlarm`<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.minMetricSamplesToAlarm"></a>

```typescript
public readonly minMetricSamplesToAlarm: number;
```

- *Type:* number

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.overrideAnnotationColor"></a>

```typescript
public readonly overrideAnnotationColor: string;
```

- *Type:* string

---

##### `overrideAnnotationLabel`<sup>Optional</sup> <a name="overrideAnnotationLabel" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.overrideAnnotationLabel"></a>

```typescript
public readonly overrideAnnotationLabel: string;
```

- *Type:* string

---

##### `overrideAnnotationVisibility`<sup>Optional</sup> <a name="overrideAnnotationVisibility" id="cdk-monitoring-constructs.AlarmAnnotationStrategyProps.property.overrideAnnotationVisibility"></a>

```typescript
public readonly overrideAnnotationVisibility: boolean;
```

- *Type:* boolean

---

### AlarmFactoryDefaults <a name="AlarmFactoryDefaults" id="cdk-monitoring-constructs.AlarmFactoryDefaults"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AlarmFactoryDefaults.Initializer"></a>

```typescript
import { AlarmFactoryDefaults } from 'cdk-monitoring-constructs'

const alarmFactoryDefaults: AlarmFactoryDefaults = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryDefaults.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean \| {[ key: string ]: boolean}</code> | Enables the configured CloudWatch alarm ticketing actions for either all severities, or per severity. |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryDefaults.property.alarmNamePrefix">alarmNamePrefix</a></code> | <code>string</code> | Global prefix for all alarm names. |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryDefaults.property.action">action</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Default alarm action used for each alarm, unless it is overridden. |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryDefaults.property.annotationStrategy">annotationStrategy</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmAnnotationStrategy">IAlarmAnnotationStrategy</a></code> | Custom strategy to create annotations for alarms. |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryDefaults.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryDefaults.property.dedupeStringProcessor">dedupeStringProcessor</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmDedupeStringProcessor">IAlarmDedupeStringProcessor</a></code> | Custom strategy to process dedupe strings of the alarms. |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryDefaults.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryDefaults.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryDefaults.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryDefaults.property.useDefaultDedupeForError">useDefaultDedupeForError</a></code> | <code>boolean</code> | If this is defined as false and dedupeStringOverride is undefined, the alarm prefix will be part of the dedupe string. |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryDefaults.property.useDefaultDedupeForLatency">useDefaultDedupeForLatency</a></code> | <code>boolean</code> | If this is defined as false and dedupeStringOverride is undefined, the alarm prefix will be part of the dedupe string. |

---

##### `actionsEnabled`<sup>Required</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.AlarmFactoryDefaults.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean | {[ key: string ]: boolean};
```

- *Type:* boolean | {[ key: string ]: boolean}

Enables the configured CloudWatch alarm ticketing actions for either all severities, or per severity.

---

##### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.AlarmFactoryDefaults.property.alarmNamePrefix"></a>

```typescript
public readonly alarmNamePrefix: string;
```

- *Type:* string

Global prefix for all alarm names.

This should be something unique to avoid collisions with other CTIs.
This is ignored if an alarm's dedupeStringOverride is declared.

---

##### `action`<sup>Optional</sup> <a name="action" id="cdk-monitoring-constructs.AlarmFactoryDefaults.property.action"></a>

```typescript
public readonly action: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* no action.

Default alarm action used for each alarm, unless it is overridden.

---

##### `annotationStrategy`<sup>Optional</sup> <a name="annotationStrategy" id="cdk-monitoring-constructs.AlarmFactoryDefaults.property.annotationStrategy"></a>

```typescript
public readonly annotationStrategy: IAlarmAnnotationStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmAnnotationStrategy">IAlarmAnnotationStrategy</a>
- *Default:* default annotations

Custom strategy to create annotations for alarms.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.AlarmFactoryDefaults.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* 3

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringProcessor`<sup>Optional</sup> <a name="dedupeStringProcessor" id="cdk-monitoring-constructs.AlarmFactoryDefaults.property.dedupeStringProcessor"></a>

```typescript
public readonly dedupeStringProcessor: IAlarmDedupeStringProcessor;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmDedupeStringProcessor">IAlarmDedupeStringProcessor</a>
- *Default:* default behaviour (no change)

Custom strategy to process dedupe strings of the alarms.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.AlarmFactoryDefaults.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string

An optional link included in the generated ticket description body.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.AlarmFactoryDefaults.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* Same as datapointsToAlarm.

Number of periods to consider when checking the number of breaching datapoints.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.AlarmFactoryDefaults.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string

An optional link included in the generated ticket description body.

---

##### `useDefaultDedupeForError`<sup>Optional</sup> <a name="useDefaultDedupeForError" id="cdk-monitoring-constructs.AlarmFactoryDefaults.property.useDefaultDedupeForError"></a>

```typescript
public readonly useDefaultDedupeForError: boolean;
```

- *Type:* boolean
- *Default:* undefined (true)

If this is defined as false and dedupeStringOverride is undefined, the alarm prefix will be part of the dedupe string.

This essentially stops the dedupe of different errors together.

---

##### `useDefaultDedupeForLatency`<sup>Optional</sup> <a name="useDefaultDedupeForLatency" id="cdk-monitoring-constructs.AlarmFactoryDefaults.property.useDefaultDedupeForLatency"></a>

```typescript
public readonly useDefaultDedupeForLatency: boolean;
```

- *Type:* boolean
- *Default:* undefined (true)

If this is defined as false and dedupeStringOverride is undefined, the alarm prefix will be part of the dedupe string.

This essentially stops the dedupe of different latency issues together.

---

### AlarmFactoryProps <a name="AlarmFactoryProps" id="cdk-monitoring-constructs.AlarmFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AlarmFactoryProps.Initializer"></a>

```typescript
import { AlarmFactoryProps } from 'cdk-monitoring-constructs'

const alarmFactoryProps: AlarmFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryProps.property.globalAlarmDefaults">globalAlarmDefaults</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactoryDefaults">AlarmFactoryDefaults</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryProps.property.globalMetricDefaults">globalMetricDefaults</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactoryDefaults">MetricFactoryDefaults</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmFactoryProps.property.localAlarmNamePrefix">localAlarmNamePrefix</a></code> | <code>string</code> | *No description.* |

---

##### `globalAlarmDefaults`<sup>Required</sup> <a name="globalAlarmDefaults" id="cdk-monitoring-constructs.AlarmFactoryProps.property.globalAlarmDefaults"></a>

```typescript
public readonly globalAlarmDefaults: AlarmFactoryDefaults;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactoryDefaults">AlarmFactoryDefaults</a>

---

##### `globalMetricDefaults`<sup>Required</sup> <a name="globalMetricDefaults" id="cdk-monitoring-constructs.AlarmFactoryProps.property.globalMetricDefaults"></a>

```typescript
public readonly globalMetricDefaults: MetricFactoryDefaults;
```

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactoryDefaults">MetricFactoryDefaults</a>

---

##### `localAlarmNamePrefix`<sup>Required</sup> <a name="localAlarmNamePrefix" id="cdk-monitoring-constructs.AlarmFactoryProps.property.localAlarmNamePrefix"></a>

```typescript
public readonly localAlarmNamePrefix: string;
```

- *Type:* string

---

### AlarmMatrixWidgetProps <a name="AlarmMatrixWidgetProps" id="cdk-monitoring-constructs.AlarmMatrixWidgetProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AlarmMatrixWidgetProps.Initializer"></a>

```typescript
import { AlarmMatrixWidgetProps } from 'cdk-monitoring-constructs'

const alarmMatrixWidgetProps: AlarmMatrixWidgetProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmMatrixWidgetProps.property.alarms">alarms</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarm[]</code> | list of alarms to show. |
| <code><a href="#cdk-monitoring-constructs.AlarmMatrixWidgetProps.property.height">height</a></code> | <code>number</code> | desired height. |
| <code><a href="#cdk-monitoring-constructs.AlarmMatrixWidgetProps.property.title">title</a></code> | <code>string</code> | widget title. |

---

##### `alarms`<sup>Required</sup> <a name="alarms" id="cdk-monitoring-constructs.AlarmMatrixWidgetProps.property.alarms"></a>

```typescript
public readonly alarms: IAlarm[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IAlarm[]

list of alarms to show.

---

##### `height`<sup>Optional</sup> <a name="height" id="cdk-monitoring-constructs.AlarmMatrixWidgetProps.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number
- *Default:* auto calculated based on alarm number (3 to 8)

desired height.

---

##### `title`<sup>Optional</sup> <a name="title" id="cdk-monitoring-constructs.AlarmMatrixWidgetProps.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string
- *Default:* no title

widget title.

---

### AlarmMetadata <a name="AlarmMetadata" id="cdk-monitoring-constructs.AlarmMetadata"></a>

Metadata of an alarm.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AlarmMetadata.Initializer"></a>

```typescript
import { AlarmMetadata } from 'cdk-monitoring-constructs'

const alarmMetadata: AlarmMetadata = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmMetadata.property.action">action</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmMetadata.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmMetadata.property.customTags">customTags</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmMetadata.property.dedupeString">dedupeString</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmMetadata.property.disambiguator">disambiguator</a></code> | <code>string</code> | *No description.* |

---

##### `action`<sup>Required</sup> <a name="action" id="cdk-monitoring-constructs.AlarmMetadata.property.action"></a>

```typescript
public readonly action: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.AlarmMetadata.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

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

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.AlarmMetadata.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]

---

##### `dedupeString`<sup>Optional</sup> <a name="dedupeString" id="cdk-monitoring-constructs.AlarmMetadata.property.dedupeString"></a>

```typescript
public readonly dedupeString: string;
```

- *Type:* string

---

##### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.AlarmMetadata.property.disambiguator"></a>

```typescript
public readonly disambiguator: string;
```

- *Type:* string

---

### AlarmNamingInput <a name="AlarmNamingInput" id="cdk-monitoring-constructs.AlarmNamingInput"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AlarmNamingInput.Initializer"></a>

```typescript
import { AlarmNamingInput } from 'cdk-monitoring-constructs'

const alarmNamingInput: AlarmNamingInput = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmNamingInput.property.alarmNameSuffix">alarmNameSuffix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmNamingInput.property.alarmDedupeStringSuffix">alarmDedupeStringSuffix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmNamingInput.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmNamingInput.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmNamingInput.property.disambiguator">disambiguator</a></code> | <code>string</code> | *No description.* |

---

##### `alarmNameSuffix`<sup>Required</sup> <a name="alarmNameSuffix" id="cdk-monitoring-constructs.AlarmNamingInput.property.alarmNameSuffix"></a>

```typescript
public readonly alarmNameSuffix: string;
```

- *Type:* string

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.AlarmNamingInput.property.alarmDedupeStringSuffix"></a>

```typescript
public readonly alarmDedupeStringSuffix: string;
```

- *Type:* string

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.AlarmNamingInput.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.AlarmNamingInput.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string

---

##### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.AlarmNamingInput.property.disambiguator"></a>

```typescript
public readonly disambiguator: string;
```

- *Type:* string

---

### AlarmSummaryMatrixWidgetPropertiesJson <a name="AlarmSummaryMatrixWidgetPropertiesJson" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidgetPropertiesJson"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidgetPropertiesJson.Initializer"></a>

```typescript
import { AlarmSummaryMatrixWidgetPropertiesJson } from 'cdk-monitoring-constructs'

const alarmSummaryMatrixWidgetPropertiesJson: AlarmSummaryMatrixWidgetPropertiesJson = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidgetPropertiesJson.property.alarms">alarms</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidgetPropertiesJson.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `alarms`<sup>Required</sup> <a name="alarms" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidgetPropertiesJson.property.alarms"></a>

```typescript
public readonly alarms: string[];
```

- *Type:* string[]

---

##### `title`<sup>Optional</sup> <a name="title" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidgetPropertiesJson.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

### AlarmSummaryMatrixWidgetProps <a name="AlarmSummaryMatrixWidgetProps" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps.Initializer"></a>

```typescript
import { AlarmSummaryMatrixWidgetProps } from 'cdk-monitoring-constructs'

const alarmSummaryMatrixWidgetProps: AlarmSummaryMatrixWidgetProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps.property.height">height</a></code> | <code>number</code> | Height of the widget. |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps.property.region">region</a></code> | <code>string</code> | The region the metrics of this graph should be taken from. |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps.property.title">title</a></code> | <code>string</code> | Title for the graph. |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps.property.width">width</a></code> | <code>number</code> | Width of the widget, in a grid of 24 units wide. |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps.property.alarmArns">alarmArns</a></code> | <code>string[]</code> | *No description.* |

---

##### `height`<sup>Optional</sup> <a name="height" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number
- *Default:* 6 for Alarm and Graph widgets. 3 for single value widgets where most recent value of a metric is displayed.

Height of the widget.

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* Current region

The region the metrics of this graph should be taken from.

---

##### `title`<sup>Optional</sup> <a name="title" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string
- *Default:* None

Title for the graph.

---

##### `width`<sup>Optional</sup> <a name="width" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps.property.width"></a>

```typescript
public readonly width: number;
```

- *Type:* number
- *Default:* 6

Width of the widget, in a grid of 24 units wide.

---

##### `alarmArns`<sup>Required</sup> <a name="alarmArns" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps.property.alarmArns"></a>

```typescript
public readonly alarmArns: string[];
```

- *Type:* string[]

---

### AlarmWithAnnotation <a name="AlarmWithAnnotation" id="cdk-monitoring-constructs.AlarmWithAnnotation"></a>

Representation of an alarm with additional information.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AlarmWithAnnotation.Initializer"></a>

```typescript
import { AlarmWithAnnotation } from 'cdk-monitoring-constructs'

const alarmWithAnnotation: AlarmWithAnnotation = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.action">action</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.customTags">customTags</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.dedupeString">dedupeString</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.disambiguator">disambiguator</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.alarm">alarm</a></code> | <code>aws-cdk-lib.aws_cloudwatch.AlarmBase</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmDescription">alarmDescription</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmLabel">alarmLabel</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmName">alarmName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmNameSuffix">alarmNameSuffix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmRuleWhenAlarming">alarmRuleWhenAlarming</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarmRule</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmRuleWhenInsufficientData">alarmRuleWhenInsufficientData</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarmRule</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmRuleWhenOk">alarmRuleWhenOk</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarmRule</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmWithAnnotation.property.annotation">annotation</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation</code> | *No description.* |

---

##### `action`<sup>Required</sup> <a name="action" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.action"></a>

```typescript
public readonly action: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

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

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]

---

##### `dedupeString`<sup>Optional</sup> <a name="dedupeString" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.dedupeString"></a>

```typescript
public readonly dedupeString: string;
```

- *Type:* string

---

##### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.disambiguator"></a>

```typescript
public readonly disambiguator: string;
```

- *Type:* string

---

##### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.alarm"></a>

```typescript
public readonly alarm: AlarmBase;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.AlarmBase

---

##### `alarmDescription`<sup>Required</sup> <a name="alarmDescription" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmDescription"></a>

```typescript
public readonly alarmDescription: string;
```

- *Type:* string

---

##### `alarmLabel`<sup>Required</sup> <a name="alarmLabel" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmLabel"></a>

```typescript
public readonly alarmLabel: string;
```

- *Type:* string

---

##### `alarmName`<sup>Required</sup> <a name="alarmName" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmName"></a>

```typescript
public readonly alarmName: string;
```

- *Type:* string

---

##### `alarmNameSuffix`<sup>Required</sup> <a name="alarmNameSuffix" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmNameSuffix"></a>

```typescript
public readonly alarmNameSuffix: string;
```

- *Type:* string

---

##### `alarmRuleWhenAlarming`<sup>Required</sup> <a name="alarmRuleWhenAlarming" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmRuleWhenAlarming"></a>

```typescript
public readonly alarmRuleWhenAlarming: IAlarmRule;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IAlarmRule

---

##### `alarmRuleWhenInsufficientData`<sup>Required</sup> <a name="alarmRuleWhenInsufficientData" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmRuleWhenInsufficientData"></a>

```typescript
public readonly alarmRuleWhenInsufficientData: IAlarmRule;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IAlarmRule

---

##### `alarmRuleWhenOk`<sup>Required</sup> <a name="alarmRuleWhenOk" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.alarmRuleWhenOk"></a>

```typescript
public readonly alarmRuleWhenOk: IAlarmRule;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IAlarmRule

---

##### `annotation`<sup>Required</sup> <a name="annotation" id="cdk-monitoring-constructs.AlarmWithAnnotation.property.annotation"></a>

```typescript
public readonly annotation: HorizontalAnnotation;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation

---

### AnomalyDetectionThreshold <a name="AnomalyDetectionThreshold" id="cdk-monitoring-constructs.AnomalyDetectionThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.Initializer"></a>

```typescript
import { AnomalyDetectionThreshold } from 'cdk-monitoring-constructs'

const anomalyDetectionThreshold: AnomalyDetectionThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.alarmWhenAboveTheBand">alarmWhenAboveTheBand</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.alarmWhenBelowTheBand">alarmWhenBelowTheBand</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.standardDeviationForAlarm">standardDeviationForAlarm</a></code> | <code>number</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.additionalDescription">additionalDescription</a></code> | <code>string</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `alarmWhenAboveTheBand`<sup>Required</sup> <a name="alarmWhenAboveTheBand" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.alarmWhenAboveTheBand"></a>

```typescript
public readonly alarmWhenAboveTheBand: boolean;
```

- *Type:* boolean

---

##### `alarmWhenBelowTheBand`<sup>Required</sup> <a name="alarmWhenBelowTheBand" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.alarmWhenBelowTheBand"></a>

```typescript
public readonly alarmWhenBelowTheBand: boolean;
```

- *Type:* boolean

---

##### `standardDeviationForAlarm`<sup>Required</sup> <a name="standardDeviationForAlarm" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.standardDeviationForAlarm"></a>

```typescript
public readonly standardDeviationForAlarm: number;
```

- *Type:* number

---

##### `additionalDescription`<sup>Optional</sup> <a name="additionalDescription" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.property.additionalDescription"></a>

```typescript
public readonly additionalDescription: string;
```

- *Type:* string

---

### ApiGatewayMetricFactoryProps <a name="ApiGatewayMetricFactoryProps" id="cdk-monitoring-constructs.ApiGatewayMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.Initializer"></a>

```typescript
import { ApiGatewayMetricFactoryProps } from 'cdk-monitoring-constructs'

const apiGatewayMetricFactoryProps: ApiGatewayMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.api">api</a></code> | <code>aws-cdk-lib.aws_apigateway.RestApiBase</code> | API to monitor (cannot use IRestApi, since it does not provide API name). |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.apiMethod">apiMethod</a></code> | <code>string</code> | On undefined value is not set in dimensions. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.apiResource">apiResource</a></code> | <code>string</code> | On undefined value is not set in dimensions. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.apiStage">apiStage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.fillTpsWithZeroes">fillTpsWithZeroes</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |

---

##### `api`<sup>Required</sup> <a name="api" id="cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.api"></a>

```typescript
public readonly api: RestApiBase;
```

- *Type:* aws-cdk-lib.aws_apigateway.RestApiBase

API to monitor (cannot use IRestApi, since it does not provide API name).

---

##### `apiMethod`<sup>Optional</sup> <a name="apiMethod" id="cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.apiMethod"></a>

```typescript
public readonly apiMethod: string;
```

- *Type:* string

On undefined value is not set in dimensions.

---

##### `apiResource`<sup>Optional</sup> <a name="apiResource" id="cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.apiResource"></a>

```typescript
public readonly apiResource: string;
```

- *Type:* string

On undefined value is not set in dimensions.

---

##### `apiStage`<sup>Optional</sup> <a name="apiStage" id="cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.apiStage"></a>

```typescript
public readonly apiStage: string;
```

- *Type:* string
- *Default:* prod

---

##### `fillTpsWithZeroes`<sup>Optional</sup> <a name="fillTpsWithZeroes" id="cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.fillTpsWithZeroes"></a>

```typescript
public readonly fillTpsWithZeroes: boolean;
```

- *Type:* boolean
- *Default:* true

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

### ApiGatewayMonitoringOptions <a name="ApiGatewayMonitoringOptions" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.Initializer"></a>

```typescript
import { ApiGatewayMonitoringOptions } from 'cdk-monitoring-constructs'

const apiGatewayMonitoringOptions: ApiGatewayMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.add4XXErrorCountAlarm">add4XXErrorCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.add4XXErrorRateAlarm">add4XXErrorRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.add5XXFaultCountAlarm">add5XXFaultCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.add5XXFaultRateAlarm">add5XXFaultRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addHighTpsAlarm">addHighTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyAverageAlarm">addLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP100Alarm">addLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP50Alarm">addLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP70Alarm">addLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP90Alarm">addLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP95Alarm">addLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP9999Alarm">addLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP999Alarm">addLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP99Alarm">addLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM50Alarm">addLatencyTM50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM70Alarm">addLatencyTM70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM90Alarm">addLatencyTM90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM95Alarm">addLatencyTM95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM9999Alarm">addLatencyTM9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM999Alarm">addLatencyTM999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM99Alarm">addLatencyTM99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLowTpsAlarm">addLowTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.latencyTypesToRender">latencyTypesToRender</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>[]</code> | You can specify what latency types you want to be rendered in the dashboards. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `add4XXErrorCountAlarm`<sup>Optional</sup> <a name="add4XXErrorCountAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.add4XXErrorCountAlarm"></a>

```typescript
public readonly add4XXErrorCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add4XXErrorRateAlarm`<sup>Optional</sup> <a name="add4XXErrorRateAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.add4XXErrorRateAlarm"></a>

```typescript
public readonly add4XXErrorRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `add5XXFaultCountAlarm`<sup>Optional</sup> <a name="add5XXFaultCountAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.add5XXFaultCountAlarm"></a>

```typescript
public readonly add5XXFaultCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add5XXFaultRateAlarm`<sup>Optional</sup> <a name="add5XXFaultRateAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.add5XXFaultRateAlarm"></a>

```typescript
public readonly add5XXFaultRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addHighTpsAlarm`<sup>Optional</sup> <a name="addHighTpsAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addHighTpsAlarm"></a>

```typescript
public readonly addHighTpsAlarm: {[ key: string ]: HighTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}

---

##### `addLatencyAverageAlarm`<sup>Optional</sup> <a name="addLatencyAverageAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyAverageAlarm"></a>

```typescript
public readonly addLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP100Alarm`<sup>Optional</sup> <a name="addLatencyP100Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP100Alarm"></a>

```typescript
public readonly addLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP50Alarm`<sup>Optional</sup> <a name="addLatencyP50Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP50Alarm"></a>

```typescript
public readonly addLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP70Alarm`<sup>Optional</sup> <a name="addLatencyP70Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP70Alarm"></a>

```typescript
public readonly addLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP90Alarm`<sup>Optional</sup> <a name="addLatencyP90Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP90Alarm"></a>

```typescript
public readonly addLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP95Alarm`<sup>Optional</sup> <a name="addLatencyP95Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP95Alarm"></a>

```typescript
public readonly addLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP9999Alarm`<sup>Optional</sup> <a name="addLatencyP9999Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP9999Alarm"></a>

```typescript
public readonly addLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP999Alarm`<sup>Optional</sup> <a name="addLatencyP999Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP999Alarm"></a>

```typescript
public readonly addLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP99Alarm`<sup>Optional</sup> <a name="addLatencyP99Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyP99Alarm"></a>

```typescript
public readonly addLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM50Alarm`<sup>Optional</sup> <a name="addLatencyTM50Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM50Alarm"></a>

```typescript
public readonly addLatencyTM50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM70Alarm`<sup>Optional</sup> <a name="addLatencyTM70Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM70Alarm"></a>

```typescript
public readonly addLatencyTM70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM90Alarm`<sup>Optional</sup> <a name="addLatencyTM90Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM90Alarm"></a>

```typescript
public readonly addLatencyTM90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM95Alarm`<sup>Optional</sup> <a name="addLatencyTM95Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM95Alarm"></a>

```typescript
public readonly addLatencyTM95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM9999Alarm`<sup>Optional</sup> <a name="addLatencyTM9999Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM9999Alarm"></a>

```typescript
public readonly addLatencyTM9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM999Alarm`<sup>Optional</sup> <a name="addLatencyTM999Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM999Alarm"></a>

```typescript
public readonly addLatencyTM999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM99Alarm`<sup>Optional</sup> <a name="addLatencyTM99Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLatencyTM99Alarm"></a>

```typescript
public readonly addLatencyTM99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLowTpsAlarm`<sup>Optional</sup> <a name="addLowTpsAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.addLowTpsAlarm"></a>

```typescript
public readonly addLowTpsAlarm: {[ key: string ]: LowTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}

---

##### `latencyTypesToRender`<sup>Optional</sup> <a name="latencyTypesToRender" id="cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.latencyTypesToRender"></a>

```typescript
public readonly latencyTypesToRender: LatencyType[];
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>[]
- *Default:* p50, p90, p99 (

You can specify what latency types you want to be rendered in the dashboards.

Note: any latency type with an alarm will be also added automatically.
If the list is undefined, default values will be shown.
If the list is empty, only the latency types with an alarm will be shown (if any).

> [DefaultLatencyTypesToRender)](DefaultLatencyTypesToRender))

---

### ApiGatewayMonitoringProps <a name="ApiGatewayMonitoringProps" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.Initializer"></a>

```typescript
import { ApiGatewayMonitoringProps } from 'cdk-monitoring-constructs'

const apiGatewayMonitoringProps: ApiGatewayMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.api">api</a></code> | <code>aws-cdk-lib.aws_apigateway.RestApiBase</code> | API to monitor (cannot use IRestApi, since it does not provide API name). |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.apiMethod">apiMethod</a></code> | <code>string</code> | On undefined value is not set in dimensions. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.apiResource">apiResource</a></code> | <code>string</code> | On undefined value is not set in dimensions. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.apiStage">apiStage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.fillTpsWithZeroes">fillTpsWithZeroes</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.add4XXErrorCountAlarm">add4XXErrorCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.add4XXErrorRateAlarm">add4XXErrorRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.add5XXFaultCountAlarm">add5XXFaultCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.add5XXFaultRateAlarm">add5XXFaultRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addHighTpsAlarm">addHighTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyAverageAlarm">addLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP100Alarm">addLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP50Alarm">addLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP70Alarm">addLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP90Alarm">addLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP95Alarm">addLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP9999Alarm">addLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP999Alarm">addLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP99Alarm">addLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM50Alarm">addLatencyTM50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM70Alarm">addLatencyTM70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM90Alarm">addLatencyTM90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM95Alarm">addLatencyTM95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM9999Alarm">addLatencyTM9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM999Alarm">addLatencyTM999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM99Alarm">addLatencyTM99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLowTpsAlarm">addLowTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.latencyTypesToRender">latencyTypesToRender</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>[]</code> | You can specify what latency types you want to be rendered in the dashboards. |

---

##### `api`<sup>Required</sup> <a name="api" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.api"></a>

```typescript
public readonly api: RestApiBase;
```

- *Type:* aws-cdk-lib.aws_apigateway.RestApiBase

API to monitor (cannot use IRestApi, since it does not provide API name).

---

##### `apiMethod`<sup>Optional</sup> <a name="apiMethod" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.apiMethod"></a>

```typescript
public readonly apiMethod: string;
```

- *Type:* string

On undefined value is not set in dimensions.

---

##### `apiResource`<sup>Optional</sup> <a name="apiResource" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.apiResource"></a>

```typescript
public readonly apiResource: string;
```

- *Type:* string

On undefined value is not set in dimensions.

---

##### `apiStage`<sup>Optional</sup> <a name="apiStage" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.apiStage"></a>

```typescript
public readonly apiStage: string;
```

- *Type:* string
- *Default:* prod

---

##### `fillTpsWithZeroes`<sup>Optional</sup> <a name="fillTpsWithZeroes" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.fillTpsWithZeroes"></a>

```typescript
public readonly fillTpsWithZeroes: boolean;
```

- *Type:* boolean
- *Default:* true

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `add4XXErrorCountAlarm`<sup>Optional</sup> <a name="add4XXErrorCountAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.add4XXErrorCountAlarm"></a>

```typescript
public readonly add4XXErrorCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add4XXErrorRateAlarm`<sup>Optional</sup> <a name="add4XXErrorRateAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.add4XXErrorRateAlarm"></a>

```typescript
public readonly add4XXErrorRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `add5XXFaultCountAlarm`<sup>Optional</sup> <a name="add5XXFaultCountAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.add5XXFaultCountAlarm"></a>

```typescript
public readonly add5XXFaultCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add5XXFaultRateAlarm`<sup>Optional</sup> <a name="add5XXFaultRateAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.add5XXFaultRateAlarm"></a>

```typescript
public readonly add5XXFaultRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addHighTpsAlarm`<sup>Optional</sup> <a name="addHighTpsAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addHighTpsAlarm"></a>

```typescript
public readonly addHighTpsAlarm: {[ key: string ]: HighTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}

---

##### `addLatencyAverageAlarm`<sup>Optional</sup> <a name="addLatencyAverageAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyAverageAlarm"></a>

```typescript
public readonly addLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP100Alarm`<sup>Optional</sup> <a name="addLatencyP100Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP100Alarm"></a>

```typescript
public readonly addLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP50Alarm`<sup>Optional</sup> <a name="addLatencyP50Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP50Alarm"></a>

```typescript
public readonly addLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP70Alarm`<sup>Optional</sup> <a name="addLatencyP70Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP70Alarm"></a>

```typescript
public readonly addLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP90Alarm`<sup>Optional</sup> <a name="addLatencyP90Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP90Alarm"></a>

```typescript
public readonly addLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP95Alarm`<sup>Optional</sup> <a name="addLatencyP95Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP95Alarm"></a>

```typescript
public readonly addLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP9999Alarm`<sup>Optional</sup> <a name="addLatencyP9999Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP9999Alarm"></a>

```typescript
public readonly addLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP999Alarm`<sup>Optional</sup> <a name="addLatencyP999Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP999Alarm"></a>

```typescript
public readonly addLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP99Alarm`<sup>Optional</sup> <a name="addLatencyP99Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyP99Alarm"></a>

```typescript
public readonly addLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM50Alarm`<sup>Optional</sup> <a name="addLatencyTM50Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM50Alarm"></a>

```typescript
public readonly addLatencyTM50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM70Alarm`<sup>Optional</sup> <a name="addLatencyTM70Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM70Alarm"></a>

```typescript
public readonly addLatencyTM70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM90Alarm`<sup>Optional</sup> <a name="addLatencyTM90Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM90Alarm"></a>

```typescript
public readonly addLatencyTM90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM95Alarm`<sup>Optional</sup> <a name="addLatencyTM95Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM95Alarm"></a>

```typescript
public readonly addLatencyTM95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM9999Alarm`<sup>Optional</sup> <a name="addLatencyTM9999Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM9999Alarm"></a>

```typescript
public readonly addLatencyTM9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM999Alarm`<sup>Optional</sup> <a name="addLatencyTM999Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM999Alarm"></a>

```typescript
public readonly addLatencyTM999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM99Alarm`<sup>Optional</sup> <a name="addLatencyTM99Alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLatencyTM99Alarm"></a>

```typescript
public readonly addLatencyTM99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLowTpsAlarm`<sup>Optional</sup> <a name="addLowTpsAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.addLowTpsAlarm"></a>

```typescript
public readonly addLowTpsAlarm: {[ key: string ]: LowTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}

---

##### `latencyTypesToRender`<sup>Optional</sup> <a name="latencyTypesToRender" id="cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.latencyTypesToRender"></a>

```typescript
public readonly latencyTypesToRender: LatencyType[];
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>[]
- *Default:* p50, p90, p99 (

You can specify what latency types you want to be rendered in the dashboards.

Note: any latency type with an alarm will be also added automatically.
If the list is undefined, default values will be shown.
If the list is empty, only the latency types with an alarm will be shown (if any).

> [DefaultLatencyTypesToRender)](DefaultLatencyTypesToRender))

---

### ApiGatewayV2HttpApiMetricFactoryProps <a name="ApiGatewayV2HttpApiMetricFactoryProps" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.Initializer"></a>

```typescript
import { ApiGatewayV2HttpApiMetricFactoryProps } from 'cdk-monitoring-constructs'

const apiGatewayV2HttpApiMetricFactoryProps: ApiGatewayV2HttpApiMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.api">api</a></code> | <code>@aws-cdk/aws-apigatewayv2-alpha.IHttpApi</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.apiMethod">apiMethod</a></code> | <code>string</code> | On undefined value is not set in dimensions. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.apiResource">apiResource</a></code> | <code>string</code> | On undefined value is not set in dimensions. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.apiStage">apiStage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.fillTpsWithZeroes">fillTpsWithZeroes</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |

---

##### `api`<sup>Required</sup> <a name="api" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.api"></a>

```typescript
public readonly api: IHttpApi;
```

- *Type:* @aws-cdk/aws-apigatewayv2-alpha.IHttpApi

---

##### `apiMethod`<sup>Optional</sup> <a name="apiMethod" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.apiMethod"></a>

```typescript
public readonly apiMethod: string;
```

- *Type:* string

On undefined value is not set in dimensions.

---

##### `apiResource`<sup>Optional</sup> <a name="apiResource" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.apiResource"></a>

```typescript
public readonly apiResource: string;
```

- *Type:* string

On undefined value is not set in dimensions.

---

##### `apiStage`<sup>Optional</sup> <a name="apiStage" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.apiStage"></a>

```typescript
public readonly apiStage: string;
```

- *Type:* string
- *Default:* $default

---

##### `fillTpsWithZeroes`<sup>Optional</sup> <a name="fillTpsWithZeroes" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.fillTpsWithZeroes"></a>

```typescript
public readonly fillTpsWithZeroes: boolean;
```

- *Type:* boolean
- *Default:* true

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

### ApiGatewayV2HttpApiMonitoringProps <a name="ApiGatewayV2HttpApiMonitoringProps" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.Initializer"></a>

```typescript
import { ApiGatewayV2HttpApiMonitoringProps } from 'cdk-monitoring-constructs'

const apiGatewayV2HttpApiMonitoringProps: ApiGatewayV2HttpApiMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.api">api</a></code> | <code>@aws-cdk/aws-apigatewayv2-alpha.IHttpApi</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.apiMethod">apiMethod</a></code> | <code>string</code> | On undefined value is not set in dimensions. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.apiResource">apiResource</a></code> | <code>string</code> | On undefined value is not set in dimensions. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.apiStage">apiStage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.fillTpsWithZeroes">fillTpsWithZeroes</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.add4xxCountAlarm">add4xxCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.add4xxRateAlarm">add4xxRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.add5xxCountAlarm">add5xxCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.add5xxRateAlarm">add5xxRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addHighTpsAlarm">addHighTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyAverageAlarm">addIntegrationLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP100Alarm">addIntegrationLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP50Alarm">addIntegrationLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP70Alarm">addIntegrationLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP90Alarm">addIntegrationLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP95Alarm">addIntegrationLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP9999Alarm">addIntegrationLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP999Alarm">addIntegrationLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP99Alarm">addIntegrationLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM50Alarm">addIntegrationLatencyTM50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM70Alarm">addIntegrationLatencyTM70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM90Alarm">addIntegrationLatencyTM90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM95Alarm">addIntegrationLatencyTM95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM9999Alarm">addIntegrationLatencyTM9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM999Alarm">addIntegrationLatencyTM999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM99Alarm">addIntegrationLatencyTM99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyAverageAlarm">addLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP100Alarm">addLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP50Alarm">addLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP70Alarm">addLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP90Alarm">addLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP95Alarm">addLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP9999Alarm">addLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP999Alarm">addLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP99Alarm">addLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM50Alarm">addLatencyTM50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM70Alarm">addLatencyTM70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM90Alarm">addLatencyTM90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM95Alarm">addLatencyTM95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM9999Alarm">addLatencyTM9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM999Alarm">addLatencyTM999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM99Alarm">addLatencyTM99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLowTpsAlarm">addLowTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.latencyTypesToRender">latencyTypesToRender</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>[]</code> | You can specify what latency types you want to be rendered in the dashboards. |

---

##### `api`<sup>Required</sup> <a name="api" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.api"></a>

```typescript
public readonly api: IHttpApi;
```

- *Type:* @aws-cdk/aws-apigatewayv2-alpha.IHttpApi

---

##### `apiMethod`<sup>Optional</sup> <a name="apiMethod" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.apiMethod"></a>

```typescript
public readonly apiMethod: string;
```

- *Type:* string

On undefined value is not set in dimensions.

---

##### `apiResource`<sup>Optional</sup> <a name="apiResource" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.apiResource"></a>

```typescript
public readonly apiResource: string;
```

- *Type:* string

On undefined value is not set in dimensions.

---

##### `apiStage`<sup>Optional</sup> <a name="apiStage" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.apiStage"></a>

```typescript
public readonly apiStage: string;
```

- *Type:* string
- *Default:* $default

---

##### `fillTpsWithZeroes`<sup>Optional</sup> <a name="fillTpsWithZeroes" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.fillTpsWithZeroes"></a>

```typescript
public readonly fillTpsWithZeroes: boolean;
```

- *Type:* boolean
- *Default:* true

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `add4xxCountAlarm`<sup>Optional</sup> <a name="add4xxCountAlarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.add4xxCountAlarm"></a>

```typescript
public readonly add4xxCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add4xxRateAlarm`<sup>Optional</sup> <a name="add4xxRateAlarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.add4xxRateAlarm"></a>

```typescript
public readonly add4xxRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `add5xxCountAlarm`<sup>Optional</sup> <a name="add5xxCountAlarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.add5xxCountAlarm"></a>

```typescript
public readonly add5xxCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add5xxRateAlarm`<sup>Optional</sup> <a name="add5xxRateAlarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.add5xxRateAlarm"></a>

```typescript
public readonly add5xxRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addHighTpsAlarm`<sup>Optional</sup> <a name="addHighTpsAlarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addHighTpsAlarm"></a>

```typescript
public readonly addHighTpsAlarm: {[ key: string ]: HighTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}

---

##### `addIntegrationLatencyAverageAlarm`<sup>Optional</sup> <a name="addIntegrationLatencyAverageAlarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyAverageAlarm"></a>

```typescript
public readonly addIntegrationLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP100Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP100Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP100Alarm"></a>

```typescript
public readonly addIntegrationLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP50Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP50Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP50Alarm"></a>

```typescript
public readonly addIntegrationLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP70Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP70Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP70Alarm"></a>

```typescript
public readonly addIntegrationLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP90Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP90Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP90Alarm"></a>

```typescript
public readonly addIntegrationLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP95Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP95Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP95Alarm"></a>

```typescript
public readonly addIntegrationLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP9999Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP9999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP9999Alarm"></a>

```typescript
public readonly addIntegrationLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP999Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP999Alarm"></a>

```typescript
public readonly addIntegrationLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP99Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP99Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyP99Alarm"></a>

```typescript
public readonly addIntegrationLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM50Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM50Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM50Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM70Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM70Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM70Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM90Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM90Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM90Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM95Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM95Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM95Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM9999Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM9999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM9999Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM999Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM999Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM99Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM99Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addIntegrationLatencyTM99Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyAverageAlarm`<sup>Optional</sup> <a name="addLatencyAverageAlarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyAverageAlarm"></a>

```typescript
public readonly addLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP100Alarm`<sup>Optional</sup> <a name="addLatencyP100Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP100Alarm"></a>

```typescript
public readonly addLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP50Alarm`<sup>Optional</sup> <a name="addLatencyP50Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP50Alarm"></a>

```typescript
public readonly addLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP70Alarm`<sup>Optional</sup> <a name="addLatencyP70Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP70Alarm"></a>

```typescript
public readonly addLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP90Alarm`<sup>Optional</sup> <a name="addLatencyP90Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP90Alarm"></a>

```typescript
public readonly addLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP95Alarm`<sup>Optional</sup> <a name="addLatencyP95Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP95Alarm"></a>

```typescript
public readonly addLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP9999Alarm`<sup>Optional</sup> <a name="addLatencyP9999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP9999Alarm"></a>

```typescript
public readonly addLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP999Alarm`<sup>Optional</sup> <a name="addLatencyP999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP999Alarm"></a>

```typescript
public readonly addLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP99Alarm`<sup>Optional</sup> <a name="addLatencyP99Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyP99Alarm"></a>

```typescript
public readonly addLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM50Alarm`<sup>Optional</sup> <a name="addLatencyTM50Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM50Alarm"></a>

```typescript
public readonly addLatencyTM50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM70Alarm`<sup>Optional</sup> <a name="addLatencyTM70Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM70Alarm"></a>

```typescript
public readonly addLatencyTM70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM90Alarm`<sup>Optional</sup> <a name="addLatencyTM90Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM90Alarm"></a>

```typescript
public readonly addLatencyTM90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM95Alarm`<sup>Optional</sup> <a name="addLatencyTM95Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM95Alarm"></a>

```typescript
public readonly addLatencyTM95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM9999Alarm`<sup>Optional</sup> <a name="addLatencyTM9999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM9999Alarm"></a>

```typescript
public readonly addLatencyTM9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM999Alarm`<sup>Optional</sup> <a name="addLatencyTM999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM999Alarm"></a>

```typescript
public readonly addLatencyTM999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM99Alarm`<sup>Optional</sup> <a name="addLatencyTM99Alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLatencyTM99Alarm"></a>

```typescript
public readonly addLatencyTM99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLowTpsAlarm`<sup>Optional</sup> <a name="addLowTpsAlarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.addLowTpsAlarm"></a>

```typescript
public readonly addLowTpsAlarm: {[ key: string ]: LowTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}

---

##### `latencyTypesToRender`<sup>Optional</sup> <a name="latencyTypesToRender" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.latencyTypesToRender"></a>

```typescript
public readonly latencyTypesToRender: LatencyType[];
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>[]
- *Default:* p50, p90, p99 (

You can specify what latency types you want to be rendered in the dashboards.

Note: any latency type with an alarm will be also added automatically.
If the list is undefined, default values will be shown.
If the list is empty, only the latency types with an alarm will be shown (if any).

> [DefaultLatencyTypesShown)](DefaultLatencyTypesShown))

---

### ApiGatewayV2MonitoringOptions <a name="ApiGatewayV2MonitoringOptions" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.Initializer"></a>

```typescript
import { ApiGatewayV2MonitoringOptions } from 'cdk-monitoring-constructs'

const apiGatewayV2MonitoringOptions: ApiGatewayV2MonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.add4xxCountAlarm">add4xxCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.add4xxRateAlarm">add4xxRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.add5xxCountAlarm">add5xxCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.add5xxRateAlarm">add5xxRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addHighTpsAlarm">addHighTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyAverageAlarm">addIntegrationLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP100Alarm">addIntegrationLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP50Alarm">addIntegrationLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP70Alarm">addIntegrationLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP90Alarm">addIntegrationLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP95Alarm">addIntegrationLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP9999Alarm">addIntegrationLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP999Alarm">addIntegrationLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP99Alarm">addIntegrationLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM50Alarm">addIntegrationLatencyTM50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM70Alarm">addIntegrationLatencyTM70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM90Alarm">addIntegrationLatencyTM90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM95Alarm">addIntegrationLatencyTM95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM9999Alarm">addIntegrationLatencyTM9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM999Alarm">addIntegrationLatencyTM999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM99Alarm">addIntegrationLatencyTM99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyAverageAlarm">addLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP100Alarm">addLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP50Alarm">addLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP70Alarm">addLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP90Alarm">addLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP95Alarm">addLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP9999Alarm">addLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP999Alarm">addLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP99Alarm">addLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM50Alarm">addLatencyTM50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM70Alarm">addLatencyTM70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM90Alarm">addLatencyTM90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM95Alarm">addLatencyTM95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM9999Alarm">addLatencyTM9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM999Alarm">addLatencyTM999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM99Alarm">addLatencyTM99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLowTpsAlarm">addLowTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.latencyTypesToRender">latencyTypesToRender</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>[]</code> | You can specify what latency types you want to be rendered in the dashboards. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `add4xxCountAlarm`<sup>Optional</sup> <a name="add4xxCountAlarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.add4xxCountAlarm"></a>

```typescript
public readonly add4xxCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add4xxRateAlarm`<sup>Optional</sup> <a name="add4xxRateAlarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.add4xxRateAlarm"></a>

```typescript
public readonly add4xxRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `add5xxCountAlarm`<sup>Optional</sup> <a name="add5xxCountAlarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.add5xxCountAlarm"></a>

```typescript
public readonly add5xxCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add5xxRateAlarm`<sup>Optional</sup> <a name="add5xxRateAlarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.add5xxRateAlarm"></a>

```typescript
public readonly add5xxRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addHighTpsAlarm`<sup>Optional</sup> <a name="addHighTpsAlarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addHighTpsAlarm"></a>

```typescript
public readonly addHighTpsAlarm: {[ key: string ]: HighTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}

---

##### `addIntegrationLatencyAverageAlarm`<sup>Optional</sup> <a name="addIntegrationLatencyAverageAlarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyAverageAlarm"></a>

```typescript
public readonly addIntegrationLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP100Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP100Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP100Alarm"></a>

```typescript
public readonly addIntegrationLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP50Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP50Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP50Alarm"></a>

```typescript
public readonly addIntegrationLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP70Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP70Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP70Alarm"></a>

```typescript
public readonly addIntegrationLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP90Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP90Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP90Alarm"></a>

```typescript
public readonly addIntegrationLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP95Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP95Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP95Alarm"></a>

```typescript
public readonly addIntegrationLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP9999Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP9999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP9999Alarm"></a>

```typescript
public readonly addIntegrationLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP999Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP999Alarm"></a>

```typescript
public readonly addIntegrationLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyP99Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyP99Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyP99Alarm"></a>

```typescript
public readonly addIntegrationLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM50Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM50Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM50Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM70Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM70Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM70Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM90Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM90Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM90Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM95Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM95Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM95Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM9999Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM9999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM9999Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM999Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM999Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIntegrationLatencyTM99Alarm`<sup>Optional</sup> <a name="addIntegrationLatencyTM99Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addIntegrationLatencyTM99Alarm"></a>

```typescript
public readonly addIntegrationLatencyTM99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyAverageAlarm`<sup>Optional</sup> <a name="addLatencyAverageAlarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyAverageAlarm"></a>

```typescript
public readonly addLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP100Alarm`<sup>Optional</sup> <a name="addLatencyP100Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP100Alarm"></a>

```typescript
public readonly addLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP50Alarm`<sup>Optional</sup> <a name="addLatencyP50Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP50Alarm"></a>

```typescript
public readonly addLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP70Alarm`<sup>Optional</sup> <a name="addLatencyP70Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP70Alarm"></a>

```typescript
public readonly addLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP90Alarm`<sup>Optional</sup> <a name="addLatencyP90Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP90Alarm"></a>

```typescript
public readonly addLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP95Alarm`<sup>Optional</sup> <a name="addLatencyP95Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP95Alarm"></a>

```typescript
public readonly addLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP9999Alarm`<sup>Optional</sup> <a name="addLatencyP9999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP9999Alarm"></a>

```typescript
public readonly addLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP999Alarm`<sup>Optional</sup> <a name="addLatencyP999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP999Alarm"></a>

```typescript
public readonly addLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP99Alarm`<sup>Optional</sup> <a name="addLatencyP99Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyP99Alarm"></a>

```typescript
public readonly addLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM50Alarm`<sup>Optional</sup> <a name="addLatencyTM50Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM50Alarm"></a>

```typescript
public readonly addLatencyTM50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM70Alarm`<sup>Optional</sup> <a name="addLatencyTM70Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM70Alarm"></a>

```typescript
public readonly addLatencyTM70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM90Alarm`<sup>Optional</sup> <a name="addLatencyTM90Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM90Alarm"></a>

```typescript
public readonly addLatencyTM90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM95Alarm`<sup>Optional</sup> <a name="addLatencyTM95Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM95Alarm"></a>

```typescript
public readonly addLatencyTM95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM9999Alarm`<sup>Optional</sup> <a name="addLatencyTM9999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM9999Alarm"></a>

```typescript
public readonly addLatencyTM9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM999Alarm`<sup>Optional</sup> <a name="addLatencyTM999Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM999Alarm"></a>

```typescript
public readonly addLatencyTM999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyTM99Alarm`<sup>Optional</sup> <a name="addLatencyTM99Alarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLatencyTM99Alarm"></a>

```typescript
public readonly addLatencyTM99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLowTpsAlarm`<sup>Optional</sup> <a name="addLowTpsAlarm" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.addLowTpsAlarm"></a>

```typescript
public readonly addLowTpsAlarm: {[ key: string ]: LowTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}

---

##### `latencyTypesToRender`<sup>Optional</sup> <a name="latencyTypesToRender" id="cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.latencyTypesToRender"></a>

```typescript
public readonly latencyTypesToRender: LatencyType[];
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>[]
- *Default:* p50, p90, p99 (

You can specify what latency types you want to be rendered in the dashboards.

Note: any latency type with an alarm will be also added automatically.
If the list is undefined, default values will be shown.
If the list is empty, only the latency types with an alarm will be shown (if any).

> [DefaultLatencyTypesShown)](DefaultLatencyTypesShown))

---

### ApplicationLoadBalancerMetricFactoryProps <a name="ApplicationLoadBalancerMetricFactoryProps" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactoryProps"></a>

Props to create ApplicationLoadBalancerMetricFactory.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactoryProps.Initializer"></a>

```typescript
import { ApplicationLoadBalancerMetricFactoryProps } from 'cdk-monitoring-constructs'

const applicationLoadBalancerMetricFactoryProps: ApplicationLoadBalancerMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactoryProps.property.applicationLoadBalancer">applicationLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactoryProps.property.applicationTargetGroup">applicationTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationTargetGroup</code> | *No description.* |

---

##### `applicationLoadBalancer`<sup>Required</sup> <a name="applicationLoadBalancer" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactoryProps.property.applicationLoadBalancer"></a>

```typescript
public readonly applicationLoadBalancer: ApplicationLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer

---

##### `applicationTargetGroup`<sup>Required</sup> <a name="applicationTargetGroup" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactoryProps.property.applicationTargetGroup"></a>

```typescript
public readonly applicationTargetGroup: ApplicationTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationTargetGroup

---

### AppSyncMetricFactoryProps <a name="AppSyncMetricFactoryProps" id="cdk-monitoring-constructs.AppSyncMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AppSyncMetricFactoryProps.Initializer"></a>

```typescript
import { AppSyncMetricFactoryProps } from 'cdk-monitoring-constructs'

const appSyncMetricFactoryProps: AppSyncMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactoryProps.property.api">api</a></code> | <code>@aws-cdk/aws-appsync-alpha.GraphqlApi</code> | the GraphQL API to monitor. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactoryProps.property.fillTpsWithZeroes">fillTpsWithZeroes</a></code> | <code>boolean</code> | whether the TPS should be filled with zeroes. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactoryProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | method to compute TPS. |

---

##### `api`<sup>Required</sup> <a name="api" id="cdk-monitoring-constructs.AppSyncMetricFactoryProps.property.api"></a>

```typescript
public readonly api: GraphqlApi;
```

- *Type:* @aws-cdk/aws-appsync-alpha.GraphqlApi

the GraphQL API to monitor.

---

##### `fillTpsWithZeroes`<sup>Optional</sup> <a name="fillTpsWithZeroes" id="cdk-monitoring-constructs.AppSyncMetricFactoryProps.property.fillTpsWithZeroes"></a>

```typescript
public readonly fillTpsWithZeroes: boolean;
```

- *Type:* boolean
- *Default:* true

whether the TPS should be filled with zeroes.

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.AppSyncMetricFactoryProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

method to compute TPS.

---

### AppSyncMonitoringOptions <a name="AppSyncMonitoringOptions" id="cdk-monitoring-constructs.AppSyncMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.Initializer"></a>

```typescript
import { AppSyncMonitoringOptions } from 'cdk-monitoring-constructs'

const appSyncMonitoringOptions: AppSyncMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.add4XXErrorCountAlarm">add4XXErrorCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.add4XXErrorRateAlarm">add4XXErrorRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.add5XXFaultCountAlarm">add5XXFaultCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.add5XXFaultRateAlarm">add5XXFaultRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addHighTpsAlarm">addHighTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addLatencyP50Alarm">addLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addLatencyP90Alarm">addLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addLatencyP99Alarm">addLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addLowTpsAlarm">addLowTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `add4XXErrorCountAlarm`<sup>Optional</sup> <a name="add4XXErrorCountAlarm" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.add4XXErrorCountAlarm"></a>

```typescript
public readonly add4XXErrorCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add4XXErrorRateAlarm`<sup>Optional</sup> <a name="add4XXErrorRateAlarm" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.add4XXErrorRateAlarm"></a>

```typescript
public readonly add4XXErrorRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `add5XXFaultCountAlarm`<sup>Optional</sup> <a name="add5XXFaultCountAlarm" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.add5XXFaultCountAlarm"></a>

```typescript
public readonly add5XXFaultCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add5XXFaultRateAlarm`<sup>Optional</sup> <a name="add5XXFaultRateAlarm" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.add5XXFaultRateAlarm"></a>

```typescript
public readonly add5XXFaultRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addHighTpsAlarm`<sup>Optional</sup> <a name="addHighTpsAlarm" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addHighTpsAlarm"></a>

```typescript
public readonly addHighTpsAlarm: {[ key: string ]: HighTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}

---

##### `addLatencyP50Alarm`<sup>Optional</sup> <a name="addLatencyP50Alarm" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addLatencyP50Alarm"></a>

```typescript
public readonly addLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP90Alarm`<sup>Optional</sup> <a name="addLatencyP90Alarm" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addLatencyP90Alarm"></a>

```typescript
public readonly addLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP99Alarm`<sup>Optional</sup> <a name="addLatencyP99Alarm" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addLatencyP99Alarm"></a>

```typescript
public readonly addLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLowTpsAlarm`<sup>Optional</sup> <a name="addLowTpsAlarm" id="cdk-monitoring-constructs.AppSyncMonitoringOptions.property.addLowTpsAlarm"></a>

```typescript
public readonly addLowTpsAlarm: {[ key: string ]: LowTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}

---

### AppSyncMonitoringProps <a name="AppSyncMonitoringProps" id="cdk-monitoring-constructs.AppSyncMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AppSyncMonitoringProps.Initializer"></a>

```typescript
import { AppSyncMonitoringProps } from 'cdk-monitoring-constructs'

const appSyncMonitoringProps: AppSyncMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.add4XXErrorCountAlarm">add4XXErrorCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.add4XXErrorRateAlarm">add4XXErrorRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.add5XXFaultCountAlarm">add5XXFaultCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.add5XXFaultRateAlarm">add5XXFaultRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.addHighTpsAlarm">addHighTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.addLatencyP50Alarm">addLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.addLatencyP90Alarm">addLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.addLatencyP99Alarm">addLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.addLowTpsAlarm">addLowTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.api">api</a></code> | <code>@aws-cdk/aws-appsync-alpha.GraphqlApi</code> | the GraphQL API to monitor. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.fillTpsWithZeroes">fillTpsWithZeroes</a></code> | <code>boolean</code> | whether the TPS should be filled with zeroes. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | method to compute TPS. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `add4XXErrorCountAlarm`<sup>Optional</sup> <a name="add4XXErrorCountAlarm" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.add4XXErrorCountAlarm"></a>

```typescript
public readonly add4XXErrorCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add4XXErrorRateAlarm`<sup>Optional</sup> <a name="add4XXErrorRateAlarm" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.add4XXErrorRateAlarm"></a>

```typescript
public readonly add4XXErrorRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `add5XXFaultCountAlarm`<sup>Optional</sup> <a name="add5XXFaultCountAlarm" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.add5XXFaultCountAlarm"></a>

```typescript
public readonly add5XXFaultCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add5XXFaultRateAlarm`<sup>Optional</sup> <a name="add5XXFaultRateAlarm" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.add5XXFaultRateAlarm"></a>

```typescript
public readonly add5XXFaultRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addHighTpsAlarm`<sup>Optional</sup> <a name="addHighTpsAlarm" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.addHighTpsAlarm"></a>

```typescript
public readonly addHighTpsAlarm: {[ key: string ]: HighTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}

---

##### `addLatencyP50Alarm`<sup>Optional</sup> <a name="addLatencyP50Alarm" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.addLatencyP50Alarm"></a>

```typescript
public readonly addLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP90Alarm`<sup>Optional</sup> <a name="addLatencyP90Alarm" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.addLatencyP90Alarm"></a>

```typescript
public readonly addLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP99Alarm`<sup>Optional</sup> <a name="addLatencyP99Alarm" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.addLatencyP99Alarm"></a>

```typescript
public readonly addLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLowTpsAlarm`<sup>Optional</sup> <a name="addLowTpsAlarm" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.addLowTpsAlarm"></a>

```typescript
public readonly addLowTpsAlarm: {[ key: string ]: LowTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}

---

##### `api`<sup>Required</sup> <a name="api" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.api"></a>

```typescript
public readonly api: GraphqlApi;
```

- *Type:* @aws-cdk/aws-appsync-alpha.GraphqlApi

the GraphQL API to monitor.

---

##### `fillTpsWithZeroes`<sup>Optional</sup> <a name="fillTpsWithZeroes" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.fillTpsWithZeroes"></a>

```typescript
public readonly fillTpsWithZeroes: boolean;
```

- *Type:* boolean
- *Default:* true

whether the TPS should be filled with zeroes.

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.AppSyncMonitoringProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

method to compute TPS.

---

### AutoScalingGroupMetricFactoryProps <a name="AutoScalingGroupMetricFactoryProps" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactoryProps.Initializer"></a>

```typescript
import { AutoScalingGroupMetricFactoryProps } from 'cdk-monitoring-constructs'

const autoScalingGroupMetricFactoryProps: AutoScalingGroupMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactoryProps.property.autoScalingGroup">autoScalingGroup</a></code> | <code>aws-cdk-lib.aws_autoscaling.IAutoScalingGroup</code> | *No description.* |

---

##### `autoScalingGroup`<sup>Required</sup> <a name="autoScalingGroup" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactoryProps.property.autoScalingGroup"></a>

```typescript
public readonly autoScalingGroup: IAutoScalingGroup;
```

- *Type:* aws-cdk-lib.aws_autoscaling.IAutoScalingGroup

---

### AutoScalingGroupMonitoringOptions <a name="AutoScalingGroupMonitoringOptions" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.Initializer"></a>

```typescript
import { AutoScalingGroupMonitoringOptions } from 'cdk-monitoring-constructs'

const autoScalingGroupMonitoringOptions: AutoScalingGroupMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### AutoScalingGroupMonitoringProps <a name="AutoScalingGroupMonitoringProps" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.Initializer"></a>

```typescript
import { AutoScalingGroupMonitoringProps } from 'cdk-monitoring-constructs'

const autoScalingGroupMonitoringProps: AutoScalingGroupMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.autoScalingGroup">autoScalingGroup</a></code> | <code>aws-cdk-lib.aws_autoscaling.IAutoScalingGroup</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `autoScalingGroup`<sup>Required</sup> <a name="autoScalingGroup" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.autoScalingGroup"></a>

```typescript
public readonly autoScalingGroup: IAutoScalingGroup;
```

- *Type:* aws-cdk-lib.aws_autoscaling.IAutoScalingGroup

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### AvailabilityThreshold <a name="AvailabilityThreshold" id="cdk-monitoring-constructs.AvailabilityThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AvailabilityThreshold.Initializer"></a>

```typescript
import { AvailabilityThreshold } from 'cdk-monitoring-constructs'

const availabilityThreshold: AvailabilityThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.minAvailabilityPercent">minAvailabilityPercent</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.AvailabilityThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.AvailabilityThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.AvailabilityThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.AvailabilityThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.AvailabilityThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.AvailabilityThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.AvailabilityThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.AvailabilityThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.AvailabilityThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.AvailabilityThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.AvailabilityThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.AvailabilityThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.AvailabilityThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.AvailabilityThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.AvailabilityThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.AvailabilityThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `minAvailabilityPercent`<sup>Required</sup> <a name="minAvailabilityPercent" id="cdk-monitoring-constructs.AvailabilityThreshold.property.minAvailabilityPercent"></a>

```typescript
public readonly minAvailabilityPercent: number;
```

- *Type:* number

---

### AwsConsoleUrlFactoryProps <a name="AwsConsoleUrlFactoryProps" id="cdk-monitoring-constructs.AwsConsoleUrlFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.AwsConsoleUrlFactoryProps.Initializer"></a>

```typescript
import { AwsConsoleUrlFactoryProps } from 'cdk-monitoring-constructs'

const awsConsoleUrlFactoryProps: AwsConsoleUrlFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactoryProps.property.awsAccountId">awsAccountId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactoryProps.property.awsAccountRegion">awsAccountRegion</a></code> | <code>string</code> | *No description.* |

---

##### `awsAccountId`<sup>Required</sup> <a name="awsAccountId" id="cdk-monitoring-constructs.AwsConsoleUrlFactoryProps.property.awsAccountId"></a>

```typescript
public readonly awsAccountId: string;
```

- *Type:* string

---

##### `awsAccountRegion`<sup>Required</sup> <a name="awsAccountRegion" id="cdk-monitoring-constructs.AwsConsoleUrlFactoryProps.property.awsAccountRegion"></a>

```typescript
public readonly awsAccountRegion: string;
```

- *Type:* string

---

### BaseDlqAlarms <a name="BaseDlqAlarms" id="cdk-monitoring-constructs.BaseDlqAlarms"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.BaseDlqAlarms.Initializer"></a>

```typescript
import { BaseDlqAlarms } from 'cdk-monitoring-constructs'

const baseDlqAlarms: BaseDlqAlarms = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseDlqAlarms.property.addDeadLetterQueueMaxIncomingMessagesAlarm">addDeadLetterQueueMaxIncomingMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold">MaxIncomingMessagesCountThreshold</a>}</code> | Alarm on the number of messages added to a queue. |
| <code><a href="#cdk-monitoring-constructs.BaseDlqAlarms.property.addDeadLetterQueueMaxMessageAgeAlarm">addDeadLetterQueueMaxMessageAgeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold">MaxMessageAgeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseDlqAlarms.property.addDeadLetterQueueMaxSizeAlarm">addDeadLetterQueueMaxSizeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageCountThreshold">MaxMessageCountThreshold</a>}</code> | *No description.* |

---

##### `addDeadLetterQueueMaxIncomingMessagesAlarm`<sup>Optional</sup> <a name="addDeadLetterQueueMaxIncomingMessagesAlarm" id="cdk-monitoring-constructs.BaseDlqAlarms.property.addDeadLetterQueueMaxIncomingMessagesAlarm"></a>

```typescript
public readonly addDeadLetterQueueMaxIncomingMessagesAlarm: {[ key: string ]: MaxIncomingMessagesCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold">MaxIncomingMessagesCountThreshold</a>}

Alarm on the number of messages added to a queue.

Note that this corresponds with the NumberOfMessagesSent metric, which does not capture messages sent to the DLQ
as a result of a failed processing attempt.

> [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html#sqs-dlq-number-of-messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html#sqs-dlq-number-of-messages)

---

##### `addDeadLetterQueueMaxMessageAgeAlarm`<sup>Optional</sup> <a name="addDeadLetterQueueMaxMessageAgeAlarm" id="cdk-monitoring-constructs.BaseDlqAlarms.property.addDeadLetterQueueMaxMessageAgeAlarm"></a>

```typescript
public readonly addDeadLetterQueueMaxMessageAgeAlarm: {[ key: string ]: MaxMessageAgeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold">MaxMessageAgeThreshold</a>}

---

##### `addDeadLetterQueueMaxSizeAlarm`<sup>Optional</sup> <a name="addDeadLetterQueueMaxSizeAlarm" id="cdk-monitoring-constructs.BaseDlqAlarms.property.addDeadLetterQueueMaxSizeAlarm"></a>

```typescript
public readonly addDeadLetterQueueMaxSizeAlarm: {[ key: string ]: MaxMessageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageCountThreshold">MaxMessageCountThreshold</a>}

---

### BaseEc2ServiceAlarms <a name="BaseEc2ServiceAlarms" id="cdk-monitoring-constructs.BaseEc2ServiceAlarms"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.BaseEc2ServiceAlarms.Initializer"></a>

```typescript
import { BaseEc2ServiceAlarms } from 'cdk-monitoring-constructs'

const baseEc2ServiceAlarms: BaseEc2ServiceAlarms = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseEc2ServiceAlarms.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseEc2ServiceAlarms.property.addMemoryUsageAlarm">addMemoryUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseEc2ServiceAlarms.property.addRunningTaskCountAlarm">addRunningTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.BaseEc2ServiceAlarms.property.maxAutoScalingTaskCount">maxAutoScalingTaskCount</a></code> | <code>number</code> | maximum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.BaseEc2ServiceAlarms.property.minAutoScalingTaskCount">minAutoScalingTaskCount</a></code> | <code>number</code> | minimum number of tasks, as specified in your auto scaling config. |

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.BaseEc2ServiceAlarms.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMemoryUsageAlarm`<sup>Optional</sup> <a name="addMemoryUsageAlarm" id="cdk-monitoring-constructs.BaseEc2ServiceAlarms.property.addMemoryUsageAlarm"></a>

```typescript
public readonly addMemoryUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addRunningTaskCountAlarm`<sup>Optional</sup> <a name="addRunningTaskCountAlarm" id="cdk-monitoring-constructs.BaseEc2ServiceAlarms.property.addRunningTaskCountAlarm"></a>

```typescript
public readonly addRunningTaskCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `maxAutoScalingTaskCount`<sup>Optional</sup> <a name="maxAutoScalingTaskCount" id="cdk-monitoring-constructs.BaseEc2ServiceAlarms.property.maxAutoScalingTaskCount"></a>

```typescript
public readonly maxAutoScalingTaskCount: number;
```

- *Type:* number

maximum number of tasks, as specified in your auto scaling config.

---

##### `minAutoScalingTaskCount`<sup>Optional</sup> <a name="minAutoScalingTaskCount" id="cdk-monitoring-constructs.BaseEc2ServiceAlarms.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

minimum number of tasks, as specified in your auto scaling config.

---

### BaseFargateServiceAlarms <a name="BaseFargateServiceAlarms" id="cdk-monitoring-constructs.BaseFargateServiceAlarms"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.BaseFargateServiceAlarms.Initializer"></a>

```typescript
import { BaseFargateServiceAlarms } from 'cdk-monitoring-constructs'

const baseFargateServiceAlarms: BaseFargateServiceAlarms = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseFargateServiceAlarms.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseFargateServiceAlarms.property.addMemoryUsageAlarm">addMemoryUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseFargateServiceAlarms.property.addRunningTaskCountAlarm">addRunningTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.BaseFargateServiceAlarms.property.maxAutoScalingTaskCount">maxAutoScalingTaskCount</a></code> | <code>number</code> | maximum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.BaseFargateServiceAlarms.property.minAutoScalingTaskCount">minAutoScalingTaskCount</a></code> | <code>number</code> | minimum number of tasks, as specified in your auto scaling config. |

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.BaseFargateServiceAlarms.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMemoryUsageAlarm`<sup>Optional</sup> <a name="addMemoryUsageAlarm" id="cdk-monitoring-constructs.BaseFargateServiceAlarms.property.addMemoryUsageAlarm"></a>

```typescript
public readonly addMemoryUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addRunningTaskCountAlarm`<sup>Optional</sup> <a name="addRunningTaskCountAlarm" id="cdk-monitoring-constructs.BaseFargateServiceAlarms.property.addRunningTaskCountAlarm"></a>

```typescript
public readonly addRunningTaskCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `maxAutoScalingTaskCount`<sup>Optional</sup> <a name="maxAutoScalingTaskCount" id="cdk-monitoring-constructs.BaseFargateServiceAlarms.property.maxAutoScalingTaskCount"></a>

```typescript
public readonly maxAutoScalingTaskCount: number;
```

- *Type:* number

maximum number of tasks, as specified in your auto scaling config.

---

##### `minAutoScalingTaskCount`<sup>Optional</sup> <a name="minAutoScalingTaskCount" id="cdk-monitoring-constructs.BaseFargateServiceAlarms.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

minimum number of tasks, as specified in your auto scaling config.

---

### BaseMonitoringProps <a name="BaseMonitoringProps" id="cdk-monitoring-constructs.BaseMonitoringProps"></a>

Base class for properties passed to each monitoring construct.

It contains (mostly optional) properties to specify naming, placement, and so on.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.BaseMonitoringProps.Initializer"></a>

```typescript
import { BaseMonitoringProps } from 'cdk-monitoring-constructs'

const baseMonitoringProps: BaseMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.BaseMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.BaseMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.BaseMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.BaseMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.BaseMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.BaseMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.BaseMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.BaseMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.BaseMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.BaseMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.BaseMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.BaseMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.BaseMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### BaseServiceMetricFactoryProps <a name="BaseServiceMetricFactoryProps" id="cdk-monitoring-constructs.BaseServiceMetricFactoryProps"></a>

Props to create BaseServiceMetricFactory.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.BaseServiceMetricFactoryProps.Initializer"></a>

```typescript
import { BaseServiceMetricFactoryProps } from 'cdk-monitoring-constructs'

const baseServiceMetricFactoryProps: BaseServiceMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseServiceMetricFactoryProps.property.service">service</a></code> | <code>aws-cdk-lib.aws_ecs.BaseService</code> | *No description.* |

---

##### `service`<sup>Required</sup> <a name="service" id="cdk-monitoring-constructs.BaseServiceMetricFactoryProps.property.service"></a>

```typescript
public readonly service: BaseService;
```

- *Type:* aws-cdk-lib.aws_ecs.BaseService

---

### BaseSqsQueueAlarms <a name="BaseSqsQueueAlarms" id="cdk-monitoring-constructs.BaseSqsQueueAlarms"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.BaseSqsQueueAlarms.Initializer"></a>

```typescript
import { BaseSqsQueueAlarms } from 'cdk-monitoring-constructs'

const baseSqsQueueAlarms: BaseSqsQueueAlarms = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseSqsQueueAlarms.property.addQueueMaxIncomingMessagesAlarm">addQueueMaxIncomingMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold">MaxIncomingMessagesCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseSqsQueueAlarms.property.addQueueMaxMessageAgeAlarm">addQueueMaxMessageAgeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold">MaxMessageAgeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseSqsQueueAlarms.property.addQueueMaxSizeAlarm">addQueueMaxSizeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageCountThreshold">MaxMessageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseSqsQueueAlarms.property.addQueueMaxTimeToDrainMessagesAlarm">addQueueMaxTimeToDrainMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold">MaxTimeToDrainThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseSqsQueueAlarms.property.addQueueMinIncomingMessagesAlarm">addQueueMinIncomingMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold">MinIncomingMessagesCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseSqsQueueAlarms.property.addQueueMinSizeAlarm">addQueueMinSizeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinMessageCountThreshold">MinMessageCountThreshold</a>}</code> | *No description.* |

---

##### `addQueueMaxIncomingMessagesAlarm`<sup>Optional</sup> <a name="addQueueMaxIncomingMessagesAlarm" id="cdk-monitoring-constructs.BaseSqsQueueAlarms.property.addQueueMaxIncomingMessagesAlarm"></a>

```typescript
public readonly addQueueMaxIncomingMessagesAlarm: {[ key: string ]: MaxIncomingMessagesCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold">MaxIncomingMessagesCountThreshold</a>}

---

##### `addQueueMaxMessageAgeAlarm`<sup>Optional</sup> <a name="addQueueMaxMessageAgeAlarm" id="cdk-monitoring-constructs.BaseSqsQueueAlarms.property.addQueueMaxMessageAgeAlarm"></a>

```typescript
public readonly addQueueMaxMessageAgeAlarm: {[ key: string ]: MaxMessageAgeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold">MaxMessageAgeThreshold</a>}

---

##### `addQueueMaxSizeAlarm`<sup>Optional</sup> <a name="addQueueMaxSizeAlarm" id="cdk-monitoring-constructs.BaseSqsQueueAlarms.property.addQueueMaxSizeAlarm"></a>

```typescript
public readonly addQueueMaxSizeAlarm: {[ key: string ]: MaxMessageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageCountThreshold">MaxMessageCountThreshold</a>}

---

##### `addQueueMaxTimeToDrainMessagesAlarm`<sup>Optional</sup> <a name="addQueueMaxTimeToDrainMessagesAlarm" id="cdk-monitoring-constructs.BaseSqsQueueAlarms.property.addQueueMaxTimeToDrainMessagesAlarm"></a>

```typescript
public readonly addQueueMaxTimeToDrainMessagesAlarm: {[ key: string ]: MaxTimeToDrainThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold">MaxTimeToDrainThreshold</a>}

---

##### `addQueueMinIncomingMessagesAlarm`<sup>Optional</sup> <a name="addQueueMinIncomingMessagesAlarm" id="cdk-monitoring-constructs.BaseSqsQueueAlarms.property.addQueueMinIncomingMessagesAlarm"></a>

```typescript
public readonly addQueueMinIncomingMessagesAlarm: {[ key: string ]: MinIncomingMessagesCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold">MinIncomingMessagesCountThreshold</a>}

---

##### `addQueueMinSizeAlarm`<sup>Optional</sup> <a name="addQueueMinSizeAlarm" id="cdk-monitoring-constructs.BaseSqsQueueAlarms.property.addQueueMinSizeAlarm"></a>

```typescript
public readonly addQueueMinSizeAlarm: {[ key: string ]: MinMessageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinMessageCountThreshold">MinMessageCountThreshold</a>}

---

### BillingMonitoringOptions <a name="BillingMonitoringOptions" id="cdk-monitoring-constructs.BillingMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.BillingMonitoringOptions.Initializer"></a>

```typescript
import { BillingMonitoringOptions } from 'cdk-monitoring-constructs'

const billingMonitoringOptions: BillingMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.BillingMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.BillingMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.BillingMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.BillingMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.BillingMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.BillingMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.BillingMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### BillingMonitoringProps <a name="BillingMonitoringProps" id="cdk-monitoring-constructs.BillingMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.BillingMonitoringProps.Initializer"></a>

```typescript
import { BillingMonitoringProps } from 'cdk-monitoring-constructs'

const billingMonitoringProps: BillingMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.BillingMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.BillingMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.BillingMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.BillingMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.BillingMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.BillingMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.BillingMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### CertificateManagerMetricFactoryProps <a name="CertificateManagerMetricFactoryProps" id="cdk-monitoring-constructs.CertificateManagerMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CertificateManagerMetricFactoryProps.Initializer"></a>

```typescript
import { CertificateManagerMetricFactoryProps } from 'cdk-monitoring-constructs'

const certificateManagerMetricFactoryProps: CertificateManagerMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMetricFactoryProps.property.certificate">certificate</a></code> | <code>aws-cdk-lib.aws_certificatemanager.ICertificate</code> | *No description.* |

---

##### `certificate`<sup>Required</sup> <a name="certificate" id="cdk-monitoring-constructs.CertificateManagerMetricFactoryProps.property.certificate"></a>

```typescript
public readonly certificate: ICertificate;
```

- *Type:* aws-cdk-lib.aws_certificatemanager.ICertificate

---

### CertificateManagerMonitoringOptions <a name="CertificateManagerMonitoringOptions" id="cdk-monitoring-constructs.CertificateManagerMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CertificateManagerMonitoringOptions.Initializer"></a>

```typescript
import { CertificateManagerMonitoringOptions } from 'cdk-monitoring-constructs'

const certificateManagerMonitoringOptions: CertificateManagerMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.addDaysToExpiryAlarm">addDaysToExpiryAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DaysToExpiryThreshold">DaysToExpiryThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addDaysToExpiryAlarm`<sup>Optional</sup> <a name="addDaysToExpiryAlarm" id="cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.addDaysToExpiryAlarm"></a>

```typescript
public readonly addDaysToExpiryAlarm: {[ key: string ]: DaysToExpiryThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DaysToExpiryThreshold">DaysToExpiryThreshold</a>}

---

### CertificateManagerMonitoringProps <a name="CertificateManagerMonitoringProps" id="cdk-monitoring-constructs.CertificateManagerMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CertificateManagerMonitoringProps.Initializer"></a>

```typescript
import { CertificateManagerMonitoringProps } from 'cdk-monitoring-constructs'

const certificateManagerMonitoringProps: CertificateManagerMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.addDaysToExpiryAlarm">addDaysToExpiryAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DaysToExpiryThreshold">DaysToExpiryThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.certificate">certificate</a></code> | <code>aws-cdk-lib.aws_certificatemanager.ICertificate</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addDaysToExpiryAlarm`<sup>Optional</sup> <a name="addDaysToExpiryAlarm" id="cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.addDaysToExpiryAlarm"></a>

```typescript
public readonly addDaysToExpiryAlarm: {[ key: string ]: DaysToExpiryThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DaysToExpiryThreshold">DaysToExpiryThreshold</a>}

---

##### `certificate`<sup>Required</sup> <a name="certificate" id="cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.certificate"></a>

```typescript
public readonly certificate: ICertificate;
```

- *Type:* aws-cdk-lib.aws_certificatemanager.ICertificate

---

### CloudFrontDistributionMetricFactoryProps <a name="CloudFrontDistributionMetricFactoryProps" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactoryProps.Initializer"></a>

```typescript
import { CloudFrontDistributionMetricFactoryProps } from 'cdk-monitoring-constructs'

const cloudFrontDistributionMetricFactoryProps: CloudFrontDistributionMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactoryProps.property.distribution">distribution</a></code> | <code>aws-cdk-lib.aws_cloudfront.IDistribution</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactoryProps.property.additionalMetricsEnabled">additionalMetricsEnabled</a></code> | <code>boolean</code> | Generate dashboard charts for additional CloudFront distribution metrics. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactoryProps.property.fillTpsWithZeroes">fillTpsWithZeroes</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactoryProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |

---

##### `distribution`<sup>Required</sup> <a name="distribution" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactoryProps.property.distribution"></a>

```typescript
public readonly distribution: IDistribution;
```

- *Type:* aws-cdk-lib.aws_cloudfront.IDistribution

---

##### `additionalMetricsEnabled`<sup>Optional</sup> <a name="additionalMetricsEnabled" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactoryProps.property.additionalMetricsEnabled"></a>

```typescript
public readonly additionalMetricsEnabled: boolean;
```

- *Type:* boolean
- *Default:* true

Generate dashboard charts for additional CloudFront distribution metrics.

To enable additional metrics on your CloudFront distribution, see
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional

---

##### `fillTpsWithZeroes`<sup>Optional</sup> <a name="fillTpsWithZeroes" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactoryProps.property.fillTpsWithZeroes"></a>

```typescript
public readonly fillTpsWithZeroes: boolean;
```

- *Type:* boolean
- *Default:* true

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactoryProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

### CloudFrontDistributionMonitoringOptions <a name="CloudFrontDistributionMonitoringOptions" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.Initializer"></a>

```typescript
import { CloudFrontDistributionMonitoringOptions } from 'cdk-monitoring-constructs'

const cloudFrontDistributionMonitoringOptions: CloudFrontDistributionMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### CloudFrontDistributionMonitoringProps <a name="CloudFrontDistributionMonitoringProps" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.Initializer"></a>

```typescript
import { CloudFrontDistributionMonitoringProps } from 'cdk-monitoring-constructs'

const cloudFrontDistributionMonitoringProps: CloudFrontDistributionMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.distribution">distribution</a></code> | <code>aws-cdk-lib.aws_cloudfront.IDistribution</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.additionalMetricsEnabled">additionalMetricsEnabled</a></code> | <code>boolean</code> | Generate dashboard charts for additional CloudFront distribution metrics. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.fillTpsWithZeroes">fillTpsWithZeroes</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addError4xxRate">addError4xxRate</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addFault5xxRate">addFault5xxRate</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addHighTpsAlarm">addHighTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addLowTpsAlarm">addLowTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}</code> | *No description.* |

---

##### `distribution`<sup>Required</sup> <a name="distribution" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.distribution"></a>

```typescript
public readonly distribution: IDistribution;
```

- *Type:* aws-cdk-lib.aws_cloudfront.IDistribution

---

##### `additionalMetricsEnabled`<sup>Optional</sup> <a name="additionalMetricsEnabled" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.additionalMetricsEnabled"></a>

```typescript
public readonly additionalMetricsEnabled: boolean;
```

- *Type:* boolean
- *Default:* true

Generate dashboard charts for additional CloudFront distribution metrics.

To enable additional metrics on your CloudFront distribution, see
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional

---

##### `fillTpsWithZeroes`<sup>Optional</sup> <a name="fillTpsWithZeroes" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.fillTpsWithZeroes"></a>

```typescript
public readonly fillTpsWithZeroes: boolean;
```

- *Type:* boolean
- *Default:* true

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addError4xxRate`<sup>Optional</sup> <a name="addError4xxRate" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addError4xxRate"></a>

```typescript
public readonly addError4xxRate: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addFault5xxRate`<sup>Optional</sup> <a name="addFault5xxRate" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addFault5xxRate"></a>

```typescript
public readonly addFault5xxRate: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addHighTpsAlarm`<sup>Optional</sup> <a name="addHighTpsAlarm" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addHighTpsAlarm"></a>

```typescript
public readonly addHighTpsAlarm: {[ key: string ]: HighTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}

---

##### `addLowTpsAlarm`<sup>Optional</sup> <a name="addLowTpsAlarm" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.addLowTpsAlarm"></a>

```typescript
public readonly addLowTpsAlarm: {[ key: string ]: LowTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}

---

### CodeBuildProjectMetricFactoryProps <a name="CodeBuildProjectMetricFactoryProps" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactoryProps.Initializer"></a>

```typescript
import { CodeBuildProjectMetricFactoryProps } from 'cdk-monitoring-constructs'

const codeBuildProjectMetricFactoryProps: CodeBuildProjectMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactoryProps.property.project">project</a></code> | <code>aws-cdk-lib.aws_codebuild.IProject</code> | *No description.* |

---

##### `project`<sup>Required</sup> <a name="project" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactoryProps.property.project"></a>

```typescript
public readonly project: IProject;
```

- *Type:* aws-cdk-lib.aws_codebuild.IProject

---

### CodeBuildProjectMonitoringOptions <a name="CodeBuildProjectMonitoringOptions" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.Initializer"></a>

```typescript
import { CodeBuildProjectMonitoringOptions } from 'cdk-monitoring-constructs'

const codeBuildProjectMonitoringOptions: CodeBuildProjectMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addDurationP50Alarm">addDurationP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addDurationP90Alarm">addDurationP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addDurationP99Alarm">addDurationP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addFailedBuildCountAlarm">addFailedBuildCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addFailedBuildRateAlarm">addFailedBuildRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addDurationP50Alarm`<sup>Optional</sup> <a name="addDurationP50Alarm" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addDurationP50Alarm"></a>

```typescript
public readonly addDurationP50Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP90Alarm`<sup>Optional</sup> <a name="addDurationP90Alarm" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addDurationP90Alarm"></a>

```typescript
public readonly addDurationP90Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP99Alarm`<sup>Optional</sup> <a name="addDurationP99Alarm" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addDurationP99Alarm"></a>

```typescript
public readonly addDurationP99Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addFailedBuildCountAlarm`<sup>Optional</sup> <a name="addFailedBuildCountAlarm" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addFailedBuildCountAlarm"></a>

```typescript
public readonly addFailedBuildCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addFailedBuildRateAlarm`<sup>Optional</sup> <a name="addFailedBuildRateAlarm" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.addFailedBuildRateAlarm"></a>

```typescript
public readonly addFailedBuildRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

### CodeBuildProjectMonitoringProps <a name="CodeBuildProjectMonitoringProps" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps"></a>

Monitoring props for CodeBuild projects.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.Initializer"></a>

```typescript
import { CodeBuildProjectMonitoringProps } from 'cdk-monitoring-constructs'

const codeBuildProjectMonitoringProps: CodeBuildProjectMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.project">project</a></code> | <code>aws-cdk-lib.aws_codebuild.IProject</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addDurationP50Alarm">addDurationP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addDurationP90Alarm">addDurationP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addDurationP99Alarm">addDurationP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addFailedBuildCountAlarm">addFailedBuildCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addFailedBuildRateAlarm">addFailedBuildRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |

---

##### `project`<sup>Required</sup> <a name="project" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.project"></a>

```typescript
public readonly project: IProject;
```

- *Type:* aws-cdk-lib.aws_codebuild.IProject

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addDurationP50Alarm`<sup>Optional</sup> <a name="addDurationP50Alarm" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addDurationP50Alarm"></a>

```typescript
public readonly addDurationP50Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP90Alarm`<sup>Optional</sup> <a name="addDurationP90Alarm" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addDurationP90Alarm"></a>

```typescript
public readonly addDurationP90Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP99Alarm`<sup>Optional</sup> <a name="addDurationP99Alarm" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addDurationP99Alarm"></a>

```typescript
public readonly addDurationP99Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addFailedBuildCountAlarm`<sup>Optional</sup> <a name="addFailedBuildCountAlarm" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addFailedBuildCountAlarm"></a>

```typescript
public readonly addFailedBuildCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addFailedBuildRateAlarm`<sup>Optional</sup> <a name="addFailedBuildRateAlarm" id="cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.addFailedBuildRateAlarm"></a>

```typescript
public readonly addFailedBuildRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

### ConsumedCapacityThreshold <a name="ConsumedCapacityThreshold" id="cdk-monitoring-constructs.ConsumedCapacityThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.Initializer"></a>

```typescript
import { ConsumedCapacityThreshold } from 'cdk-monitoring-constructs'

const consumedCapacityThreshold: ConsumedCapacityThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.maxConsumedCapacityUnits">maxConsumedCapacityUnits</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxConsumedCapacityUnits`<sup>Required</sup> <a name="maxConsumedCapacityUnits" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.property.maxConsumedCapacityUnits"></a>

```typescript
public readonly maxConsumedCapacityUnits: number;
```

- *Type:* number

---

### CustomAlarmThreshold <a name="CustomAlarmThreshold" id="cdk-monitoring-constructs.CustomAlarmThreshold"></a>

Common customization that can be attached to each alarm.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CustomAlarmThreshold.Initializer"></a>

```typescript
import { CustomAlarmThreshold } from 'cdk-monitoring-constructs'

const customAlarmThreshold: CustomAlarmThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.CustomAlarmThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

### CustomEc2ServiceMonitoringProps <a name="CustomEc2ServiceMonitoringProps" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.Initializer"></a>

```typescript
import { CustomEc2ServiceMonitoringProps } from 'cdk-monitoring-constructs'

const customEc2ServiceMonitoringProps: CustomEc2ServiceMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addMemoryUsageAlarm">addMemoryUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addRunningTaskCountAlarm">addRunningTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.maxAutoScalingTaskCount">maxAutoScalingTaskCount</a></code> | <code>number</code> | maximum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.minAutoScalingTaskCount">minAutoScalingTaskCount</a></code> | <code>number</code> | minimum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.ec2Service">ec2Service</a></code> | <code>aws-cdk-lib.aws_ecs.Ec2Service</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addHealthyTaskCountAlarm">addHealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addHealthyTaskPercentAlarm">addHealthyTaskPercentAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addMinProcessedBytesAlarm">addMinProcessedBytesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addUnhealthyTaskCountAlarm">addUnhealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.loadBalancer">loadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer \| aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.targetGroup">targetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationTargetGroup \| aws-cdk-lib.aws_elasticloadbalancingv2.NetworkTargetGroup</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMemoryUsageAlarm`<sup>Optional</sup> <a name="addMemoryUsageAlarm" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addMemoryUsageAlarm"></a>

```typescript
public readonly addMemoryUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addRunningTaskCountAlarm`<sup>Optional</sup> <a name="addRunningTaskCountAlarm" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addRunningTaskCountAlarm"></a>

```typescript
public readonly addRunningTaskCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `maxAutoScalingTaskCount`<sup>Optional</sup> <a name="maxAutoScalingTaskCount" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.maxAutoScalingTaskCount"></a>

```typescript
public readonly maxAutoScalingTaskCount: number;
```

- *Type:* number

maximum number of tasks, as specified in your auto scaling config.

---

##### `minAutoScalingTaskCount`<sup>Optional</sup> <a name="minAutoScalingTaskCount" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

minimum number of tasks, as specified in your auto scaling config.

---

##### `ec2Service`<sup>Required</sup> <a name="ec2Service" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.ec2Service"></a>

```typescript
public readonly ec2Service: Ec2Service;
```

- *Type:* aws-cdk-lib.aws_ecs.Ec2Service

---

##### `addHealthyTaskCountAlarm`<sup>Optional</sup> <a name="addHealthyTaskCountAlarm" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addHealthyTaskCountAlarm"></a>

```typescript
public readonly addHealthyTaskCountAlarm: {[ key: string ]: HealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}

---

##### `addHealthyTaskPercentAlarm`<sup>Optional</sup> <a name="addHealthyTaskPercentAlarm" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addHealthyTaskPercentAlarm"></a>

```typescript
public readonly addHealthyTaskPercentAlarm: {[ key: string ]: HealthyTaskPercentThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}

---

##### `addMinProcessedBytesAlarm`<sup>Optional</sup> <a name="addMinProcessedBytesAlarm" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addMinProcessedBytesAlarm"></a>

```typescript
public readonly addMinProcessedBytesAlarm: {[ key: string ]: MinProcessedBytesThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}

---

##### `addUnhealthyTaskCountAlarm`<sup>Optional</sup> <a name="addUnhealthyTaskCountAlarm" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addUnhealthyTaskCountAlarm"></a>

```typescript
public readonly addUnhealthyTaskCountAlarm: {[ key: string ]: UnhealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}

---

##### `loadBalancer`<sup>Optional</sup> <a name="loadBalancer" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.loadBalancer"></a>

```typescript
public readonly loadBalancer: ApplicationLoadBalancer | NetworkLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer | aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer

---

##### `targetGroup`<sup>Optional</sup> <a name="targetGroup" id="cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.targetGroup"></a>

```typescript
public readonly targetGroup: ApplicationTargetGroup | NetworkTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationTargetGroup | aws-cdk-lib.aws_elasticloadbalancingv2.NetworkTargetGroup

---

### CustomFargateServiceMonitoringProps <a name="CustomFargateServiceMonitoringProps" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.Initializer"></a>

```typescript
import { CustomFargateServiceMonitoringProps } from 'cdk-monitoring-constructs'

const customFargateServiceMonitoringProps: CustomFargateServiceMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addMemoryUsageAlarm">addMemoryUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addRunningTaskCountAlarm">addRunningTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.maxAutoScalingTaskCount">maxAutoScalingTaskCount</a></code> | <code>number</code> | maximum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.minAutoScalingTaskCount">minAutoScalingTaskCount</a></code> | <code>number</code> | minimum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.fargateService">fargateService</a></code> | <code>aws-cdk-lib.aws_ecs.FargateService</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addHealthyTaskCountAlarm">addHealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addHealthyTaskPercentAlarm">addHealthyTaskPercentAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addMinProcessedBytesAlarm">addMinProcessedBytesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addUnhealthyTaskCountAlarm">addUnhealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.loadBalancer">loadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer \| aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.targetGroup">targetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationTargetGroup \| aws-cdk-lib.aws_elasticloadbalancingv2.NetworkTargetGroup</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMemoryUsageAlarm`<sup>Optional</sup> <a name="addMemoryUsageAlarm" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addMemoryUsageAlarm"></a>

```typescript
public readonly addMemoryUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addRunningTaskCountAlarm`<sup>Optional</sup> <a name="addRunningTaskCountAlarm" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addRunningTaskCountAlarm"></a>

```typescript
public readonly addRunningTaskCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `maxAutoScalingTaskCount`<sup>Optional</sup> <a name="maxAutoScalingTaskCount" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.maxAutoScalingTaskCount"></a>

```typescript
public readonly maxAutoScalingTaskCount: number;
```

- *Type:* number

maximum number of tasks, as specified in your auto scaling config.

---

##### `minAutoScalingTaskCount`<sup>Optional</sup> <a name="minAutoScalingTaskCount" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

minimum number of tasks, as specified in your auto scaling config.

---

##### `fargateService`<sup>Required</sup> <a name="fargateService" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.fargateService"></a>

```typescript
public readonly fargateService: FargateService;
```

- *Type:* aws-cdk-lib.aws_ecs.FargateService

---

##### `addHealthyTaskCountAlarm`<sup>Optional</sup> <a name="addHealthyTaskCountAlarm" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addHealthyTaskCountAlarm"></a>

```typescript
public readonly addHealthyTaskCountAlarm: {[ key: string ]: HealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}

---

##### `addHealthyTaskPercentAlarm`<sup>Optional</sup> <a name="addHealthyTaskPercentAlarm" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addHealthyTaskPercentAlarm"></a>

```typescript
public readonly addHealthyTaskPercentAlarm: {[ key: string ]: HealthyTaskPercentThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}

---

##### `addMinProcessedBytesAlarm`<sup>Optional</sup> <a name="addMinProcessedBytesAlarm" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addMinProcessedBytesAlarm"></a>

```typescript
public readonly addMinProcessedBytesAlarm: {[ key: string ]: MinProcessedBytesThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}

---

##### `addUnhealthyTaskCountAlarm`<sup>Optional</sup> <a name="addUnhealthyTaskCountAlarm" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addUnhealthyTaskCountAlarm"></a>

```typescript
public readonly addUnhealthyTaskCountAlarm: {[ key: string ]: UnhealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}

---

##### `loadBalancer`<sup>Optional</sup> <a name="loadBalancer" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.loadBalancer"></a>

```typescript
public readonly loadBalancer: ApplicationLoadBalancer | NetworkLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer | aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer

---

##### `targetGroup`<sup>Optional</sup> <a name="targetGroup" id="cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.targetGroup"></a>

```typescript
public readonly targetGroup: ApplicationTargetGroup | NetworkTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationTargetGroup | aws-cdk-lib.aws_elasticloadbalancingv2.NetworkTargetGroup

---

### CustomMetricGroup <a name="CustomMetricGroup" id="cdk-monitoring-constructs.CustomMetricGroup"></a>

Custom metric group represents a single widget.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CustomMetricGroup.Initializer"></a>

```typescript
import { CustomMetricGroup } from 'cdk-monitoring-constructs'

const customMetricGroup: CustomMetricGroup = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroup.property.metrics">metrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.Metric \| aws-cdk-lib.aws_cloudwatch.MathExpression \| <a href="#cdk-monitoring-constructs.CustomMetricWithAlarm">CustomMetricWithAlarm</a> \| <a href="#cdk-monitoring-constructs.CustomMetricWithAnomalyDetection">CustomMetricWithAnomalyDetection</a> \| <a href="#cdk-monitoring-constructs.CustomMetricSearch">CustomMetricSearch</a>[]</code> | list of metrics in the group (can be defined in different ways, see the type documentation). |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroup.property.title">title</a></code> | <code>string</code> | title of the whole group. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroup.property.graphWidgetAxis">graphWidgetAxis</a></code> | <code>aws-cdk-lib.aws_cloudwatch.YAxisProps</code> | optional axis. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroup.property.graphWidgetLegend">graphWidgetLegend</a></code> | <code>aws-cdk-lib.aws_cloudwatch.LegendPosition</code> | graph widget legend. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroup.property.graphWidgetRightAxis">graphWidgetRightAxis</a></code> | <code>aws-cdk-lib.aws_cloudwatch.YAxisProps</code> | optional right axis. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroup.property.graphWidgetType">graphWidgetType</a></code> | <code><a href="#cdk-monitoring-constructs.GraphWidgetType">GraphWidgetType</a></code> | type of the widget. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroup.property.horizontalAnnotations">horizontalAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | optional custom horizontal annotations which will be displayed over the metrics on the left axis (if there are any alarms, any existing annotations will be merged together). |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroup.property.horizontalRightAnnotations">horizontalRightAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | optional custom horizontal annotations which will be displayed over the metrics on the right axis (if there are any alarms, any existing annotations will be merged together). |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroup.property.important">important</a></code> | <code>boolean</code> | Flag indicating, whether this is an important metric group that should be included in the summary as well. |

---

##### `metrics`<sup>Required</sup> <a name="metrics" id="cdk-monitoring-constructs.CustomMetricGroup.property.metrics"></a>

```typescript
public readonly metrics: Metric | MathExpression | CustomMetricWithAlarm | CustomMetricWithAnomalyDetection | CustomMetricSearch[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression | <a href="#cdk-monitoring-constructs.CustomMetricWithAlarm">CustomMetricWithAlarm</a> | <a href="#cdk-monitoring-constructs.CustomMetricWithAnomalyDetection">CustomMetricWithAnomalyDetection</a> | <a href="#cdk-monitoring-constructs.CustomMetricSearch">CustomMetricSearch</a>[]

list of metrics in the group (can be defined in different ways, see the type documentation).

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.CustomMetricGroup.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

title of the whole group.

---

##### `graphWidgetAxis`<sup>Optional</sup> <a name="graphWidgetAxis" id="cdk-monitoring-constructs.CustomMetricGroup.property.graphWidgetAxis"></a>

```typescript
public readonly graphWidgetAxis: YAxisProps;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.YAxisProps
- *Default:* undefined

optional axis.

---

##### `graphWidgetLegend`<sup>Optional</sup> <a name="graphWidgetLegend" id="cdk-monitoring-constructs.CustomMetricGroup.property.graphWidgetLegend"></a>

```typescript
public readonly graphWidgetLegend: LegendPosition;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.LegendPosition
- *Default:* BOTTOM

graph widget legend.

---

##### `graphWidgetRightAxis`<sup>Optional</sup> <a name="graphWidgetRightAxis" id="cdk-monitoring-constructs.CustomMetricGroup.property.graphWidgetRightAxis"></a>

```typescript
public readonly graphWidgetRightAxis: YAxisProps;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.YAxisProps
- *Default:* undefined

optional right axis.

---

##### `graphWidgetType`<sup>Optional</sup> <a name="graphWidgetType" id="cdk-monitoring-constructs.CustomMetricGroup.property.graphWidgetType"></a>

```typescript
public readonly graphWidgetType: GraphWidgetType;
```

- *Type:* <a href="#cdk-monitoring-constructs.GraphWidgetType">GraphWidgetType</a>
- *Default:* line

type of the widget.

---

##### `horizontalAnnotations`<sup>Optional</sup> <a name="horizontalAnnotations" id="cdk-monitoring-constructs.CustomMetricGroup.property.horizontalAnnotations"></a>

```typescript
public readonly horizontalAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

optional custom horizontal annotations which will be displayed over the metrics on the left axis (if there are any alarms, any existing annotations will be merged together).

---

##### `horizontalRightAnnotations`<sup>Optional</sup> <a name="horizontalRightAnnotations" id="cdk-monitoring-constructs.CustomMetricGroup.property.horizontalRightAnnotations"></a>

```typescript
public readonly horizontalRightAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

optional custom horizontal annotations which will be displayed over the metrics on the right axis (if there are any alarms, any existing annotations will be merged together).

---

##### `important`<sup>Optional</sup> <a name="important" id="cdk-monitoring-constructs.CustomMetricGroup.property.important"></a>

```typescript
public readonly important: boolean;
```

- *Type:* boolean
- *Default:* false

Flag indicating, whether this is an important metric group that should be included in the summary as well.

---

### CustomMetricGroupWithAnnotations <a name="CustomMetricGroupWithAnnotations" id="cdk-monitoring-constructs.CustomMetricGroupWithAnnotations"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CustomMetricGroupWithAnnotations.Initializer"></a>

```typescript
import { CustomMetricGroupWithAnnotations } from 'cdk-monitoring-constructs'

const customMetricGroupWithAnnotations: CustomMetricGroupWithAnnotations = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroupWithAnnotations.property.annotations">annotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroupWithAnnotations.property.metricGroup">metricGroup</a></code> | <code><a href="#cdk-monitoring-constructs.CustomMetricGroup">CustomMetricGroup</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroupWithAnnotations.property.rightAnnotations">rightAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroupWithAnnotations.property.titleAddons">titleAddons</a></code> | <code>string[]</code> | *No description.* |

---

##### `annotations`<sup>Required</sup> <a name="annotations" id="cdk-monitoring-constructs.CustomMetricGroupWithAnnotations.property.annotations"></a>

```typescript
public readonly annotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `metricGroup`<sup>Required</sup> <a name="metricGroup" id="cdk-monitoring-constructs.CustomMetricGroupWithAnnotations.property.metricGroup"></a>

```typescript
public readonly metricGroup: CustomMetricGroup;
```

- *Type:* <a href="#cdk-monitoring-constructs.CustomMetricGroup">CustomMetricGroup</a>

---

##### `rightAnnotations`<sup>Required</sup> <a name="rightAnnotations" id="cdk-monitoring-constructs.CustomMetricGroupWithAnnotations.property.rightAnnotations"></a>

```typescript
public readonly rightAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `titleAddons`<sup>Required</sup> <a name="titleAddons" id="cdk-monitoring-constructs.CustomMetricGroupWithAnnotations.property.titleAddons"></a>

```typescript
public readonly titleAddons: string[];
```

- *Type:* string[]

---

### CustomMetricSearch <a name="CustomMetricSearch" id="cdk-monitoring-constructs.CustomMetricSearch"></a>

Custom metric search.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CustomMetricSearch.Initializer"></a>

```typescript
import { CustomMetricSearch } from 'cdk-monitoring-constructs'

const customMetricSearch: CustomMetricSearch = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomMetricSearch.property.dimensionsMap">dimensionsMap</a></code> | <code>{[ key: string ]: string}</code> | search dimensions (can be empty). |
| <code><a href="#cdk-monitoring-constructs.CustomMetricSearch.property.searchQuery">searchQuery</a></code> | <code>string</code> | search query (can be empty). |
| <code><a href="#cdk-monitoring-constructs.CustomMetricSearch.property.statistic">statistic</a></code> | <code><a href="#cdk-monitoring-constructs.MetricStatistic">MetricStatistic</a></code> | metric statistic. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricSearch.property.label">label</a></code> | <code>string</code> | custom label for the metrics. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricSearch.property.namespace">namespace</a></code> | <code>string</code> | metric namespace. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricSearch.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | metric period. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricSearch.property.position">position</a></code> | <code><a href="#cdk-monitoring-constructs.AxisPosition">AxisPosition</a></code> | axis (right or left) on which to graph metric default: AxisPosition.LEFT. |

---

##### `dimensionsMap`<sup>Required</sup> <a name="dimensionsMap" id="cdk-monitoring-constructs.CustomMetricSearch.property.dimensionsMap"></a>

```typescript
public readonly dimensionsMap: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

search dimensions (can be empty).

---

##### `searchQuery`<sup>Required</sup> <a name="searchQuery" id="cdk-monitoring-constructs.CustomMetricSearch.property.searchQuery"></a>

```typescript
public readonly searchQuery: string;
```

- *Type:* string

search query (can be empty).

---

##### `statistic`<sup>Required</sup> <a name="statistic" id="cdk-monitoring-constructs.CustomMetricSearch.property.statistic"></a>

```typescript
public readonly statistic: MetricStatistic;
```

- *Type:* <a href="#cdk-monitoring-constructs.MetricStatistic">MetricStatistic</a>

metric statistic.

---

##### `label`<sup>Optional</sup> <a name="label" id="cdk-monitoring-constructs.CustomMetricSearch.property.label"></a>

```typescript
public readonly label: string;
```

- *Type:* string
- *Default:* " "

custom label for the metrics.

---

##### `namespace`<sup>Optional</sup> <a name="namespace" id="cdk-monitoring-constructs.CustomMetricSearch.property.namespace"></a>

```typescript
public readonly namespace: string;
```

- *Type:* string
- *Default:* none

metric namespace.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.CustomMetricSearch.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* global default

metric period.

---

##### `position`<sup>Optional</sup> <a name="position" id="cdk-monitoring-constructs.CustomMetricSearch.property.position"></a>

```typescript
public readonly position: AxisPosition;
```

- *Type:* <a href="#cdk-monitoring-constructs.AxisPosition">AxisPosition</a>

axis (right or left) on which to graph metric default: AxisPosition.LEFT.

---

### CustomMetricWithAlarm <a name="CustomMetricWithAlarm" id="cdk-monitoring-constructs.CustomMetricWithAlarm"></a>

Custom metric with an alarm defined.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CustomMetricWithAlarm.Initializer"></a>

```typescript
import { CustomMetricWithAlarm } from 'cdk-monitoring-constructs'

const customMetricWithAlarm: CustomMetricWithAlarm = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomMetricWithAlarm.property.addAlarm">addAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.CustomThreshold">CustomThreshold</a>}</code> | alarm definitions. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricWithAlarm.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | alarm friendly name. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricWithAlarm.property.metric">metric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.Metric \| aws-cdk-lib.aws_cloudwatch.MathExpression</code> | metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricWithAlarm.property.position">position</a></code> | <code><a href="#cdk-monitoring-constructs.AxisPosition">AxisPosition</a></code> | axis (right or left) on which to graph metric default: AxisPosition.LEFT. |

---

##### `addAlarm`<sup>Required</sup> <a name="addAlarm" id="cdk-monitoring-constructs.CustomMetricWithAlarm.property.addAlarm"></a>

```typescript
public readonly addAlarm: {[ key: string ]: CustomThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.CustomThreshold">CustomThreshold</a>}

alarm definitions.

---

##### `alarmFriendlyName`<sup>Required</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.CustomMetricWithAlarm.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string

alarm friendly name.

---

##### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.CustomMetricWithAlarm.property.metric"></a>

```typescript
public readonly metric: Metric | MathExpression;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

metric to alarm on.

---

##### `position`<sup>Optional</sup> <a name="position" id="cdk-monitoring-constructs.CustomMetricWithAlarm.property.position"></a>

```typescript
public readonly position: AxisPosition;
```

- *Type:* <a href="#cdk-monitoring-constructs.AxisPosition">AxisPosition</a>

axis (right or left) on which to graph metric default: AxisPosition.LEFT.

---

### CustomMetricWithAnomalyDetection <a name="CustomMetricWithAnomalyDetection" id="cdk-monitoring-constructs.CustomMetricWithAnomalyDetection"></a>

Custom metric with anomaly detection.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CustomMetricWithAnomalyDetection.Initializer"></a>

```typescript
import { CustomMetricWithAnomalyDetection } from 'cdk-monitoring-constructs'

const customMetricWithAnomalyDetection: CustomMetricWithAnomalyDetection = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomMetricWithAnomalyDetection.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | alarm friendly name. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricWithAnomalyDetection.property.anomalyDetectionStandardDeviationToRender">anomalyDetectionStandardDeviationToRender</a></code> | <code>number</code> | standard deviation for the anomaly detection to be rendered on the graph widget. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricWithAnomalyDetection.property.metric">metric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.Metric \| aws-cdk-lib.aws_cloudwatch.MathExpression</code> | metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricWithAnomalyDetection.property.addAlarmOnAnomaly">addAlarmOnAnomaly</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold">AnomalyDetectionThreshold</a>}</code> | adds alarm on a detected anomaly. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricWithAnomalyDetection.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | anomaly detection period. |

---

##### `alarmFriendlyName`<sup>Required</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.CustomMetricWithAnomalyDetection.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string

alarm friendly name.

---

##### `anomalyDetectionStandardDeviationToRender`<sup>Required</sup> <a name="anomalyDetectionStandardDeviationToRender" id="cdk-monitoring-constructs.CustomMetricWithAnomalyDetection.property.anomalyDetectionStandardDeviationToRender"></a>

```typescript
public readonly anomalyDetectionStandardDeviationToRender: number;
```

- *Type:* number

standard deviation for the anomaly detection to be rendered on the graph widget.

---

##### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.CustomMetricWithAnomalyDetection.property.metric"></a>

```typescript
public readonly metric: Metric | MathExpression;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

metric to alarm on.

---

##### `addAlarmOnAnomaly`<sup>Optional</sup> <a name="addAlarmOnAnomaly" id="cdk-monitoring-constructs.CustomMetricWithAnomalyDetection.property.addAlarmOnAnomaly"></a>

```typescript
public readonly addAlarmOnAnomaly: {[ key: string ]: AnomalyDetectionThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold">AnomalyDetectionThreshold</a>}

adds alarm on a detected anomaly.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.CustomMetricWithAnomalyDetection.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* metric period (if defined) or global default

anomaly detection period.

---

### CustomMonitoringProps <a name="CustomMonitoringProps" id="cdk-monitoring-constructs.CustomMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CustomMonitoringProps.Initializer"></a>

```typescript
import { CustomMonitoringProps } from 'cdk-monitoring-constructs'

const customMonitoringProps: CustomMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.metricGroups">metricGroups</a></code> | <code><a href="#cdk-monitoring-constructs.CustomMetricGroup">CustomMetricGroup</a>[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.descriptionWidgetHeight">descriptionWidgetHeight</a></code> | <code>number</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.CustomMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.CustomMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.CustomMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.CustomMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.CustomMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.CustomMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.CustomMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `metricGroups`<sup>Required</sup> <a name="metricGroups" id="cdk-monitoring-constructs.CustomMonitoringProps.property.metricGroups"></a>

```typescript
public readonly metricGroups: CustomMetricGroup[];
```

- *Type:* <a href="#cdk-monitoring-constructs.CustomMetricGroup">CustomMetricGroup</a>[]

---

##### `description`<sup>Optional</sup> <a name="description" id="cdk-monitoring-constructs.CustomMonitoringProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `descriptionWidgetHeight`<sup>Optional</sup> <a name="descriptionWidgetHeight" id="cdk-monitoring-constructs.CustomMonitoringProps.property.descriptionWidgetHeight"></a>

```typescript
public readonly descriptionWidgetHeight: number;
```

- *Type:* number

---

### CustomThreshold <a name="CustomThreshold" id="cdk-monitoring-constructs.CustomThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CustomThreshold.Initializer"></a>

```typescript
import { CustomThreshold } from 'cdk-monitoring-constructs'

const customThreshold: CustomThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.comparisonOperator">comparisonOperator</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.threshold">threshold</a></code> | <code>number</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.additionalDescription">additionalDescription</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.dedupeString">dedupeString</a></code> | <code>string</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.CustomThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.CustomThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.CustomThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.CustomThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.CustomThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.CustomThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.CustomThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.CustomThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.CustomThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.CustomThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.CustomThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.CustomThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.CustomThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.CustomThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.CustomThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.CustomThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `comparisonOperator`<sup>Required</sup> <a name="comparisonOperator" id="cdk-monitoring-constructs.CustomThreshold.property.comparisonOperator"></a>

```typescript
public readonly comparisonOperator: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator

---

##### `threshold`<sup>Required</sup> <a name="threshold" id="cdk-monitoring-constructs.CustomThreshold.property.threshold"></a>

```typescript
public readonly threshold: number;
```

- *Type:* number

---

##### `additionalDescription`<sup>Optional</sup> <a name="additionalDescription" id="cdk-monitoring-constructs.CustomThreshold.property.additionalDescription"></a>

```typescript
public readonly additionalDescription: string;
```

- *Type:* string

---

##### `dedupeString`<sup>Optional</sup> <a name="dedupeString" id="cdk-monitoring-constructs.CustomThreshold.property.dedupeString"></a>

```typescript
public readonly dedupeString: string;
```

- *Type:* string

---

### CustomWidgetProps <a name="CustomWidgetProps" id="cdk-monitoring-constructs.CustomWidgetProps"></a>

Properties of a custom widget.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.CustomWidgetProps.Initializer"></a>

```typescript
import { CustomWidgetProps } from 'cdk-monitoring-constructs'

const customWidgetProps: CustomWidgetProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomWidgetProps.property.handler">handler</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | Lambda providing the widget contents. |
| <code><a href="#cdk-monitoring-constructs.CustomWidgetProps.property.handlerParams">handlerParams</a></code> | <code>any</code> | Arguments to pass to the Lambda. |
| <code><a href="#cdk-monitoring-constructs.CustomWidgetProps.property.height">height</a></code> | <code>number</code> | Height of the widget. |
| <code><a href="#cdk-monitoring-constructs.CustomWidgetProps.property.title">title</a></code> | <code>string</code> | Title for the graph. |
| <code><a href="#cdk-monitoring-constructs.CustomWidgetProps.property.updateOnRefresh">updateOnRefresh</a></code> | <code>boolean</code> | Whether the widget should be updated (by calling the Lambda again) on refresh. |
| <code><a href="#cdk-monitoring-constructs.CustomWidgetProps.property.updateOnResize">updateOnResize</a></code> | <code>boolean</code> | Whether the widget should be updated (by calling the Lambda again) on resize. |
| <code><a href="#cdk-monitoring-constructs.CustomWidgetProps.property.updateOnTimeRangeChange">updateOnTimeRangeChange</a></code> | <code>boolean</code> | Whether the widget should be updated (by calling the Lambda again) on time range change. |
| <code><a href="#cdk-monitoring-constructs.CustomWidgetProps.property.width">width</a></code> | <code>number</code> | Width of the widget, in a grid of 24 units wide. |

---

##### `handler`<sup>Required</sup> <a name="handler" id="cdk-monitoring-constructs.CustomWidgetProps.property.handler"></a>

```typescript
public readonly handler: IFunction;
```

- *Type:* aws-cdk-lib.aws_lambda.IFunction

Lambda providing the widget contents.

The Lambda function should return HTML with widget code.
The simplest Lambda example:
```typescript
exports.handler = function (event, context, callback) {
   return callback(null, "<h1>Hello! This is a custom widget.</h1><pre>" + JSON.stringify(event, null, 2) + "</pre>");
};
```

---

##### `handlerParams`<sup>Optional</sup> <a name="handlerParams" id="cdk-monitoring-constructs.CustomWidgetProps.property.handlerParams"></a>

```typescript
public readonly handlerParams: any;
```

- *Type:* any

Arguments to pass to the Lambda.

These arguments will be available in the Lambda context.

---

##### `height`<sup>Optional</sup> <a name="height" id="cdk-monitoring-constructs.CustomWidgetProps.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number
- *Default:* 6

Height of the widget.

---

##### `title`<sup>Optional</sup> <a name="title" id="cdk-monitoring-constructs.CustomWidgetProps.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

Title for the graph.

---

##### `updateOnRefresh`<sup>Optional</sup> <a name="updateOnRefresh" id="cdk-monitoring-constructs.CustomWidgetProps.property.updateOnRefresh"></a>

```typescript
public readonly updateOnRefresh: boolean;
```

- *Type:* boolean
- *Default:* true

Whether the widget should be updated (by calling the Lambda again) on refresh.

---

##### `updateOnResize`<sup>Optional</sup> <a name="updateOnResize" id="cdk-monitoring-constructs.CustomWidgetProps.property.updateOnResize"></a>

```typescript
public readonly updateOnResize: boolean;
```

- *Type:* boolean
- *Default:* true

Whether the widget should be updated (by calling the Lambda again) on resize.

---

##### `updateOnTimeRangeChange`<sup>Optional</sup> <a name="updateOnTimeRangeChange" id="cdk-monitoring-constructs.CustomWidgetProps.property.updateOnTimeRangeChange"></a>

```typescript
public readonly updateOnTimeRangeChange: boolean;
```

- *Type:* boolean
- *Default:* true

Whether the widget should be updated (by calling the Lambda again) on time range change.

---

##### `width`<sup>Optional</sup> <a name="width" id="cdk-monitoring-constructs.CustomWidgetProps.property.width"></a>

```typescript
public readonly width: number;
```

- *Type:* number
- *Default:* 6

Width of the widget, in a grid of 24 units wide.

---

### DaysSinceUpdateThreshold <a name="DaysSinceUpdateThreshold" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.Initializer"></a>

```typescript
import { DaysSinceUpdateThreshold } from 'cdk-monitoring-constructs'

const daysSinceUpdateThreshold: DaysSinceUpdateThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.maxDaysSinceUpdate">maxDaysSinceUpdate</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxDaysSinceUpdate`<sup>Required</sup> <a name="maxDaysSinceUpdate" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.maxDaysSinceUpdate"></a>

```typescript
public readonly maxDaysSinceUpdate: number;
```

- *Type:* number

---

### DaysToExpiryThreshold <a name="DaysToExpiryThreshold" id="cdk-monitoring-constructs.DaysToExpiryThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.DaysToExpiryThreshold.Initializer"></a>

```typescript
import { DaysToExpiryThreshold } from 'cdk-monitoring-constructs'

const daysToExpiryThreshold: DaysToExpiryThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.minDaysToExpiry">minDaysToExpiry</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `minDaysToExpiry`<sup>Required</sup> <a name="minDaysToExpiry" id="cdk-monitoring-constructs.DaysToExpiryThreshold.property.minDaysToExpiry"></a>

```typescript
public readonly minDaysToExpiry: number;
```

- *Type:* number

---

### DocumentDbMetricFactoryProps <a name="DocumentDbMetricFactoryProps" id="cdk-monitoring-constructs.DocumentDbMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.DocumentDbMetricFactoryProps.Initializer"></a>

```typescript
import { DocumentDbMetricFactoryProps } from 'cdk-monitoring-constructs'

const documentDbMetricFactoryProps: DocumentDbMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactoryProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_docdb.IDatabaseCluster</code> | database cluster. |

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="cdk-monitoring-constructs.DocumentDbMetricFactoryProps.property.cluster"></a>

```typescript
public readonly cluster: IDatabaseCluster;
```

- *Type:* aws-cdk-lib.aws_docdb.IDatabaseCluster

database cluster.

---

### DocumentDbMonitoringOptions <a name="DocumentDbMonitoringOptions" id="cdk-monitoring-constructs.DocumentDbMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.DocumentDbMonitoringOptions.Initializer"></a>

```typescript
import { DocumentDbMonitoringOptions } from 'cdk-monitoring-constructs'

const documentDbMonitoringOptions: DocumentDbMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

### DocumentDbMonitoringProps <a name="DocumentDbMonitoringProps" id="cdk-monitoring-constructs.DocumentDbMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.DocumentDbMonitoringProps.Initializer"></a>

```typescript
import { DocumentDbMonitoringProps } from 'cdk-monitoring-constructs'

const documentDbMonitoringProps: DocumentDbMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_docdb.IDatabaseCluster</code> | database cluster. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |

---

##### `cluster`<sup>Required</sup> <a name="cluster" id="cdk-monitoring-constructs.DocumentDbMonitoringProps.property.cluster"></a>

```typescript
public readonly cluster: IDatabaseCluster;
```

- *Type:* aws-cdk-lib.aws_docdb.IDatabaseCluster

database cluster.

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.DocumentDbMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.DocumentDbMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.DocumentDbMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.DocumentDbMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.DocumentDbMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.DocumentDbMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.DocumentDbMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.DocumentDbMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

### DoubleAxisGraphWidgetProps <a name="DoubleAxisGraphWidgetProps" id="cdk-monitoring-constructs.DoubleAxisGraphWidgetProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.Initializer"></a>

```typescript
import { DoubleAxisGraphWidgetProps } from 'cdk-monitoring-constructs'

const doubleAxisGraphWidgetProps: DoubleAxisGraphWidgetProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.height">height</a></code> | <code>number</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.leftAxis">leftAxis</a></code> | <code>aws-cdk-lib.aws_cloudwatch.YAxisProps</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.leftMetrics">leftMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IMetric[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.rightAxis">rightAxis</a></code> | <code>aws-cdk-lib.aws_cloudwatch.YAxisProps</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.rightMetrics">rightMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IMetric[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.width">width</a></code> | <code>number</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.leftAnnotations">leftAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.rightAnnotations">rightAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number

---

##### `leftAxis`<sup>Required</sup> <a name="leftAxis" id="cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.leftAxis"></a>

```typescript
public readonly leftAxis: YAxisProps;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.YAxisProps

---

##### `leftMetrics`<sup>Required</sup> <a name="leftMetrics" id="cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.leftMetrics"></a>

```typescript
public readonly leftMetrics: IMetric[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric[]

---

##### `rightAxis`<sup>Required</sup> <a name="rightAxis" id="cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.rightAxis"></a>

```typescript
public readonly rightAxis: YAxisProps;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.YAxisProps

---

##### `rightMetrics`<sup>Required</sup> <a name="rightMetrics" id="cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.rightMetrics"></a>

```typescript
public readonly rightMetrics: IMetric[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric[]

---

##### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.width"></a>

```typescript
public readonly width: number;
```

- *Type:* number

---

##### `leftAnnotations`<sup>Optional</sup> <a name="leftAnnotations" id="cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.leftAnnotations"></a>

```typescript
public readonly leftAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `rightAnnotations`<sup>Optional</sup> <a name="rightAnnotations" id="cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.rightAnnotations"></a>

```typescript
public readonly rightAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `title`<sup>Optional</sup> <a name="title" id="cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

### DurationThreshold <a name="DurationThreshold" id="cdk-monitoring-constructs.DurationThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.DurationThreshold.Initializer"></a>

```typescript
import { DurationThreshold } from 'cdk-monitoring-constructs'

const durationThreshold: DurationThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.maxDuration">maxDuration</a></code> | <code>aws-cdk-lib.Duration</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.DurationThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.DurationThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.DurationThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.DurationThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.DurationThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.DurationThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.DurationThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.DurationThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.DurationThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.DurationThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.DurationThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.DurationThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.DurationThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.DurationThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.DurationThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.DurationThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxDuration`<sup>Required</sup> <a name="maxDuration" id="cdk-monitoring-constructs.DurationThreshold.property.maxDuration"></a>

```typescript
public readonly maxDuration: Duration;
```

- *Type:* aws-cdk-lib.Duration

---

### DynamoTableGlobalSecondaryIndexMetricFactoryProps <a name="DynamoTableGlobalSecondaryIndexMetricFactoryProps" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactoryProps.Initializer"></a>

```typescript
import { DynamoTableGlobalSecondaryIndexMetricFactoryProps } from 'cdk-monitoring-constructs'

const dynamoTableGlobalSecondaryIndexMetricFactoryProps: DynamoTableGlobalSecondaryIndexMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactoryProps.property.globalSecondaryIndexName">globalSecondaryIndexName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactoryProps.property.table">table</a></code> | <code>aws-cdk-lib.aws_dynamodb.ITable</code> | *No description.* |

---

##### `globalSecondaryIndexName`<sup>Required</sup> <a name="globalSecondaryIndexName" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactoryProps.property.globalSecondaryIndexName"></a>

```typescript
public readonly globalSecondaryIndexName: string;
```

- *Type:* string

---

##### `table`<sup>Required</sup> <a name="table" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactoryProps.property.table"></a>

```typescript
public readonly table: ITable;
```

- *Type:* aws-cdk-lib.aws_dynamodb.ITable

---

### DynamoTableGlobalSecondaryIndexMonitoringProps <a name="DynamoTableGlobalSecondaryIndexMonitoringProps" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.Initializer"></a>

```typescript
import { DynamoTableGlobalSecondaryIndexMonitoringProps } from 'cdk-monitoring-constructs'

const dynamoTableGlobalSecondaryIndexMonitoringProps: DynamoTableGlobalSecondaryIndexMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.globalSecondaryIndexName">globalSecondaryIndexName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.table">table</a></code> | <code>aws-cdk-lib.aws_dynamodb.ITable</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `globalSecondaryIndexName`<sup>Required</sup> <a name="globalSecondaryIndexName" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.globalSecondaryIndexName"></a>

```typescript
public readonly globalSecondaryIndexName: string;
```

- *Type:* string

---

##### `table`<sup>Required</sup> <a name="table" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.table"></a>

```typescript
public readonly table: ITable;
```

- *Type:* aws-cdk-lib.aws_dynamodb.ITable

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### DynamoTableMetricFactoryProps <a name="DynamoTableMetricFactoryProps" id="cdk-monitoring-constructs.DynamoTableMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.DynamoTableMetricFactoryProps.Initializer"></a>

```typescript
import { DynamoTableMetricFactoryProps } from 'cdk-monitoring-constructs'

const dynamoTableMetricFactoryProps: DynamoTableMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactoryProps.property.table">table</a></code> | <code>aws-cdk-lib.aws_dynamodb.ITable</code> | table to monitor. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactoryProps.property.billingMode">billingMode</a></code> | <code>aws-cdk-lib.aws_dynamodb.BillingMode</code> | table billing mode. |

---

##### `table`<sup>Required</sup> <a name="table" id="cdk-monitoring-constructs.DynamoTableMetricFactoryProps.property.table"></a>

```typescript
public readonly table: ITable;
```

- *Type:* aws-cdk-lib.aws_dynamodb.ITable

table to monitor.

---

##### `billingMode`<sup>Optional</sup> <a name="billingMode" id="cdk-monitoring-constructs.DynamoTableMetricFactoryProps.property.billingMode"></a>

```typescript
public readonly billingMode: BillingMode;
```

- *Type:* aws-cdk-lib.aws_dynamodb.BillingMode
- *Default:* best effort auto-detection or PROVISIONED as a fallback

table billing mode.

---

### DynamoTableMonitoringOptions <a name="DynamoTableMonitoringOptions" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.Initializer"></a>

```typescript
import { DynamoTableMonitoringOptions } from 'cdk-monitoring-constructs'

const dynamoTableMonitoringOptions: DynamoTableMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulBatchGetItemLatencyAlarm">addAverageSuccessfulBatchGetItemLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulBatchWriteItemLatencyAlarm">addAverageSuccessfulBatchWriteItemLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulDeleteItemLatencyAlarm">addAverageSuccessfulDeleteItemLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulGetItemLatencyAlarm">addAverageSuccessfulGetItemLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulGetRecordsLatencyAlarm">addAverageSuccessfulGetRecordsLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulPutItemLatencyAlarm">addAverageSuccessfulPutItemLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulQueryLatencyAlarm">addAverageSuccessfulQueryLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulScanLatencyAlarm">addAverageSuccessfulScanLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulUpdateItemLatencyAlarm">addAverageSuccessfulUpdateItemLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addConsumedReadCapacityAlarm">addConsumedReadCapacityAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold">ConsumedCapacityThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addConsumedWriteCapacityAlarm">addConsumedWriteCapacityAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold">ConsumedCapacityThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addReadThrottledEventsCountAlarm">addReadThrottledEventsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ThrottledEventsThreshold">ThrottledEventsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addSystemErrorCountAlarm">addSystemErrorCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addWriteThrottledEventsCountAlarm">addWriteThrottledEventsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ThrottledEventsThreshold">ThrottledEventsThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addAverageSuccessfulBatchGetItemLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulBatchGetItemLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulBatchGetItemLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulBatchGetItemLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulBatchWriteItemLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulBatchWriteItemLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulBatchWriteItemLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulBatchWriteItemLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulDeleteItemLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulDeleteItemLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulDeleteItemLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulDeleteItemLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulGetItemLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulGetItemLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulGetItemLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulGetItemLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulGetRecordsLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulGetRecordsLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulGetRecordsLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulGetRecordsLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulPutItemLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulPutItemLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulPutItemLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulPutItemLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulQueryLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulQueryLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulQueryLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulQueryLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulScanLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulScanLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulScanLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulScanLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulUpdateItemLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulUpdateItemLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addAverageSuccessfulUpdateItemLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulUpdateItemLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addConsumedReadCapacityAlarm`<sup>Optional</sup> <a name="addConsumedReadCapacityAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addConsumedReadCapacityAlarm"></a>

```typescript
public readonly addConsumedReadCapacityAlarm: {[ key: string ]: ConsumedCapacityThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold">ConsumedCapacityThreshold</a>}

---

##### `addConsumedWriteCapacityAlarm`<sup>Optional</sup> <a name="addConsumedWriteCapacityAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addConsumedWriteCapacityAlarm"></a>

```typescript
public readonly addConsumedWriteCapacityAlarm: {[ key: string ]: ConsumedCapacityThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold">ConsumedCapacityThreshold</a>}

---

##### `addReadThrottledEventsCountAlarm`<sup>Optional</sup> <a name="addReadThrottledEventsCountAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addReadThrottledEventsCountAlarm"></a>

```typescript
public readonly addReadThrottledEventsCountAlarm: {[ key: string ]: ThrottledEventsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ThrottledEventsThreshold">ThrottledEventsThreshold</a>}

---

##### `addSystemErrorCountAlarm`<sup>Optional</sup> <a name="addSystemErrorCountAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addSystemErrorCountAlarm"></a>

```typescript
public readonly addSystemErrorCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addWriteThrottledEventsCountAlarm`<sup>Optional</sup> <a name="addWriteThrottledEventsCountAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.addWriteThrottledEventsCountAlarm"></a>

```typescript
public readonly addWriteThrottledEventsCountAlarm: {[ key: string ]: ThrottledEventsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ThrottledEventsThreshold">ThrottledEventsThreshold</a>}

---

### DynamoTableMonitoringProps <a name="DynamoTableMonitoringProps" id="cdk-monitoring-constructs.DynamoTableMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.Initializer"></a>

```typescript
import { DynamoTableMonitoringProps } from 'cdk-monitoring-constructs'

const dynamoTableMonitoringProps: DynamoTableMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.table">table</a></code> | <code>aws-cdk-lib.aws_dynamodb.ITable</code> | table to monitor. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.billingMode">billingMode</a></code> | <code>aws-cdk-lib.aws_dynamodb.BillingMode</code> | table billing mode. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulBatchGetItemLatencyAlarm">addAverageSuccessfulBatchGetItemLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulBatchWriteItemLatencyAlarm">addAverageSuccessfulBatchWriteItemLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulDeleteItemLatencyAlarm">addAverageSuccessfulDeleteItemLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulGetItemLatencyAlarm">addAverageSuccessfulGetItemLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulGetRecordsLatencyAlarm">addAverageSuccessfulGetRecordsLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulPutItemLatencyAlarm">addAverageSuccessfulPutItemLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulQueryLatencyAlarm">addAverageSuccessfulQueryLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulScanLatencyAlarm">addAverageSuccessfulScanLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulUpdateItemLatencyAlarm">addAverageSuccessfulUpdateItemLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addConsumedReadCapacityAlarm">addConsumedReadCapacityAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold">ConsumedCapacityThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addConsumedWriteCapacityAlarm">addConsumedWriteCapacityAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold">ConsumedCapacityThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addReadThrottledEventsCountAlarm">addReadThrottledEventsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ThrottledEventsThreshold">ThrottledEventsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addSystemErrorCountAlarm">addSystemErrorCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addWriteThrottledEventsCountAlarm">addWriteThrottledEventsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ThrottledEventsThreshold">ThrottledEventsThreshold</a>}</code> | *No description.* |

---

##### `table`<sup>Required</sup> <a name="table" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.table"></a>

```typescript
public readonly table: ITable;
```

- *Type:* aws-cdk-lib.aws_dynamodb.ITable

table to monitor.

---

##### `billingMode`<sup>Optional</sup> <a name="billingMode" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.billingMode"></a>

```typescript
public readonly billingMode: BillingMode;
```

- *Type:* aws-cdk-lib.aws_dynamodb.BillingMode
- *Default:* best effort auto-detection or PROVISIONED as a fallback

table billing mode.

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addAverageSuccessfulBatchGetItemLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulBatchGetItemLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulBatchGetItemLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulBatchGetItemLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulBatchWriteItemLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulBatchWriteItemLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulBatchWriteItemLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulBatchWriteItemLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulDeleteItemLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulDeleteItemLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulDeleteItemLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulDeleteItemLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulGetItemLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulGetItemLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulGetItemLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulGetItemLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulGetRecordsLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulGetRecordsLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulGetRecordsLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulGetRecordsLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulPutItemLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulPutItemLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulPutItemLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulPutItemLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulQueryLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulQueryLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulQueryLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulQueryLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulScanLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulScanLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulScanLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulScanLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addAverageSuccessfulUpdateItemLatencyAlarm`<sup>Optional</sup> <a name="addAverageSuccessfulUpdateItemLatencyAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addAverageSuccessfulUpdateItemLatencyAlarm"></a>

```typescript
public readonly addAverageSuccessfulUpdateItemLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addConsumedReadCapacityAlarm`<sup>Optional</sup> <a name="addConsumedReadCapacityAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addConsumedReadCapacityAlarm"></a>

```typescript
public readonly addConsumedReadCapacityAlarm: {[ key: string ]: ConsumedCapacityThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold">ConsumedCapacityThreshold</a>}

---

##### `addConsumedWriteCapacityAlarm`<sup>Optional</sup> <a name="addConsumedWriteCapacityAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addConsumedWriteCapacityAlarm"></a>

```typescript
public readonly addConsumedWriteCapacityAlarm: {[ key: string ]: ConsumedCapacityThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold">ConsumedCapacityThreshold</a>}

---

##### `addReadThrottledEventsCountAlarm`<sup>Optional</sup> <a name="addReadThrottledEventsCountAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addReadThrottledEventsCountAlarm"></a>

```typescript
public readonly addReadThrottledEventsCountAlarm: {[ key: string ]: ThrottledEventsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ThrottledEventsThreshold">ThrottledEventsThreshold</a>}

---

##### `addSystemErrorCountAlarm`<sup>Optional</sup> <a name="addSystemErrorCountAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addSystemErrorCountAlarm"></a>

```typescript
public readonly addSystemErrorCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addWriteThrottledEventsCountAlarm`<sup>Optional</sup> <a name="addWriteThrottledEventsCountAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoringProps.property.addWriteThrottledEventsCountAlarm"></a>

```typescript
public readonly addWriteThrottledEventsCountAlarm: {[ key: string ]: ThrottledEventsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ThrottledEventsThreshold">ThrottledEventsThreshold</a>}

---

### Ec2ApplicationLoadBalancerMonitoringProps <a name="Ec2ApplicationLoadBalancerMonitoringProps" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps"></a>

Monitoring props for EC2 service with application load balancer and plain service.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.Initializer"></a>

```typescript
import { Ec2ApplicationLoadBalancerMonitoringProps } from 'cdk-monitoring-constructs'

const ec2ApplicationLoadBalancerMonitoringProps: Ec2ApplicationLoadBalancerMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.applicationLoadBalancer">applicationLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.applicationTargetGroup">applicationTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationTargetGroup</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addMemoryUsageAlarm">addMemoryUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addRunningTaskCountAlarm">addRunningTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.maxAutoScalingTaskCount">maxAutoScalingTaskCount</a></code> | <code>number</code> | maximum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.minAutoScalingTaskCount">minAutoScalingTaskCount</a></code> | <code>number</code> | minimum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.ec2Service">ec2Service</a></code> | <code>aws-cdk-lib.aws_ecs.Ec2Service</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addHealthyTaskCountAlarm">addHealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addHealthyTaskPercentAlarm">addHealthyTaskPercentAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addMinProcessedBytesAlarm">addMinProcessedBytesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addUnhealthyTaskCountAlarm">addUnhealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}</code> | *No description.* |

---

##### `applicationLoadBalancer`<sup>Required</sup> <a name="applicationLoadBalancer" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.applicationLoadBalancer"></a>

```typescript
public readonly applicationLoadBalancer: ApplicationLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer

---

##### `applicationTargetGroup`<sup>Required</sup> <a name="applicationTargetGroup" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.applicationTargetGroup"></a>

```typescript
public readonly applicationTargetGroup: ApplicationTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationTargetGroup

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMemoryUsageAlarm`<sup>Optional</sup> <a name="addMemoryUsageAlarm" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addMemoryUsageAlarm"></a>

```typescript
public readonly addMemoryUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addRunningTaskCountAlarm`<sup>Optional</sup> <a name="addRunningTaskCountAlarm" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addRunningTaskCountAlarm"></a>

```typescript
public readonly addRunningTaskCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `maxAutoScalingTaskCount`<sup>Optional</sup> <a name="maxAutoScalingTaskCount" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.maxAutoScalingTaskCount"></a>

```typescript
public readonly maxAutoScalingTaskCount: number;
```

- *Type:* number

maximum number of tasks, as specified in your auto scaling config.

---

##### `minAutoScalingTaskCount`<sup>Optional</sup> <a name="minAutoScalingTaskCount" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

minimum number of tasks, as specified in your auto scaling config.

---

##### `ec2Service`<sup>Required</sup> <a name="ec2Service" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.ec2Service"></a>

```typescript
public readonly ec2Service: Ec2Service;
```

- *Type:* aws-cdk-lib.aws_ecs.Ec2Service

---

##### `addHealthyTaskCountAlarm`<sup>Optional</sup> <a name="addHealthyTaskCountAlarm" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addHealthyTaskCountAlarm"></a>

```typescript
public readonly addHealthyTaskCountAlarm: {[ key: string ]: HealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}

---

##### `addHealthyTaskPercentAlarm`<sup>Optional</sup> <a name="addHealthyTaskPercentAlarm" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addHealthyTaskPercentAlarm"></a>

```typescript
public readonly addHealthyTaskPercentAlarm: {[ key: string ]: HealthyTaskPercentThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}

---

##### `addMinProcessedBytesAlarm`<sup>Optional</sup> <a name="addMinProcessedBytesAlarm" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addMinProcessedBytesAlarm"></a>

```typescript
public readonly addMinProcessedBytesAlarm: {[ key: string ]: MinProcessedBytesThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}

---

##### `addUnhealthyTaskCountAlarm`<sup>Optional</sup> <a name="addUnhealthyTaskCountAlarm" id="cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addUnhealthyTaskCountAlarm"></a>

```typescript
public readonly addUnhealthyTaskCountAlarm: {[ key: string ]: UnhealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}

---

### EC2MetricFactoryProps <a name="EC2MetricFactoryProps" id="cdk-monitoring-constructs.EC2MetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.EC2MetricFactoryProps.Initializer"></a>

```typescript
import { EC2MetricFactoryProps } from 'cdk-monitoring-constructs'

const eC2MetricFactoryProps: EC2MetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactoryProps.property.autoScalingGroup">autoScalingGroup</a></code> | <code>aws-cdk-lib.aws_autoscaling.IAutoScalingGroup</code> | Auto-Scaling Group to monitor. |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactoryProps.property.instanceIds">instanceIds</a></code> | <code>string[]</code> | Selected IDs of EC2 instances to monitor. |

---

##### `autoScalingGroup`<sup>Optional</sup> <a name="autoScalingGroup" id="cdk-monitoring-constructs.EC2MetricFactoryProps.property.autoScalingGroup"></a>

```typescript
public readonly autoScalingGroup: IAutoScalingGroup;
```

- *Type:* aws-cdk-lib.aws_autoscaling.IAutoScalingGroup
- *Default:* no Auto-Scaling Group filter

Auto-Scaling Group to monitor.

---

##### `instanceIds`<sup>Optional</sup> <a name="instanceIds" id="cdk-monitoring-constructs.EC2MetricFactoryProps.property.instanceIds"></a>

```typescript
public readonly instanceIds: string[];
```

- *Type:* string[]
- *Default:* no instance filter

Selected IDs of EC2 instances to monitor.

---

### EC2MonitoringOptions <a name="EC2MonitoringOptions" id="cdk-monitoring-constructs.EC2MonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.EC2MonitoringOptions.Initializer"></a>

```typescript
import { EC2MonitoringOptions } from 'cdk-monitoring-constructs'

const eC2MonitoringOptions: EC2MonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringOptions.property.autoScalingGroup">autoScalingGroup</a></code> | <code>aws-cdk-lib.aws_autoscaling.IAutoScalingGroup</code> | Auto-Scaling Group to monitor. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringOptions.property.instanceIds">instanceIds</a></code> | <code>string[]</code> | Selected IDs of EC2 instances to monitor. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `autoScalingGroup`<sup>Optional</sup> <a name="autoScalingGroup" id="cdk-monitoring-constructs.EC2MonitoringOptions.property.autoScalingGroup"></a>

```typescript
public readonly autoScalingGroup: IAutoScalingGroup;
```

- *Type:* aws-cdk-lib.aws_autoscaling.IAutoScalingGroup
- *Default:* no Auto-Scaling Group filter

Auto-Scaling Group to monitor.

---

##### `instanceIds`<sup>Optional</sup> <a name="instanceIds" id="cdk-monitoring-constructs.EC2MonitoringOptions.property.instanceIds"></a>

```typescript
public readonly instanceIds: string[];
```

- *Type:* string[]
- *Default:* no instance filter

Selected IDs of EC2 instances to monitor.

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.EC2MonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.EC2MonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.EC2MonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.EC2MonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.EC2MonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.EC2MonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.EC2MonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### EC2MonitoringProps <a name="EC2MonitoringProps" id="cdk-monitoring-constructs.EC2MonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.EC2MonitoringProps.Initializer"></a>

```typescript
import { EC2MonitoringProps } from 'cdk-monitoring-constructs'

const eC2MonitoringProps: EC2MonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringProps.property.autoScalingGroup">autoScalingGroup</a></code> | <code>aws-cdk-lib.aws_autoscaling.IAutoScalingGroup</code> | Auto-Scaling Group to monitor. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringProps.property.instanceIds">instanceIds</a></code> | <code>string[]</code> | Selected IDs of EC2 instances to monitor. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `autoScalingGroup`<sup>Optional</sup> <a name="autoScalingGroup" id="cdk-monitoring-constructs.EC2MonitoringProps.property.autoScalingGroup"></a>

```typescript
public readonly autoScalingGroup: IAutoScalingGroup;
```

- *Type:* aws-cdk-lib.aws_autoscaling.IAutoScalingGroup
- *Default:* no Auto-Scaling Group filter

Auto-Scaling Group to monitor.

---

##### `instanceIds`<sup>Optional</sup> <a name="instanceIds" id="cdk-monitoring-constructs.EC2MonitoringProps.property.instanceIds"></a>

```typescript
public readonly instanceIds: string[];
```

- *Type:* string[]
- *Default:* no instance filter

Selected IDs of EC2 instances to monitor.

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.EC2MonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.EC2MonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.EC2MonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.EC2MonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.EC2MonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.EC2MonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.EC2MonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### Ec2NetworkLoadBalancerMonitoringProps <a name="Ec2NetworkLoadBalancerMonitoringProps" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps"></a>

Monitoring props for EC2 service with network load balancer and plain service.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.Initializer"></a>

```typescript
import { Ec2NetworkLoadBalancerMonitoringProps } from 'cdk-monitoring-constructs'

const ec2NetworkLoadBalancerMonitoringProps: Ec2NetworkLoadBalancerMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.networkLoadBalancer">networkLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.networkTargetGroup">networkTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.NetworkTargetGroup</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addMemoryUsageAlarm">addMemoryUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addRunningTaskCountAlarm">addRunningTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.maxAutoScalingTaskCount">maxAutoScalingTaskCount</a></code> | <code>number</code> | maximum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.minAutoScalingTaskCount">minAutoScalingTaskCount</a></code> | <code>number</code> | minimum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.ec2Service">ec2Service</a></code> | <code>aws-cdk-lib.aws_ecs.Ec2Service</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addHealthyTaskCountAlarm">addHealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addHealthyTaskPercentAlarm">addHealthyTaskPercentAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addMinProcessedBytesAlarm">addMinProcessedBytesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addUnhealthyTaskCountAlarm">addUnhealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}</code> | *No description.* |

---

##### `networkLoadBalancer`<sup>Required</sup> <a name="networkLoadBalancer" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.networkLoadBalancer"></a>

```typescript
public readonly networkLoadBalancer: NetworkLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer

---

##### `networkTargetGroup`<sup>Required</sup> <a name="networkTargetGroup" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.networkTargetGroup"></a>

```typescript
public readonly networkTargetGroup: NetworkTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.NetworkTargetGroup

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMemoryUsageAlarm`<sup>Optional</sup> <a name="addMemoryUsageAlarm" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addMemoryUsageAlarm"></a>

```typescript
public readonly addMemoryUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addRunningTaskCountAlarm`<sup>Optional</sup> <a name="addRunningTaskCountAlarm" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addRunningTaskCountAlarm"></a>

```typescript
public readonly addRunningTaskCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `maxAutoScalingTaskCount`<sup>Optional</sup> <a name="maxAutoScalingTaskCount" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.maxAutoScalingTaskCount"></a>

```typescript
public readonly maxAutoScalingTaskCount: number;
```

- *Type:* number

maximum number of tasks, as specified in your auto scaling config.

---

##### `minAutoScalingTaskCount`<sup>Optional</sup> <a name="minAutoScalingTaskCount" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

minimum number of tasks, as specified in your auto scaling config.

---

##### `ec2Service`<sup>Required</sup> <a name="ec2Service" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.ec2Service"></a>

```typescript
public readonly ec2Service: Ec2Service;
```

- *Type:* aws-cdk-lib.aws_ecs.Ec2Service

---

##### `addHealthyTaskCountAlarm`<sup>Optional</sup> <a name="addHealthyTaskCountAlarm" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addHealthyTaskCountAlarm"></a>

```typescript
public readonly addHealthyTaskCountAlarm: {[ key: string ]: HealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}

---

##### `addHealthyTaskPercentAlarm`<sup>Optional</sup> <a name="addHealthyTaskPercentAlarm" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addHealthyTaskPercentAlarm"></a>

```typescript
public readonly addHealthyTaskPercentAlarm: {[ key: string ]: HealthyTaskPercentThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}

---

##### `addMinProcessedBytesAlarm`<sup>Optional</sup> <a name="addMinProcessedBytesAlarm" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addMinProcessedBytesAlarm"></a>

```typescript
public readonly addMinProcessedBytesAlarm: {[ key: string ]: MinProcessedBytesThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}

---

##### `addUnhealthyTaskCountAlarm`<sup>Optional</sup> <a name="addUnhealthyTaskCountAlarm" id="cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addUnhealthyTaskCountAlarm"></a>

```typescript
public readonly addUnhealthyTaskCountAlarm: {[ key: string ]: UnhealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}

---

### Ec2ServiceMonitoringProps <a name="Ec2ServiceMonitoringProps" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps"></a>

Monitoring props for load-balanced EC2 service.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.Initializer"></a>

```typescript
import { Ec2ServiceMonitoringProps } from 'cdk-monitoring-constructs'

const ec2ServiceMonitoringProps: Ec2ServiceMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addMemoryUsageAlarm">addMemoryUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addRunningTaskCountAlarm">addRunningTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.maxAutoScalingTaskCount">maxAutoScalingTaskCount</a></code> | <code>number</code> | maximum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.minAutoScalingTaskCount">minAutoScalingTaskCount</a></code> | <code>number</code> | minimum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.ec2Service">ec2Service</a></code> | <code>aws-cdk-lib.aws_ecs_patterns.NetworkLoadBalancedEc2Service \| aws-cdk-lib.aws_ecs_patterns.ApplicationLoadBalancedEc2Service</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addHealthyTaskCountAlarm">addHealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addHealthyTaskPercentAlarm">addHealthyTaskPercentAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addMinProcessedBytesAlarm">addMinProcessedBytesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addUnhealthyTaskCountAlarm">addUnhealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMemoryUsageAlarm`<sup>Optional</sup> <a name="addMemoryUsageAlarm" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addMemoryUsageAlarm"></a>

```typescript
public readonly addMemoryUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addRunningTaskCountAlarm`<sup>Optional</sup> <a name="addRunningTaskCountAlarm" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addRunningTaskCountAlarm"></a>

```typescript
public readonly addRunningTaskCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `maxAutoScalingTaskCount`<sup>Optional</sup> <a name="maxAutoScalingTaskCount" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.maxAutoScalingTaskCount"></a>

```typescript
public readonly maxAutoScalingTaskCount: number;
```

- *Type:* number

maximum number of tasks, as specified in your auto scaling config.

---

##### `minAutoScalingTaskCount`<sup>Optional</sup> <a name="minAutoScalingTaskCount" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

minimum number of tasks, as specified in your auto scaling config.

---

##### `ec2Service`<sup>Required</sup> <a name="ec2Service" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.ec2Service"></a>

```typescript
public readonly ec2Service: NetworkLoadBalancedEc2Service | ApplicationLoadBalancedEc2Service;
```

- *Type:* aws-cdk-lib.aws_ecs_patterns.NetworkLoadBalancedEc2Service | aws-cdk-lib.aws_ecs_patterns.ApplicationLoadBalancedEc2Service

---

##### `addHealthyTaskCountAlarm`<sup>Optional</sup> <a name="addHealthyTaskCountAlarm" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addHealthyTaskCountAlarm"></a>

```typescript
public readonly addHealthyTaskCountAlarm: {[ key: string ]: HealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}

---

##### `addHealthyTaskPercentAlarm`<sup>Optional</sup> <a name="addHealthyTaskPercentAlarm" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addHealthyTaskPercentAlarm"></a>

```typescript
public readonly addHealthyTaskPercentAlarm: {[ key: string ]: HealthyTaskPercentThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}

---

##### `addMinProcessedBytesAlarm`<sup>Optional</sup> <a name="addMinProcessedBytesAlarm" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addMinProcessedBytesAlarm"></a>

```typescript
public readonly addMinProcessedBytesAlarm: {[ key: string ]: MinProcessedBytesThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}

---

##### `addUnhealthyTaskCountAlarm`<sup>Optional</sup> <a name="addUnhealthyTaskCountAlarm" id="cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addUnhealthyTaskCountAlarm"></a>

```typescript
public readonly addUnhealthyTaskCountAlarm: {[ key: string ]: UnhealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}

---

### ElastiCacheClusterMetricFactoryProps <a name="ElastiCacheClusterMetricFactoryProps" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactoryProps.Initializer"></a>

```typescript
import { ElastiCacheClusterMetricFactoryProps } from 'cdk-monitoring-constructs'

const elastiCacheClusterMetricFactoryProps: ElastiCacheClusterMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactoryProps.property.clusterId">clusterId</a></code> | <code>string</code> | Cluster to monitor. |

---

##### `clusterId`<sup>Optional</sup> <a name="clusterId" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactoryProps.property.clusterId"></a>

```typescript
public readonly clusterId: string;
```

- *Type:* string
- *Default:* monitor all clusters

Cluster to monitor.

---

### ElastiCacheClusterMonitoringOptions <a name="ElastiCacheClusterMonitoringOptions" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.Initializer"></a>

```typescript
import { ElastiCacheClusterMonitoringOptions } from 'cdk-monitoring-constructs'

const elastiCacheClusterMonitoringOptions: ElastiCacheClusterMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.clusterType">clusterType</a></code> | <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterType">ElastiCacheClusterType</a></code> | Cluster type (needed, since each type has their own specific metrics). |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Add CPU usage alarm. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addMaxEvictedItemsCountAlarm">addMaxEvictedItemsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxItemsCountThreshold">MaxItemsCountThreshold</a>}</code> | Add alarm on number of evicted items. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addMaxItemsCountAlarm">addMaxItemsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxItemsCountThreshold">MaxItemsCountThreshold</a>}</code> | Add alarm on total number of items. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addMaxUsedSwapMemoryAlarm">addMaxUsedSwapMemoryAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold">MaxUsedSwapMemoryThreshold</a>}</code> | Add alarm on amount of used swap memory. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addMinFreeableMemoryAlarm">addMinFreeableMemoryAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold">MinFreeableMemoryThreshold</a>}</code> | Add alarm on amount of freeable memory. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `clusterType`<sup>Required</sup> <a name="clusterType" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.clusterType"></a>

```typescript
public readonly clusterType: ElastiCacheClusterType;
```

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheClusterType">ElastiCacheClusterType</a>

Cluster type (needed, since each type has their own specific metrics).

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Add CPU usage alarm.

---

##### `addMaxEvictedItemsCountAlarm`<sup>Optional</sup> <a name="addMaxEvictedItemsCountAlarm" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addMaxEvictedItemsCountAlarm"></a>

```typescript
public readonly addMaxEvictedItemsCountAlarm: {[ key: string ]: MaxItemsCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxItemsCountThreshold">MaxItemsCountThreshold</a>}

Add alarm on number of evicted items.

---

##### `addMaxItemsCountAlarm`<sup>Optional</sup> <a name="addMaxItemsCountAlarm" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addMaxItemsCountAlarm"></a>

```typescript
public readonly addMaxItemsCountAlarm: {[ key: string ]: MaxItemsCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxItemsCountThreshold">MaxItemsCountThreshold</a>}

Add alarm on total number of items.

---

##### `addMaxUsedSwapMemoryAlarm`<sup>Optional</sup> <a name="addMaxUsedSwapMemoryAlarm" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addMaxUsedSwapMemoryAlarm"></a>

```typescript
public readonly addMaxUsedSwapMemoryAlarm: {[ key: string ]: MaxUsedSwapMemoryThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold">MaxUsedSwapMemoryThreshold</a>}

Add alarm on amount of used swap memory.

---

##### `addMinFreeableMemoryAlarm`<sup>Optional</sup> <a name="addMinFreeableMemoryAlarm" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addMinFreeableMemoryAlarm"></a>

```typescript
public readonly addMinFreeableMemoryAlarm: {[ key: string ]: MinFreeableMemoryThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold">MinFreeableMemoryThreshold</a>}

Add alarm on amount of freeable memory.

---

### ElastiCacheClusterMonitoringProps <a name="ElastiCacheClusterMonitoringProps" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.Initializer"></a>

```typescript
import { ElastiCacheClusterMonitoringProps } from 'cdk-monitoring-constructs'

const elastiCacheClusterMonitoringProps: ElastiCacheClusterMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.clusterId">clusterId</a></code> | <code>string</code> | Cluster to monitor. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.clusterType">clusterType</a></code> | <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterType">ElastiCacheClusterType</a></code> | Cluster type (needed, since each type has their own specific metrics). |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Add CPU usage alarm. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addMaxEvictedItemsCountAlarm">addMaxEvictedItemsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxItemsCountThreshold">MaxItemsCountThreshold</a>}</code> | Add alarm on number of evicted items. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addMaxItemsCountAlarm">addMaxItemsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxItemsCountThreshold">MaxItemsCountThreshold</a>}</code> | Add alarm on total number of items. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addMaxUsedSwapMemoryAlarm">addMaxUsedSwapMemoryAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold">MaxUsedSwapMemoryThreshold</a>}</code> | Add alarm on amount of used swap memory. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addMinFreeableMemoryAlarm">addMinFreeableMemoryAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold">MinFreeableMemoryThreshold</a>}</code> | Add alarm on amount of freeable memory. |

---

##### `clusterId`<sup>Optional</sup> <a name="clusterId" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.clusterId"></a>

```typescript
public readonly clusterId: string;
```

- *Type:* string
- *Default:* monitor all clusters

Cluster to monitor.

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `clusterType`<sup>Required</sup> <a name="clusterType" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.clusterType"></a>

```typescript
public readonly clusterType: ElastiCacheClusterType;
```

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheClusterType">ElastiCacheClusterType</a>

Cluster type (needed, since each type has their own specific metrics).

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Add CPU usage alarm.

---

##### `addMaxEvictedItemsCountAlarm`<sup>Optional</sup> <a name="addMaxEvictedItemsCountAlarm" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addMaxEvictedItemsCountAlarm"></a>

```typescript
public readonly addMaxEvictedItemsCountAlarm: {[ key: string ]: MaxItemsCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxItemsCountThreshold">MaxItemsCountThreshold</a>}

Add alarm on number of evicted items.

---

##### `addMaxItemsCountAlarm`<sup>Optional</sup> <a name="addMaxItemsCountAlarm" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addMaxItemsCountAlarm"></a>

```typescript
public readonly addMaxItemsCountAlarm: {[ key: string ]: MaxItemsCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxItemsCountThreshold">MaxItemsCountThreshold</a>}

Add alarm on total number of items.

---

##### `addMaxUsedSwapMemoryAlarm`<sup>Optional</sup> <a name="addMaxUsedSwapMemoryAlarm" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addMaxUsedSwapMemoryAlarm"></a>

```typescript
public readonly addMaxUsedSwapMemoryAlarm: {[ key: string ]: MaxUsedSwapMemoryThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold">MaxUsedSwapMemoryThreshold</a>}

Add alarm on amount of used swap memory.

---

##### `addMinFreeableMemoryAlarm`<sup>Optional</sup> <a name="addMinFreeableMemoryAlarm" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addMinFreeableMemoryAlarm"></a>

```typescript
public readonly addMinFreeableMemoryAlarm: {[ key: string ]: MinFreeableMemoryThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold">MinFreeableMemoryThreshold</a>}

Add alarm on amount of freeable memory.

---

### ErrorCountThreshold <a name="ErrorCountThreshold" id="cdk-monitoring-constructs.ErrorCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ErrorCountThreshold.Initializer"></a>

```typescript
import { ErrorCountThreshold } from 'cdk-monitoring-constructs'

const errorCountThreshold: ErrorCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.maxErrorCount">maxErrorCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.ErrorCountThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.ErrorCountThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.ErrorCountThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.ErrorCountThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.ErrorCountThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.ErrorCountThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.ErrorCountThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.ErrorCountThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.ErrorCountThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.ErrorCountThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.ErrorCountThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.ErrorCountThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.ErrorCountThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.ErrorCountThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.ErrorCountThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.ErrorCountThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxErrorCount`<sup>Required</sup> <a name="maxErrorCount" id="cdk-monitoring-constructs.ErrorCountThreshold.property.maxErrorCount"></a>

```typescript
public readonly maxErrorCount: number;
```

- *Type:* number

---

### ErrorRateThreshold <a name="ErrorRateThreshold" id="cdk-monitoring-constructs.ErrorRateThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ErrorRateThreshold.Initializer"></a>

```typescript
import { ErrorRateThreshold } from 'cdk-monitoring-constructs'

const errorRateThreshold: ErrorRateThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.maxErrorRate">maxErrorRate</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.ErrorRateThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.ErrorRateThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.ErrorRateThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.ErrorRateThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.ErrorRateThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.ErrorRateThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.ErrorRateThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.ErrorRateThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.ErrorRateThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.ErrorRateThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.ErrorRateThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.ErrorRateThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.ErrorRateThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.ErrorRateThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.ErrorRateThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.ErrorRateThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxErrorRate`<sup>Required</sup> <a name="maxErrorRate" id="cdk-monitoring-constructs.ErrorRateThreshold.property.maxErrorRate"></a>

```typescript
public readonly maxErrorRate: number;
```

- *Type:* number

---

### FargateApplicationLoadBalancerMonitoringProps <a name="FargateApplicationLoadBalancerMonitoringProps" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps"></a>

Monitoring props for Fargate service with application load balancer and plain service.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.Initializer"></a>

```typescript
import { FargateApplicationLoadBalancerMonitoringProps } from 'cdk-monitoring-constructs'

const fargateApplicationLoadBalancerMonitoringProps: FargateApplicationLoadBalancerMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.applicationLoadBalancer">applicationLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.applicationTargetGroup">applicationTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationTargetGroup</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addMemoryUsageAlarm">addMemoryUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addRunningTaskCountAlarm">addRunningTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.maxAutoScalingTaskCount">maxAutoScalingTaskCount</a></code> | <code>number</code> | maximum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.minAutoScalingTaskCount">minAutoScalingTaskCount</a></code> | <code>number</code> | minimum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.fargateService">fargateService</a></code> | <code>aws-cdk-lib.aws_ecs.FargateService</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addHealthyTaskCountAlarm">addHealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addHealthyTaskPercentAlarm">addHealthyTaskPercentAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addMinProcessedBytesAlarm">addMinProcessedBytesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addUnhealthyTaskCountAlarm">addUnhealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}</code> | *No description.* |

---

##### `applicationLoadBalancer`<sup>Required</sup> <a name="applicationLoadBalancer" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.applicationLoadBalancer"></a>

```typescript
public readonly applicationLoadBalancer: ApplicationLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer

---

##### `applicationTargetGroup`<sup>Required</sup> <a name="applicationTargetGroup" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.applicationTargetGroup"></a>

```typescript
public readonly applicationTargetGroup: ApplicationTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationTargetGroup

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMemoryUsageAlarm`<sup>Optional</sup> <a name="addMemoryUsageAlarm" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addMemoryUsageAlarm"></a>

```typescript
public readonly addMemoryUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addRunningTaskCountAlarm`<sup>Optional</sup> <a name="addRunningTaskCountAlarm" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addRunningTaskCountAlarm"></a>

```typescript
public readonly addRunningTaskCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `maxAutoScalingTaskCount`<sup>Optional</sup> <a name="maxAutoScalingTaskCount" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.maxAutoScalingTaskCount"></a>

```typescript
public readonly maxAutoScalingTaskCount: number;
```

- *Type:* number

maximum number of tasks, as specified in your auto scaling config.

---

##### `minAutoScalingTaskCount`<sup>Optional</sup> <a name="minAutoScalingTaskCount" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

minimum number of tasks, as specified in your auto scaling config.

---

##### `fargateService`<sup>Required</sup> <a name="fargateService" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.fargateService"></a>

```typescript
public readonly fargateService: FargateService;
```

- *Type:* aws-cdk-lib.aws_ecs.FargateService

---

##### `addHealthyTaskCountAlarm`<sup>Optional</sup> <a name="addHealthyTaskCountAlarm" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addHealthyTaskCountAlarm"></a>

```typescript
public readonly addHealthyTaskCountAlarm: {[ key: string ]: HealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}

---

##### `addHealthyTaskPercentAlarm`<sup>Optional</sup> <a name="addHealthyTaskPercentAlarm" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addHealthyTaskPercentAlarm"></a>

```typescript
public readonly addHealthyTaskPercentAlarm: {[ key: string ]: HealthyTaskPercentThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}

---

##### `addMinProcessedBytesAlarm`<sup>Optional</sup> <a name="addMinProcessedBytesAlarm" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addMinProcessedBytesAlarm"></a>

```typescript
public readonly addMinProcessedBytesAlarm: {[ key: string ]: MinProcessedBytesThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}

---

##### `addUnhealthyTaskCountAlarm`<sup>Optional</sup> <a name="addUnhealthyTaskCountAlarm" id="cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addUnhealthyTaskCountAlarm"></a>

```typescript
public readonly addUnhealthyTaskCountAlarm: {[ key: string ]: UnhealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}

---

### FargateNetworkLoadBalancerMonitoringProps <a name="FargateNetworkLoadBalancerMonitoringProps" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps"></a>

Monitoring props for Fargate service with network load balancer and plain service.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.Initializer"></a>

```typescript
import { FargateNetworkLoadBalancerMonitoringProps } from 'cdk-monitoring-constructs'

const fargateNetworkLoadBalancerMonitoringProps: FargateNetworkLoadBalancerMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.networkLoadBalancer">networkLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.networkTargetGroup">networkTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.NetworkTargetGroup</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addMemoryUsageAlarm">addMemoryUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addRunningTaskCountAlarm">addRunningTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.maxAutoScalingTaskCount">maxAutoScalingTaskCount</a></code> | <code>number</code> | maximum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.minAutoScalingTaskCount">minAutoScalingTaskCount</a></code> | <code>number</code> | minimum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.fargateService">fargateService</a></code> | <code>aws-cdk-lib.aws_ecs.FargateService</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addHealthyTaskCountAlarm">addHealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addHealthyTaskPercentAlarm">addHealthyTaskPercentAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addMinProcessedBytesAlarm">addMinProcessedBytesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addUnhealthyTaskCountAlarm">addUnhealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}</code> | *No description.* |

---

##### `networkLoadBalancer`<sup>Required</sup> <a name="networkLoadBalancer" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.networkLoadBalancer"></a>

```typescript
public readonly networkLoadBalancer: NetworkLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer

---

##### `networkTargetGroup`<sup>Required</sup> <a name="networkTargetGroup" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.networkTargetGroup"></a>

```typescript
public readonly networkTargetGroup: NetworkTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.NetworkTargetGroup

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMemoryUsageAlarm`<sup>Optional</sup> <a name="addMemoryUsageAlarm" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addMemoryUsageAlarm"></a>

```typescript
public readonly addMemoryUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addRunningTaskCountAlarm`<sup>Optional</sup> <a name="addRunningTaskCountAlarm" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addRunningTaskCountAlarm"></a>

```typescript
public readonly addRunningTaskCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `maxAutoScalingTaskCount`<sup>Optional</sup> <a name="maxAutoScalingTaskCount" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.maxAutoScalingTaskCount"></a>

```typescript
public readonly maxAutoScalingTaskCount: number;
```

- *Type:* number

maximum number of tasks, as specified in your auto scaling config.

---

##### `minAutoScalingTaskCount`<sup>Optional</sup> <a name="minAutoScalingTaskCount" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

minimum number of tasks, as specified in your auto scaling config.

---

##### `fargateService`<sup>Required</sup> <a name="fargateService" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.fargateService"></a>

```typescript
public readonly fargateService: FargateService;
```

- *Type:* aws-cdk-lib.aws_ecs.FargateService

---

##### `addHealthyTaskCountAlarm`<sup>Optional</sup> <a name="addHealthyTaskCountAlarm" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addHealthyTaskCountAlarm"></a>

```typescript
public readonly addHealthyTaskCountAlarm: {[ key: string ]: HealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}

---

##### `addHealthyTaskPercentAlarm`<sup>Optional</sup> <a name="addHealthyTaskPercentAlarm" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addHealthyTaskPercentAlarm"></a>

```typescript
public readonly addHealthyTaskPercentAlarm: {[ key: string ]: HealthyTaskPercentThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}

---

##### `addMinProcessedBytesAlarm`<sup>Optional</sup> <a name="addMinProcessedBytesAlarm" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addMinProcessedBytesAlarm"></a>

```typescript
public readonly addMinProcessedBytesAlarm: {[ key: string ]: MinProcessedBytesThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}

---

##### `addUnhealthyTaskCountAlarm`<sup>Optional</sup> <a name="addUnhealthyTaskCountAlarm" id="cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addUnhealthyTaskCountAlarm"></a>

```typescript
public readonly addUnhealthyTaskCountAlarm: {[ key: string ]: UnhealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}

---

### FargateServiceMonitoringProps <a name="FargateServiceMonitoringProps" id="cdk-monitoring-constructs.FargateServiceMonitoringProps"></a>

Monitoring props for load-balanced Fargate service.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.Initializer"></a>

```typescript
import { FargateServiceMonitoringProps } from 'cdk-monitoring-constructs'

const fargateServiceMonitoringProps: FargateServiceMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addMemoryUsageAlarm">addMemoryUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addRunningTaskCountAlarm">addRunningTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.maxAutoScalingTaskCount">maxAutoScalingTaskCount</a></code> | <code>number</code> | maximum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.minAutoScalingTaskCount">minAutoScalingTaskCount</a></code> | <code>number</code> | minimum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.fargateService">fargateService</a></code> | <code>aws-cdk-lib.aws_ecs_patterns.NetworkLoadBalancedFargateService \| aws-cdk-lib.aws_ecs_patterns.ApplicationLoadBalancedFargateService</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addHealthyTaskCountAlarm">addHealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addHealthyTaskPercentAlarm">addHealthyTaskPercentAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addMinProcessedBytesAlarm">addMinProcessedBytesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addUnhealthyTaskCountAlarm">addUnhealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMemoryUsageAlarm`<sup>Optional</sup> <a name="addMemoryUsageAlarm" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addMemoryUsageAlarm"></a>

```typescript
public readonly addMemoryUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addRunningTaskCountAlarm`<sup>Optional</sup> <a name="addRunningTaskCountAlarm" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addRunningTaskCountAlarm"></a>

```typescript
public readonly addRunningTaskCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `maxAutoScalingTaskCount`<sup>Optional</sup> <a name="maxAutoScalingTaskCount" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.maxAutoScalingTaskCount"></a>

```typescript
public readonly maxAutoScalingTaskCount: number;
```

- *Type:* number

maximum number of tasks, as specified in your auto scaling config.

---

##### `minAutoScalingTaskCount`<sup>Optional</sup> <a name="minAutoScalingTaskCount" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

minimum number of tasks, as specified in your auto scaling config.

---

##### `fargateService`<sup>Required</sup> <a name="fargateService" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.fargateService"></a>

```typescript
public readonly fargateService: NetworkLoadBalancedFargateService | ApplicationLoadBalancedFargateService;
```

- *Type:* aws-cdk-lib.aws_ecs_patterns.NetworkLoadBalancedFargateService | aws-cdk-lib.aws_ecs_patterns.ApplicationLoadBalancedFargateService

---

##### `addHealthyTaskCountAlarm`<sup>Optional</sup> <a name="addHealthyTaskCountAlarm" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addHealthyTaskCountAlarm"></a>

```typescript
public readonly addHealthyTaskCountAlarm: {[ key: string ]: HealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}

---

##### `addHealthyTaskPercentAlarm`<sup>Optional</sup> <a name="addHealthyTaskPercentAlarm" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addHealthyTaskPercentAlarm"></a>

```typescript
public readonly addHealthyTaskPercentAlarm: {[ key: string ]: HealthyTaskPercentThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}

---

##### `addMinProcessedBytesAlarm`<sup>Optional</sup> <a name="addMinProcessedBytesAlarm" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addMinProcessedBytesAlarm"></a>

```typescript
public readonly addMinProcessedBytesAlarm: {[ key: string ]: MinProcessedBytesThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}

---

##### `addUnhealthyTaskCountAlarm`<sup>Optional</sup> <a name="addUnhealthyTaskCountAlarm" id="cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addUnhealthyTaskCountAlarm"></a>

```typescript
public readonly addUnhealthyTaskCountAlarm: {[ key: string ]: UnhealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}

---

### FullRestartCountThreshold <a name="FullRestartCountThreshold" id="cdk-monitoring-constructs.FullRestartCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.FullRestartCountThreshold.Initializer"></a>

```typescript
import { FullRestartCountThreshold } from 'cdk-monitoring-constructs'

const fullRestartCountThreshold: FullRestartCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.maxFullRestartCount">maxFullRestartCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxFullRestartCount`<sup>Required</sup> <a name="maxFullRestartCount" id="cdk-monitoring-constructs.FullRestartCountThreshold.property.maxFullRestartCount"></a>

```typescript
public readonly maxFullRestartCount: number;
```

- *Type:* number

---

### GlueJobMetricFactoryProps <a name="GlueJobMetricFactoryProps" id="cdk-monitoring-constructs.GlueJobMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.GlueJobMetricFactoryProps.Initializer"></a>

```typescript
import { GlueJobMetricFactoryProps } from 'cdk-monitoring-constructs'

const glueJobMetricFactoryProps: GlueJobMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactoryProps.property.jobName">jobName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactoryProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |

---

##### `jobName`<sup>Required</sup> <a name="jobName" id="cdk-monitoring-constructs.GlueJobMetricFactoryProps.property.jobName"></a>

```typescript
public readonly jobName: string;
```

- *Type:* string

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.GlueJobMetricFactoryProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

### GlueJobMonitoringOptions <a name="GlueJobMonitoringOptions" id="cdk-monitoring-constructs.GlueJobMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.Initializer"></a>

```typescript
import { GlueJobMonitoringOptions } from 'cdk-monitoring-constructs'

const glueJobMonitoringOptions: GlueJobMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.jobName">jobName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addFailedTaskCountAlarm">addFailedTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addFailedTaskRateAlarm">addFailedTaskRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addKilledTaskCountAlarm">addKilledTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addKilledTaskRateAlarm">addKilledTaskRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |

---

##### `jobName`<sup>Required</sup> <a name="jobName" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.property.jobName"></a>

```typescript
public readonly jobName: string;
```

- *Type:* string

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addFailedTaskCountAlarm`<sup>Optional</sup> <a name="addFailedTaskCountAlarm" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addFailedTaskCountAlarm"></a>

```typescript
public readonly addFailedTaskCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addFailedTaskRateAlarm`<sup>Optional</sup> <a name="addFailedTaskRateAlarm" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addFailedTaskRateAlarm"></a>

```typescript
public readonly addFailedTaskRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addKilledTaskCountAlarm`<sup>Optional</sup> <a name="addKilledTaskCountAlarm" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addKilledTaskCountAlarm"></a>

```typescript
public readonly addKilledTaskCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addKilledTaskRateAlarm`<sup>Optional</sup> <a name="addKilledTaskRateAlarm" id="cdk-monitoring-constructs.GlueJobMonitoringOptions.property.addKilledTaskRateAlarm"></a>

```typescript
public readonly addKilledTaskRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

### GlueJobMonitoringProps <a name="GlueJobMonitoringProps" id="cdk-monitoring-constructs.GlueJobMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.GlueJobMonitoringProps.Initializer"></a>

```typescript
import { GlueJobMonitoringProps } from 'cdk-monitoring-constructs'

const glueJobMonitoringProps: GlueJobMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.jobName">jobName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.addFailedTaskCountAlarm">addFailedTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.addFailedTaskRateAlarm">addFailedTaskRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.addKilledTaskCountAlarm">addKilledTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.addKilledTaskRateAlarm">addKilledTaskRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |

---

##### `jobName`<sup>Required</sup> <a name="jobName" id="cdk-monitoring-constructs.GlueJobMonitoringProps.property.jobName"></a>

```typescript
public readonly jobName: string;
```

- *Type:* string

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.GlueJobMonitoringProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.GlueJobMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.GlueJobMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.GlueJobMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.GlueJobMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.GlueJobMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.GlueJobMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.GlueJobMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addFailedTaskCountAlarm`<sup>Optional</sup> <a name="addFailedTaskCountAlarm" id="cdk-monitoring-constructs.GlueJobMonitoringProps.property.addFailedTaskCountAlarm"></a>

```typescript
public readonly addFailedTaskCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addFailedTaskRateAlarm`<sup>Optional</sup> <a name="addFailedTaskRateAlarm" id="cdk-monitoring-constructs.GlueJobMonitoringProps.property.addFailedTaskRateAlarm"></a>

```typescript
public readonly addFailedTaskRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addKilledTaskCountAlarm`<sup>Optional</sup> <a name="addKilledTaskCountAlarm" id="cdk-monitoring-constructs.GlueJobMonitoringProps.property.addKilledTaskCountAlarm"></a>

```typescript
public readonly addKilledTaskCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addKilledTaskRateAlarm`<sup>Optional</sup> <a name="addKilledTaskRateAlarm" id="cdk-monitoring-constructs.GlueJobMonitoringProps.property.addKilledTaskRateAlarm"></a>

```typescript
public readonly addKilledTaskRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

### HealthyTaskCountThreshold <a name="HealthyTaskCountThreshold" id="cdk-monitoring-constructs.HealthyTaskCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.Initializer"></a>

```typescript
import { HealthyTaskCountThreshold } from 'cdk-monitoring-constructs'

const healthyTaskCountThreshold: HealthyTaskCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.minHealthyTasks">minHealthyTasks</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `minHealthyTasks`<sup>Required</sup> <a name="minHealthyTasks" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.property.minHealthyTasks"></a>

```typescript
public readonly minHealthyTasks: number;
```

- *Type:* number

---

### HealthyTaskPercentThreshold <a name="HealthyTaskPercentThreshold" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.Initializer"></a>

```typescript
import { HealthyTaskPercentThreshold } from 'cdk-monitoring-constructs'

const healthyTaskPercentThreshold: HealthyTaskPercentThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.minHealthyTaskPercent">minHealthyTaskPercent</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `minHealthyTaskPercent`<sup>Required</sup> <a name="minHealthyTaskPercent" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.minHealthyTaskPercent"></a>

```typescript
public readonly minHealthyTaskPercent: number;
```

- *Type:* number

---

### HighMessagesPublishedThreshold <a name="HighMessagesPublishedThreshold" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.Initializer"></a>

```typescript
import { HighMessagesPublishedThreshold } from 'cdk-monitoring-constructs'

const highMessagesPublishedThreshold: HighMessagesPublishedThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.maxMessagesPublishedCount">maxMessagesPublishedCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxMessagesPublishedCount`<sup>Required</sup> <a name="maxMessagesPublishedCount" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.maxMessagesPublishedCount"></a>

```typescript
public readonly maxMessagesPublishedCount: number;
```

- *Type:* number

---

### HighTpsThreshold <a name="HighTpsThreshold" id="cdk-monitoring-constructs.HighTpsThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.HighTpsThreshold.Initializer"></a>

```typescript
import { HighTpsThreshold } from 'cdk-monitoring-constructs'

const highTpsThreshold: HighTpsThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.maxTps">maxTps</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.HighTpsThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.HighTpsThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.HighTpsThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.HighTpsThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.HighTpsThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.HighTpsThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.HighTpsThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.HighTpsThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.HighTpsThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.HighTpsThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.HighTpsThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.HighTpsThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.HighTpsThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.HighTpsThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.HighTpsThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.HighTpsThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxTps`<sup>Required</sup> <a name="maxTps" id="cdk-monitoring-constructs.HighTpsThreshold.property.maxTps"></a>

```typescript
public readonly maxTps: number;
```

- *Type:* number

---

### KinesisDataAnalyticsMetricFactoryProps <a name="KinesisDataAnalyticsMetricFactoryProps" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactoryProps.Initializer"></a>

```typescript
import { KinesisDataAnalyticsMetricFactoryProps } from 'cdk-monitoring-constructs'

const kinesisDataAnalyticsMetricFactoryProps: KinesisDataAnalyticsMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactoryProps.property.application">application</a></code> | <code>string</code> | *No description.* |

---

##### `application`<sup>Required</sup> <a name="application" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactoryProps.property.application"></a>

```typescript
public readonly application: string;
```

- *Type:* string

---

### KinesisDataAnalyticsMonitoringOptions <a name="KinesisDataAnalyticsMonitoringOptions" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.Initializer"></a>

```typescript
import { KinesisDataAnalyticsMonitoringOptions } from 'cdk-monitoring-constructs'

const kinesisDataAnalyticsMonitoringOptions: KinesisDataAnalyticsMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addDowntimeAlarm">addDowntimeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxDowntimeThreshold">MaxDowntimeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addFullRestartCountAlarm">addFullRestartCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.FullRestartCountThreshold">FullRestartCountThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addDowntimeAlarm`<sup>Optional</sup> <a name="addDowntimeAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addDowntimeAlarm"></a>

```typescript
public readonly addDowntimeAlarm: {[ key: string ]: MaxDowntimeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxDowntimeThreshold">MaxDowntimeThreshold</a>}

---

##### `addFullRestartCountAlarm`<sup>Optional</sup> <a name="addFullRestartCountAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addFullRestartCountAlarm"></a>

```typescript
public readonly addFullRestartCountAlarm: {[ key: string ]: FullRestartCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.FullRestartCountThreshold">FullRestartCountThreshold</a>}

---

### KinesisDataAnalyticsMonitoringProps <a name="KinesisDataAnalyticsMonitoringProps" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.Initializer"></a>

```typescript
import { KinesisDataAnalyticsMonitoringProps } from 'cdk-monitoring-constructs'

const kinesisDataAnalyticsMonitoringProps: KinesisDataAnalyticsMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.application">application</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addDowntimeAlarm">addDowntimeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxDowntimeThreshold">MaxDowntimeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addFullRestartCountAlarm">addFullRestartCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.FullRestartCountThreshold">FullRestartCountThreshold</a>}</code> | *No description.* |

---

##### `application`<sup>Required</sup> <a name="application" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.application"></a>

```typescript
public readonly application: string;
```

- *Type:* string

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addDowntimeAlarm`<sup>Optional</sup> <a name="addDowntimeAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addDowntimeAlarm"></a>

```typescript
public readonly addDowntimeAlarm: {[ key: string ]: MaxDowntimeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxDowntimeThreshold">MaxDowntimeThreshold</a>}

---

##### `addFullRestartCountAlarm`<sup>Optional</sup> <a name="addFullRestartCountAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addFullRestartCountAlarm"></a>

```typescript
public readonly addFullRestartCountAlarm: {[ key: string ]: FullRestartCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.FullRestartCountThreshold">FullRestartCountThreshold</a>}

---

### KinesisDataStreamMetricFactoryProps <a name="KinesisDataStreamMetricFactoryProps" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactoryProps.Initializer"></a>

```typescript
import { KinesisDataStreamMetricFactoryProps } from 'cdk-monitoring-constructs'

const kinesisDataStreamMetricFactoryProps: KinesisDataStreamMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactoryProps.property.streamName">streamName</a></code> | <code>string</code> | *No description.* |

---

##### `streamName`<sup>Required</sup> <a name="streamName" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactoryProps.property.streamName"></a>

```typescript
public readonly streamName: string;
```

- *Type:* string

---

### KinesisDataStreamMonitoringOptions <a name="KinesisDataStreamMonitoringOptions" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.Initializer"></a>

```typescript
import { KinesisDataStreamMonitoringOptions } from 'cdk-monitoring-constructs'

const kinesisDataStreamMonitoringOptions: KinesisDataStreamMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addIteratorMaxAgeAlarm">addIteratorMaxAgeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold">MaxIteratorAgeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addPutRecordsFailedAlarm">addPutRecordsFailedAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsFailedThreshold">RecordsFailedThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addPutRecordsThrottledAlarm">addPutRecordsThrottledAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addReadProvisionedThroughputExceededAlarm">addReadProvisionedThroughputExceededAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addThrottledRecordsAlarm">addThrottledRecordsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addWriteProvisionedThroughputExceededAlarm">addWriteProvisionedThroughputExceededAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addIteratorMaxAgeAlarm`<sup>Optional</sup> <a name="addIteratorMaxAgeAlarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addIteratorMaxAgeAlarm"></a>

```typescript
public readonly addIteratorMaxAgeAlarm: {[ key: string ]: MaxIteratorAgeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold">MaxIteratorAgeThreshold</a>}

---

##### `addPutRecordsFailedAlarm`<sup>Optional</sup> <a name="addPutRecordsFailedAlarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addPutRecordsFailedAlarm"></a>

```typescript
public readonly addPutRecordsFailedAlarm: {[ key: string ]: RecordsFailedThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsFailedThreshold">RecordsFailedThreshold</a>}

---

##### `addPutRecordsThrottledAlarm`<sup>Optional</sup> <a name="addPutRecordsThrottledAlarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addPutRecordsThrottledAlarm"></a>

```typescript
public readonly addPutRecordsThrottledAlarm: {[ key: string ]: RecordsThrottledThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}

---

##### `addReadProvisionedThroughputExceededAlarm`<sup>Optional</sup> <a name="addReadProvisionedThroughputExceededAlarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addReadProvisionedThroughputExceededAlarm"></a>

```typescript
public readonly addReadProvisionedThroughputExceededAlarm: {[ key: string ]: RecordsThrottledThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}

---

##### `addThrottledRecordsAlarm`<sup>Optional</sup> <a name="addThrottledRecordsAlarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addThrottledRecordsAlarm"></a>

```typescript
public readonly addThrottledRecordsAlarm: {[ key: string ]: RecordsThrottledThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}

---

##### `addWriteProvisionedThroughputExceededAlarm`<sup>Optional</sup> <a name="addWriteProvisionedThroughputExceededAlarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.addWriteProvisionedThroughputExceededAlarm"></a>

```typescript
public readonly addWriteProvisionedThroughputExceededAlarm: {[ key: string ]: RecordsThrottledThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}

---

### KinesisDataStreamMonitoringProps <a name="KinesisDataStreamMonitoringProps" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.Initializer"></a>

```typescript
import { KinesisDataStreamMonitoringProps } from 'cdk-monitoring-constructs'

const kinesisDataStreamMonitoringProps: KinesisDataStreamMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.streamName">streamName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addIteratorMaxAgeAlarm">addIteratorMaxAgeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold">MaxIteratorAgeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addPutRecordsFailedAlarm">addPutRecordsFailedAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsFailedThreshold">RecordsFailedThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addPutRecordsThrottledAlarm">addPutRecordsThrottledAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addReadProvisionedThroughputExceededAlarm">addReadProvisionedThroughputExceededAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addThrottledRecordsAlarm">addThrottledRecordsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addWriteProvisionedThroughputExceededAlarm">addWriteProvisionedThroughputExceededAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}</code> | *No description.* |

---

##### `streamName`<sup>Required</sup> <a name="streamName" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.streamName"></a>

```typescript
public readonly streamName: string;
```

- *Type:* string

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addIteratorMaxAgeAlarm`<sup>Optional</sup> <a name="addIteratorMaxAgeAlarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addIteratorMaxAgeAlarm"></a>

```typescript
public readonly addIteratorMaxAgeAlarm: {[ key: string ]: MaxIteratorAgeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold">MaxIteratorAgeThreshold</a>}

---

##### `addPutRecordsFailedAlarm`<sup>Optional</sup> <a name="addPutRecordsFailedAlarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addPutRecordsFailedAlarm"></a>

```typescript
public readonly addPutRecordsFailedAlarm: {[ key: string ]: RecordsFailedThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsFailedThreshold">RecordsFailedThreshold</a>}

---

##### `addPutRecordsThrottledAlarm`<sup>Optional</sup> <a name="addPutRecordsThrottledAlarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addPutRecordsThrottledAlarm"></a>

```typescript
public readonly addPutRecordsThrottledAlarm: {[ key: string ]: RecordsThrottledThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}

---

##### `addReadProvisionedThroughputExceededAlarm`<sup>Optional</sup> <a name="addReadProvisionedThroughputExceededAlarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addReadProvisionedThroughputExceededAlarm"></a>

```typescript
public readonly addReadProvisionedThroughputExceededAlarm: {[ key: string ]: RecordsThrottledThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}

---

##### `addThrottledRecordsAlarm`<sup>Optional</sup> <a name="addThrottledRecordsAlarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addThrottledRecordsAlarm"></a>

```typescript
public readonly addThrottledRecordsAlarm: {[ key: string ]: RecordsThrottledThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}

---

##### `addWriteProvisionedThroughputExceededAlarm`<sup>Optional</sup> <a name="addWriteProvisionedThroughputExceededAlarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.addWriteProvisionedThroughputExceededAlarm"></a>

```typescript
public readonly addWriteProvisionedThroughputExceededAlarm: {[ key: string ]: RecordsThrottledThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}

---

### KinesisFirehoseMetricFactoryProps <a name="KinesisFirehoseMetricFactoryProps" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactoryProps.Initializer"></a>

```typescript
import { KinesisFirehoseMetricFactoryProps } from 'cdk-monitoring-constructs'

const kinesisFirehoseMetricFactoryProps: KinesisFirehoseMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactoryProps.property.deliveryStreamName">deliveryStreamName</a></code> | <code>string</code> | *No description.* |

---

##### `deliveryStreamName`<sup>Required</sup> <a name="deliveryStreamName" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactoryProps.property.deliveryStreamName"></a>

```typescript
public readonly deliveryStreamName: string;
```

- *Type:* string

---

### KinesisFirehoseMonitoringOptions <a name="KinesisFirehoseMonitoringOptions" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.Initializer"></a>

```typescript
import { KinesisFirehoseMonitoringOptions } from 'cdk-monitoring-constructs'

const kinesisFirehoseMonitoringOptions: KinesisFirehoseMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.addRecordsThrottledAlarm">addRecordsThrottledAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addRecordsThrottledAlarm`<sup>Optional</sup> <a name="addRecordsThrottledAlarm" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.addRecordsThrottledAlarm"></a>

```typescript
public readonly addRecordsThrottledAlarm: {[ key: string ]: RecordsThrottledThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}

---

### KinesisFirehoseMonitoringProps <a name="KinesisFirehoseMonitoringProps" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.Initializer"></a>

```typescript
import { KinesisFirehoseMonitoringProps } from 'cdk-monitoring-constructs'

const kinesisFirehoseMonitoringProps: KinesisFirehoseMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.deliveryStreamName">deliveryStreamName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.addRecordsThrottledAlarm">addRecordsThrottledAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}</code> | *No description.* |

---

##### `deliveryStreamName`<sup>Required</sup> <a name="deliveryStreamName" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.deliveryStreamName"></a>

```typescript
public readonly deliveryStreamName: string;
```

- *Type:* string

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addRecordsThrottledAlarm`<sup>Optional</sup> <a name="addRecordsThrottledAlarm" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.addRecordsThrottledAlarm"></a>

```typescript
public readonly addRecordsThrottledAlarm: {[ key: string ]: RecordsThrottledThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>}

---

### LambdaFunctionMetricFactoryProps <a name="LambdaFunctionMetricFactoryProps" id="cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps.Initializer"></a>

```typescript
import { LambdaFunctionMetricFactoryProps } from 'cdk-monitoring-constructs'

const lambdaFunctionMetricFactoryProps: LambdaFunctionMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps.property.lambdaFunction">lambdaFunction</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps.property.fillTpsWithZeroes">fillTpsWithZeroes</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps.property.lambdaInsightsEnabled">lambdaInsightsEnabled</a></code> | <code>boolean</code> | Generate dashboard charts for Lambda Insights metrics. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |

---

##### `lambdaFunction`<sup>Required</sup> <a name="lambdaFunction" id="cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps.property.lambdaFunction"></a>

```typescript
public readonly lambdaFunction: IFunction;
```

- *Type:* aws-cdk-lib.aws_lambda.IFunction

---

##### `fillTpsWithZeroes`<sup>Optional</sup> <a name="fillTpsWithZeroes" id="cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps.property.fillTpsWithZeroes"></a>

```typescript
public readonly fillTpsWithZeroes: boolean;
```

- *Type:* boolean
- *Default:* true

---

##### `lambdaInsightsEnabled`<sup>Optional</sup> <a name="lambdaInsightsEnabled" id="cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps.property.lambdaInsightsEnabled"></a>

```typescript
public readonly lambdaInsightsEnabled: boolean;
```

- *Type:* boolean
- *Default:* false

Generate dashboard charts for Lambda Insights metrics.

To enable Lambda Insights on your Lambda function, see
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights-Getting-Started-clouddevelopmentkit.html

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

### LambdaFunctionMonitoringOptions <a name="LambdaFunctionMonitoringOptions" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.Initializer"></a>

```typescript
import { LambdaFunctionMonitoringOptions } from 'cdk-monitoring-constructs'

const lambdaFunctionMonitoringOptions: LambdaFunctionMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addConcurrentExecutionsCountAlarm">addConcurrentExecutionsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringAvgCpuTotalTimeAlarm">addEnhancedMonitoringAvgCpuTotalTimeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringAvgMemoryUtilizationAlarm">addEnhancedMonitoringAvgMemoryUtilizationAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringMaxCpuTotalTimeAlarm">addEnhancedMonitoringMaxCpuTotalTimeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringMaxMemoryUtilizationAlarm">addEnhancedMonitoringMaxMemoryUtilizationAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringP90CpuTotalTimeAlarm">addEnhancedMonitoringP90CpuTotalTimeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringP90MemoryUtilizationAlarm">addEnhancedMonitoringP90MemoryUtilizationAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addFaultCountAlarm">addFaultCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addFaultRateAlarm">addFaultRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addHighTpsAlarm">addHighTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addLatencyP50Alarm">addLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addLatencyP90Alarm">addLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addLatencyP99Alarm">addLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addLowTpsAlarm">addLowTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addMaxIteratorAgeAlarm">addMaxIteratorAgeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxAgeThreshold">MaxAgeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addProvisionedConcurrencySpilloverInvocationsCountAlarm">addProvisionedConcurrencySpilloverInvocationsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addProvisionedConcurrencySpilloverInvocationsRateAlarm">addProvisionedConcurrencySpilloverInvocationsRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskRateThreshold">RunningTaskRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addThrottlesCountAlarm">addThrottlesCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addThrottlesRateAlarm">addThrottlesRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addConcurrentExecutionsCountAlarm`<sup>Optional</sup> <a name="addConcurrentExecutionsCountAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addConcurrentExecutionsCountAlarm"></a>

```typescript
public readonly addConcurrentExecutionsCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

---

##### `addEnhancedMonitoringAvgCpuTotalTimeAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringAvgCpuTotalTimeAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringAvgCpuTotalTimeAlarm"></a>

```typescript
public readonly addEnhancedMonitoringAvgCpuTotalTimeAlarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addEnhancedMonitoringAvgMemoryUtilizationAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringAvgMemoryUtilizationAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringAvgMemoryUtilizationAlarm"></a>

```typescript
public readonly addEnhancedMonitoringAvgMemoryUtilizationAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addEnhancedMonitoringMaxCpuTotalTimeAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringMaxCpuTotalTimeAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringMaxCpuTotalTimeAlarm"></a>

```typescript
public readonly addEnhancedMonitoringMaxCpuTotalTimeAlarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addEnhancedMonitoringMaxMemoryUtilizationAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringMaxMemoryUtilizationAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringMaxMemoryUtilizationAlarm"></a>

```typescript
public readonly addEnhancedMonitoringMaxMemoryUtilizationAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addEnhancedMonitoringP90CpuTotalTimeAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringP90CpuTotalTimeAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringP90CpuTotalTimeAlarm"></a>

```typescript
public readonly addEnhancedMonitoringP90CpuTotalTimeAlarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addEnhancedMonitoringP90MemoryUtilizationAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringP90MemoryUtilizationAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringP90MemoryUtilizationAlarm"></a>

```typescript
public readonly addEnhancedMonitoringP90MemoryUtilizationAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addFaultCountAlarm`<sup>Optional</sup> <a name="addFaultCountAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addFaultCountAlarm"></a>

```typescript
public readonly addFaultCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addFaultRateAlarm`<sup>Optional</sup> <a name="addFaultRateAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addFaultRateAlarm"></a>

```typescript
public readonly addFaultRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addHighTpsAlarm`<sup>Optional</sup> <a name="addHighTpsAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addHighTpsAlarm"></a>

```typescript
public readonly addHighTpsAlarm: {[ key: string ]: HighTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}

---

##### `addLatencyP50Alarm`<sup>Optional</sup> <a name="addLatencyP50Alarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addLatencyP50Alarm"></a>

```typescript
public readonly addLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP90Alarm`<sup>Optional</sup> <a name="addLatencyP90Alarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addLatencyP90Alarm"></a>

```typescript
public readonly addLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP99Alarm`<sup>Optional</sup> <a name="addLatencyP99Alarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addLatencyP99Alarm"></a>

```typescript
public readonly addLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLowTpsAlarm`<sup>Optional</sup> <a name="addLowTpsAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addLowTpsAlarm"></a>

```typescript
public readonly addLowTpsAlarm: {[ key: string ]: LowTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}

---

##### `addMaxIteratorAgeAlarm`<sup>Optional</sup> <a name="addMaxIteratorAgeAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addMaxIteratorAgeAlarm"></a>

```typescript
public readonly addMaxIteratorAgeAlarm: {[ key: string ]: MaxAgeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxAgeThreshold">MaxAgeThreshold</a>}

---

##### `addProvisionedConcurrencySpilloverInvocationsCountAlarm`<sup>Optional</sup> <a name="addProvisionedConcurrencySpilloverInvocationsCountAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addProvisionedConcurrencySpilloverInvocationsCountAlarm"></a>

```typescript
public readonly addProvisionedConcurrencySpilloverInvocationsCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

---

##### `addProvisionedConcurrencySpilloverInvocationsRateAlarm`<sup>Optional</sup> <a name="addProvisionedConcurrencySpilloverInvocationsRateAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addProvisionedConcurrencySpilloverInvocationsRateAlarm"></a>

```typescript
public readonly addProvisionedConcurrencySpilloverInvocationsRateAlarm: {[ key: string ]: RunningTaskRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskRateThreshold">RunningTaskRateThreshold</a>}

---

##### `addThrottlesCountAlarm`<sup>Optional</sup> <a name="addThrottlesCountAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addThrottlesCountAlarm"></a>

```typescript
public readonly addThrottlesCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addThrottlesRateAlarm`<sup>Optional</sup> <a name="addThrottlesRateAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addThrottlesRateAlarm"></a>

```typescript
public readonly addThrottlesRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

### LambdaFunctionMonitoringProps <a name="LambdaFunctionMonitoringProps" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.Initializer"></a>

```typescript
import { LambdaFunctionMonitoringProps } from 'cdk-monitoring-constructs'

const lambdaFunctionMonitoringProps: LambdaFunctionMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.lambdaFunction">lambdaFunction</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.fillTpsWithZeroes">fillTpsWithZeroes</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.lambdaInsightsEnabled">lambdaInsightsEnabled</a></code> | <code>boolean</code> | Generate dashboard charts for Lambda Insights metrics. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addConcurrentExecutionsCountAlarm">addConcurrentExecutionsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringAvgCpuTotalTimeAlarm">addEnhancedMonitoringAvgCpuTotalTimeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringAvgMemoryUtilizationAlarm">addEnhancedMonitoringAvgMemoryUtilizationAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringMaxCpuTotalTimeAlarm">addEnhancedMonitoringMaxCpuTotalTimeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringMaxMemoryUtilizationAlarm">addEnhancedMonitoringMaxMemoryUtilizationAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringP90CpuTotalTimeAlarm">addEnhancedMonitoringP90CpuTotalTimeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringP90MemoryUtilizationAlarm">addEnhancedMonitoringP90MemoryUtilizationAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addFaultCountAlarm">addFaultCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addFaultRateAlarm">addFaultRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addHighTpsAlarm">addHighTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addLatencyP50Alarm">addLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addLatencyP90Alarm">addLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addLatencyP99Alarm">addLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addLowTpsAlarm">addLowTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addMaxIteratorAgeAlarm">addMaxIteratorAgeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxAgeThreshold">MaxAgeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addProvisionedConcurrencySpilloverInvocationsCountAlarm">addProvisionedConcurrencySpilloverInvocationsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addProvisionedConcurrencySpilloverInvocationsRateAlarm">addProvisionedConcurrencySpilloverInvocationsRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskRateThreshold">RunningTaskRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addThrottlesCountAlarm">addThrottlesCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addThrottlesRateAlarm">addThrottlesRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |

---

##### `lambdaFunction`<sup>Required</sup> <a name="lambdaFunction" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.lambdaFunction"></a>

```typescript
public readonly lambdaFunction: IFunction;
```

- *Type:* aws-cdk-lib.aws_lambda.IFunction

---

##### `fillTpsWithZeroes`<sup>Optional</sup> <a name="fillTpsWithZeroes" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.fillTpsWithZeroes"></a>

```typescript
public readonly fillTpsWithZeroes: boolean;
```

- *Type:* boolean
- *Default:* true

---

##### `lambdaInsightsEnabled`<sup>Optional</sup> <a name="lambdaInsightsEnabled" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.lambdaInsightsEnabled"></a>

```typescript
public readonly lambdaInsightsEnabled: boolean;
```

- *Type:* boolean
- *Default:* false

Generate dashboard charts for Lambda Insights metrics.

To enable Lambda Insights on your Lambda function, see
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights-Getting-Started-clouddevelopmentkit.html

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addConcurrentExecutionsCountAlarm`<sup>Optional</sup> <a name="addConcurrentExecutionsCountAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addConcurrentExecutionsCountAlarm"></a>

```typescript
public readonly addConcurrentExecutionsCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

---

##### `addEnhancedMonitoringAvgCpuTotalTimeAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringAvgCpuTotalTimeAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringAvgCpuTotalTimeAlarm"></a>

```typescript
public readonly addEnhancedMonitoringAvgCpuTotalTimeAlarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addEnhancedMonitoringAvgMemoryUtilizationAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringAvgMemoryUtilizationAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringAvgMemoryUtilizationAlarm"></a>

```typescript
public readonly addEnhancedMonitoringAvgMemoryUtilizationAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addEnhancedMonitoringMaxCpuTotalTimeAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringMaxCpuTotalTimeAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringMaxCpuTotalTimeAlarm"></a>

```typescript
public readonly addEnhancedMonitoringMaxCpuTotalTimeAlarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addEnhancedMonitoringMaxMemoryUtilizationAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringMaxMemoryUtilizationAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringMaxMemoryUtilizationAlarm"></a>

```typescript
public readonly addEnhancedMonitoringMaxMemoryUtilizationAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addEnhancedMonitoringP90CpuTotalTimeAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringP90CpuTotalTimeAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringP90CpuTotalTimeAlarm"></a>

```typescript
public readonly addEnhancedMonitoringP90CpuTotalTimeAlarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addEnhancedMonitoringP90MemoryUtilizationAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringP90MemoryUtilizationAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringP90MemoryUtilizationAlarm"></a>

```typescript
public readonly addEnhancedMonitoringP90MemoryUtilizationAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addFaultCountAlarm`<sup>Optional</sup> <a name="addFaultCountAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addFaultCountAlarm"></a>

```typescript
public readonly addFaultCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addFaultRateAlarm`<sup>Optional</sup> <a name="addFaultRateAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addFaultRateAlarm"></a>

```typescript
public readonly addFaultRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addHighTpsAlarm`<sup>Optional</sup> <a name="addHighTpsAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addHighTpsAlarm"></a>

```typescript
public readonly addHighTpsAlarm: {[ key: string ]: HighTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>}

---

##### `addLatencyP50Alarm`<sup>Optional</sup> <a name="addLatencyP50Alarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addLatencyP50Alarm"></a>

```typescript
public readonly addLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP90Alarm`<sup>Optional</sup> <a name="addLatencyP90Alarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addLatencyP90Alarm"></a>

```typescript
public readonly addLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLatencyP99Alarm`<sup>Optional</sup> <a name="addLatencyP99Alarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addLatencyP99Alarm"></a>

```typescript
public readonly addLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addLowTpsAlarm`<sup>Optional</sup> <a name="addLowTpsAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addLowTpsAlarm"></a>

```typescript
public readonly addLowTpsAlarm: {[ key: string ]: LowTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}

---

##### `addMaxIteratorAgeAlarm`<sup>Optional</sup> <a name="addMaxIteratorAgeAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addMaxIteratorAgeAlarm"></a>

```typescript
public readonly addMaxIteratorAgeAlarm: {[ key: string ]: MaxAgeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxAgeThreshold">MaxAgeThreshold</a>}

---

##### `addProvisionedConcurrencySpilloverInvocationsCountAlarm`<sup>Optional</sup> <a name="addProvisionedConcurrencySpilloverInvocationsCountAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addProvisionedConcurrencySpilloverInvocationsCountAlarm"></a>

```typescript
public readonly addProvisionedConcurrencySpilloverInvocationsCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

---

##### `addProvisionedConcurrencySpilloverInvocationsRateAlarm`<sup>Optional</sup> <a name="addProvisionedConcurrencySpilloverInvocationsRateAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addProvisionedConcurrencySpilloverInvocationsRateAlarm"></a>

```typescript
public readonly addProvisionedConcurrencySpilloverInvocationsRateAlarm: {[ key: string ]: RunningTaskRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskRateThreshold">RunningTaskRateThreshold</a>}

---

##### `addThrottlesCountAlarm`<sup>Optional</sup> <a name="addThrottlesCountAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addThrottlesCountAlarm"></a>

```typescript
public readonly addThrottlesCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addThrottlesRateAlarm`<sup>Optional</sup> <a name="addThrottlesRateAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addThrottlesRateAlarm"></a>

```typescript
public readonly addThrottlesRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

### LatencyThreshold <a name="LatencyThreshold" id="cdk-monitoring-constructs.LatencyThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.LatencyThreshold.Initializer"></a>

```typescript
import { LatencyThreshold } from 'cdk-monitoring-constructs'

const latencyThreshold: LatencyThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.maxLatency">maxLatency</a></code> | <code>aws-cdk-lib.Duration</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.LatencyThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.LatencyThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.LatencyThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.LatencyThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.LatencyThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.LatencyThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.LatencyThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.LatencyThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.LatencyThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.LatencyThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.LatencyThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.LatencyThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.LatencyThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.LatencyThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.LatencyThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.LatencyThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxLatency`<sup>Required</sup> <a name="maxLatency" id="cdk-monitoring-constructs.LatencyThreshold.property.maxLatency"></a>

```typescript
public readonly maxLatency: Duration;
```

- *Type:* aws-cdk-lib.Duration

---

### LogLevelCountThreshold <a name="LogLevelCountThreshold" id="cdk-monitoring-constructs.LogLevelCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.LogLevelCountThreshold.Initializer"></a>

```typescript
import { LogLevelCountThreshold } from 'cdk-monitoring-constructs'

const logLevelCountThreshold: LogLevelCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.maxLogCount">maxLogCount</a></code> | <code>number</code> | Threshold for the number of logs to alarm on. |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxLogCount`<sup>Required</sup> <a name="maxLogCount" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.maxLogCount"></a>

```typescript
public readonly maxLogCount: number;
```

- *Type:* number

Threshold for the number of logs to alarm on.

---

### LogMonitoringProps <a name="LogMonitoringProps" id="cdk-monitoring-constructs.LogMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.LogMonitoringProps.Initializer"></a>

```typescript
import { LogMonitoringProps } from 'cdk-monitoring-constructs'

const logMonitoringProps: LogMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.logGroupName">logGroupName</a></code> | <code>string</code> | name of the log group to analyze for the given pattern. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.pattern">pattern</a></code> | <code>string</code> | pattern to show, e.g. "ERROR". |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.limit">limit</a></code> | <code>number</code> | number of log messages to search for. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.title">title</a></code> | <code>string</code> | widget title. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.LogMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.LogMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.LogMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.LogMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.LogMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.LogMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.LogMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `logGroupName`<sup>Required</sup> <a name="logGroupName" id="cdk-monitoring-constructs.LogMonitoringProps.property.logGroupName"></a>

```typescript
public readonly logGroupName: string;
```

- *Type:* string

name of the log group to analyze for the given pattern.

---

##### `pattern`<sup>Required</sup> <a name="pattern" id="cdk-monitoring-constructs.LogMonitoringProps.property.pattern"></a>

```typescript
public readonly pattern: string;
```

- *Type:* string

pattern to show, e.g. "ERROR".

---

##### `limit`<sup>Optional</sup> <a name="limit" id="cdk-monitoring-constructs.LogMonitoringProps.property.limit"></a>

```typescript
public readonly limit: number;
```

- *Type:* number
- *Default:* 10

number of log messages to search for.

---

##### `title`<sup>Optional</sup> <a name="title" id="cdk-monitoring-constructs.LogMonitoringProps.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string
- *Default:* auto-generated title based on the pattern and limit

widget title.

---

### LowMessagesPublishedThreshold <a name="LowMessagesPublishedThreshold" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.Initializer"></a>

```typescript
import { LowMessagesPublishedThreshold } from 'cdk-monitoring-constructs'

const lowMessagesPublishedThreshold: LowMessagesPublishedThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.minMessagesPublishedCount">minMessagesPublishedCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `minMessagesPublishedCount`<sup>Required</sup> <a name="minMessagesPublishedCount" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.minMessagesPublishedCount"></a>

```typescript
public readonly minMessagesPublishedCount: number;
```

- *Type:* number

---

### LowTpsThreshold <a name="LowTpsThreshold" id="cdk-monitoring-constructs.LowTpsThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.LowTpsThreshold.Initializer"></a>

```typescript
import { LowTpsThreshold } from 'cdk-monitoring-constructs'

const lowTpsThreshold: LowTpsThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.minTps">minTps</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.LowTpsThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.LowTpsThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.LowTpsThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.LowTpsThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.LowTpsThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.LowTpsThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.LowTpsThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.LowTpsThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.LowTpsThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.LowTpsThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.LowTpsThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.LowTpsThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.LowTpsThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.LowTpsThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.LowTpsThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.LowTpsThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `minTps`<sup>Required</sup> <a name="minTps" id="cdk-monitoring-constructs.LowTpsThreshold.property.minTps"></a>

```typescript
public readonly minTps: number;
```

- *Type:* number

---

### MaxAgeThreshold <a name="MaxAgeThreshold" id="cdk-monitoring-constructs.MaxAgeThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxAgeThreshold.Initializer"></a>

```typescript
import { MaxAgeThreshold } from 'cdk-monitoring-constructs'

const maxAgeThreshold: MaxAgeThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.maxAgeInMillis">maxAgeInMillis</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxAgeThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MaxAgeThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxAgeThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MaxAgeThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxAgeThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MaxAgeThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MaxAgeThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MaxAgeThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MaxAgeThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxAgeThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MaxAgeThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MaxAgeThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MaxAgeThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MaxAgeThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MaxAgeThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxAgeThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxAgeInMillis`<sup>Required</sup> <a name="maxAgeInMillis" id="cdk-monitoring-constructs.MaxAgeThreshold.property.maxAgeInMillis"></a>

```typescript
public readonly maxAgeInMillis: number;
```

- *Type:* number

---

### MaxDowntimeThreshold <a name="MaxDowntimeThreshold" id="cdk-monitoring-constructs.MaxDowntimeThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxDowntimeThreshold.Initializer"></a>

```typescript
import { MaxDowntimeThreshold } from 'cdk-monitoring-constructs'

const maxDowntimeThreshold: MaxDowntimeThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.maxDowntimeInMillis">maxDowntimeInMillis</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxDowntimeInMillis`<sup>Required</sup> <a name="maxDowntimeInMillis" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.maxDowntimeInMillis"></a>

```typescript
public readonly maxDowntimeInMillis: number;
```

- *Type:* number

---

### MaxIncomingMessagesCountThreshold <a name="MaxIncomingMessagesCountThreshold" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.Initializer"></a>

```typescript
import { MaxIncomingMessagesCountThreshold } from 'cdk-monitoring-constructs'

const maxIncomingMessagesCountThreshold: MaxIncomingMessagesCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.maxIncomingMessagesCount">maxIncomingMessagesCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxIncomingMessagesCount`<sup>Required</sup> <a name="maxIncomingMessagesCount" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.maxIncomingMessagesCount"></a>

```typescript
public readonly maxIncomingMessagesCount: number;
```

- *Type:* number

---

### MaxItemsCountThreshold <a name="MaxItemsCountThreshold" id="cdk-monitoring-constructs.MaxItemsCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxItemsCountThreshold.Initializer"></a>

```typescript
import { MaxItemsCountThreshold } from 'cdk-monitoring-constructs'

const maxItemsCountThreshold: MaxItemsCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.maxItemsCount">maxItemsCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxItemsCount`<sup>Required</sup> <a name="maxItemsCount" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.maxItemsCount"></a>

```typescript
public readonly maxItemsCount: number;
```

- *Type:* number

---

### MaxIteratorAgeThreshold <a name="MaxIteratorAgeThreshold" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.Initializer"></a>

```typescript
import { MaxIteratorAgeThreshold } from 'cdk-monitoring-constructs'

const maxIteratorAgeThreshold: MaxIteratorAgeThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.maxAgeInMillis">maxAgeInMillis</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxAgeInMillis`<sup>Required</sup> <a name="maxAgeInMillis" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.maxAgeInMillis"></a>

```typescript
public readonly maxAgeInMillis: number;
```

- *Type:* number

---

### MaxMessageAgeThreshold <a name="MaxMessageAgeThreshold" id="cdk-monitoring-constructs.MaxMessageAgeThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.Initializer"></a>

```typescript
import { MaxMessageAgeThreshold } from 'cdk-monitoring-constructs'

const maxMessageAgeThreshold: MaxMessageAgeThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.maxAgeInSeconds">maxAgeInSeconds</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxAgeInSeconds`<sup>Required</sup> <a name="maxAgeInSeconds" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.maxAgeInSeconds"></a>

```typescript
public readonly maxAgeInSeconds: number;
```

- *Type:* number

---

### MaxMessageCountThreshold <a name="MaxMessageCountThreshold" id="cdk-monitoring-constructs.MaxMessageCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxMessageCountThreshold.Initializer"></a>

```typescript
import { MaxMessageCountThreshold } from 'cdk-monitoring-constructs'

const maxMessageCountThreshold: MaxMessageCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.maxMessageCount">maxMessageCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxMessageCount`<sup>Required</sup> <a name="maxMessageCount" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.maxMessageCount"></a>

```typescript
public readonly maxMessageCount: number;
```

- *Type:* number

---

### MaxTimeToDrainThreshold <a name="MaxTimeToDrainThreshold" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.Initializer"></a>

```typescript
import { MaxTimeToDrainThreshold } from 'cdk-monitoring-constructs'

const maxTimeToDrainThreshold: MaxTimeToDrainThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.maxTimeToDrain">maxTimeToDrain</a></code> | <code>aws-cdk-lib.Duration</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxTimeToDrain`<sup>Required</sup> <a name="maxTimeToDrain" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.maxTimeToDrain"></a>

```typescript
public readonly maxTimeToDrain: Duration;
```

- *Type:* aws-cdk-lib.Duration

---

### MaxUsedSwapMemoryThreshold <a name="MaxUsedSwapMemoryThreshold" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.Initializer"></a>

```typescript
import { MaxUsedSwapMemoryThreshold } from 'cdk-monitoring-constructs'

const maxUsedSwapMemoryThreshold: MaxUsedSwapMemoryThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.maxUsedSwapMemoryInBytes">maxUsedSwapMemoryInBytes</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxUsedSwapMemoryInBytes`<sup>Required</sup> <a name="maxUsedSwapMemoryInBytes" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.maxUsedSwapMemoryInBytes"></a>

```typescript
public readonly maxUsedSwapMemoryInBytes: number;
```

- *Type:* number

---

### MetricFactoryDefaults <a name="MetricFactoryDefaults" id="cdk-monitoring-constructs.MetricFactoryDefaults"></a>

These are the globals used for each metric, unless there is some kind of override.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MetricFactoryDefaults.Initializer"></a>

```typescript
import { MetricFactoryDefaults } from 'cdk-monitoring-constructs'

const metricFactoryDefaults: MetricFactoryDefaults = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MetricFactoryDefaults.property.namespace">namespace</a></code> | <code>string</code> | Each metric exists in a namespace. |
| <code><a href="#cdk-monitoring-constructs.MetricFactoryDefaults.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Metric period. |

---

##### `namespace`<sup>Optional</sup> <a name="namespace" id="cdk-monitoring-constructs.MetricFactoryDefaults.property.namespace"></a>

```typescript
public readonly namespace: string;
```

- *Type:* string

Each metric exists in a namespace.

AWS Services have their own namespace, but here you can specify your custom one.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MetricFactoryDefaults.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* DefaultMetricPeriod

Metric period.

Default value is used if not defined.

---

### MetricFactoryProps <a name="MetricFactoryProps" id="cdk-monitoring-constructs.MetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MetricFactoryProps.Initializer"></a>

```typescript
import { MetricFactoryProps } from 'cdk-monitoring-constructs'

const metricFactoryProps: MetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MetricFactoryProps.property.globalDefaults">globalDefaults</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactoryDefaults">MetricFactoryDefaults</a></code> | Allows you to specify the global defaults, which can be overridden in the individual metrics or alarms. |

---

##### `globalDefaults`<sup>Optional</sup> <a name="globalDefaults" id="cdk-monitoring-constructs.MetricFactoryProps.property.globalDefaults"></a>

```typescript
public readonly globalDefaults: MetricFactoryDefaults;
```

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactoryDefaults">MetricFactoryDefaults</a>

Allows you to specify the global defaults, which can be overridden in the individual metrics or alarms.

---

### MinFreeableMemoryThreshold <a name="MinFreeableMemoryThreshold" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.Initializer"></a>

```typescript
import { MinFreeableMemoryThreshold } from 'cdk-monitoring-constructs'

const minFreeableMemoryThreshold: MinFreeableMemoryThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.minFreeableMemoryInBytes">minFreeableMemoryInBytes</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `minFreeableMemoryInBytes`<sup>Required</sup> <a name="minFreeableMemoryInBytes" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.minFreeableMemoryInBytes"></a>

```typescript
public readonly minFreeableMemoryInBytes: number;
```

- *Type:* number

---

### MinIncomingMessagesCountThreshold <a name="MinIncomingMessagesCountThreshold" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.Initializer"></a>

```typescript
import { MinIncomingMessagesCountThreshold } from 'cdk-monitoring-constructs'

const minIncomingMessagesCountThreshold: MinIncomingMessagesCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.minIncomingMessagesCount">minIncomingMessagesCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `minIncomingMessagesCount`<sup>Required</sup> <a name="minIncomingMessagesCount" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.minIncomingMessagesCount"></a>

```typescript
public readonly minIncomingMessagesCount: number;
```

- *Type:* number

---

### MinMessageCountThreshold <a name="MinMessageCountThreshold" id="cdk-monitoring-constructs.MinMessageCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MinMessageCountThreshold.Initializer"></a>

```typescript
import { MinMessageCountThreshold } from 'cdk-monitoring-constructs'

const minMessageCountThreshold: MinMessageCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.minMessageCount">minMessageCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `minMessageCount`<sup>Required</sup> <a name="minMessageCount" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.minMessageCount"></a>

```typescript
public readonly minMessageCount: number;
```

- *Type:* number

---

### MinProcessedBytesThreshold <a name="MinProcessedBytesThreshold" id="cdk-monitoring-constructs.MinProcessedBytesThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.Initializer"></a>

```typescript
import { MinProcessedBytesThreshold } from 'cdk-monitoring-constructs'

const minProcessedBytesThreshold: MinProcessedBytesThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.minProcessedBytes">minProcessedBytes</a></code> | <code>number</code> | Threshold for the least number of bytes processed. |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `minProcessedBytes`<sup>Required</sup> <a name="minProcessedBytes" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.minProcessedBytes"></a>

```typescript
public readonly minProcessedBytes: number;
```

- *Type:* number

Threshold for the least number of bytes processed.

---

### MinRunningTaskCountThreshold <a name="MinRunningTaskCountThreshold" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.Initializer"></a>

```typescript
import { MinRunningTaskCountThreshold } from 'cdk-monitoring-constructs'

const minRunningTaskCountThreshold: MinRunningTaskCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.minRunningTasks">minRunningTasks</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `minRunningTasks`<sup>Required</sup> <a name="minRunningTasks" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.minRunningTasks"></a>

```typescript
public readonly minRunningTasks: number;
```

- *Type:* number

---

### MonitoringAspectProps <a name="MonitoringAspectProps" id="cdk-monitoring-constructs.MonitoringAspectProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MonitoringAspectProps.Initializer"></a>

```typescript
import { MonitoringAspectProps } from 'cdk-monitoring-constructs'

const monitoringAspectProps: MonitoringAspectProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.acm">acm</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.apiGateway">apiGateway</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.apiGatewayV2">apiGatewayV2</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.appSync">appSync</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.autoScalingGroup">autoScalingGroup</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.billing">billing</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.cloudFront">cloudFront</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.codeBuild">codeBuild</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.documentDb">documentDb</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.dynamoDB">dynamoDB</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.ec2">ec2</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.elasticCache">elasticCache</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.glue">glue</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisDataAnalytics">kinesisDataAnalytics</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisDataStream">kinesisDataStream</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisFirehose">kinesisFirehose</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.lambda">lambda</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.openSearch">openSearch</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.rds">rds</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.redshift">redshift</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.s3">s3</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.secretsManager">secretsManager</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.sns">sns</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.sqs">sqs</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.stepFunctions">stepFunctions</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.syntheticsCanaries">syntheticsCanaries</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.webApplicationFirewallAclV2">webApplicationFirewallAclV2</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a></code> | *No description.* |

---

##### `acm`<sup>Optional</sup> <a name="acm" id="cdk-monitoring-constructs.MonitoringAspectProps.property.acm"></a>

```typescript
public readonly acm: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `apiGateway`<sup>Optional</sup> <a name="apiGateway" id="cdk-monitoring-constructs.MonitoringAspectProps.property.apiGateway"></a>

```typescript
public readonly apiGateway: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `apiGatewayV2`<sup>Optional</sup> <a name="apiGatewayV2" id="cdk-monitoring-constructs.MonitoringAspectProps.property.apiGatewayV2"></a>

```typescript
public readonly apiGatewayV2: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `appSync`<sup>Optional</sup> <a name="appSync" id="cdk-monitoring-constructs.MonitoringAspectProps.property.appSync"></a>

```typescript
public readonly appSync: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `autoScalingGroup`<sup>Optional</sup> <a name="autoScalingGroup" id="cdk-monitoring-constructs.MonitoringAspectProps.property.autoScalingGroup"></a>

```typescript
public readonly autoScalingGroup: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `billing`<sup>Optional</sup> <a name="billing" id="cdk-monitoring-constructs.MonitoringAspectProps.property.billing"></a>

```typescript
public readonly billing: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `cloudFront`<sup>Optional</sup> <a name="cloudFront" id="cdk-monitoring-constructs.MonitoringAspectProps.property.cloudFront"></a>

```typescript
public readonly cloudFront: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `codeBuild`<sup>Optional</sup> <a name="codeBuild" id="cdk-monitoring-constructs.MonitoringAspectProps.property.codeBuild"></a>

```typescript
public readonly codeBuild: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `documentDb`<sup>Optional</sup> <a name="documentDb" id="cdk-monitoring-constructs.MonitoringAspectProps.property.documentDb"></a>

```typescript
public readonly documentDb: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `dynamoDB`<sup>Optional</sup> <a name="dynamoDB" id="cdk-monitoring-constructs.MonitoringAspectProps.property.dynamoDB"></a>

```typescript
public readonly dynamoDB: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `ec2`<sup>Optional</sup> <a name="ec2" id="cdk-monitoring-constructs.MonitoringAspectProps.property.ec2"></a>

```typescript
public readonly ec2: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `elasticCache`<sup>Optional</sup> <a name="elasticCache" id="cdk-monitoring-constructs.MonitoringAspectProps.property.elasticCache"></a>

```typescript
public readonly elasticCache: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `glue`<sup>Optional</sup> <a name="glue" id="cdk-monitoring-constructs.MonitoringAspectProps.property.glue"></a>

```typescript
public readonly glue: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `kinesisDataAnalytics`<sup>Optional</sup> <a name="kinesisDataAnalytics" id="cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisDataAnalytics"></a>

```typescript
public readonly kinesisDataAnalytics: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `kinesisDataStream`<sup>Optional</sup> <a name="kinesisDataStream" id="cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisDataStream"></a>

```typescript
public readonly kinesisDataStream: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `kinesisFirehose`<sup>Optional</sup> <a name="kinesisFirehose" id="cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisFirehose"></a>

```typescript
public readonly kinesisFirehose: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `lambda`<sup>Optional</sup> <a name="lambda" id="cdk-monitoring-constructs.MonitoringAspectProps.property.lambda"></a>

```typescript
public readonly lambda: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `openSearch`<sup>Optional</sup> <a name="openSearch" id="cdk-monitoring-constructs.MonitoringAspectProps.property.openSearch"></a>

```typescript
public readonly openSearch: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `rds`<sup>Optional</sup> <a name="rds" id="cdk-monitoring-constructs.MonitoringAspectProps.property.rds"></a>

```typescript
public readonly rds: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `redshift`<sup>Optional</sup> <a name="redshift" id="cdk-monitoring-constructs.MonitoringAspectProps.property.redshift"></a>

```typescript
public readonly redshift: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `s3`<sup>Optional</sup> <a name="s3" id="cdk-monitoring-constructs.MonitoringAspectProps.property.s3"></a>

```typescript
public readonly s3: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `secretsManager`<sup>Optional</sup> <a name="secretsManager" id="cdk-monitoring-constructs.MonitoringAspectProps.property.secretsManager"></a>

```typescript
public readonly secretsManager: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `sns`<sup>Optional</sup> <a name="sns" id="cdk-monitoring-constructs.MonitoringAspectProps.property.sns"></a>

```typescript
public readonly sns: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `sqs`<sup>Optional</sup> <a name="sqs" id="cdk-monitoring-constructs.MonitoringAspectProps.property.sqs"></a>

```typescript
public readonly sqs: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `stepFunctions`<sup>Optional</sup> <a name="stepFunctions" id="cdk-monitoring-constructs.MonitoringAspectProps.property.stepFunctions"></a>

```typescript
public readonly stepFunctions: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `syntheticsCanaries`<sup>Optional</sup> <a name="syntheticsCanaries" id="cdk-monitoring-constructs.MonitoringAspectProps.property.syntheticsCanaries"></a>

```typescript
public readonly syntheticsCanaries: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

##### `webApplicationFirewallAclV2`<sup>Optional</sup> <a name="webApplicationFirewallAclV2" id="cdk-monitoring-constructs.MonitoringAspectProps.property.webApplicationFirewallAclV2"></a>

```typescript
public readonly webApplicationFirewallAclV2: MonitoringAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectType">MonitoringAspectType</a>

---

### MonitoringAspectType <a name="MonitoringAspectType" id="cdk-monitoring-constructs.MonitoringAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MonitoringAspectType.Initializer"></a>

```typescript
import { MonitoringAspectType } from 'cdk-monitoring-constructs'

const monitoringAspectType: MonitoringAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectType.property.props">props</a></code> | <code>any</code> | The monitoring props for this resource. |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.MonitoringAspectType.property.enabled"></a>

```typescript
public readonly enabled: boolean;
```

- *Type:* boolean
- *Default:* true

If the monitoring aspect is enabled for this resource.

---

##### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringAspectType.property.props"></a>

```typescript
public readonly props: any;
```

- *Type:* any
- *Default:* none

The monitoring props for this resource.

---

### MonitoringDashboardsOverrideProps <a name="MonitoringDashboardsOverrideProps" id="cdk-monitoring-constructs.MonitoringDashboardsOverrideProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MonitoringDashboardsOverrideProps.Initializer"></a>

```typescript
import { MonitoringDashboardsOverrideProps } from 'cdk-monitoring-constructs'

const monitoringDashboardsOverrideProps: MonitoringDashboardsOverrideProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsOverrideProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsOverrideProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsOverrideProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.MonitoringDashboardsOverrideProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.MonitoringDashboardsOverrideProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.MonitoringDashboardsOverrideProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

### MonitoringDashboardsProps <a name="MonitoringDashboardsProps" id="cdk-monitoring-constructs.MonitoringDashboardsProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MonitoringDashboardsProps.Initializer"></a>

```typescript
import { MonitoringDashboardsProps } from 'cdk-monitoring-constructs'

const monitoringDashboardsProps: MonitoringDashboardsProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsProps.property.dashboardNamePrefix">dashboardNamePrefix</a></code> | <code>string</code> | Prefix added to each dashboard name. |
| <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsProps.property.createAlarmDashboard">createAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating whether the alarm dashboard should be created. |
| <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsProps.property.createDashboard">createDashboard</a></code> | <code>boolean</code> | Flag indicating whether the default dashboard should be created. |
| <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsProps.property.createSummaryDashboard">createSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating whether the summary dashboard should be created. |
| <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsProps.property.detailDashboardPeriodOverride">detailDashboardPeriodOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.PeriodOverride</code> | Period override for the detail dashboard (and other auxiliary dashboards). |
| <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsProps.property.detailDashboardRange">detailDashboardRange</a></code> | <code>aws-cdk-lib.Duration</code> | Range of the detail dashboard (and other auxiliary dashboards). |
| <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsProps.property.renderingPreference">renderingPreference</a></code> | <code><a href="#cdk-monitoring-constructs.DashboardRenderingPreference">DashboardRenderingPreference</a></code> | Dashboard rendering preference. |
| <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsProps.property.summaryDashboardPeriodOverride">summaryDashboardPeriodOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.PeriodOverride</code> | Period override for the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsProps.property.summaryDashboardRange">summaryDashboardRange</a></code> | <code>aws-cdk-lib.Duration</code> | Range of the summary dashboard. |

---

##### `dashboardNamePrefix`<sup>Required</sup> <a name="dashboardNamePrefix" id="cdk-monitoring-constructs.MonitoringDashboardsProps.property.dashboardNamePrefix"></a>

```typescript
public readonly dashboardNamePrefix: string;
```

- *Type:* string

Prefix added to each dashboard name.

This allows to have all dashboards sorted close to each other and also separate multiple monitoring facades.

---

##### `createAlarmDashboard`<sup>Optional</sup> <a name="createAlarmDashboard" id="cdk-monitoring-constructs.MonitoringDashboardsProps.property.createAlarmDashboard"></a>

```typescript
public readonly createAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* false

Flag indicating whether the alarm dashboard should be created.

This is independent on other create dashboard flags.

---

##### `createDashboard`<sup>Optional</sup> <a name="createDashboard" id="cdk-monitoring-constructs.MonitoringDashboardsProps.property.createDashboard"></a>

```typescript
public readonly createDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating whether the default dashboard should be created.

This is independent on other create dashboard flags.

---

##### `createSummaryDashboard`<sup>Optional</sup> <a name="createSummaryDashboard" id="cdk-monitoring-constructs.MonitoringDashboardsProps.property.createSummaryDashboard"></a>

```typescript
public readonly createSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* false

Flag indicating whether the summary dashboard should be created.

This is independent on other create dashboard flags.

---

##### `detailDashboardPeriodOverride`<sup>Optional</sup> <a name="detailDashboardPeriodOverride" id="cdk-monitoring-constructs.MonitoringDashboardsProps.property.detailDashboardPeriodOverride"></a>

```typescript
public readonly detailDashboardPeriodOverride: PeriodOverride;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.PeriodOverride
- *Default:* respect individual graphs (PeriodOverride.INHERIT)

Period override for the detail dashboard (and other auxiliary dashboards).

---

##### `detailDashboardRange`<sup>Optional</sup> <a name="detailDashboardRange" id="cdk-monitoring-constructs.MonitoringDashboardsProps.property.detailDashboardRange"></a>

```typescript
public readonly detailDashboardRange: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* 8 hours

Range of the detail dashboard (and other auxiliary dashboards).

> [DefaultDetailDashboardRange](DefaultDetailDashboardRange)

---

##### `renderingPreference`<sup>Optional</sup> <a name="renderingPreference" id="cdk-monitoring-constructs.MonitoringDashboardsProps.property.renderingPreference"></a>

```typescript
public readonly renderingPreference: DashboardRenderingPreference;
```

- *Type:* <a href="#cdk-monitoring-constructs.DashboardRenderingPreference">DashboardRenderingPreference</a>
- *Default:* DashboardRenderingPreference.INTERACTIVE_ONLY

Dashboard rendering preference.

---

##### `summaryDashboardPeriodOverride`<sup>Optional</sup> <a name="summaryDashboardPeriodOverride" id="cdk-monitoring-constructs.MonitoringDashboardsProps.property.summaryDashboardPeriodOverride"></a>

```typescript
public readonly summaryDashboardPeriodOverride: PeriodOverride;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.PeriodOverride
- *Default:* respect individual graphs (PeriodOverride.INHERIT)

Period override for the summary dashboard.

---

##### `summaryDashboardRange`<sup>Optional</sup> <a name="summaryDashboardRange" id="cdk-monitoring-constructs.MonitoringDashboardsProps.property.summaryDashboardRange"></a>

```typescript
public readonly summaryDashboardRange: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* 14 days

Range of the summary dashboard.

---

### MonitoringFacadeProps <a name="MonitoringFacadeProps" id="cdk-monitoring-constructs.MonitoringFacadeProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MonitoringFacadeProps.Initializer"></a>

```typescript
import { MonitoringFacadeProps } from 'cdk-monitoring-constructs'

const monitoringFacadeProps: MonitoringFacadeProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacadeProps.property.alarmFactoryDefaults">alarmFactoryDefaults</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactoryDefaults">AlarmFactoryDefaults</a></code> | Defaults for alarm factory. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacadeProps.property.dashboardFactory">dashboardFactory</a></code> | <code><a href="#cdk-monitoring-constructs.IDashboardFactory">IDashboardFactory</a></code> | Defaults for dashboard factory. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacadeProps.property.metricFactoryDefaults">metricFactoryDefaults</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactoryDefaults">MetricFactoryDefaults</a></code> | Defaults for metric factory. |

---

##### `alarmFactoryDefaults`<sup>Optional</sup> <a name="alarmFactoryDefaults" id="cdk-monitoring-constructs.MonitoringFacadeProps.property.alarmFactoryDefaults"></a>

```typescript
public readonly alarmFactoryDefaults: AlarmFactoryDefaults;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactoryDefaults">AlarmFactoryDefaults</a>
- *Default:* actions enabled, facade logical ID used as default alarm name prefix

Defaults for alarm factory.

---

##### `dashboardFactory`<sup>Optional</sup> <a name="dashboardFactory" id="cdk-monitoring-constructs.MonitoringFacadeProps.property.dashboardFactory"></a>

```typescript
public readonly dashboardFactory: IDashboardFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.IDashboardFactory">IDashboardFactory</a>
- *Default:* `DefaultDashboardFactory`; facade logical ID used as default name

Defaults for dashboard factory.

---

##### `metricFactoryDefaults`<sup>Optional</sup> <a name="metricFactoryDefaults" id="cdk-monitoring-constructs.MonitoringFacadeProps.property.metricFactoryDefaults"></a>

```typescript
public readonly metricFactoryDefaults: MetricFactoryDefaults;
```

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactoryDefaults">MetricFactoryDefaults</a>
- *Default:* empty (no preferences)

Defaults for metric factory.

---

### MonitoringHeaderWidgetProps <a name="MonitoringHeaderWidgetProps" id="cdk-monitoring-constructs.MonitoringHeaderWidgetProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MonitoringHeaderWidgetProps.Initializer"></a>

```typescript
import { MonitoringHeaderWidgetProps } from 'cdk-monitoring-constructs'

const monitoringHeaderWidgetProps: MonitoringHeaderWidgetProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringHeaderWidgetProps.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringHeaderWidgetProps.property.family">family</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringHeaderWidgetProps.property.goToLinkUrl">goToLinkUrl</a></code> | <code>string</code> | *No description.* |

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.MonitoringHeaderWidgetProps.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `family`<sup>Optional</sup> <a name="family" id="cdk-monitoring-constructs.MonitoringHeaderWidgetProps.property.family"></a>

```typescript
public readonly family: string;
```

- *Type:* string

---

##### `goToLinkUrl`<sup>Optional</sup> <a name="goToLinkUrl" id="cdk-monitoring-constructs.MonitoringHeaderWidgetProps.property.goToLinkUrl"></a>

```typescript
public readonly goToLinkUrl: string;
```

- *Type:* string

---

### NameResolutionInput <a name="NameResolutionInput" id="cdk-monitoring-constructs.NameResolutionInput"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.NameResolutionInput.Initializer"></a>

```typescript
import { NameResolutionInput } from 'cdk-monitoring-constructs'

const nameResolutionInput: NameResolutionInput = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.NameResolutionInput.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.NameResolutionInput.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.NameResolutionInput.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.NameResolutionInput.property.fallbackConstructName">fallbackConstructName</a></code> | <code>string</code> | Fallback name before we fallback to extracting name from the construct itself. |
| <code><a href="#cdk-monitoring-constructs.NameResolutionInput.property.namedConstruct">namedConstruct</a></code> | <code>constructs.IConstruct</code> | Construct that this naming strategy is naming. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.NameResolutionInput.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.NameResolutionInput.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.NameResolutionInput.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `fallbackConstructName`<sup>Optional</sup> <a name="fallbackConstructName" id="cdk-monitoring-constructs.NameResolutionInput.property.fallbackConstructName"></a>

```typescript
public readonly fallbackConstructName: string;
```

- *Type:* string
- *Default:* use namedConstruct to extract the name

Fallback name before we fallback to extracting name from the construct itself.

This might be some construct reference, such is cluster ID, stream name, and so on.

---

##### `namedConstruct`<sup>Optional</sup> <a name="namedConstruct" id="cdk-monitoring-constructs.NameResolutionInput.property.namedConstruct"></a>

```typescript
public readonly namedConstruct: IConstruct;
```

- *Type:* constructs.IConstruct

Construct that this naming strategy is naming.

It is used as a last resort for naming.

---

### NetworkLoadBalancerMetricFactoryProps <a name="NetworkLoadBalancerMetricFactoryProps" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps"></a>

Props to create NetworkLoadBalancerMetricFactory.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.Initializer"></a>

```typescript
import { NetworkLoadBalancerMetricFactoryProps } from 'cdk-monitoring-constructs'

const networkLoadBalancerMetricFactoryProps: NetworkLoadBalancerMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.networkLoadBalancer">networkLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.networkTargetGroup">networkTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.NetworkTargetGroup</code> | *No description.* |

---

##### `networkLoadBalancer`<sup>Required</sup> <a name="networkLoadBalancer" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.networkLoadBalancer"></a>

```typescript
public readonly networkLoadBalancer: NetworkLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer

---

##### `networkTargetGroup`<sup>Required</sup> <a name="networkTargetGroup" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.networkTargetGroup"></a>

```typescript
public readonly networkTargetGroup: NetworkTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.NetworkTargetGroup

---

### NetworkLoadBalancerMonitoringProps <a name="NetworkLoadBalancerMonitoringProps" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.Initializer"></a>

```typescript
import { NetworkLoadBalancerMonitoringProps } from 'cdk-monitoring-constructs'

const networkLoadBalancerMonitoringProps: NetworkLoadBalancerMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.networkLoadBalancer">networkLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.networkTargetGroup">networkTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.NetworkTargetGroup</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addHealthyTaskCountAlarm">addHealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addHealthyTaskPercentAlarm">addHealthyTaskPercentAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addMinProcessedBytesAlarm">addMinProcessedBytesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addUnhealthyTaskCountAlarm">addUnhealthyTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}</code> | *No description.* |

---

##### `networkLoadBalancer`<sup>Required</sup> <a name="networkLoadBalancer" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.networkLoadBalancer"></a>

```typescript
public readonly networkLoadBalancer: NetworkLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer

---

##### `networkTargetGroup`<sup>Required</sup> <a name="networkTargetGroup" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.networkTargetGroup"></a>

```typescript
public readonly networkTargetGroup: NetworkTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.NetworkTargetGroup

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addHealthyTaskCountAlarm`<sup>Optional</sup> <a name="addHealthyTaskCountAlarm" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addHealthyTaskCountAlarm"></a>

```typescript
public readonly addHealthyTaskCountAlarm: {[ key: string ]: HealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>}

---

##### `addHealthyTaskPercentAlarm`<sup>Optional</sup> <a name="addHealthyTaskPercentAlarm" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addHealthyTaskPercentAlarm"></a>

```typescript
public readonly addHealthyTaskPercentAlarm: {[ key: string ]: HealthyTaskPercentThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>}

---

##### `addMinProcessedBytesAlarm`<sup>Optional</sup> <a name="addMinProcessedBytesAlarm" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addMinProcessedBytesAlarm"></a>

```typescript
public readonly addMinProcessedBytesAlarm: {[ key: string ]: MinProcessedBytesThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>}

---

##### `addUnhealthyTaskCountAlarm`<sup>Optional</sup> <a name="addUnhealthyTaskCountAlarm" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.addUnhealthyTaskCountAlarm"></a>

```typescript
public readonly addUnhealthyTaskCountAlarm: {[ key: string ]: UnhealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}

---

### NotificationsFailedThreshold <a name="NotificationsFailedThreshold" id="cdk-monitoring-constructs.NotificationsFailedThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.NotificationsFailedThreshold.Initializer"></a>

```typescript
import { NotificationsFailedThreshold } from 'cdk-monitoring-constructs'

const notificationsFailedThreshold: NotificationsFailedThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.maxNotificationsFailedCount">maxNotificationsFailedCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxNotificationsFailedCount`<sup>Required</sup> <a name="maxNotificationsFailedCount" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.maxNotificationsFailedCount"></a>

```typescript
public readonly maxNotificationsFailedCount: number;
```

- *Type:* number

---

### OpenSearchClusterAutomatedSnapshotFailureThreshold <a name="OpenSearchClusterAutomatedSnapshotFailureThreshold" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.Initializer"></a>

```typescript
import { OpenSearchClusterAutomatedSnapshotFailureThreshold } from 'cdk-monitoring-constructs'

const openSearchClusterAutomatedSnapshotFailureThreshold: OpenSearchClusterAutomatedSnapshotFailureThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.maxFailures">maxFailures</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxFailures`<sup>Required</sup> <a name="maxFailures" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.maxFailures"></a>

```typescript
public readonly maxFailures: number;
```

- *Type:* number

---

### OpenSearchClusterIndexWritesBlockedThreshold <a name="OpenSearchClusterIndexWritesBlockedThreshold" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.Initializer"></a>

```typescript
import { OpenSearchClusterIndexWritesBlockedThreshold } from 'cdk-monitoring-constructs'

const openSearchClusterIndexWritesBlockedThreshold: OpenSearchClusterIndexWritesBlockedThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.maxBlockedWrites">maxBlockedWrites</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxBlockedWrites`<sup>Required</sup> <a name="maxBlockedWrites" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.maxBlockedWrites"></a>

```typescript
public readonly maxBlockedWrites: number;
```

- *Type:* number

---

### OpenSearchClusterMetricFactoryProps <a name="OpenSearchClusterMetricFactoryProps" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps.Initializer"></a>

```typescript
import { OpenSearchClusterMetricFactoryProps } from 'cdk-monitoring-constructs'

const openSearchClusterMetricFactoryProps: OpenSearchClusterMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps.property.domain">domain</a></code> | <code>aws-cdk-lib.aws_elasticsearch.IDomain \| aws-cdk-lib.aws_elasticsearch.CfnDomain \| aws-cdk-lib.aws_opensearchservice.IDomain \| aws-cdk-lib.aws_opensearchservice.CfnDomain</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps.property.fillTpsWithZeroes">fillTpsWithZeroes</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |

---

##### `domain`<sup>Required</sup> <a name="domain" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps.property.domain"></a>

```typescript
public readonly domain: IDomain | CfnDomain | IDomain | CfnDomain;
```

- *Type:* aws-cdk-lib.aws_elasticsearch.IDomain | aws-cdk-lib.aws_elasticsearch.CfnDomain | aws-cdk-lib.aws_opensearchservice.IDomain | aws-cdk-lib.aws_opensearchservice.CfnDomain

---

##### `fillTpsWithZeroes`<sup>Optional</sup> <a name="fillTpsWithZeroes" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps.property.fillTpsWithZeroes"></a>

```typescript
public readonly fillTpsWithZeroes: boolean;
```

- *Type:* boolean
- *Default:* true

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

### OpenSearchClusterMonitoringOptions <a name="OpenSearchClusterMonitoringOptions" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.Initializer"></a>

```typescript
import { OpenSearchClusterMonitoringOptions } from 'cdk-monitoring-constructs'

const openSearchClusterMonitoringOptions: OpenSearchClusterMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addClusterAutomatedSnapshotFailureAlarm">addClusterAutomatedSnapshotFailureAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold">OpenSearchClusterAutomatedSnapshotFailureThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addClusterIndexWritesBlockedAlarm">addClusterIndexWritesBlockedAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold">OpenSearchClusterIndexWritesBlockedThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addClusterNodeCountAlarm">addClusterNodeCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold">OpenSearchClusterNodesThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addClusterStatusAlarm">addClusterStatusAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization">OpenSearchClusterStatusCustomization</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addCpuSpaceUsageAlarm">addCpuSpaceUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addDiskSpaceUsageAlarm">addDiskSpaceUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addIndexingLatencyP50Alarm">addIndexingLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addIndexingLatencyP90Alarm">addIndexingLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addIndexingLatencyP99Alarm">addIndexingLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addJvmMemoryPressureAlarm">addJvmMemoryPressureAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addKmsKeyErrorAlarm">addKmsKeyErrorAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold">OpenSearchKmsKeyErrorThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addKmsKeyInaccessibleAlarm">addKmsKeyInaccessibleAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold">OpenSearchKmsKeyInaccessibleThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addMasterCpuSpaceUsageAlarm">addMasterCpuSpaceUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addMasterJvmMemoryPressureAlarm">addMasterJvmMemoryPressureAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addSearchLatencyP50Alarm">addSearchLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addSearchLatencyP90Alarm">addSearchLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addSearchLatencyP99Alarm">addSearchLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addClusterAutomatedSnapshotFailureAlarm`<sup>Optional</sup> <a name="addClusterAutomatedSnapshotFailureAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addClusterAutomatedSnapshotFailureAlarm"></a>

```typescript
public readonly addClusterAutomatedSnapshotFailureAlarm: {[ key: string ]: OpenSearchClusterAutomatedSnapshotFailureThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold">OpenSearchClusterAutomatedSnapshotFailureThreshold</a>}

---

##### `addClusterIndexWritesBlockedAlarm`<sup>Optional</sup> <a name="addClusterIndexWritesBlockedAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addClusterIndexWritesBlockedAlarm"></a>

```typescript
public readonly addClusterIndexWritesBlockedAlarm: {[ key: string ]: OpenSearchClusterIndexWritesBlockedThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold">OpenSearchClusterIndexWritesBlockedThreshold</a>}

---

##### `addClusterNodeCountAlarm`<sup>Optional</sup> <a name="addClusterNodeCountAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addClusterNodeCountAlarm"></a>

```typescript
public readonly addClusterNodeCountAlarm: {[ key: string ]: OpenSearchClusterNodesThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold">OpenSearchClusterNodesThreshold</a>}

---

##### `addClusterStatusAlarm`<sup>Optional</sup> <a name="addClusterStatusAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addClusterStatusAlarm"></a>

```typescript
public readonly addClusterStatusAlarm: {[ key: string ]: OpenSearchClusterStatusCustomization};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization">OpenSearchClusterStatusCustomization</a>}

---

##### `addCpuSpaceUsageAlarm`<sup>Optional</sup> <a name="addCpuSpaceUsageAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addCpuSpaceUsageAlarm"></a>

```typescript
public readonly addCpuSpaceUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addDiskSpaceUsageAlarm`<sup>Optional</sup> <a name="addDiskSpaceUsageAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addDiskSpaceUsageAlarm"></a>

```typescript
public readonly addDiskSpaceUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addIndexingLatencyP50Alarm`<sup>Optional</sup> <a name="addIndexingLatencyP50Alarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addIndexingLatencyP50Alarm"></a>

```typescript
public readonly addIndexingLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIndexingLatencyP90Alarm`<sup>Optional</sup> <a name="addIndexingLatencyP90Alarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addIndexingLatencyP90Alarm"></a>

```typescript
public readonly addIndexingLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIndexingLatencyP99Alarm`<sup>Optional</sup> <a name="addIndexingLatencyP99Alarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addIndexingLatencyP99Alarm"></a>

```typescript
public readonly addIndexingLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addJvmMemoryPressureAlarm`<sup>Optional</sup> <a name="addJvmMemoryPressureAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addJvmMemoryPressureAlarm"></a>

```typescript
public readonly addJvmMemoryPressureAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addKmsKeyErrorAlarm`<sup>Optional</sup> <a name="addKmsKeyErrorAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addKmsKeyErrorAlarm"></a>

```typescript
public readonly addKmsKeyErrorAlarm: {[ key: string ]: OpenSearchKmsKeyErrorThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold">OpenSearchKmsKeyErrorThreshold</a>}

---

##### `addKmsKeyInaccessibleAlarm`<sup>Optional</sup> <a name="addKmsKeyInaccessibleAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addKmsKeyInaccessibleAlarm"></a>

```typescript
public readonly addKmsKeyInaccessibleAlarm: {[ key: string ]: OpenSearchKmsKeyInaccessibleThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold">OpenSearchKmsKeyInaccessibleThreshold</a>}

---

##### `addMasterCpuSpaceUsageAlarm`<sup>Optional</sup> <a name="addMasterCpuSpaceUsageAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addMasterCpuSpaceUsageAlarm"></a>

```typescript
public readonly addMasterCpuSpaceUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMasterJvmMemoryPressureAlarm`<sup>Optional</sup> <a name="addMasterJvmMemoryPressureAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addMasterJvmMemoryPressureAlarm"></a>

```typescript
public readonly addMasterJvmMemoryPressureAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addSearchLatencyP50Alarm`<sup>Optional</sup> <a name="addSearchLatencyP50Alarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addSearchLatencyP50Alarm"></a>

```typescript
public readonly addSearchLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSearchLatencyP90Alarm`<sup>Optional</sup> <a name="addSearchLatencyP90Alarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addSearchLatencyP90Alarm"></a>

```typescript
public readonly addSearchLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSearchLatencyP99Alarm`<sup>Optional</sup> <a name="addSearchLatencyP99Alarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.addSearchLatencyP99Alarm"></a>

```typescript
public readonly addSearchLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

### OpenSearchClusterMonitoringProps <a name="OpenSearchClusterMonitoringProps" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.Initializer"></a>

```typescript
import { OpenSearchClusterMonitoringProps } from 'cdk-monitoring-constructs'

const openSearchClusterMonitoringProps: OpenSearchClusterMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.domain">domain</a></code> | <code>aws-cdk-lib.aws_elasticsearch.IDomain \| aws-cdk-lib.aws_elasticsearch.CfnDomain \| aws-cdk-lib.aws_opensearchservice.IDomain \| aws-cdk-lib.aws_opensearchservice.CfnDomain</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.fillTpsWithZeroes">fillTpsWithZeroes</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addClusterAutomatedSnapshotFailureAlarm">addClusterAutomatedSnapshotFailureAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold">OpenSearchClusterAutomatedSnapshotFailureThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addClusterIndexWritesBlockedAlarm">addClusterIndexWritesBlockedAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold">OpenSearchClusterIndexWritesBlockedThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addClusterNodeCountAlarm">addClusterNodeCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold">OpenSearchClusterNodesThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addClusterStatusAlarm">addClusterStatusAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization">OpenSearchClusterStatusCustomization</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addCpuSpaceUsageAlarm">addCpuSpaceUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addDiskSpaceUsageAlarm">addDiskSpaceUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addIndexingLatencyP50Alarm">addIndexingLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addIndexingLatencyP90Alarm">addIndexingLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addIndexingLatencyP99Alarm">addIndexingLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addJvmMemoryPressureAlarm">addJvmMemoryPressureAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addKmsKeyErrorAlarm">addKmsKeyErrorAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold">OpenSearchKmsKeyErrorThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addKmsKeyInaccessibleAlarm">addKmsKeyInaccessibleAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold">OpenSearchKmsKeyInaccessibleThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addMasterCpuSpaceUsageAlarm">addMasterCpuSpaceUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addMasterJvmMemoryPressureAlarm">addMasterJvmMemoryPressureAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addSearchLatencyP50Alarm">addSearchLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addSearchLatencyP90Alarm">addSearchLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addSearchLatencyP99Alarm">addSearchLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |

---

##### `domain`<sup>Required</sup> <a name="domain" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.domain"></a>

```typescript
public readonly domain: IDomain | CfnDomain | IDomain | CfnDomain;
```

- *Type:* aws-cdk-lib.aws_elasticsearch.IDomain | aws-cdk-lib.aws_elasticsearch.CfnDomain | aws-cdk-lib.aws_opensearchservice.IDomain | aws-cdk-lib.aws_opensearchservice.CfnDomain

---

##### `fillTpsWithZeroes`<sup>Optional</sup> <a name="fillTpsWithZeroes" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.fillTpsWithZeroes"></a>

```typescript
public readonly fillTpsWithZeroes: boolean;
```

- *Type:* boolean
- *Default:* true

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addClusterAutomatedSnapshotFailureAlarm`<sup>Optional</sup> <a name="addClusterAutomatedSnapshotFailureAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addClusterAutomatedSnapshotFailureAlarm"></a>

```typescript
public readonly addClusterAutomatedSnapshotFailureAlarm: {[ key: string ]: OpenSearchClusterAutomatedSnapshotFailureThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold">OpenSearchClusterAutomatedSnapshotFailureThreshold</a>}

---

##### `addClusterIndexWritesBlockedAlarm`<sup>Optional</sup> <a name="addClusterIndexWritesBlockedAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addClusterIndexWritesBlockedAlarm"></a>

```typescript
public readonly addClusterIndexWritesBlockedAlarm: {[ key: string ]: OpenSearchClusterIndexWritesBlockedThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold">OpenSearchClusterIndexWritesBlockedThreshold</a>}

---

##### `addClusterNodeCountAlarm`<sup>Optional</sup> <a name="addClusterNodeCountAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addClusterNodeCountAlarm"></a>

```typescript
public readonly addClusterNodeCountAlarm: {[ key: string ]: OpenSearchClusterNodesThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold">OpenSearchClusterNodesThreshold</a>}

---

##### `addClusterStatusAlarm`<sup>Optional</sup> <a name="addClusterStatusAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addClusterStatusAlarm"></a>

```typescript
public readonly addClusterStatusAlarm: {[ key: string ]: OpenSearchClusterStatusCustomization};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization">OpenSearchClusterStatusCustomization</a>}

---

##### `addCpuSpaceUsageAlarm`<sup>Optional</sup> <a name="addCpuSpaceUsageAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addCpuSpaceUsageAlarm"></a>

```typescript
public readonly addCpuSpaceUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addDiskSpaceUsageAlarm`<sup>Optional</sup> <a name="addDiskSpaceUsageAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addDiskSpaceUsageAlarm"></a>

```typescript
public readonly addDiskSpaceUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addIndexingLatencyP50Alarm`<sup>Optional</sup> <a name="addIndexingLatencyP50Alarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addIndexingLatencyP50Alarm"></a>

```typescript
public readonly addIndexingLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIndexingLatencyP90Alarm`<sup>Optional</sup> <a name="addIndexingLatencyP90Alarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addIndexingLatencyP90Alarm"></a>

```typescript
public readonly addIndexingLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addIndexingLatencyP99Alarm`<sup>Optional</sup> <a name="addIndexingLatencyP99Alarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addIndexingLatencyP99Alarm"></a>

```typescript
public readonly addIndexingLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addJvmMemoryPressureAlarm`<sup>Optional</sup> <a name="addJvmMemoryPressureAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addJvmMemoryPressureAlarm"></a>

```typescript
public readonly addJvmMemoryPressureAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addKmsKeyErrorAlarm`<sup>Optional</sup> <a name="addKmsKeyErrorAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addKmsKeyErrorAlarm"></a>

```typescript
public readonly addKmsKeyErrorAlarm: {[ key: string ]: OpenSearchKmsKeyErrorThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold">OpenSearchKmsKeyErrorThreshold</a>}

---

##### `addKmsKeyInaccessibleAlarm`<sup>Optional</sup> <a name="addKmsKeyInaccessibleAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addKmsKeyInaccessibleAlarm"></a>

```typescript
public readonly addKmsKeyInaccessibleAlarm: {[ key: string ]: OpenSearchKmsKeyInaccessibleThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold">OpenSearchKmsKeyInaccessibleThreshold</a>}

---

##### `addMasterCpuSpaceUsageAlarm`<sup>Optional</sup> <a name="addMasterCpuSpaceUsageAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addMasterCpuSpaceUsageAlarm"></a>

```typescript
public readonly addMasterCpuSpaceUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMasterJvmMemoryPressureAlarm`<sup>Optional</sup> <a name="addMasterJvmMemoryPressureAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addMasterJvmMemoryPressureAlarm"></a>

```typescript
public readonly addMasterJvmMemoryPressureAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addSearchLatencyP50Alarm`<sup>Optional</sup> <a name="addSearchLatencyP50Alarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addSearchLatencyP50Alarm"></a>

```typescript
public readonly addSearchLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSearchLatencyP90Alarm`<sup>Optional</sup> <a name="addSearchLatencyP90Alarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addSearchLatencyP90Alarm"></a>

```typescript
public readonly addSearchLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSearchLatencyP99Alarm`<sup>Optional</sup> <a name="addSearchLatencyP99Alarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.addSearchLatencyP99Alarm"></a>

```typescript
public readonly addSearchLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

### OpenSearchClusterNodesThreshold <a name="OpenSearchClusterNodesThreshold" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.Initializer"></a>

```typescript
import { OpenSearchClusterNodesThreshold } from 'cdk-monitoring-constructs'

const openSearchClusterNodesThreshold: OpenSearchClusterNodesThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.minNodes">minNodes</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `minNodes`<sup>Required</sup> <a name="minNodes" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.minNodes"></a>

```typescript
public readonly minNodes: number;
```

- *Type:* number

---

### OpenSearchClusterStatusCustomization <a name="OpenSearchClusterStatusCustomization" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.Initializer"></a>

```typescript
import { OpenSearchClusterStatusCustomization } from 'cdk-monitoring-constructs'

const openSearchClusterStatusCustomization: OpenSearchClusterStatusCustomization = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.status">status</a></code> | <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatus">OpenSearchClusterStatus</a> \| <a href="#cdk-monitoring-constructs.ElasticsearchClusterStatus">ElasticsearchClusterStatus</a></code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `status`<sup>Required</sup> <a name="status" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.status"></a>

```typescript
public readonly status: OpenSearchClusterStatus | ElasticsearchClusterStatus;
```

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchClusterStatus">OpenSearchClusterStatus</a> | <a href="#cdk-monitoring-constructs.ElasticsearchClusterStatus">ElasticsearchClusterStatus</a>

---

### OpenSearchKmsKeyErrorThreshold <a name="OpenSearchKmsKeyErrorThreshold" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.Initializer"></a>

```typescript
import { OpenSearchKmsKeyErrorThreshold } from 'cdk-monitoring-constructs'

const openSearchKmsKeyErrorThreshold: OpenSearchKmsKeyErrorThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.maxErrors">maxErrors</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxErrors`<sup>Required</sup> <a name="maxErrors" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.maxErrors"></a>

```typescript
public readonly maxErrors: number;
```

- *Type:* number

---

### OpenSearchKmsKeyInaccessibleThreshold <a name="OpenSearchKmsKeyInaccessibleThreshold" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.Initializer"></a>

```typescript
import { OpenSearchKmsKeyInaccessibleThreshold } from 'cdk-monitoring-constructs'

const openSearchKmsKeyInaccessibleThreshold: OpenSearchKmsKeyInaccessibleThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.maxAccessAttempts">maxAccessAttempts</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxAccessAttempts`<sup>Required</sup> <a name="maxAccessAttempts" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.maxAccessAttempts"></a>

```typescript
public readonly maxAccessAttempts: number;
```

- *Type:* number

---

### QueueProcessingEc2ServiceMonitoringProps <a name="QueueProcessingEc2ServiceMonitoringProps" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.Initializer"></a>

```typescript
import { QueueProcessingEc2ServiceMonitoringProps } from 'cdk-monitoring-constructs'

const queueProcessingEc2ServiceMonitoringProps: QueueProcessingEc2ServiceMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.ec2Service">ec2Service</a></code> | <code>aws-cdk-lib.aws_ecs_patterns.QueueProcessingEc2Service</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.addDeadLetterQueueAlarms">addDeadLetterQueueAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.BaseDlqAlarms">BaseDlqAlarms</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.addQueueAlarms">addQueueAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.BaseSqsQueueAlarms">BaseSqsQueueAlarms</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.addServiceAlarms">addServiceAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.BaseFargateServiceAlarms">BaseFargateServiceAlarms</a></code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `ec2Service`<sup>Required</sup> <a name="ec2Service" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.ec2Service"></a>

```typescript
public readonly ec2Service: QueueProcessingEc2Service;
```

- *Type:* aws-cdk-lib.aws_ecs_patterns.QueueProcessingEc2Service

---

##### `addDeadLetterQueueAlarms`<sup>Optional</sup> <a name="addDeadLetterQueueAlarms" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.addDeadLetterQueueAlarms"></a>

```typescript
public readonly addDeadLetterQueueAlarms: BaseDlqAlarms;
```

- *Type:* <a href="#cdk-monitoring-constructs.BaseDlqAlarms">BaseDlqAlarms</a>

---

##### `addQueueAlarms`<sup>Optional</sup> <a name="addQueueAlarms" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.addQueueAlarms"></a>

```typescript
public readonly addQueueAlarms: BaseSqsQueueAlarms;
```

- *Type:* <a href="#cdk-monitoring-constructs.BaseSqsQueueAlarms">BaseSqsQueueAlarms</a>

---

##### `addServiceAlarms`<sup>Optional</sup> <a name="addServiceAlarms" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.addServiceAlarms"></a>

```typescript
public readonly addServiceAlarms: BaseFargateServiceAlarms;
```

- *Type:* <a href="#cdk-monitoring-constructs.BaseFargateServiceAlarms">BaseFargateServiceAlarms</a>

---

### QueueProcessingFargateServiceMonitoringProps <a name="QueueProcessingFargateServiceMonitoringProps" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.Initializer"></a>

```typescript
import { QueueProcessingFargateServiceMonitoringProps } from 'cdk-monitoring-constructs'

const queueProcessingFargateServiceMonitoringProps: QueueProcessingFargateServiceMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.fargateService">fargateService</a></code> | <code>aws-cdk-lib.aws_ecs_patterns.QueueProcessingFargateService</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.addDeadLetterQueueAlarms">addDeadLetterQueueAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.BaseDlqAlarms">BaseDlqAlarms</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.addQueueAlarms">addQueueAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.BaseSqsQueueAlarms">BaseSqsQueueAlarms</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.addServiceAlarms">addServiceAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.BaseFargateServiceAlarms">BaseFargateServiceAlarms</a></code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `fargateService`<sup>Required</sup> <a name="fargateService" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.fargateService"></a>

```typescript
public readonly fargateService: QueueProcessingFargateService;
```

- *Type:* aws-cdk-lib.aws_ecs_patterns.QueueProcessingFargateService

---

##### `addDeadLetterQueueAlarms`<sup>Optional</sup> <a name="addDeadLetterQueueAlarms" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.addDeadLetterQueueAlarms"></a>

```typescript
public readonly addDeadLetterQueueAlarms: BaseDlqAlarms;
```

- *Type:* <a href="#cdk-monitoring-constructs.BaseDlqAlarms">BaseDlqAlarms</a>

---

##### `addQueueAlarms`<sup>Optional</sup> <a name="addQueueAlarms" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.addQueueAlarms"></a>

```typescript
public readonly addQueueAlarms: BaseSqsQueueAlarms;
```

- *Type:* <a href="#cdk-monitoring-constructs.BaseSqsQueueAlarms">BaseSqsQueueAlarms</a>

---

##### `addServiceAlarms`<sup>Optional</sup> <a name="addServiceAlarms" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.addServiceAlarms"></a>

```typescript
public readonly addServiceAlarms: BaseFargateServiceAlarms;
```

- *Type:* <a href="#cdk-monitoring-constructs.BaseFargateServiceAlarms">BaseFargateServiceAlarms</a>

---

### RdsClusterMetricFactoryProps <a name="RdsClusterMetricFactoryProps" id="cdk-monitoring-constructs.RdsClusterMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RdsClusterMetricFactoryProps.Initializer"></a>

```typescript
import { RdsClusterMetricFactoryProps } from 'cdk-monitoring-constructs'

const rdsClusterMetricFactoryProps: RdsClusterMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactoryProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_rds.IDatabaseCluster</code> | database cluster (either this or `clusterIdentifier` need to be specified). |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactoryProps.property.clusterIdentifier">clusterIdentifier</a></code> | <code>string</code> | database cluster identifier (either this or `cluster` need to be specified). |

---

##### `cluster`<sup>Optional</sup> <a name="cluster" id="cdk-monitoring-constructs.RdsClusterMetricFactoryProps.property.cluster"></a>

```typescript
public readonly cluster: IDatabaseCluster;
```

- *Type:* aws-cdk-lib.aws_rds.IDatabaseCluster

database cluster (either this or `clusterIdentifier` need to be specified).

---

##### ~~`clusterIdentifier`~~<sup>Optional</sup> <a name="clusterIdentifier" id="cdk-monitoring-constructs.RdsClusterMetricFactoryProps.property.clusterIdentifier"></a>

- *Deprecated:* please use `cluster` instead

```typescript
public readonly clusterIdentifier: string;
```

- *Type:* string

database cluster identifier (either this or `cluster` need to be specified).

---

### RdsClusterMonitoringOptions <a name="RdsClusterMonitoringOptions" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.Initializer"></a>

```typescript
import { RdsClusterMonitoringOptions } from 'cdk-monitoring-constructs'

const rdsClusterMonitoringOptions: RdsClusterMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDiskSpaceUsageAlarm">addDiskSpaceUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addDiskSpaceUsageAlarm`<sup>Optional</sup> <a name="addDiskSpaceUsageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDiskSpaceUsageAlarm"></a>

```typescript
public readonly addDiskSpaceUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

### RdsClusterMonitoringProps <a name="RdsClusterMonitoringProps" id="cdk-monitoring-constructs.RdsClusterMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.Initializer"></a>

```typescript
import { RdsClusterMonitoringProps } from 'cdk-monitoring-constructs'

const rdsClusterMonitoringProps: RdsClusterMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_rds.IDatabaseCluster</code> | database cluster (either this or `clusterIdentifier` need to be specified). |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.clusterIdentifier">clusterIdentifier</a></code> | <code>string</code> | database cluster identifier (either this or `cluster` need to be specified). |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDiskSpaceUsageAlarm">addDiskSpaceUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |

---

##### `cluster`<sup>Optional</sup> <a name="cluster" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.cluster"></a>

```typescript
public readonly cluster: IDatabaseCluster;
```

- *Type:* aws-cdk-lib.aws_rds.IDatabaseCluster

database cluster (either this or `clusterIdentifier` need to be specified).

---

##### ~~`clusterIdentifier`~~<sup>Optional</sup> <a name="clusterIdentifier" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.clusterIdentifier"></a>

- *Deprecated:* please use `cluster` instead

```typescript
public readonly clusterIdentifier: string;
```

- *Type:* string

database cluster identifier (either this or `cluster` need to be specified).

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addDiskSpaceUsageAlarm`<sup>Optional</sup> <a name="addDiskSpaceUsageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDiskSpaceUsageAlarm"></a>

```typescript
public readonly addDiskSpaceUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

### RecordsFailedThreshold <a name="RecordsFailedThreshold" id="cdk-monitoring-constructs.RecordsFailedThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RecordsFailedThreshold.Initializer"></a>

```typescript
import { RecordsFailedThreshold } from 'cdk-monitoring-constructs'

const recordsFailedThreshold: RecordsFailedThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.maxRecordsFailedThreshold">maxRecordsFailedThreshold</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxRecordsFailedThreshold`<sup>Required</sup> <a name="maxRecordsFailedThreshold" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.maxRecordsFailedThreshold"></a>

```typescript
public readonly maxRecordsFailedThreshold: number;
```

- *Type:* number

---

### RecordsThrottledThreshold <a name="RecordsThrottledThreshold" id="cdk-monitoring-constructs.RecordsThrottledThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RecordsThrottledThreshold.Initializer"></a>

```typescript
import { RecordsThrottledThreshold } from 'cdk-monitoring-constructs'

const recordsThrottledThreshold: RecordsThrottledThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.maxRecordsThrottledThreshold">maxRecordsThrottledThreshold</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxRecordsThrottledThreshold`<sup>Required</sup> <a name="maxRecordsThrottledThreshold" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.maxRecordsThrottledThreshold"></a>

```typescript
public readonly maxRecordsThrottledThreshold: number;
```

- *Type:* number

---

### RedshiftClusterMetricFactoryProps <a name="RedshiftClusterMetricFactoryProps" id="cdk-monitoring-constructs.RedshiftClusterMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RedshiftClusterMetricFactoryProps.Initializer"></a>

```typescript
import { RedshiftClusterMetricFactoryProps } from 'cdk-monitoring-constructs'

const redshiftClusterMetricFactoryProps: RedshiftClusterMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactoryProps.property.clusterIdentifier">clusterIdentifier</a></code> | <code>string</code> | *No description.* |

---

##### `clusterIdentifier`<sup>Required</sup> <a name="clusterIdentifier" id="cdk-monitoring-constructs.RedshiftClusterMetricFactoryProps.property.clusterIdentifier"></a>

```typescript
public readonly clusterIdentifier: string;
```

- *Type:* string

---

### RedshiftClusterMonitoringOptions <a name="RedshiftClusterMonitoringOptions" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.Initializer"></a>

```typescript
import { RedshiftClusterMonitoringOptions } from 'cdk-monitoring-constructs'

const redshiftClusterMonitoringOptions: RedshiftClusterMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addDiskSpaceUsageAlarm">addDiskSpaceUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addDiskSpaceUsageAlarm`<sup>Optional</sup> <a name="addDiskSpaceUsageAlarm" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addDiskSpaceUsageAlarm"></a>

```typescript
public readonly addDiskSpaceUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

### RedshiftClusterMonitoringProps <a name="RedshiftClusterMonitoringProps" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.Initializer"></a>

```typescript
import { RedshiftClusterMonitoringProps } from 'cdk-monitoring-constructs'

const redshiftClusterMonitoringProps: RedshiftClusterMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.clusterIdentifier">clusterIdentifier</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addDiskSpaceUsageAlarm">addDiskSpaceUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |

---

##### `clusterIdentifier`<sup>Required</sup> <a name="clusterIdentifier" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.clusterIdentifier"></a>

```typescript
public readonly clusterIdentifier: string;
```

- *Type:* string

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addDiskSpaceUsageAlarm`<sup>Optional</sup> <a name="addDiskSpaceUsageAlarm" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addDiskSpaceUsageAlarm"></a>

```typescript
public readonly addDiskSpaceUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

### RunningTaskCountThreshold <a name="RunningTaskCountThreshold" id="cdk-monitoring-constructs.RunningTaskCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RunningTaskCountThreshold.Initializer"></a>

```typescript
import { RunningTaskCountThreshold } from 'cdk-monitoring-constructs'

const runningTaskCountThreshold: RunningTaskCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.maxRunningTasks">maxRunningTasks</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxRunningTasks`<sup>Required</sup> <a name="maxRunningTasks" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.maxRunningTasks"></a>

```typescript
public readonly maxRunningTasks: number;
```

- *Type:* number

---

### RunningTaskRateThreshold <a name="RunningTaskRateThreshold" id="cdk-monitoring-constructs.RunningTaskRateThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RunningTaskRateThreshold.Initializer"></a>

```typescript
import { RunningTaskRateThreshold } from 'cdk-monitoring-constructs'

const runningTaskRateThreshold: RunningTaskRateThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.maxRunningTaskRate">maxRunningTaskRate</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxRunningTaskRate`<sup>Required</sup> <a name="maxRunningTaskRate" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.maxRunningTaskRate"></a>

```typescript
public readonly maxRunningTaskRate: number;
```

- *Type:* number

---

### S3BucketMetricFactoryProps <a name="S3BucketMetricFactoryProps" id="cdk-monitoring-constructs.S3BucketMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.S3BucketMetricFactoryProps.Initializer"></a>

```typescript
import { S3BucketMetricFactoryProps } from 'cdk-monitoring-constructs'

const s3BucketMetricFactoryProps: S3BucketMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.S3BucketMetricFactoryProps.property.bucket">bucket</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.S3BucketMetricFactoryProps.property.storageType">storageType</a></code> | <code><a href="#cdk-monitoring-constructs.StorageType">StorageType</a></code> | *No description.* |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="cdk-monitoring-constructs.S3BucketMetricFactoryProps.property.bucket"></a>

```typescript
public readonly bucket: IBucket;
```

- *Type:* aws-cdk-lib.aws_s3.IBucket

---

##### `storageType`<sup>Optional</sup> <a name="storageType" id="cdk-monitoring-constructs.S3BucketMetricFactoryProps.property.storageType"></a>

```typescript
public readonly storageType: StorageType;
```

- *Type:* <a href="#cdk-monitoring-constructs.StorageType">StorageType</a>

---

### S3BucketMonitoringOptions <a name="S3BucketMonitoringOptions" id="cdk-monitoring-constructs.S3BucketMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.S3BucketMonitoringOptions.Initializer"></a>

```typescript
import { S3BucketMonitoringOptions } from 'cdk-monitoring-constructs'

const s3BucketMonitoringOptions: S3BucketMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.S3BucketMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.S3BucketMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.S3BucketMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.S3BucketMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.S3BucketMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.S3BucketMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.S3BucketMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### S3BucketMonitoringProps <a name="S3BucketMonitoringProps" id="cdk-monitoring-constructs.S3BucketMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.S3BucketMonitoringProps.Initializer"></a>

```typescript
import { S3BucketMonitoringProps } from 'cdk-monitoring-constructs'

const s3BucketMonitoringProps: S3BucketMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringProps.property.bucket">bucket</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringProps.property.storageType">storageType</a></code> | <code><a href="#cdk-monitoring-constructs.StorageType">StorageType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `bucket`<sup>Required</sup> <a name="bucket" id="cdk-monitoring-constructs.S3BucketMonitoringProps.property.bucket"></a>

```typescript
public readonly bucket: IBucket;
```

- *Type:* aws-cdk-lib.aws_s3.IBucket

---

##### `storageType`<sup>Optional</sup> <a name="storageType" id="cdk-monitoring-constructs.S3BucketMonitoringProps.property.storageType"></a>

```typescript
public readonly storageType: StorageType;
```

- *Type:* <a href="#cdk-monitoring-constructs.StorageType">StorageType</a>

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.S3BucketMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.S3BucketMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.S3BucketMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.S3BucketMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.S3BucketMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.S3BucketMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.S3BucketMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### SecretsManagerSecretMetricFactoryProps <a name="SecretsManagerSecretMetricFactoryProps" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactoryProps.Initializer"></a>

```typescript
import { SecretsManagerSecretMetricFactoryProps } from 'cdk-monitoring-constructs'

const secretsManagerSecretMetricFactoryProps: SecretsManagerSecretMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMetricFactoryProps.property.secret">secret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | *No description.* |

---

##### `secret`<sup>Required</sup> <a name="secret" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactoryProps.property.secret"></a>

```typescript
public readonly secret: ISecret;
```

- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret

---

### SecretsManagerSecretMonitoringOptions <a name="SecretsManagerSecretMonitoringOptions" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.Initializer"></a>

```typescript
import { SecretsManagerSecretMonitoringOptions } from 'cdk-monitoring-constructs'

const secretsManagerSecretMonitoringOptions: SecretsManagerSecretMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.addDaysSinceLastChangeAlarm">addDaysSinceLastChangeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold">DaysSinceUpdateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.addDaysSinceLastRotationAlarm">addDaysSinceLastRotationAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold">DaysSinceUpdateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.showLastRotationWidget">showLastRotationWidget</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.usePublisher">usePublisher</a></code> | <code><a href="#cdk-monitoring-constructs.IPublisherConsumer">IPublisherConsumer</a></code> | Provides access to the underlying metrics publisher Lambda function. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addDaysSinceLastChangeAlarm`<sup>Optional</sup> <a name="addDaysSinceLastChangeAlarm" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.addDaysSinceLastChangeAlarm"></a>

```typescript
public readonly addDaysSinceLastChangeAlarm: {[ key: string ]: DaysSinceUpdateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold">DaysSinceUpdateThreshold</a>}

---

##### `addDaysSinceLastRotationAlarm`<sup>Optional</sup> <a name="addDaysSinceLastRotationAlarm" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.addDaysSinceLastRotationAlarm"></a>

```typescript
public readonly addDaysSinceLastRotationAlarm: {[ key: string ]: DaysSinceUpdateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold">DaysSinceUpdateThreshold</a>}

---

##### `showLastRotationWidget`<sup>Optional</sup> <a name="showLastRotationWidget" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.showLastRotationWidget"></a>

```typescript
public readonly showLastRotationWidget: boolean;
```

- *Type:* boolean
- *Default:* true, if `addDaysSinceLastRotationAlarm` is set, otherwise `false`.

---

##### `usePublisher`<sup>Optional</sup> <a name="usePublisher" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.usePublisher"></a>

```typescript
public readonly usePublisher: IPublisherConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IPublisherConsumer">IPublisherConsumer</a>

Provides access to the underlying metrics publisher Lambda function.

This may be useful if you want to monitor the function itself.

---

### SecretsManagerSecretMonitoringProps <a name="SecretsManagerSecretMonitoringProps" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps"></a>

Monitoring props for Secrets Manager secrets.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.Initializer"></a>

```typescript
import { SecretsManagerSecretMonitoringProps } from 'cdk-monitoring-constructs'

const secretsManagerSecretMonitoringProps: SecretsManagerSecretMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.secret">secret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.addDaysSinceLastChangeAlarm">addDaysSinceLastChangeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold">DaysSinceUpdateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.addDaysSinceLastRotationAlarm">addDaysSinceLastRotationAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold">DaysSinceUpdateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.showLastRotationWidget">showLastRotationWidget</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.usePublisher">usePublisher</a></code> | <code><a href="#cdk-monitoring-constructs.IPublisherConsumer">IPublisherConsumer</a></code> | Provides access to the underlying metrics publisher Lambda function. |

---

##### `secret`<sup>Required</sup> <a name="secret" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.secret"></a>

```typescript
public readonly secret: ISecret;
```

- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addDaysSinceLastChangeAlarm`<sup>Optional</sup> <a name="addDaysSinceLastChangeAlarm" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.addDaysSinceLastChangeAlarm"></a>

```typescript
public readonly addDaysSinceLastChangeAlarm: {[ key: string ]: DaysSinceUpdateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold">DaysSinceUpdateThreshold</a>}

---

##### `addDaysSinceLastRotationAlarm`<sup>Optional</sup> <a name="addDaysSinceLastRotationAlarm" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.addDaysSinceLastRotationAlarm"></a>

```typescript
public readonly addDaysSinceLastRotationAlarm: {[ key: string ]: DaysSinceUpdateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold">DaysSinceUpdateThreshold</a>}

---

##### `showLastRotationWidget`<sup>Optional</sup> <a name="showLastRotationWidget" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.showLastRotationWidget"></a>

```typescript
public readonly showLastRotationWidget: boolean;
```

- *Type:* boolean
- *Default:* true, if `addDaysSinceLastRotationAlarm` is set, otherwise `false`.

---

##### `usePublisher`<sup>Optional</sup> <a name="usePublisher" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.usePublisher"></a>

```typescript
public readonly usePublisher: IPublisherConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IPublisherConsumer">IPublisherConsumer</a>

Provides access to the underlying metrics publisher Lambda function.

This may be useful if you want to monitor the function itself.

---

### SimpleEc2ServiceMonitoringProps <a name="SimpleEc2ServiceMonitoringProps" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps"></a>

Monitoring props for Simple EC2 service.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.Initializer"></a>

```typescript
import { SimpleEc2ServiceMonitoringProps } from 'cdk-monitoring-constructs'

const simpleEc2ServiceMonitoringProps: SimpleEc2ServiceMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addMemoryUsageAlarm">addMemoryUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addRunningTaskCountAlarm">addRunningTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.maxAutoScalingTaskCount">maxAutoScalingTaskCount</a></code> | <code>number</code> | maximum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.minAutoScalingTaskCount">minAutoScalingTaskCount</a></code> | <code>number</code> | minimum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.ec2Service">ec2Service</a></code> | <code>aws-cdk-lib.aws_ecs.Ec2Service</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMemoryUsageAlarm`<sup>Optional</sup> <a name="addMemoryUsageAlarm" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addMemoryUsageAlarm"></a>

```typescript
public readonly addMemoryUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addRunningTaskCountAlarm`<sup>Optional</sup> <a name="addRunningTaskCountAlarm" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addRunningTaskCountAlarm"></a>

```typescript
public readonly addRunningTaskCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `maxAutoScalingTaskCount`<sup>Optional</sup> <a name="maxAutoScalingTaskCount" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.maxAutoScalingTaskCount"></a>

```typescript
public readonly maxAutoScalingTaskCount: number;
```

- *Type:* number

maximum number of tasks, as specified in your auto scaling config.

---

##### `minAutoScalingTaskCount`<sup>Optional</sup> <a name="minAutoScalingTaskCount" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

minimum number of tasks, as specified in your auto scaling config.

---

##### `ec2Service`<sup>Required</sup> <a name="ec2Service" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.ec2Service"></a>

```typescript
public readonly ec2Service: Ec2Service;
```

- *Type:* aws-cdk-lib.aws_ecs.Ec2Service

---

### SimpleFargateServiceMonitoringProps <a name="SimpleFargateServiceMonitoringProps" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps"></a>

Monitoring props for Simple Fargate service.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.Initializer"></a>

```typescript
import { SimpleFargateServiceMonitoringProps } from 'cdk-monitoring-constructs'

const simpleFargateServiceMonitoringProps: SimpleFargateServiceMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addCpuUsageAlarm">addCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addMemoryUsageAlarm">addMemoryUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addRunningTaskCountAlarm">addRunningTaskCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.maxAutoScalingTaskCount">maxAutoScalingTaskCount</a></code> | <code>number</code> | maximum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.minAutoScalingTaskCount">minAutoScalingTaskCount</a></code> | <code>number</code> | minimum number of tasks, as specified in your auto scaling config. |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.fargateService">fargateService</a></code> | <code>aws-cdk-lib.aws_ecs.FargateService</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addCpuUsageAlarm`<sup>Optional</sup> <a name="addCpuUsageAlarm" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addMemoryUsageAlarm`<sup>Optional</sup> <a name="addMemoryUsageAlarm" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addMemoryUsageAlarm"></a>

```typescript
public readonly addMemoryUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addRunningTaskCountAlarm`<sup>Optional</sup> <a name="addRunningTaskCountAlarm" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addRunningTaskCountAlarm"></a>

```typescript
public readonly addRunningTaskCountAlarm: {[ key: string ]: RunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `maxAutoScalingTaskCount`<sup>Optional</sup> <a name="maxAutoScalingTaskCount" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.maxAutoScalingTaskCount"></a>

```typescript
public readonly maxAutoScalingTaskCount: number;
```

- *Type:* number

maximum number of tasks, as specified in your auto scaling config.

---

##### `minAutoScalingTaskCount`<sup>Optional</sup> <a name="minAutoScalingTaskCount" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

minimum number of tasks, as specified in your auto scaling config.

---

##### `fargateService`<sup>Required</sup> <a name="fargateService" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.fargateService"></a>

```typescript
public readonly fargateService: FargateService;
```

- *Type:* aws-cdk-lib.aws_ecs.FargateService

---

### SingleAxisGraphWidgetProps <a name="SingleAxisGraphWidgetProps" id="cdk-monitoring-constructs.SingleAxisGraphWidgetProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SingleAxisGraphWidgetProps.Initializer"></a>

```typescript
import { SingleAxisGraphWidgetProps } from 'cdk-monitoring-constructs'

const singleAxisGraphWidgetProps: SingleAxisGraphWidgetProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.height">height</a></code> | <code>number</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.leftAxis">leftAxis</a></code> | <code>aws-cdk-lib.aws_cloudwatch.YAxisProps</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.leftMetrics">leftMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IMetric[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.width">width</a></code> | <code>number</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.leftAnnotations">leftAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number

---

##### `leftAxis`<sup>Required</sup> <a name="leftAxis" id="cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.leftAxis"></a>

```typescript
public readonly leftAxis: YAxisProps;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.YAxisProps

---

##### `leftMetrics`<sup>Required</sup> <a name="leftMetrics" id="cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.leftMetrics"></a>

```typescript
public readonly leftMetrics: IMetric[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric[]

---

##### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.width"></a>

```typescript
public readonly width: number;
```

- *Type:* number

---

##### `leftAnnotations`<sup>Optional</sup> <a name="leftAnnotations" id="cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.leftAnnotations"></a>

```typescript
public readonly leftAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `title`<sup>Optional</sup> <a name="title" id="cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

### SnsAlarmActionStrategyProps <a name="SnsAlarmActionStrategyProps" id="cdk-monitoring-constructs.SnsAlarmActionStrategyProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SnsAlarmActionStrategyProps.Initializer"></a>

```typescript
import { SnsAlarmActionStrategyProps } from 'cdk-monitoring-constructs'

const snsAlarmActionStrategyProps: SnsAlarmActionStrategyProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SnsAlarmActionStrategyProps.property.onAlarmTopic">onAlarmTopic</a></code> | <code>aws-cdk-lib.aws_sns.ITopic</code> | Target topic used when the alarm is triggered. |
| <code><a href="#cdk-monitoring-constructs.SnsAlarmActionStrategyProps.property.onInsufficientDataTopic">onInsufficientDataTopic</a></code> | <code>aws-cdk-lib.aws_sns.ITopic</code> | Optional target topic for when the alarm goes into the INSUFFICIENT_DATA state. |
| <code><a href="#cdk-monitoring-constructs.SnsAlarmActionStrategyProps.property.onOkTopic">onOkTopic</a></code> | <code>aws-cdk-lib.aws_sns.ITopic</code> | Optional target topic for when the alarm goes into the OK state. |

---

##### `onAlarmTopic`<sup>Required</sup> <a name="onAlarmTopic" id="cdk-monitoring-constructs.SnsAlarmActionStrategyProps.property.onAlarmTopic"></a>

```typescript
public readonly onAlarmTopic: ITopic;
```

- *Type:* aws-cdk-lib.aws_sns.ITopic

Target topic used when the alarm is triggered.

---

##### `onInsufficientDataTopic`<sup>Optional</sup> <a name="onInsufficientDataTopic" id="cdk-monitoring-constructs.SnsAlarmActionStrategyProps.property.onInsufficientDataTopic"></a>

```typescript
public readonly onInsufficientDataTopic: ITopic;
```

- *Type:* aws-cdk-lib.aws_sns.ITopic
- *Default:* no notification sent

Optional target topic for when the alarm goes into the INSUFFICIENT_DATA state.

---

##### `onOkTopic`<sup>Optional</sup> <a name="onOkTopic" id="cdk-monitoring-constructs.SnsAlarmActionStrategyProps.property.onOkTopic"></a>

```typescript
public readonly onOkTopic: ITopic;
```

- *Type:* aws-cdk-lib.aws_sns.ITopic
- *Default:* no notification sent

Optional target topic for when the alarm goes into the OK state.

---

### SnsTopicMetricFactoryProps <a name="SnsTopicMetricFactoryProps" id="cdk-monitoring-constructs.SnsTopicMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SnsTopicMetricFactoryProps.Initializer"></a>

```typescript
import { SnsTopicMetricFactoryProps } from 'cdk-monitoring-constructs'

const snsTopicMetricFactoryProps: SnsTopicMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMetricFactoryProps.property.topic">topic</a></code> | <code>aws-cdk-lib.aws_sns.ITopic</code> | *No description.* |

---

##### `topic`<sup>Required</sup> <a name="topic" id="cdk-monitoring-constructs.SnsTopicMetricFactoryProps.property.topic"></a>

```typescript
public readonly topic: ITopic;
```

- *Type:* aws-cdk-lib.aws_sns.ITopic

---

### SnsTopicMonitoringOptions <a name="SnsTopicMonitoringOptions" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions.Initializer"></a>

```typescript
import { SnsTopicMonitoringOptions } from 'cdk-monitoring-constructs'

const snsTopicMonitoringOptions: SnsTopicMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.addMaxNumberOfMessagesPublishedAlarm">addMaxNumberOfMessagesPublishedAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold">HighMessagesPublishedThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.addMessageNotificationsFailedAlarm">addMessageNotificationsFailedAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.NotificationsFailedThreshold">NotificationsFailedThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.addMinNumberOfMessagesPublishedAlarm">addMinNumberOfMessagesPublishedAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold">LowMessagesPublishedThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addMaxNumberOfMessagesPublishedAlarm`<sup>Optional</sup> <a name="addMaxNumberOfMessagesPublishedAlarm" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.addMaxNumberOfMessagesPublishedAlarm"></a>

```typescript
public readonly addMaxNumberOfMessagesPublishedAlarm: {[ key: string ]: HighMessagesPublishedThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold">HighMessagesPublishedThreshold</a>}

---

##### `addMessageNotificationsFailedAlarm`<sup>Optional</sup> <a name="addMessageNotificationsFailedAlarm" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.addMessageNotificationsFailedAlarm"></a>

```typescript
public readonly addMessageNotificationsFailedAlarm: {[ key: string ]: NotificationsFailedThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.NotificationsFailedThreshold">NotificationsFailedThreshold</a>}

---

##### `addMinNumberOfMessagesPublishedAlarm`<sup>Optional</sup> <a name="addMinNumberOfMessagesPublishedAlarm" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.addMinNumberOfMessagesPublishedAlarm"></a>

```typescript
public readonly addMinNumberOfMessagesPublishedAlarm: {[ key: string ]: LowMessagesPublishedThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold">LowMessagesPublishedThreshold</a>}

---

### SnsTopicMonitoringProps <a name="SnsTopicMonitoringProps" id="cdk-monitoring-constructs.SnsTopicMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.Initializer"></a>

```typescript
import { SnsTopicMonitoringProps } from 'cdk-monitoring-constructs'

const snsTopicMonitoringProps: SnsTopicMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps.property.topic">topic</a></code> | <code>aws-cdk-lib.aws_sns.ITopic</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps.property.addMaxNumberOfMessagesPublishedAlarm">addMaxNumberOfMessagesPublishedAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold">HighMessagesPublishedThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps.property.addMessageNotificationsFailedAlarm">addMessageNotificationsFailedAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.NotificationsFailedThreshold">NotificationsFailedThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps.property.addMinNumberOfMessagesPublishedAlarm">addMinNumberOfMessagesPublishedAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold">LowMessagesPublishedThreshold</a>}</code> | *No description.* |

---

##### `topic`<sup>Required</sup> <a name="topic" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.property.topic"></a>

```typescript
public readonly topic: ITopic;
```

- *Type:* aws-cdk-lib.aws_sns.ITopic

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addMaxNumberOfMessagesPublishedAlarm`<sup>Optional</sup> <a name="addMaxNumberOfMessagesPublishedAlarm" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.property.addMaxNumberOfMessagesPublishedAlarm"></a>

```typescript
public readonly addMaxNumberOfMessagesPublishedAlarm: {[ key: string ]: HighMessagesPublishedThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold">HighMessagesPublishedThreshold</a>}

---

##### `addMessageNotificationsFailedAlarm`<sup>Optional</sup> <a name="addMessageNotificationsFailedAlarm" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.property.addMessageNotificationsFailedAlarm"></a>

```typescript
public readonly addMessageNotificationsFailedAlarm: {[ key: string ]: NotificationsFailedThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.NotificationsFailedThreshold">NotificationsFailedThreshold</a>}

---

##### `addMinNumberOfMessagesPublishedAlarm`<sup>Optional</sup> <a name="addMinNumberOfMessagesPublishedAlarm" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.property.addMinNumberOfMessagesPublishedAlarm"></a>

```typescript
public readonly addMinNumberOfMessagesPublishedAlarm: {[ key: string ]: LowMessagesPublishedThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold">LowMessagesPublishedThreshold</a>}

---

### SqsQueueMetricFactoryProps <a name="SqsQueueMetricFactoryProps" id="cdk-monitoring-constructs.SqsQueueMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SqsQueueMetricFactoryProps.Initializer"></a>

```typescript
import { SqsQueueMetricFactoryProps } from 'cdk-monitoring-constructs'

const sqsQueueMetricFactoryProps: SqsQueueMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactoryProps.property.queue">queue</a></code> | <code>aws-cdk-lib.aws_sqs.IQueue</code> | *No description.* |

---

##### `queue`<sup>Required</sup> <a name="queue" id="cdk-monitoring-constructs.SqsQueueMetricFactoryProps.property.queue"></a>

```typescript
public readonly queue: IQueue;
```

- *Type:* aws-cdk-lib.aws_sqs.IQueue

---

### SqsQueueMonitoringOptions <a name="SqsQueueMonitoringOptions" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.Initializer"></a>

```typescript
import { SqsQueueMonitoringOptions } from 'cdk-monitoring-constructs'

const sqsQueueMonitoringOptions: SqsQueueMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addQueueMaxIncomingMessagesAlarm">addQueueMaxIncomingMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold">MaxIncomingMessagesCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addQueueMaxMessageAgeAlarm">addQueueMaxMessageAgeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold">MaxMessageAgeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addQueueMaxSizeAlarm">addQueueMaxSizeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageCountThreshold">MaxMessageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addQueueMaxTimeToDrainMessagesAlarm">addQueueMaxTimeToDrainMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold">MaxTimeToDrainThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addQueueMinIncomingMessagesAlarm">addQueueMinIncomingMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold">MinIncomingMessagesCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addQueueMinSizeAlarm">addQueueMinSizeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinMessageCountThreshold">MinMessageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `addQueueMaxIncomingMessagesAlarm`<sup>Optional</sup> <a name="addQueueMaxIncomingMessagesAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addQueueMaxIncomingMessagesAlarm"></a>

```typescript
public readonly addQueueMaxIncomingMessagesAlarm: {[ key: string ]: MaxIncomingMessagesCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold">MaxIncomingMessagesCountThreshold</a>}

---

##### `addQueueMaxMessageAgeAlarm`<sup>Optional</sup> <a name="addQueueMaxMessageAgeAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addQueueMaxMessageAgeAlarm"></a>

```typescript
public readonly addQueueMaxMessageAgeAlarm: {[ key: string ]: MaxMessageAgeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold">MaxMessageAgeThreshold</a>}

---

##### `addQueueMaxSizeAlarm`<sup>Optional</sup> <a name="addQueueMaxSizeAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addQueueMaxSizeAlarm"></a>

```typescript
public readonly addQueueMaxSizeAlarm: {[ key: string ]: MaxMessageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageCountThreshold">MaxMessageCountThreshold</a>}

---

##### `addQueueMaxTimeToDrainMessagesAlarm`<sup>Optional</sup> <a name="addQueueMaxTimeToDrainMessagesAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addQueueMaxTimeToDrainMessagesAlarm"></a>

```typescript
public readonly addQueueMaxTimeToDrainMessagesAlarm: {[ key: string ]: MaxTimeToDrainThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold">MaxTimeToDrainThreshold</a>}

---

##### `addQueueMinIncomingMessagesAlarm`<sup>Optional</sup> <a name="addQueueMinIncomingMessagesAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addQueueMinIncomingMessagesAlarm"></a>

```typescript
public readonly addQueueMinIncomingMessagesAlarm: {[ key: string ]: MinIncomingMessagesCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold">MinIncomingMessagesCountThreshold</a>}

---

##### `addQueueMinSizeAlarm`<sup>Optional</sup> <a name="addQueueMinSizeAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addQueueMinSizeAlarm"></a>

```typescript
public readonly addQueueMinSizeAlarm: {[ key: string ]: MinMessageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinMessageCountThreshold">MinMessageCountThreshold</a>}

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### SqsQueueMonitoringProps <a name="SqsQueueMonitoringProps" id="cdk-monitoring-constructs.SqsQueueMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.Initializer"></a>

```typescript
import { SqsQueueMonitoringProps } from 'cdk-monitoring-constructs'

const sqsQueueMonitoringProps: SqsQueueMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.queue">queue</a></code> | <code>aws-cdk-lib.aws_sqs.IQueue</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addQueueMaxIncomingMessagesAlarm">addQueueMaxIncomingMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold">MaxIncomingMessagesCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addQueueMaxMessageAgeAlarm">addQueueMaxMessageAgeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold">MaxMessageAgeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addQueueMaxSizeAlarm">addQueueMaxSizeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageCountThreshold">MaxMessageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addQueueMaxTimeToDrainMessagesAlarm">addQueueMaxTimeToDrainMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold">MaxTimeToDrainThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addQueueMinIncomingMessagesAlarm">addQueueMinIncomingMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold">MinIncomingMessagesCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addQueueMinSizeAlarm">addQueueMinSizeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinMessageCountThreshold">MinMessageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `queue`<sup>Required</sup> <a name="queue" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.queue"></a>

```typescript
public readonly queue: IQueue;
```

- *Type:* aws-cdk-lib.aws_sqs.IQueue

---

##### `addQueueMaxIncomingMessagesAlarm`<sup>Optional</sup> <a name="addQueueMaxIncomingMessagesAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addQueueMaxIncomingMessagesAlarm"></a>

```typescript
public readonly addQueueMaxIncomingMessagesAlarm: {[ key: string ]: MaxIncomingMessagesCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold">MaxIncomingMessagesCountThreshold</a>}

---

##### `addQueueMaxMessageAgeAlarm`<sup>Optional</sup> <a name="addQueueMaxMessageAgeAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addQueueMaxMessageAgeAlarm"></a>

```typescript
public readonly addQueueMaxMessageAgeAlarm: {[ key: string ]: MaxMessageAgeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold">MaxMessageAgeThreshold</a>}

---

##### `addQueueMaxSizeAlarm`<sup>Optional</sup> <a name="addQueueMaxSizeAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addQueueMaxSizeAlarm"></a>

```typescript
public readonly addQueueMaxSizeAlarm: {[ key: string ]: MaxMessageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageCountThreshold">MaxMessageCountThreshold</a>}

---

##### `addQueueMaxTimeToDrainMessagesAlarm`<sup>Optional</sup> <a name="addQueueMaxTimeToDrainMessagesAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addQueueMaxTimeToDrainMessagesAlarm"></a>

```typescript
public readonly addQueueMaxTimeToDrainMessagesAlarm: {[ key: string ]: MaxTimeToDrainThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold">MaxTimeToDrainThreshold</a>}

---

##### `addQueueMinIncomingMessagesAlarm`<sup>Optional</sup> <a name="addQueueMinIncomingMessagesAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addQueueMinIncomingMessagesAlarm"></a>

```typescript
public readonly addQueueMinIncomingMessagesAlarm: {[ key: string ]: MinIncomingMessagesCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold">MinIncomingMessagesCountThreshold</a>}

---

##### `addQueueMinSizeAlarm`<sup>Optional</sup> <a name="addQueueMinSizeAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addQueueMinSizeAlarm"></a>

```typescript
public readonly addQueueMinSizeAlarm: {[ key: string ]: MinMessageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinMessageCountThreshold">MinMessageCountThreshold</a>}

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### SqsQueueMonitoringWithDlqProps <a name="SqsQueueMonitoringWithDlqProps" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.Initializer"></a>

```typescript
import { SqsQueueMonitoringWithDlqProps } from 'cdk-monitoring-constructs'

const sqsQueueMonitoringWithDlqProps: SqsQueueMonitoringWithDlqProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.queue">queue</a></code> | <code>aws-cdk-lib.aws_sqs.IQueue</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addQueueMaxIncomingMessagesAlarm">addQueueMaxIncomingMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold">MaxIncomingMessagesCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addQueueMaxMessageAgeAlarm">addQueueMaxMessageAgeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold">MaxMessageAgeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addQueueMaxSizeAlarm">addQueueMaxSizeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageCountThreshold">MaxMessageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addQueueMaxTimeToDrainMessagesAlarm">addQueueMaxTimeToDrainMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold">MaxTimeToDrainThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addQueueMinIncomingMessagesAlarm">addQueueMinIncomingMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold">MinIncomingMessagesCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addQueueMinSizeAlarm">addQueueMinSizeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinMessageCountThreshold">MinMessageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addDeadLetterQueueMaxIncomingMessagesAlarm">addDeadLetterQueueMaxIncomingMessagesAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold">MaxIncomingMessagesCountThreshold</a>}</code> | Alarm on the number of messages added to a queue. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addDeadLetterQueueMaxMessageAgeAlarm">addDeadLetterQueueMaxMessageAgeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold">MaxMessageAgeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addDeadLetterQueueMaxSizeAlarm">addDeadLetterQueueMaxSizeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageCountThreshold">MaxMessageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.deadLetterQueue">deadLetterQueue</a></code> | <code>aws-cdk-lib.aws_sqs.IQueue</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addDeadLetterQueueToSummaryDashboard">addDeadLetterQueueToSummaryDashboard</a></code> | <code>boolean</code> | Indicates whether the DLQ monitoring should be added to summary dashboard. |

---

##### `queue`<sup>Required</sup> <a name="queue" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.queue"></a>

```typescript
public readonly queue: IQueue;
```

- *Type:* aws-cdk-lib.aws_sqs.IQueue

---

##### `addQueueMaxIncomingMessagesAlarm`<sup>Optional</sup> <a name="addQueueMaxIncomingMessagesAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addQueueMaxIncomingMessagesAlarm"></a>

```typescript
public readonly addQueueMaxIncomingMessagesAlarm: {[ key: string ]: MaxIncomingMessagesCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold">MaxIncomingMessagesCountThreshold</a>}

---

##### `addQueueMaxMessageAgeAlarm`<sup>Optional</sup> <a name="addQueueMaxMessageAgeAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addQueueMaxMessageAgeAlarm"></a>

```typescript
public readonly addQueueMaxMessageAgeAlarm: {[ key: string ]: MaxMessageAgeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold">MaxMessageAgeThreshold</a>}

---

##### `addQueueMaxSizeAlarm`<sup>Optional</sup> <a name="addQueueMaxSizeAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addQueueMaxSizeAlarm"></a>

```typescript
public readonly addQueueMaxSizeAlarm: {[ key: string ]: MaxMessageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageCountThreshold">MaxMessageCountThreshold</a>}

---

##### `addQueueMaxTimeToDrainMessagesAlarm`<sup>Optional</sup> <a name="addQueueMaxTimeToDrainMessagesAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addQueueMaxTimeToDrainMessagesAlarm"></a>

```typescript
public readonly addQueueMaxTimeToDrainMessagesAlarm: {[ key: string ]: MaxTimeToDrainThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold">MaxTimeToDrainThreshold</a>}

---

##### `addQueueMinIncomingMessagesAlarm`<sup>Optional</sup> <a name="addQueueMinIncomingMessagesAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addQueueMinIncomingMessagesAlarm"></a>

```typescript
public readonly addQueueMinIncomingMessagesAlarm: {[ key: string ]: MinIncomingMessagesCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold">MinIncomingMessagesCountThreshold</a>}

---

##### `addQueueMinSizeAlarm`<sup>Optional</sup> <a name="addQueueMinSizeAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addQueueMinSizeAlarm"></a>

```typescript
public readonly addQueueMinSizeAlarm: {[ key: string ]: MinMessageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinMessageCountThreshold">MinMessageCountThreshold</a>}

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addDeadLetterQueueMaxIncomingMessagesAlarm`<sup>Optional</sup> <a name="addDeadLetterQueueMaxIncomingMessagesAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addDeadLetterQueueMaxIncomingMessagesAlarm"></a>

```typescript
public readonly addDeadLetterQueueMaxIncomingMessagesAlarm: {[ key: string ]: MaxIncomingMessagesCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold">MaxIncomingMessagesCountThreshold</a>}

Alarm on the number of messages added to a queue.

Note that this corresponds with the NumberOfMessagesSent metric, which does not capture messages sent to the DLQ
as a result of a failed processing attempt.

> [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html#sqs-dlq-number-of-messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html#sqs-dlq-number-of-messages)

---

##### `addDeadLetterQueueMaxMessageAgeAlarm`<sup>Optional</sup> <a name="addDeadLetterQueueMaxMessageAgeAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addDeadLetterQueueMaxMessageAgeAlarm"></a>

```typescript
public readonly addDeadLetterQueueMaxMessageAgeAlarm: {[ key: string ]: MaxMessageAgeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold">MaxMessageAgeThreshold</a>}

---

##### `addDeadLetterQueueMaxSizeAlarm`<sup>Optional</sup> <a name="addDeadLetterQueueMaxSizeAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addDeadLetterQueueMaxSizeAlarm"></a>

```typescript
public readonly addDeadLetterQueueMaxSizeAlarm: {[ key: string ]: MaxMessageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxMessageCountThreshold">MaxMessageCountThreshold</a>}

---

##### `deadLetterQueue`<sup>Required</sup> <a name="deadLetterQueue" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.deadLetterQueue"></a>

```typescript
public readonly deadLetterQueue: IQueue;
```

- *Type:* aws-cdk-lib.aws_sqs.IQueue

---

##### `addDeadLetterQueueToSummaryDashboard`<sup>Optional</sup> <a name="addDeadLetterQueueToSummaryDashboard" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.addDeadLetterQueueToSummaryDashboard"></a>

```typescript
public readonly addDeadLetterQueueToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Indicates whether the DLQ monitoring should be added to summary dashboard.

---

### StepFunctionActivityMetricFactoryProps <a name="StepFunctionActivityMetricFactoryProps" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactoryProps.Initializer"></a>

```typescript
import { StepFunctionActivityMetricFactoryProps } from 'cdk-monitoring-constructs'

const stepFunctionActivityMetricFactoryProps: StepFunctionActivityMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactoryProps.property.activity">activity</a></code> | <code>aws-cdk-lib.aws_stepfunctions.IActivity</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactoryProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |

---

##### `activity`<sup>Required</sup> <a name="activity" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactoryProps.property.activity"></a>

```typescript
public readonly activity: IActivity;
```

- *Type:* aws-cdk-lib.aws_stepfunctions.IActivity

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactoryProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

### StepFunctionActivityMonitoringProps <a name="StepFunctionActivityMonitoringProps" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.Initializer"></a>

```typescript
import { StepFunctionActivityMonitoringProps } from 'cdk-monitoring-constructs'

const stepFunctionActivityMonitoringProps: StepFunctionActivityMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.activity">activity</a></code> | <code>aws-cdk-lib.aws_stepfunctions.IActivity</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addDurationP50Alarm">addDurationP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addDurationP90Alarm">addDurationP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addDurationP99Alarm">addDurationP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addFailedActivitiesCountAlarm">addFailedActivitiesCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addFailedActivitiesRateAlarm">addFailedActivitiesRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addTimedOutActivitiesCountAlarm">addTimedOutActivitiesCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |

---

##### `activity`<sup>Required</sup> <a name="activity" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.activity"></a>

```typescript
public readonly activity: IActivity;
```

- *Type:* aws-cdk-lib.aws_stepfunctions.IActivity

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addDurationP50Alarm`<sup>Optional</sup> <a name="addDurationP50Alarm" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addDurationP50Alarm"></a>

```typescript
public readonly addDurationP50Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP90Alarm`<sup>Optional</sup> <a name="addDurationP90Alarm" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addDurationP90Alarm"></a>

```typescript
public readonly addDurationP90Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP99Alarm`<sup>Optional</sup> <a name="addDurationP99Alarm" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addDurationP99Alarm"></a>

```typescript
public readonly addDurationP99Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addFailedActivitiesCountAlarm`<sup>Optional</sup> <a name="addFailedActivitiesCountAlarm" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addFailedActivitiesCountAlarm"></a>

```typescript
public readonly addFailedActivitiesCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addFailedActivitiesRateAlarm`<sup>Optional</sup> <a name="addFailedActivitiesRateAlarm" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addFailedActivitiesRateAlarm"></a>

```typescript
public readonly addFailedActivitiesRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addTimedOutActivitiesCountAlarm`<sup>Optional</sup> <a name="addTimedOutActivitiesCountAlarm" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.addTimedOutActivitiesCountAlarm"></a>

```typescript
public readonly addTimedOutActivitiesCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

### StepFunctionLambdaIntegrationMetricFactoryProps <a name="StepFunctionLambdaIntegrationMetricFactoryProps" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactoryProps.Initializer"></a>

```typescript
import { StepFunctionLambdaIntegrationMetricFactoryProps } from 'cdk-monitoring-constructs'

const stepFunctionLambdaIntegrationMetricFactoryProps: StepFunctionLambdaIntegrationMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactoryProps.property.lambdaFunction">lambdaFunction</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactoryProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |

---

##### `lambdaFunction`<sup>Required</sup> <a name="lambdaFunction" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactoryProps.property.lambdaFunction"></a>

```typescript
public readonly lambdaFunction: IFunction;
```

- *Type:* aws-cdk-lib.aws_lambda.IFunction

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactoryProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

### StepFunctionLambdaIntegrationMonitoringProps <a name="StepFunctionLambdaIntegrationMonitoringProps" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.Initializer"></a>

```typescript
import { StepFunctionLambdaIntegrationMonitoringProps } from 'cdk-monitoring-constructs'

const stepFunctionLambdaIntegrationMonitoringProps: StepFunctionLambdaIntegrationMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.lambdaFunction">lambdaFunction</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addDurationP50Alarm">addDurationP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addDurationP90Alarm">addDurationP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addDurationP99Alarm">addDurationP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addFailedFunctionsCountAlarm">addFailedFunctionsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addFailedFunctionsRateAlarm">addFailedFunctionsRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addTimedOutFunctionsCountAlarm">addTimedOutFunctionsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |

---

##### `lambdaFunction`<sup>Required</sup> <a name="lambdaFunction" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.lambdaFunction"></a>

```typescript
public readonly lambdaFunction: IFunction;
```

- *Type:* aws-cdk-lib.aws_lambda.IFunction

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addDurationP50Alarm`<sup>Optional</sup> <a name="addDurationP50Alarm" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addDurationP50Alarm"></a>

```typescript
public readonly addDurationP50Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP90Alarm`<sup>Optional</sup> <a name="addDurationP90Alarm" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addDurationP90Alarm"></a>

```typescript
public readonly addDurationP90Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP99Alarm`<sup>Optional</sup> <a name="addDurationP99Alarm" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addDurationP99Alarm"></a>

```typescript
public readonly addDurationP99Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addFailedFunctionsCountAlarm`<sup>Optional</sup> <a name="addFailedFunctionsCountAlarm" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addFailedFunctionsCountAlarm"></a>

```typescript
public readonly addFailedFunctionsCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addFailedFunctionsRateAlarm`<sup>Optional</sup> <a name="addFailedFunctionsRateAlarm" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addFailedFunctionsRateAlarm"></a>

```typescript
public readonly addFailedFunctionsRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addTimedOutFunctionsCountAlarm`<sup>Optional</sup> <a name="addTimedOutFunctionsCountAlarm" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.addTimedOutFunctionsCountAlarm"></a>

```typescript
public readonly addTimedOutFunctionsCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

### StepFunctionMetricFactoryProps <a name="StepFunctionMetricFactoryProps" id="cdk-monitoring-constructs.StepFunctionMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.StepFunctionMetricFactoryProps.Initializer"></a>

```typescript
import { StepFunctionMetricFactoryProps } from 'cdk-monitoring-constructs'

const stepFunctionMetricFactoryProps: StepFunctionMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactoryProps.property.stateMachine">stateMachine</a></code> | <code>aws-cdk-lib.aws_stepfunctions.IStateMachine</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactoryProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |

---

##### `stateMachine`<sup>Required</sup> <a name="stateMachine" id="cdk-monitoring-constructs.StepFunctionMetricFactoryProps.property.stateMachine"></a>

```typescript
public readonly stateMachine: IStateMachine;
```

- *Type:* aws-cdk-lib.aws_stepfunctions.IStateMachine

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.StepFunctionMetricFactoryProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

### StepFunctionMonitoringOptions <a name="StepFunctionMonitoringOptions" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.Initializer"></a>

```typescript
import { StepFunctionMonitoringOptions } from 'cdk-monitoring-constructs'

const stepFunctionMonitoringOptions: StepFunctionMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addAbortedExecutionCountAlarm">addAbortedExecutionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addDurationP50Alarm">addDurationP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addDurationP90Alarm">addDurationP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addDurationP99Alarm">addDurationP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addFailedExecutionCountAlarm">addFailedExecutionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addFailedExecutionRateAlarm">addFailedExecutionRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addMinStartedExecutionCountAlarm">addMinStartedExecutionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold">MinRunningTaskCountThreshold</a>}</code> | Add minimum started execution count alarm for the stepfunctions. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addThrottledExecutionCountAlarm">addThrottledExecutionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addTimedOutExecutionCountAlarm">addTimedOutExecutionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addAbortedExecutionCountAlarm`<sup>Optional</sup> <a name="addAbortedExecutionCountAlarm" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addAbortedExecutionCountAlarm"></a>

```typescript
public readonly addAbortedExecutionCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addDurationP50Alarm`<sup>Optional</sup> <a name="addDurationP50Alarm" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addDurationP50Alarm"></a>

```typescript
public readonly addDurationP50Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP90Alarm`<sup>Optional</sup> <a name="addDurationP90Alarm" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addDurationP90Alarm"></a>

```typescript
public readonly addDurationP90Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP99Alarm`<sup>Optional</sup> <a name="addDurationP99Alarm" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addDurationP99Alarm"></a>

```typescript
public readonly addDurationP99Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addFailedExecutionCountAlarm`<sup>Optional</sup> <a name="addFailedExecutionCountAlarm" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addFailedExecutionCountAlarm"></a>

```typescript
public readonly addFailedExecutionCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addFailedExecutionRateAlarm`<sup>Optional</sup> <a name="addFailedExecutionRateAlarm" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addFailedExecutionRateAlarm"></a>

```typescript
public readonly addFailedExecutionRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addMinStartedExecutionCountAlarm`<sup>Optional</sup> <a name="addMinStartedExecutionCountAlarm" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addMinStartedExecutionCountAlarm"></a>

```typescript
public readonly addMinStartedExecutionCountAlarm: {[ key: string ]: MinRunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold">MinRunningTaskCountThreshold</a>}

Add minimum started execution count alarm for the stepfunctions.

---

##### `addThrottledExecutionCountAlarm`<sup>Optional</sup> <a name="addThrottledExecutionCountAlarm" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addThrottledExecutionCountAlarm"></a>

```typescript
public readonly addThrottledExecutionCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addTimedOutExecutionCountAlarm`<sup>Optional</sup> <a name="addTimedOutExecutionCountAlarm" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.addTimedOutExecutionCountAlarm"></a>

```typescript
public readonly addTimedOutExecutionCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

### StepFunctionMonitoringProps <a name="StepFunctionMonitoringProps" id="cdk-monitoring-constructs.StepFunctionMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.Initializer"></a>

```typescript
import { StepFunctionMonitoringProps } from 'cdk-monitoring-constructs'

const stepFunctionMonitoringProps: StepFunctionMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.stateMachine">stateMachine</a></code> | <code>aws-cdk-lib.aws_stepfunctions.IStateMachine</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addAbortedExecutionCountAlarm">addAbortedExecutionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addDurationP50Alarm">addDurationP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addDurationP90Alarm">addDurationP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addDurationP99Alarm">addDurationP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addFailedExecutionCountAlarm">addFailedExecutionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addFailedExecutionRateAlarm">addFailedExecutionRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addMinStartedExecutionCountAlarm">addMinStartedExecutionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold">MinRunningTaskCountThreshold</a>}</code> | Add minimum started execution count alarm for the stepfunctions. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addThrottledExecutionCountAlarm">addThrottledExecutionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addTimedOutExecutionCountAlarm">addTimedOutExecutionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |

---

##### `stateMachine`<sup>Required</sup> <a name="stateMachine" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.stateMachine"></a>

```typescript
public readonly stateMachine: IStateMachine;
```

- *Type:* aws-cdk-lib.aws_stepfunctions.IStateMachine

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addAbortedExecutionCountAlarm`<sup>Optional</sup> <a name="addAbortedExecutionCountAlarm" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addAbortedExecutionCountAlarm"></a>

```typescript
public readonly addAbortedExecutionCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addDurationP50Alarm`<sup>Optional</sup> <a name="addDurationP50Alarm" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addDurationP50Alarm"></a>

```typescript
public readonly addDurationP50Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP90Alarm`<sup>Optional</sup> <a name="addDurationP90Alarm" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addDurationP90Alarm"></a>

```typescript
public readonly addDurationP90Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP99Alarm`<sup>Optional</sup> <a name="addDurationP99Alarm" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addDurationP99Alarm"></a>

```typescript
public readonly addDurationP99Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addFailedExecutionCountAlarm`<sup>Optional</sup> <a name="addFailedExecutionCountAlarm" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addFailedExecutionCountAlarm"></a>

```typescript
public readonly addFailedExecutionCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addFailedExecutionRateAlarm`<sup>Optional</sup> <a name="addFailedExecutionRateAlarm" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addFailedExecutionRateAlarm"></a>

```typescript
public readonly addFailedExecutionRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addMinStartedExecutionCountAlarm`<sup>Optional</sup> <a name="addMinStartedExecutionCountAlarm" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addMinStartedExecutionCountAlarm"></a>

```typescript
public readonly addMinStartedExecutionCountAlarm: {[ key: string ]: MinRunningTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold">MinRunningTaskCountThreshold</a>}

Add minimum started execution count alarm for the stepfunctions.

---

##### `addThrottledExecutionCountAlarm`<sup>Optional</sup> <a name="addThrottledExecutionCountAlarm" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addThrottledExecutionCountAlarm"></a>

```typescript
public readonly addThrottledExecutionCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addTimedOutExecutionCountAlarm`<sup>Optional</sup> <a name="addTimedOutExecutionCountAlarm" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.addTimedOutExecutionCountAlarm"></a>

```typescript
public readonly addTimedOutExecutionCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

### StepFunctionServiceIntegrationMetricFactoryProps <a name="StepFunctionServiceIntegrationMetricFactoryProps" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactoryProps.Initializer"></a>

```typescript
import { StepFunctionServiceIntegrationMetricFactoryProps } from 'cdk-monitoring-constructs'

const stepFunctionServiceIntegrationMetricFactoryProps: StepFunctionServiceIntegrationMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactoryProps.property.serviceIntegrationResourceArn">serviceIntegrationResourceArn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactoryProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |

---

##### `serviceIntegrationResourceArn`<sup>Required</sup> <a name="serviceIntegrationResourceArn" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactoryProps.property.serviceIntegrationResourceArn"></a>

```typescript
public readonly serviceIntegrationResourceArn: string;
```

- *Type:* string

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactoryProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

### StepFunctionServiceIntegrationMonitoringProps <a name="StepFunctionServiceIntegrationMonitoringProps" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.Initializer"></a>

```typescript
import { StepFunctionServiceIntegrationMonitoringProps } from 'cdk-monitoring-constructs'

const stepFunctionServiceIntegrationMonitoringProps: StepFunctionServiceIntegrationMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.serviceIntegrationResourceArn">serviceIntegrationResourceArn</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addDurationP50Alarm">addDurationP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addDurationP90Alarm">addDurationP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addDurationP99Alarm">addDurationP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addFailedServiceIntegrationsCountAlarm">addFailedServiceIntegrationsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addFailedServiceIntegrationsRateAlarm">addFailedServiceIntegrationsRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addTimedOutServiceIntegrationsCountAlarm">addTimedOutServiceIntegrationsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |

---

##### `serviceIntegrationResourceArn`<sup>Required</sup> <a name="serviceIntegrationResourceArn" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.serviceIntegrationResourceArn"></a>

```typescript
public readonly serviceIntegrationResourceArn: string;
```

- *Type:* string

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `addDurationP50Alarm`<sup>Optional</sup> <a name="addDurationP50Alarm" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addDurationP50Alarm"></a>

```typescript
public readonly addDurationP50Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP90Alarm`<sup>Optional</sup> <a name="addDurationP90Alarm" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addDurationP90Alarm"></a>

```typescript
public readonly addDurationP90Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addDurationP99Alarm`<sup>Optional</sup> <a name="addDurationP99Alarm" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addDurationP99Alarm"></a>

```typescript
public readonly addDurationP99Alarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addFailedServiceIntegrationsCountAlarm`<sup>Optional</sup> <a name="addFailedServiceIntegrationsCountAlarm" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addFailedServiceIntegrationsCountAlarm"></a>

```typescript
public readonly addFailedServiceIntegrationsCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addFailedServiceIntegrationsRateAlarm`<sup>Optional</sup> <a name="addFailedServiceIntegrationsRateAlarm" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addFailedServiceIntegrationsRateAlarm"></a>

```typescript
public readonly addFailedServiceIntegrationsRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addTimedOutServiceIntegrationsCountAlarm`<sup>Optional</sup> <a name="addTimedOutServiceIntegrationsCountAlarm" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.addTimedOutServiceIntegrationsCountAlarm"></a>

```typescript
public readonly addTimedOutServiceIntegrationsCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

### SyntheticsCanaryMetricFactoryProps <a name="SyntheticsCanaryMetricFactoryProps" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactoryProps.Initializer"></a>

```typescript
import { SyntheticsCanaryMetricFactoryProps } from 'cdk-monitoring-constructs'

const syntheticsCanaryMetricFactoryProps: SyntheticsCanaryMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactoryProps.property.canary">canary</a></code> | <code>@aws-cdk/aws-synthetics-alpha.Canary</code> | CloudWatch Canary to monitor. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactoryProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | Method used to calculate relative rates. |

---

##### `canary`<sup>Required</sup> <a name="canary" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactoryProps.property.canary"></a>

```typescript
public readonly canary: Canary;
```

- *Type:* @aws-cdk/aws-synthetics-alpha.Canary

CloudWatch Canary to monitor.

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactoryProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

Method used to calculate relative rates.

---

### SyntheticsCanaryMonitoringOptions <a name="SyntheticsCanaryMonitoringOptions" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.Initializer"></a>

```typescript
import { SyntheticsCanaryMonitoringOptions } from 'cdk-monitoring-constructs'

const syntheticsCanaryMonitoringOptions: SyntheticsCanaryMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.add4xxErrorCountAlarm">add4xxErrorCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.add4xxErrorRateAlarm">add4xxErrorRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.add5xxFaultCountAlarm">add5xxFaultCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.add5xxFaultRateAlarm">add5xxFaultRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.addAverageLatencyAlarm">addAverageLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `add4xxErrorCountAlarm`<sup>Optional</sup> <a name="add4xxErrorCountAlarm" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.add4xxErrorCountAlarm"></a>

```typescript
public readonly add4xxErrorCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add4xxErrorRateAlarm`<sup>Optional</sup> <a name="add4xxErrorRateAlarm" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.add4xxErrorRateAlarm"></a>

```typescript
public readonly add4xxErrorRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `add5xxFaultCountAlarm`<sup>Optional</sup> <a name="add5xxFaultCountAlarm" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.add5xxFaultCountAlarm"></a>

```typescript
public readonly add5xxFaultCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add5xxFaultRateAlarm`<sup>Optional</sup> <a name="add5xxFaultRateAlarm" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.add5xxFaultRateAlarm"></a>

```typescript
public readonly add5xxFaultRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addAverageLatencyAlarm`<sup>Optional</sup> <a name="addAverageLatencyAlarm" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.addAverageLatencyAlarm"></a>

```typescript
public readonly addAverageLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

### SyntheticsCanaryMonitoringProps <a name="SyntheticsCanaryMonitoringProps" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.Initializer"></a>

```typescript
import { SyntheticsCanaryMonitoringProps } from 'cdk-monitoring-constructs'

const syntheticsCanaryMonitoringProps: SyntheticsCanaryMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.canary">canary</a></code> | <code>@aws-cdk/aws-synthetics-alpha.Canary</code> | CloudWatch Canary to monitor. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | Method used to calculate relative rates. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.add4xxErrorCountAlarm">add4xxErrorCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.add4xxErrorRateAlarm">add4xxErrorRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.add5xxFaultCountAlarm">add5xxFaultCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.add5xxFaultRateAlarm">add5xxFaultRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.addAverageLatencyAlarm">addAverageLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |

---

##### `canary`<sup>Required</sup> <a name="canary" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.canary"></a>

```typescript
public readonly canary: Canary;
```

- *Type:* @aws-cdk/aws-synthetics-alpha.Canary

CloudWatch Canary to monitor.

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* average

Method used to calculate relative rates.

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

##### `add4xxErrorCountAlarm`<sup>Optional</sup> <a name="add4xxErrorCountAlarm" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.add4xxErrorCountAlarm"></a>

```typescript
public readonly add4xxErrorCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add4xxErrorRateAlarm`<sup>Optional</sup> <a name="add4xxErrorRateAlarm" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.add4xxErrorRateAlarm"></a>

```typescript
public readonly add4xxErrorRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `add5xxFaultCountAlarm`<sup>Optional</sup> <a name="add5xxFaultCountAlarm" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.add5xxFaultCountAlarm"></a>

```typescript
public readonly add5xxFaultCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `add5xxFaultRateAlarm`<sup>Optional</sup> <a name="add5xxFaultRateAlarm" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.add5xxFaultRateAlarm"></a>

```typescript
public readonly add5xxFaultRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addAverageLatencyAlarm`<sup>Optional</sup> <a name="addAverageLatencyAlarm" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.addAverageLatencyAlarm"></a>

```typescript
public readonly addAverageLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

### ThrottledEventsThreshold <a name="ThrottledEventsThreshold" id="cdk-monitoring-constructs.ThrottledEventsThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ThrottledEventsThreshold.Initializer"></a>

```typescript
import { ThrottledEventsThreshold } from 'cdk-monitoring-constructs'

const throttledEventsThreshold: ThrottledEventsThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.maxThrottledEventsThreshold">maxThrottledEventsThreshold</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxThrottledEventsThreshold`<sup>Required</sup> <a name="maxThrottledEventsThreshold" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.maxThrottledEventsThreshold"></a>

```typescript
public readonly maxThrottledEventsThreshold: number;
```

- *Type:* number

---

### UnhealthyTaskCountThreshold <a name="UnhealthyTaskCountThreshold" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.Initializer"></a>

```typescript
import { UnhealthyTaskCountThreshold } from 'cdk-monitoring-constructs'

const unhealthyTaskCountThreshold: UnhealthyTaskCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.maxUnhealthyTasks">maxUnhealthyTasks</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxUnhealthyTasks`<sup>Required</sup> <a name="maxUnhealthyTasks" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.maxUnhealthyTasks"></a>

```typescript
public readonly maxUnhealthyTasks: number;
```

- *Type:* number

---

### UsageCountThreshold <a name="UsageCountThreshold" id="cdk-monitoring-constructs.UsageCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.UsageCountThreshold.Initializer"></a>

```typescript
import { UsageCountThreshold } from 'cdk-monitoring-constructs'

const usageCountThreshold: UsageCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.maxUsageCount">maxUsageCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.UsageCountThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.UsageCountThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.UsageCountThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.UsageCountThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.UsageCountThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.UsageCountThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.UsageCountThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.UsageCountThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.UsageCountThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.UsageCountThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.UsageCountThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.UsageCountThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.UsageCountThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.UsageCountThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.UsageCountThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.UsageCountThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxUsageCount`<sup>Required</sup> <a name="maxUsageCount" id="cdk-monitoring-constructs.UsageCountThreshold.property.maxUsageCount"></a>

```typescript
public readonly maxUsageCount: number;
```

- *Type:* number

---

### UsageThreshold <a name="UsageThreshold" id="cdk-monitoring-constructs.UsageThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.UsageThreshold.Initializer"></a>

```typescript
import { UsageThreshold } from 'cdk-monitoring-constructs'

const usageThreshold: UsageThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.actionOverride">actionOverride</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></code> | Allows to override the default alarm action. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.alarmDescriptionOverride">alarmDescriptionOverride</a></code> | <code>string</code> | A text included in the generated ticket description body, which fully replaces the generated text. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.alarmNameOverride">alarmNameOverride</a></code> | <code>string</code> | If this is defined, the alarm name is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.comparisonOperatorOverride">comparisonOperatorOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.ComparisonOperator</code> | Comparison operator used to compare actual value against the threshold. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.customParams">customParams</a></code> | <code>{[ key: string ]: any}</code> | This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.customTags">customTags</a></code> | <code>string[]</code> | This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.dedupeStringOverride">dedupeStringOverride</a></code> | <code>string</code> | If this is defined, the alarm dedupe string is set to this exact value. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.evaluationPeriods">evaluationPeriods</a></code> | <code>number</code> | Number of periods to consider when checking the number of breaching datapoints. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.fillAlarmRange">fillAlarmRange</a></code> | <code>boolean</code> | Indicates whether the alarming range of values should be highlighted in the widget. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Period override for the metric to alarm on. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.treatMissingDataOverride">treatMissingDataOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.TreatMissingData</code> | Behaviour in case the metric data is missing. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.maxUsagePercent">maxUsagePercent</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.UsageThreshold.property.actionOverride"></a>

```typescript
public readonly actionOverride: IAlarmActionStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>
- *Default:* undefined (default action will be used, if any)

Allows to override the default alarm action.

---

##### `actionsEnabled`<sup>Optional</sup> <a name="actionsEnabled" id="cdk-monitoring-constructs.UsageThreshold.property.actionsEnabled"></a>

```typescript
public readonly actionsEnabled: boolean;
```

- *Type:* boolean
- *Default:* the same as monitoring facade default

Enables the configured CloudWatch alarm ticketing actions.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.UsageThreshold.property.alarmDescriptionOverride"></a>

```typescript
public readonly alarmDescriptionOverride: string;
```

- *Type:* string
- *Default:* default auto-generated content only

A text included in the generated ticket description body, which fully replaces the generated text.

---

##### `alarmNameOverride`<sup>Optional</sup> <a name="alarmNameOverride" id="cdk-monitoring-constructs.UsageThreshold.property.alarmNameOverride"></a>

```typescript
public readonly alarmNameOverride: string;
```

- *Type:* string

If this is defined, the alarm name is set to this exact value.

Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.UsageThreshold.property.comparisonOperatorOverride"></a>

```typescript
public readonly comparisonOperatorOverride: ComparisonOperator;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.ComparisonOperator
- *Default:* alarm-specific default

Comparison operator used to compare actual value against the threshold.

---

##### `customParams`<sup>Optional</sup> <a name="customParams" id="cdk-monitoring-constructs.UsageThreshold.property.customParams"></a>

```typescript
public readonly customParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}
- *Default:* no parameters

This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `customTags`<sup>Optional</sup> <a name="customTags" id="cdk-monitoring-constructs.UsageThreshold.property.customTags"></a>

```typescript
public readonly customTags: string[];
```

- *Type:* string[]
- *Default:* no tags

This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.

---

##### `datapointsToAlarm`<sup>Optional</sup> <a name="datapointsToAlarm" id="cdk-monitoring-constructs.UsageThreshold.property.datapointsToAlarm"></a>

```typescript
public readonly datapointsToAlarm: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of breaches required to transition into an ALARM state.

---

##### `dedupeStringOverride`<sup>Optional</sup> <a name="dedupeStringOverride" id="cdk-monitoring-constructs.UsageThreshold.property.dedupeStringOverride"></a>

```typescript
public readonly dedupeStringOverride: string;
```

- *Type:* string
- *Default:* undefined (no override)

If this is defined, the alarm dedupe string is set to this exact value.

Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
Dedupe strings are global and not unique per CTI.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.UsageThreshold.property.documentationLink"></a>

```typescript
public readonly documentationLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `evaluateLowSampleCountPercentile`<sup>Optional</sup> <a name="evaluateLowSampleCountPercentile" id="cdk-monitoring-constructs.UsageThreshold.property.evaluateLowSampleCountPercentile"></a>

```typescript
public readonly evaluateLowSampleCountPercentile: boolean;
```

- *Type:* boolean
- *Default:* true

Used only for alarms based on percentiles.

If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.

---

##### `evaluationPeriods`<sup>Optional</sup> <a name="evaluationPeriods" id="cdk-monitoring-constructs.UsageThreshold.property.evaluationPeriods"></a>

```typescript
public readonly evaluationPeriods: number;
```

- *Type:* number
- *Default:* the same as monitoring facade default

Number of periods to consider when checking the number of breaching datapoints.

---

##### `fillAlarmRange`<sup>Optional</sup> <a name="fillAlarmRange" id="cdk-monitoring-constructs.UsageThreshold.property.fillAlarmRange"></a>

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.UsageThreshold.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* the default specified in MetricFactory

Period override for the metric to alarm on.

---

##### `runbookLink`<sup>Optional</sup> <a name="runbookLink" id="cdk-monitoring-constructs.UsageThreshold.property.runbookLink"></a>

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.UsageThreshold.property.treatMissingDataOverride"></a>

```typescript
public readonly treatMissingDataOverride: TreatMissingData;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.TreatMissingData
- *Default:* alarm-specific default

Behaviour in case the metric data is missing.

---

##### `maxUsagePercent`<sup>Required</sup> <a name="maxUsagePercent" id="cdk-monitoring-constructs.UsageThreshold.property.maxUsagePercent"></a>

```typescript
public readonly maxUsagePercent: number;
```

- *Type:* number

---

### UserProvidedNames <a name="UserProvidedNames" id="cdk-monitoring-constructs.UserProvidedNames"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.UserProvidedNames.Initializer"></a>

```typescript
import { UserProvidedNames } from 'cdk-monitoring-constructs'

const userProvidedNames: UserProvidedNames = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.UserProvidedNames.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.UserProvidedNames.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.UserProvidedNames.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.UserProvidedNames.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.UserProvidedNames.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.UserProvidedNames.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

### WafV2MetricFactoryProps <a name="WafV2MetricFactoryProps" id="cdk-monitoring-constructs.WafV2MetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.WafV2MetricFactoryProps.Initializer"></a>

```typescript
import { WafV2MetricFactoryProps } from 'cdk-monitoring-constructs'

const wafV2MetricFactoryProps: WafV2MetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.WafV2MetricFactoryProps.property.acl">acl</a></code> | <code>aws-cdk-lib.aws_wafv2.CfnWebACL</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2MetricFactoryProps.property.region">region</a></code> | <code>string</code> | *No description.* |

---

##### `acl`<sup>Required</sup> <a name="acl" id="cdk-monitoring-constructs.WafV2MetricFactoryProps.property.acl"></a>

```typescript
public readonly acl: CfnWebACL;
```

- *Type:* aws-cdk-lib.aws_wafv2.CfnWebACL

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.WafV2MetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

### WafV2MonitoringOptions <a name="WafV2MonitoringOptions" id="cdk-monitoring-constructs.WafV2MonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.WafV2MonitoringOptions.Initializer"></a>

```typescript
import { WafV2MonitoringOptions } from 'cdk-monitoring-constructs'

const wafV2MonitoringOptions: WafV2MonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringOptions.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringOptions.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringOptions.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringOptions.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringOptions.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringOptions.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.WafV2MonitoringOptions.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.WafV2MonitoringOptions.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.WafV2MonitoringOptions.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.WafV2MonitoringOptions.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.WafV2MonitoringOptions.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.WafV2MonitoringOptions.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.WafV2MonitoringOptions.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### WafV2MonitoringProps <a name="WafV2MonitoringProps" id="cdk-monitoring-constructs.WafV2MonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.WafV2MonitoringProps.Initializer"></a>

```typescript
import { WafV2MonitoringProps } from 'cdk-monitoring-constructs'

const wafV2MonitoringProps: WafV2MonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps.property.acl">acl</a></code> | <code>aws-cdk-lib.aws_wafv2.CfnWebACL</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps.property.region">region</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | Human-readable name is a freeform string, used as a caption or description. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps.property.localAlarmNamePrefixOverride">localAlarmNamePrefixOverride</a></code> | <code>string</code> | If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps.property.addToAlarmDashboard">addToAlarmDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to alarm dashboard. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps.property.addToDetailDashboard">addToDetailDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to detailed dashboard. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating if the widgets should be added to summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `acl`<sup>Required</sup> <a name="acl" id="cdk-monitoring-constructs.WafV2MonitoringProps.property.acl"></a>

```typescript
public readonly acl: CfnWebACL;
```

- *Type:* aws-cdk-lib.aws_wafv2.CfnWebACL

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.WafV2MonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.WafV2MonitoringProps.property.alarmFriendlyName"></a>

```typescript
public readonly alarmFriendlyName: string;
```

- *Type:* string
- *Default:* derives name from the construct itself

Plain name, used in naming alarms.

This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

---

##### `humanReadableName`<sup>Optional</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.WafV2MonitoringProps.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string
- *Default:* use alarmFriendlyName

Human-readable name is a freeform string, used as a caption or description.

There are no limitations on what it can be.

---

##### `localAlarmNamePrefixOverride`<sup>Optional</sup> <a name="localAlarmNamePrefixOverride" id="cdk-monitoring-constructs.WafV2MonitoringProps.property.localAlarmNamePrefixOverride"></a>

```typescript
public readonly localAlarmNamePrefixOverride: string;
```

- *Type:* string

If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.

The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.

> [AlarmNamingStrategy for more details on alarm name prefixes](AlarmNamingStrategy for more details on alarm name prefixes)

---

##### `addToAlarmDashboard`<sup>Optional</sup> <a name="addToAlarmDashboard" id="cdk-monitoring-constructs.WafV2MonitoringProps.property.addToAlarmDashboard"></a>

```typescript
public readonly addToAlarmDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to alarm dashboard.

---

##### `addToDetailDashboard`<sup>Optional</sup> <a name="addToDetailDashboard" id="cdk-monitoring-constructs.WafV2MonitoringProps.property.addToDetailDashboard"></a>

```typescript
public readonly addToDetailDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to detailed dashboard.

---

##### `addToSummaryDashboard`<sup>Optional</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.WafV2MonitoringProps.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* true

Flag indicating if the widgets should be added to summary dashboard.

---

##### `useCreatedAlarms`<sup>Optional</sup> <a name="useCreatedAlarms" id="cdk-monitoring-constructs.WafV2MonitoringProps.property.useCreatedAlarms"></a>

```typescript
public readonly useCreatedAlarms: IAlarmConsumer;
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

Calls provided function to process all alarms created.

---

### XaxrMathExpressionProps <a name="XaxrMathExpressionProps" id="cdk-monitoring-constructs.XaxrMathExpressionProps"></a>

Custom wrapper class for MathExpressionProps that supports account and region customization.

> [https://github.com/aws/aws-cdk/issues/9039](https://github.com/aws/aws-cdk/issues/9039)

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.XaxrMathExpressionProps.Initializer"></a>

```typescript
import { XaxrMathExpressionProps } from 'cdk-monitoring-constructs'

const xaxrMathExpressionProps: XaxrMathExpressionProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.XaxrMathExpressionProps.property.color">color</a></code> | <code>string</code> | Color for this metric when added to a Graph in a Dashboard. |
| <code><a href="#cdk-monitoring-constructs.XaxrMathExpressionProps.property.label">label</a></code> | <code>string</code> | Label for this metric when added to a Graph in a Dashboard. |
| <code><a href="#cdk-monitoring-constructs.XaxrMathExpressionProps.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | The period over which the expression's statistics are applied. |
| <code><a href="#cdk-monitoring-constructs.XaxrMathExpressionProps.property.searchAccount">searchAccount</a></code> | <code>string</code> | Account to evaluate search expressions within. |
| <code><a href="#cdk-monitoring-constructs.XaxrMathExpressionProps.property.searchRegion">searchRegion</a></code> | <code>string</code> | Region to evaluate search expressions within. |
| <code><a href="#cdk-monitoring-constructs.XaxrMathExpressionProps.property.expression">expression</a></code> | <code>string</code> | The expression defining the metric. |
| <code><a href="#cdk-monitoring-constructs.XaxrMathExpressionProps.property.usingMetrics">usingMetrics</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.IMetric}</code> | The metrics used in the expression, in a map. |
| <code><a href="#cdk-monitoring-constructs.XaxrMathExpressionProps.property.account">account</a></code> | <code>string</code> | (experimental) Account which this metric comes from. |
| <code><a href="#cdk-monitoring-constructs.XaxrMathExpressionProps.property.region">region</a></code> | <code>string</code> | (experimental) Region which this metric comes from. |

---

##### `color`<sup>Optional</sup> <a name="color" id="cdk-monitoring-constructs.XaxrMathExpressionProps.property.color"></a>

```typescript
public readonly color: string;
```

- *Type:* string
- *Default:* Automatic color

Color for this metric when added to a Graph in a Dashboard.

---

##### `label`<sup>Optional</sup> <a name="label" id="cdk-monitoring-constructs.XaxrMathExpressionProps.property.label"></a>

```typescript
public readonly label: string;
```

- *Type:* string
- *Default:* Expression value is used as label

Label for this metric when added to a Graph in a Dashboard.

---

##### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.XaxrMathExpressionProps.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* Duration.minutes(5)

The period over which the expression's statistics are applied.

This period overrides all periods in the metrics used in this
math expression.

---

##### `searchAccount`<sup>Optional</sup> <a name="searchAccount" id="cdk-monitoring-constructs.XaxrMathExpressionProps.property.searchAccount"></a>

```typescript
public readonly searchAccount: string;
```

- *Type:* string
- *Default:* Deployment account.

Account to evaluate search expressions within.

Specifying a searchAccount has no effect to the account used
for metrics within the expression (passed via usingMetrics).

---

##### `searchRegion`<sup>Optional</sup> <a name="searchRegion" id="cdk-monitoring-constructs.XaxrMathExpressionProps.property.searchRegion"></a>

```typescript
public readonly searchRegion: string;
```

- *Type:* string
- *Default:* Deployment region.

Region to evaluate search expressions within.

Specifying a searchRegion has no effect to the region used
for metrics within the expression (passed via usingMetrics).

---

##### `expression`<sup>Required</sup> <a name="expression" id="cdk-monitoring-constructs.XaxrMathExpressionProps.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

The expression defining the metric.

When an expression contains a SEARCH function, it cannot be used
within an Alarm.

---

##### `usingMetrics`<sup>Optional</sup> <a name="usingMetrics" id="cdk-monitoring-constructs.XaxrMathExpressionProps.property.usingMetrics"></a>

```typescript
public readonly usingMetrics: {[ key: string ]: IMetric};
```

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.IMetric}
- *Default:* Empty map.

The metrics used in the expression, in a map.

The key is the identifier that represents the given metric in the
expression, and the value is the actual Metric object.

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.XaxrMathExpressionProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* Deployment account.

(experimental) Account which this metric comes from.

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.XaxrMathExpressionProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* Deployment region.

(experimental) Region which this metric comes from.

---

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

### AgeAlarmFactory <a name="AgeAlarmFactory" id="cdk-monitoring-constructs.AgeAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AgeAlarmFactory.Initializer"></a>

```typescript
import { AgeAlarmFactory } from 'cdk-monitoring-constructs'

new AgeAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AgeAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.AgeAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AgeAlarmFactory.addDaysSinceUpdateAlarm">addDaysSinceUpdateAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AgeAlarmFactory.addDaysToExpiryAlarm">addDaysToExpiryAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AgeAlarmFactory.addIteratorMaxAgeAlarm">addIteratorMaxAgeAlarm</a></code> | *No description.* |

---

##### `addDaysSinceUpdateAlarm` <a name="addDaysSinceUpdateAlarm" id="cdk-monitoring-constructs.AgeAlarmFactory.addDaysSinceUpdateAlarm"></a>

```typescript
public addDaysSinceUpdateAlarm(metric: Metric | MathExpression, props: DaysSinceUpdateThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.AgeAlarmFactory.addDaysSinceUpdateAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AgeAlarmFactory.addDaysSinceUpdateAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold">DaysSinceUpdateThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.AgeAlarmFactory.addDaysSinceUpdateAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addDaysToExpiryAlarm` <a name="addDaysToExpiryAlarm" id="cdk-monitoring-constructs.AgeAlarmFactory.addDaysToExpiryAlarm"></a>

```typescript
public addDaysToExpiryAlarm(metric: Metric | MathExpression, props: DaysToExpiryThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.AgeAlarmFactory.addDaysToExpiryAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AgeAlarmFactory.addDaysToExpiryAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DaysToExpiryThreshold">DaysToExpiryThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.AgeAlarmFactory.addDaysToExpiryAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addIteratorMaxAgeAlarm` <a name="addIteratorMaxAgeAlarm" id="cdk-monitoring-constructs.AgeAlarmFactory.addIteratorMaxAgeAlarm"></a>

```typescript
public addIteratorMaxAgeAlarm(metric: Metric | MathExpression, props: MaxAgeThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.AgeAlarmFactory.addIteratorMaxAgeAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AgeAlarmFactory.addIteratorMaxAgeAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxAgeThreshold">MaxAgeThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.AgeAlarmFactory.addIteratorMaxAgeAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### AlarmFactory <a name="AlarmFactory" id="cdk-monitoring-constructs.AlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AlarmFactory.Initializer"></a>

```typescript
import { AlarmFactory } from 'cdk-monitoring-constructs'

new AlarmFactory(alarmScope: Construct, props: AlarmFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmFactory.Initializer.parameter.alarmScope">alarmScope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactoryProps">AlarmFactoryProps</a></code> | *No description.* |

---

##### `alarmScope`<sup>Required</sup> <a name="alarmScope" id="cdk-monitoring-constructs.AlarmFactory.Initializer.parameter.alarmScope"></a>

- *Type:* constructs.Construct

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AlarmFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactoryProps">AlarmFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmFactory.addAlarm">addAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmFactory.addCompositeAlarm">addCompositeAlarm</a></code> | *No description.* |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.AlarmFactory.addAlarm"></a>

```typescript
public addAlarm(metric: Metric | MathExpression, props: AddAlarmProps): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.AlarmFactory.addAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AlarmFactory.addAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AddAlarmProps">AddAlarmProps</a>

---

##### `addCompositeAlarm` <a name="addCompositeAlarm" id="cdk-monitoring-constructs.AlarmFactory.addCompositeAlarm"></a>

```typescript
public addCompositeAlarm(alarms: AlarmWithAnnotation[], props: AddCompositeAlarmProps): CompositeAlarm
```

###### `alarms`<sup>Required</sup> <a name="alarms" id="cdk-monitoring-constructs.AlarmFactory.addCompositeAlarm.parameter.alarms"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>[]

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AlarmFactory.addCompositeAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AddCompositeAlarmProps">AddCompositeAlarmProps</a>

---


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmFactory.property.shouldUseDefaultDedupeForError">shouldUseDefaultDedupeForError</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmFactory.property.shouldUseDefaultDedupeForLatency">shouldUseDefaultDedupeForLatency</a></code> | <code>boolean</code> | *No description.* |

---

##### `shouldUseDefaultDedupeForError`<sup>Required</sup> <a name="shouldUseDefaultDedupeForError" id="cdk-monitoring-constructs.AlarmFactory.property.shouldUseDefaultDedupeForError"></a>

```typescript
public readonly shouldUseDefaultDedupeForError: boolean;
```

- *Type:* boolean

---

##### `shouldUseDefaultDedupeForLatency`<sup>Required</sup> <a name="shouldUseDefaultDedupeForLatency" id="cdk-monitoring-constructs.AlarmFactory.property.shouldUseDefaultDedupeForLatency"></a>

```typescript
public readonly shouldUseDefaultDedupeForLatency: boolean;
```

- *Type:* boolean

---


### AlarmMatrixWidget <a name="AlarmMatrixWidget" id="cdk-monitoring-constructs.AlarmMatrixWidget"></a>

Wrapper of Alarm Status Widget which auto-calcultes height based on the number of alarms.

Always takes the maximum width.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AlarmMatrixWidget.Initializer"></a>

```typescript
import { AlarmMatrixWidget } from 'cdk-monitoring-constructs'

new AlarmMatrixWidget(props: AlarmMatrixWidgetProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmMatrixWidget.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmMatrixWidgetProps">AlarmMatrixWidgetProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AlarmMatrixWidget.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmMatrixWidgetProps">AlarmMatrixWidgetProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmMatrixWidget.position">position</a></code> | Place the widget at a given position. |
| <code><a href="#cdk-monitoring-constructs.AlarmMatrixWidget.toJson">toJson</a></code> | Return the widget JSON for use in the dashboard. |

---

##### `position` <a name="position" id="cdk-monitoring-constructs.AlarmMatrixWidget.position"></a>

```typescript
public position(x: number, y: number): void
```

Place the widget at a given position.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.AlarmMatrixWidget.position.parameter.x"></a>

- *Type:* number

---

###### `y`<sup>Required</sup> <a name="y" id="cdk-monitoring-constructs.AlarmMatrixWidget.position.parameter.y"></a>

- *Type:* number

---

##### `toJson` <a name="toJson" id="cdk-monitoring-constructs.AlarmMatrixWidget.toJson"></a>

```typescript
public toJson(): any[]
```

Return the widget JSON for use in the dashboard.


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmMatrixWidget.property.height">height</a></code> | <code>number</code> | The amount of vertical grid units the widget will take up. |
| <code><a href="#cdk-monitoring-constructs.AlarmMatrixWidget.property.width">width</a></code> | <code>number</code> | The amount of horizontal grid units the widget will take up. |

---

##### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.AlarmMatrixWidget.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number

The amount of vertical grid units the widget will take up.

---

##### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.AlarmMatrixWidget.property.width"></a>

```typescript
public readonly width: number;
```

- *Type:* number

The amount of horizontal grid units the widget will take up.

---


### AlarmNamingStrategy <a name="AlarmNamingStrategy" id="cdk-monitoring-constructs.AlarmNamingStrategy"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AlarmNamingStrategy.Initializer"></a>

```typescript
import { AlarmNamingStrategy } from 'cdk-monitoring-constructs'

new AlarmNamingStrategy(globalPrefix: string, localPrefix: string, dedupeStringStrategy?: IAlarmDedupeStringProcessor)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmNamingStrategy.Initializer.parameter.globalPrefix">globalPrefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmNamingStrategy.Initializer.parameter.localPrefix">localPrefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AlarmNamingStrategy.Initializer.parameter.dedupeStringStrategy">dedupeStringStrategy</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmDedupeStringProcessor">IAlarmDedupeStringProcessor</a></code> | *No description.* |

---

##### `globalPrefix`<sup>Required</sup> <a name="globalPrefix" id="cdk-monitoring-constructs.AlarmNamingStrategy.Initializer.parameter.globalPrefix"></a>

- *Type:* string

---

##### `localPrefix`<sup>Required</sup> <a name="localPrefix" id="cdk-monitoring-constructs.AlarmNamingStrategy.Initializer.parameter.localPrefix"></a>

- *Type:* string

---

##### `dedupeStringStrategy`<sup>Optional</sup> <a name="dedupeStringStrategy" id="cdk-monitoring-constructs.AlarmNamingStrategy.Initializer.parameter.dedupeStringStrategy"></a>

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmDedupeStringProcessor">IAlarmDedupeStringProcessor</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmNamingStrategy.getDedupeString">getDedupeString</a></code> | Dedupe string resolved like this: - If "dedupeStringOverride" is defined for an alarm, it will be used as a dedupe string. |
| <code><a href="#cdk-monitoring-constructs.AlarmNamingStrategy.getName">getName</a></code> | Alarm name is resolved like this: - If "alarmNameOverride" is defined for an alarm, it will be used as alarm name. |
| <code><a href="#cdk-monitoring-constructs.AlarmNamingStrategy.getWidgetLabel">getWidgetLabel</a></code> | *No description.* |

---

##### `getDedupeString` <a name="getDedupeString" id="cdk-monitoring-constructs.AlarmNamingStrategy.getDedupeString"></a>

```typescript
public getDedupeString(props: AlarmNamingInput): string
```

Dedupe string resolved like this: - If "dedupeStringOverride" is defined for an alarm, it will be used as a dedupe string.

If "alarmDedupeStringSuffix" from the alarm factory is defined, "GlobalPrefix-LocalPrefix-AlarmDedupeStringSuffix" will be used as a dedupe string.
- Otherwise, the alarm dedupe string will not be set.
If a dedupe string strategy is set, it will be used to process the final string.

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AlarmNamingStrategy.getDedupeString.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmNamingInput">AlarmNamingInput</a>

properties.

---

##### `getName` <a name="getName" id="cdk-monitoring-constructs.AlarmNamingStrategy.getName"></a>

```typescript
public getName(props: AlarmNamingInput): string
```

Alarm name is resolved like this: - If "alarmNameOverride" is defined for an alarm, it will be used as alarm name.

Otherwise, the alarm name will be generated by joining: global prefix, local prefix, alarm name suffix, disambiguator.

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AlarmNamingStrategy.getName.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmNamingInput">AlarmNamingInput</a>

properties.

---

##### `getWidgetLabel` <a name="getWidgetLabel" id="cdk-monitoring-constructs.AlarmNamingStrategy.getWidgetLabel"></a>

```typescript
public getWidgetLabel(props: AlarmNamingInput): string
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AlarmNamingStrategy.getWidgetLabel.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmNamingInput">AlarmNamingInput</a>

---




### AlarmSummaryMatrixWidget <a name="AlarmSummaryMatrixWidget" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidget"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidget.Initializer"></a>

```typescript
import { AlarmSummaryMatrixWidget } from 'cdk-monitoring-constructs'

new AlarmSummaryMatrixWidget(props: AlarmSummaryMatrixWidgetProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidget.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps">AlarmSummaryMatrixWidgetProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidget.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidgetProps">AlarmSummaryMatrixWidgetProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidget.position">position</a></code> | Place the widget at a given position. |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidget.toJson">toJson</a></code> | Return the widget JSON for use in the dashboard. |

---

##### `position` <a name="position" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidget.position"></a>

```typescript
public position(x: number, y: number): void
```

Place the widget at a given position.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidget.position.parameter.x"></a>

- *Type:* number

---

###### `y`<sup>Required</sup> <a name="y" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidget.position.parameter.y"></a>

- *Type:* number

---

##### `toJson` <a name="toJson" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidget.toJson"></a>

```typescript
public toJson(): any[]
```

Return the widget JSON for use in the dashboard.


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidget.property.height">height</a></code> | <code>number</code> | The amount of vertical grid units the widget will take up. |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidget.property.width">width</a></code> | <code>number</code> | The amount of horizontal grid units the widget will take up. |

---

##### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidget.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number

The amount of vertical grid units the widget will take up.

---

##### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidget.property.width"></a>

```typescript
public readonly width: number;
```

- *Type:* number

The amount of horizontal grid units the widget will take up.

---


### AnomalyDetectingAlarmFactory <a name="AnomalyDetectingAlarmFactory" id="cdk-monitoring-constructs.AnomalyDetectingAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AnomalyDetectingAlarmFactory.Initializer"></a>

```typescript
import { AnomalyDetectingAlarmFactory } from 'cdk-monitoring-constructs'

new AnomalyDetectingAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectingAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.AnomalyDetectingAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectingAlarmFactory.addAlarmWhenOutOfBand">addAlarmWhenOutOfBand</a></code> | *No description.* |

---

##### `addAlarmWhenOutOfBand` <a name="addAlarmWhenOutOfBand" id="cdk-monitoring-constructs.AnomalyDetectingAlarmFactory.addAlarmWhenOutOfBand"></a>

```typescript
public addAlarmWhenOutOfBand(metric: Metric | MathExpression, alarmNameSuffix: string, disambiguator: string, props: AnomalyDetectionThreshold): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.AnomalyDetectingAlarmFactory.addAlarmWhenOutOfBand.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `alarmNameSuffix`<sup>Required</sup> <a name="alarmNameSuffix" id="cdk-monitoring-constructs.AnomalyDetectingAlarmFactory.addAlarmWhenOutOfBand.parameter.alarmNameSuffix"></a>

- *Type:* string

---

###### `disambiguator`<sup>Required</sup> <a name="disambiguator" id="cdk-monitoring-constructs.AnomalyDetectingAlarmFactory.addAlarmWhenOutOfBand.parameter.disambiguator"></a>

- *Type:* string

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AnomalyDetectingAlarmFactory.addAlarmWhenOutOfBand.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold">AnomalyDetectionThreshold</a>

---




### AnomalyDetectionMathExpression <a name="AnomalyDetectionMathExpression" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression"></a>

Captures specific MathExpression for anomaly detection, for which alarm generation is different.

Added to overcome certain CDK limitations at the time of writing.

> [https://github.com/aws/aws-cdk/issues/10540](https://github.com/aws/aws-cdk/issues/10540)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.Initializer"></a>

```typescript
import { AnomalyDetectionMathExpression } from 'cdk-monitoring-constructs'

new AnomalyDetectionMathExpression(props: MathExpressionProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.Initializer.parameter.props">props</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpressionProps</code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.Initializer.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpressionProps

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.createAlarm">createAlarm</a></code> | Make a new Alarm for this metric. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.toMetricConfig">toMetricConfig</a></code> | Inspect the details of the metric object. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.with">with</a></code> | Return a copy of Metric with properties changed. |

---

##### `createAlarm` <a name="createAlarm" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.createAlarm"></a>

```typescript
public createAlarm(scope: Construct, id: string, props: CreateAlarmOptions): Alarm
```

Make a new Alarm for this metric.

Combines both properties that may adjust the metric (aggregation) as well
as alarm properties.

###### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.createAlarm.parameter.scope"></a>

- *Type:* constructs.Construct

---

###### `id`<sup>Required</sup> <a name="id" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.createAlarm.parameter.id"></a>

- *Type:* string

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.createAlarm.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions

---

##### `toMetricConfig` <a name="toMetricConfig" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.toMetricConfig"></a>

```typescript
public toMetricConfig(): MetricConfig
```

Inspect the details of the metric object.

##### `toString` <a name="toString" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `with` <a name="with" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.with"></a>

```typescript
public with(props: MathExpressionOptions): MathExpression
```

Return a copy of Metric with properties changed.

All properties except namespace and metricName can be changed.

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.with.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpressionOptions

---


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.expression">expression</a></code> | <code>string</code> | The expression defining the metric. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.period">period</a></code> | <code>aws-cdk-lib.Duration</code> | Aggregation period of this metric. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.usingMetrics">usingMetrics</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.IMetric}</code> | The metrics used in the expression as KeyValuePair <id, metric>. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.color">color</a></code> | <code>string</code> | The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The `Color` class has a set of standard colors that can be used here. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.label">label</a></code> | <code>string</code> | Label for this metric when added to a Graph. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.searchAccount">searchAccount</a></code> | <code>string</code> | Account to evaluate search expressions within. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.searchRegion">searchRegion</a></code> | <code>string</code> | Region to evaluate search expressions within. |

---

##### `expression`<sup>Required</sup> <a name="expression" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.expression"></a>

```typescript
public readonly expression: string;
```

- *Type:* string

The expression defining the metric.

---

##### `period`<sup>Required</sup> <a name="period" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.period"></a>

```typescript
public readonly period: Duration;
```

- *Type:* aws-cdk-lib.Duration

Aggregation period of this metric.

---

##### `usingMetrics`<sup>Required</sup> <a name="usingMetrics" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.usingMetrics"></a>

```typescript
public readonly usingMetrics: {[ key: string ]: IMetric};
```

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.IMetric}

The metrics used in the expression as KeyValuePair <id, metric>.

---

##### `color`<sup>Optional</sup> <a name="color" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.color"></a>

```typescript
public readonly color: string;
```

- *Type:* string

The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The `Color` class has a set of standard colors that can be used here.

---

##### `label`<sup>Optional</sup> <a name="label" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.label"></a>

```typescript
public readonly label: string;
```

- *Type:* string

Label for this metric when added to a Graph.

---

##### `searchAccount`<sup>Optional</sup> <a name="searchAccount" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.searchAccount"></a>

```typescript
public readonly searchAccount: string;
```

- *Type:* string

Account to evaluate search expressions within.

---

##### `searchRegion`<sup>Optional</sup> <a name="searchRegion" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.searchRegion"></a>

```typescript
public readonly searchRegion: string;
```

- *Type:* string

Region to evaluate search expressions within.

---


### ApiGatewayMetricFactory <a name="ApiGatewayMetricFactory" id="cdk-monitoring-constructs.ApiGatewayMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.Initializer"></a>

```typescript
import { ApiGatewayMetricFactory } from 'cdk-monitoring-constructs'

new ApiGatewayMetricFactory(metricFactory: MetricFactory, props: ApiGatewayMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactoryProps">ApiGatewayMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ApiGatewayMetricFactoryProps">ApiGatewayMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactory.metric4XXErrorCount">metric4XXErrorCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactory.metric4XXErrorRate">metric4XXErrorRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactory.metric5XXFaultCount">metric5XXFaultCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactory.metric5XXFaultRate">metric5XXFaultRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactory.metricInvocationCount">metricInvocationCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactory.metricInvocationRate">metricInvocationRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactory.metricLatencyInMillis">metricLatencyInMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactory.metricLatencyP50InMillis">metricLatencyP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactory.metricLatencyP90InMillis">metricLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactory.metricLatencyP99InMillis">metricLatencyP99InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactory.metricTps">metricTps</a></code> | *No description.* |

---

##### `metric4XXErrorCount` <a name="metric4XXErrorCount" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metric4XXErrorCount"></a>

```typescript
public metric4XXErrorCount(): Metric | MathExpression
```

##### `metric4XXErrorRate` <a name="metric4XXErrorRate" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metric4XXErrorRate"></a>

```typescript
public metric4XXErrorRate(): Metric | MathExpression
```

##### `metric5XXFaultCount` <a name="metric5XXFaultCount" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metric5XXFaultCount"></a>

```typescript
public metric5XXFaultCount(): Metric | MathExpression
```

##### `metric5XXFaultRate` <a name="metric5XXFaultRate" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metric5XXFaultRate"></a>

```typescript
public metric5XXFaultRate(): Metric | MathExpression
```

##### `metricInvocationCount` <a name="metricInvocationCount" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricInvocationCount"></a>

```typescript
public metricInvocationCount(): Metric | MathExpression
```

##### `metricInvocationRate` <a name="metricInvocationRate" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricInvocationRate"></a>

```typescript
public metricInvocationRate(): Metric | MathExpression
```

##### `metricLatencyInMillis` <a name="metricLatencyInMillis" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricLatencyInMillis"></a>

```typescript
public metricLatencyInMillis(latencyType: LatencyType): Metric | MathExpression
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricLatencyInMillis.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### ~~`metricLatencyP50InMillis`~~ <a name="metricLatencyP50InMillis" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricLatencyP50InMillis"></a>

```typescript
public metricLatencyP50InMillis(): Metric | MathExpression
```

##### ~~`metricLatencyP90InMillis`~~ <a name="metricLatencyP90InMillis" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricLatencyP90InMillis"></a>

```typescript
public metricLatencyP90InMillis(): Metric | MathExpression
```

##### ~~`metricLatencyP99InMillis`~~ <a name="metricLatencyP99InMillis" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricLatencyP99InMillis"></a>

```typescript
public metricLatencyP99InMillis(): Metric | MathExpression
```

##### ~~`metricTps`~~ <a name="metricTps" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricTps"></a>

```typescript
public metricTps(): Metric | MathExpression
```




### ApiGatewayMonitoring <a name="ApiGatewayMonitoring" id="cdk-monitoring-constructs.ApiGatewayMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ApiGatewayMonitoring.Initializer"></a>

```typescript
import { ApiGatewayMonitoring } from 'cdk-monitoring-constructs'

new ApiGatewayMonitoring(scope: MonitoringScope, props: ApiGatewayMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps">ApiGatewayMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.ApiGatewayMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ApiGatewayMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps">ApiGatewayMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.ApiGatewayMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.ApiGatewayMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.ApiGatewayMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.ApiGatewayMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.ApiGatewayMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### ApiGatewayV2HttpApiMetricFactory <a name="ApiGatewayV2HttpApiMetricFactory" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.Initializer"></a>

```typescript
import { ApiGatewayV2HttpApiMetricFactory } from 'cdk-monitoring-constructs'

new ApiGatewayV2HttpApiMetricFactory(metricFactory: MetricFactory, props: ApiGatewayV2HttpApiMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps">ApiGatewayV2HttpApiMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps">ApiGatewayV2HttpApiMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metric4xxCount">metric4xxCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metric4xxRate">metric4xxRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metric5xxCount">metric5xxCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metric5xxRate">metric5xxRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricIntegrationLatencyInMillis">metricIntegrationLatencyInMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricIntegrationLatencyP50InMillis">metricIntegrationLatencyP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricIntegrationLatencyP90InMillis">metricIntegrationLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricIntegrationLatencyP99InMillis">metricIntegrationLatencyP99InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricInvocationCount">metricInvocationCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricInvocationRate">metricInvocationRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricLatencyInMillis">metricLatencyInMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricLatencyP50InMillis">metricLatencyP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricLatencyP90InMillis">metricLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricLatencyP99InMillis">metricLatencyP99InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricTps">metricTps</a></code> | *No description.* |

---

##### `metric4xxCount` <a name="metric4xxCount" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metric4xxCount"></a>

```typescript
public metric4xxCount(): Metric | MathExpression
```

##### `metric4xxRate` <a name="metric4xxRate" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metric4xxRate"></a>

```typescript
public metric4xxRate(): Metric | MathExpression
```

##### `metric5xxCount` <a name="metric5xxCount" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metric5xxCount"></a>

```typescript
public metric5xxCount(): Metric | MathExpression
```

##### `metric5xxRate` <a name="metric5xxRate" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metric5xxRate"></a>

```typescript
public metric5xxRate(): Metric | MathExpression
```

##### `metricIntegrationLatencyInMillis` <a name="metricIntegrationLatencyInMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricIntegrationLatencyInMillis"></a>

```typescript
public metricIntegrationLatencyInMillis(latencyType: LatencyType): Metric | MathExpression
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricIntegrationLatencyInMillis.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### ~~`metricIntegrationLatencyP50InMillis`~~ <a name="metricIntegrationLatencyP50InMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricIntegrationLatencyP50InMillis"></a>

```typescript
public metricIntegrationLatencyP50InMillis(): Metric | MathExpression
```

##### ~~`metricIntegrationLatencyP90InMillis`~~ <a name="metricIntegrationLatencyP90InMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricIntegrationLatencyP90InMillis"></a>

```typescript
public metricIntegrationLatencyP90InMillis(): Metric | MathExpression
```

##### ~~`metricIntegrationLatencyP99InMillis`~~ <a name="metricIntegrationLatencyP99InMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricIntegrationLatencyP99InMillis"></a>

```typescript
public metricIntegrationLatencyP99InMillis(): Metric | MathExpression
```

##### `metricInvocationCount` <a name="metricInvocationCount" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricInvocationCount"></a>

```typescript
public metricInvocationCount(): Metric | MathExpression
```

##### `metricInvocationRate` <a name="metricInvocationRate" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricInvocationRate"></a>

```typescript
public metricInvocationRate(): Metric | MathExpression
```

##### `metricLatencyInMillis` <a name="metricLatencyInMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricLatencyInMillis"></a>

```typescript
public metricLatencyInMillis(latencyType: LatencyType): Metric | MathExpression
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricLatencyInMillis.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### ~~`metricLatencyP50InMillis`~~ <a name="metricLatencyP50InMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricLatencyP50InMillis"></a>

```typescript
public metricLatencyP50InMillis(): Metric | MathExpression
```

##### ~~`metricLatencyP90InMillis`~~ <a name="metricLatencyP90InMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricLatencyP90InMillis"></a>

```typescript
public metricLatencyP90InMillis(): Metric | MathExpression
```

##### ~~`metricLatencyP99InMillis`~~ <a name="metricLatencyP99InMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricLatencyP99InMillis"></a>

```typescript
public metricLatencyP99InMillis(): Metric | MathExpression
```

##### ~~`metricTps`~~ <a name="metricTps" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricTps"></a>

```typescript
public metricTps(): Metric | MathExpression
```




### ApiGatewayV2HttpApiMonitoring <a name="ApiGatewayV2HttpApiMonitoring" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.Initializer"></a>

```typescript
import { ApiGatewayV2HttpApiMonitoring } from 'cdk-monitoring-constructs'

new ApiGatewayV2HttpApiMonitoring(scope: MonitoringScope, props: ApiGatewayV2HttpApiMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps">ApiGatewayV2HttpApiMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps">ApiGatewayV2HttpApiMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### ApplicationLoadBalancerMetricFactory <a name="ApplicationLoadBalancerMetricFactory" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.ILoadBalancerMetricFactory">ILoadBalancerMetricFactory</a>

Metric factory to create metrics for application load-balanced service.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.Initializer"></a>

```typescript
import { ApplicationLoadBalancerMetricFactory } from 'cdk-monitoring-constructs'

new ApplicationLoadBalancerMetricFactory(metricFactory: MetricFactory, props: ApplicationLoadBalancerMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactoryProps">ApplicationLoadBalancerMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactoryProps">ApplicationLoadBalancerMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricActiveConnectionCount">metricActiveConnectionCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricHealthyTaskCount">metricHealthyTaskCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricHealthyTaskInPercent">metricHealthyTaskInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricNewConnectionCount">metricNewConnectionCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricProcessedBytesMin">metricProcessedBytesMin</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricUnhealthyTaskCount">metricUnhealthyTaskCount</a></code> | *No description.* |

---

##### `metricActiveConnectionCount` <a name="metricActiveConnectionCount" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricActiveConnectionCount"></a>

```typescript
public metricActiveConnectionCount(): Metric | MathExpression
```

##### `metricHealthyTaskCount` <a name="metricHealthyTaskCount" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricHealthyTaskCount"></a>

```typescript
public metricHealthyTaskCount(): Metric | MathExpression
```

##### `metricHealthyTaskInPercent` <a name="metricHealthyTaskInPercent" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricHealthyTaskInPercent"></a>

```typescript
public metricHealthyTaskInPercent(): Metric | MathExpression
```

##### `metricNewConnectionCount` <a name="metricNewConnectionCount" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricNewConnectionCount"></a>

```typescript
public metricNewConnectionCount(): Metric | MathExpression
```

##### `metricProcessedBytesMin` <a name="metricProcessedBytesMin" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricProcessedBytesMin"></a>

```typescript
public metricProcessedBytesMin(): Metric | MathExpression
```

##### `metricUnhealthyTaskCount` <a name="metricUnhealthyTaskCount" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricUnhealthyTaskCount"></a>

```typescript
public metricUnhealthyTaskCount(): Metric | MathExpression
```




### AppSyncMetricFactory <a name="AppSyncMetricFactory" id="cdk-monitoring-constructs.AppSyncMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AppSyncMetricFactory.Initializer"></a>

```typescript
import { AppSyncMetricFactory } from 'cdk-monitoring-constructs'

new AppSyncMetricFactory(metricFactory: MetricFactory, props: AppSyncMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactoryProps">AppSyncMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.AppSyncMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AppSyncMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AppSyncMetricFactoryProps">AppSyncMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactory.metric4XXErrorCount">metric4XXErrorCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactory.metric4XXErrorRate">metric4XXErrorRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactory.metric5XXFaultCount">metric5XXFaultCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactory.metric5XXFaultRate">metric5XXFaultRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactory.metricLatencyP50InMillis">metricLatencyP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactory.metricLatencyP90InMillis">metricLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactory.metricLatencyP99InMillis">metricLatencyP99InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactory.metricRequestCount">metricRequestCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactory.metricRequestRate">metricRequestRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactory.metricTps">metricTps</a></code> | *No description.* |

---

##### `metric4XXErrorCount` <a name="metric4XXErrorCount" id="cdk-monitoring-constructs.AppSyncMetricFactory.metric4XXErrorCount"></a>

```typescript
public metric4XXErrorCount(): Metric | MathExpression
```

##### `metric4XXErrorRate` <a name="metric4XXErrorRate" id="cdk-monitoring-constructs.AppSyncMetricFactory.metric4XXErrorRate"></a>

```typescript
public metric4XXErrorRate(): Metric | MathExpression
```

##### `metric5XXFaultCount` <a name="metric5XXFaultCount" id="cdk-monitoring-constructs.AppSyncMetricFactory.metric5XXFaultCount"></a>

```typescript
public metric5XXFaultCount(): Metric | MathExpression
```

##### `metric5XXFaultRate` <a name="metric5XXFaultRate" id="cdk-monitoring-constructs.AppSyncMetricFactory.metric5XXFaultRate"></a>

```typescript
public metric5XXFaultRate(): Metric | MathExpression
```

##### `metricLatencyP50InMillis` <a name="metricLatencyP50InMillis" id="cdk-monitoring-constructs.AppSyncMetricFactory.metricLatencyP50InMillis"></a>

```typescript
public metricLatencyP50InMillis(): Metric | MathExpression
```

##### `metricLatencyP90InMillis` <a name="metricLatencyP90InMillis" id="cdk-monitoring-constructs.AppSyncMetricFactory.metricLatencyP90InMillis"></a>

```typescript
public metricLatencyP90InMillis(): Metric | MathExpression
```

##### `metricLatencyP99InMillis` <a name="metricLatencyP99InMillis" id="cdk-monitoring-constructs.AppSyncMetricFactory.metricLatencyP99InMillis"></a>

```typescript
public metricLatencyP99InMillis(): Metric | MathExpression
```

##### `metricRequestCount` <a name="metricRequestCount" id="cdk-monitoring-constructs.AppSyncMetricFactory.metricRequestCount"></a>

```typescript
public metricRequestCount(): Metric | MathExpression
```

##### `metricRequestRate` <a name="metricRequestRate" id="cdk-monitoring-constructs.AppSyncMetricFactory.metricRequestRate"></a>

```typescript
public metricRequestRate(): Metric | MathExpression
```

##### ~~`metricTps`~~ <a name="metricTps" id="cdk-monitoring-constructs.AppSyncMetricFactory.metricTps"></a>

```typescript
public metricTps(): Metric | MathExpression
```




### AppSyncMonitoring <a name="AppSyncMonitoring" id="cdk-monitoring-constructs.AppSyncMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AppSyncMonitoring.Initializer"></a>

```typescript
import { AppSyncMonitoring } from 'cdk-monitoring-constructs'

new AppSyncMonitoring(scope: MonitoringScope, props: AppSyncMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps">AppSyncMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.AppSyncMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AppSyncMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AppSyncMonitoringProps">AppSyncMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.AppSyncMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.AppSyncMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.AppSyncMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.AppSyncMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.AppSyncMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.AppSyncMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.AppSyncMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.AppSyncMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.AppSyncMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.AppSyncMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### AutoScalingGroupMetricFactory <a name="AutoScalingGroupMetricFactory" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory.Initializer"></a>

```typescript
import { AutoScalingGroupMetricFactory } from 'cdk-monitoring-constructs'

new AutoScalingGroupMetricFactory(metricFactory: MetricFactory, props: AutoScalingGroupMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactoryProps">AutoScalingGroupMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactoryProps">AutoScalingGroupMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupDesiredCapacity">metricGroupDesiredCapacity</a></code> | The number of instances that the Auto Scaling group attempts to maintain. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupInServiceInstances">metricGroupInServiceInstances</a></code> | The number of instances that are running as part of the Auto Scaling group. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupMaxSize">metricGroupMaxSize</a></code> | The maximum size of the Auto Scaling group. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupMinSize">metricGroupMinSize</a></code> | The minimum size of the Auto Scaling group. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupPendingInstances">metricGroupPendingInstances</a></code> | The number of instances that are pending. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupStandbyInstances">metricGroupStandbyInstances</a></code> | The number of instances that are in a Standby state. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupTerminatingInstances">metricGroupTerminatingInstances</a></code> | The number of instances that are in the process of terminating. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupTotalInstances">metricGroupTotalInstances</a></code> | The total number of instances in the Auto Scaling group. |

---

##### `metricGroupDesiredCapacity` <a name="metricGroupDesiredCapacity" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupDesiredCapacity"></a>

```typescript
public metricGroupDesiredCapacity(): Metric | MathExpression
```

The number of instances that the Auto Scaling group attempts to maintain.

##### `metricGroupInServiceInstances` <a name="metricGroupInServiceInstances" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupInServiceInstances"></a>

```typescript
public metricGroupInServiceInstances(): Metric | MathExpression
```

The number of instances that are running as part of the Auto Scaling group.

This metric does not include instances that are pending or terminating.

##### `metricGroupMaxSize` <a name="metricGroupMaxSize" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupMaxSize"></a>

```typescript
public metricGroupMaxSize(): Metric | MathExpression
```

The maximum size of the Auto Scaling group.

##### `metricGroupMinSize` <a name="metricGroupMinSize" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupMinSize"></a>

```typescript
public metricGroupMinSize(): Metric | MathExpression
```

The minimum size of the Auto Scaling group.

##### `metricGroupPendingInstances` <a name="metricGroupPendingInstances" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupPendingInstances"></a>

```typescript
public metricGroupPendingInstances(): Metric | MathExpression
```

The number of instances that are pending.

A pending instance is not yet in service.
This metric does not include instances that are in service or terminating.

##### `metricGroupStandbyInstances` <a name="metricGroupStandbyInstances" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupStandbyInstances"></a>

```typescript
public metricGroupStandbyInstances(): Metric | MathExpression
```

The number of instances that are in a Standby state.

Instances in this state are still running but are not actively in service.

##### `metricGroupTerminatingInstances` <a name="metricGroupTerminatingInstances" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupTerminatingInstances"></a>

```typescript
public metricGroupTerminatingInstances(): Metric | MathExpression
```

The number of instances that are in the process of terminating.

This metric does not include instances that are in service or pending.

##### `metricGroupTotalInstances` <a name="metricGroupTotalInstances" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupTotalInstances"></a>

```typescript
public metricGroupTotalInstances(): Metric | MathExpression
```

The total number of instances in the Auto Scaling group.

This metric identifies the number of instances that are in service, pending, and terminating.




### AutoScalingGroupMonitoring <a name="AutoScalingGroupMonitoring" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.Initializer"></a>

```typescript
import { AutoScalingGroupMonitoring } from 'cdk-monitoring-constructs'

new AutoScalingGroupMonitoring(scope: MonitoringScope, props: AutoScalingGroupMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringProps">AutoScalingGroupMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringProps">AutoScalingGroupMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### AwsConsoleUrlFactory <a name="AwsConsoleUrlFactory" id="cdk-monitoring-constructs.AwsConsoleUrlFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.Initializer"></a>

```typescript
import { AwsConsoleUrlFactory } from 'cdk-monitoring-constructs'

new AwsConsoleUrlFactory(props: AwsConsoleUrlFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactoryProps">AwsConsoleUrlFactoryProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AwsConsoleUrlFactoryProps">AwsConsoleUrlFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getApiGatewayUrl">getApiGatewayUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getAwsConsoleUrl">getAwsConsoleUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getCloudFrontDistributionUrl">getCloudFrontDistributionUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getCloudWatchLogGroupUrl">getCloudWatchLogGroupUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getCodeBuildProjectUrl">getCodeBuildProjectUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getDocumentDbClusterUrl">getDocumentDbClusterUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getDynamoTableUrl">getDynamoTableUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getElastiCacheClusterUrl">getElastiCacheClusterUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getKinesisAnalyticsUrl">getKinesisAnalyticsUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getKinesisDataStreamUrl">getKinesisDataStreamUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getKinesisFirehoseDeliveryStreamUrl">getKinesisFirehoseDeliveryStreamUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getLambdaFunctionUrl">getLambdaFunctionUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getOpenSearchClusterUrl">getOpenSearchClusterUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getRdsClusterUrl">getRdsClusterUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getRedshiftClusterUrl">getRedshiftClusterUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getS3BucketUrl">getS3BucketUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getSnsTopicUrl">getSnsTopicUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getSqsQueueUrl">getSqsQueueUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getStateMachineUrl">getStateMachineUrl</a></code> | *No description.* |

---

##### `getApiGatewayUrl` <a name="getApiGatewayUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getApiGatewayUrl"></a>

```typescript
public getApiGatewayUrl(restApiId: string): string
```

###### `restApiId`<sup>Required</sup> <a name="restApiId" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getApiGatewayUrl.parameter.restApiId"></a>

- *Type:* string

---

##### `getAwsConsoleUrl` <a name="getAwsConsoleUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getAwsConsoleUrl"></a>

```typescript
public getAwsConsoleUrl(destinationUrl?: string): string
```

###### `destinationUrl`<sup>Optional</sup> <a name="destinationUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getAwsConsoleUrl.parameter.destinationUrl"></a>

- *Type:* string

---

##### `getCloudFrontDistributionUrl` <a name="getCloudFrontDistributionUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getCloudFrontDistributionUrl"></a>

```typescript
public getCloudFrontDistributionUrl(distributionId: string): string
```

###### `distributionId`<sup>Required</sup> <a name="distributionId" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getCloudFrontDistributionUrl.parameter.distributionId"></a>

- *Type:* string

---

##### `getCloudWatchLogGroupUrl` <a name="getCloudWatchLogGroupUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getCloudWatchLogGroupUrl"></a>

```typescript
public getCloudWatchLogGroupUrl(logGroupName: string): string
```

###### `logGroupName`<sup>Required</sup> <a name="logGroupName" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getCloudWatchLogGroupUrl.parameter.logGroupName"></a>

- *Type:* string

---

##### `getCodeBuildProjectUrl` <a name="getCodeBuildProjectUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getCodeBuildProjectUrl"></a>

```typescript
public getCodeBuildProjectUrl(projectName: string): string
```

###### `projectName`<sup>Required</sup> <a name="projectName" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getCodeBuildProjectUrl.parameter.projectName"></a>

- *Type:* string

---

##### `getDocumentDbClusterUrl` <a name="getDocumentDbClusterUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getDocumentDbClusterUrl"></a>

```typescript
public getDocumentDbClusterUrl(clusterId: string): string
```

###### `clusterId`<sup>Required</sup> <a name="clusterId" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getDocumentDbClusterUrl.parameter.clusterId"></a>

- *Type:* string

---

##### `getDynamoTableUrl` <a name="getDynamoTableUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getDynamoTableUrl"></a>

```typescript
public getDynamoTableUrl(tableName: string): string
```

###### `tableName`<sup>Required</sup> <a name="tableName" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getDynamoTableUrl.parameter.tableName"></a>

- *Type:* string

---

##### `getElastiCacheClusterUrl` <a name="getElastiCacheClusterUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getElastiCacheClusterUrl"></a>

```typescript
public getElastiCacheClusterUrl(clusterId: string, clusterType: ElastiCacheClusterType): string
```

###### `clusterId`<sup>Required</sup> <a name="clusterId" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getElastiCacheClusterUrl.parameter.clusterId"></a>

- *Type:* string

---

###### `clusterType`<sup>Required</sup> <a name="clusterType" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getElastiCacheClusterUrl.parameter.clusterType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheClusterType">ElastiCacheClusterType</a>

---

##### `getKinesisAnalyticsUrl` <a name="getKinesisAnalyticsUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getKinesisAnalyticsUrl"></a>

```typescript
public getKinesisAnalyticsUrl(application: string): string
```

###### `application`<sup>Required</sup> <a name="application" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getKinesisAnalyticsUrl.parameter.application"></a>

- *Type:* string

---

##### `getKinesisDataStreamUrl` <a name="getKinesisDataStreamUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getKinesisDataStreamUrl"></a>

```typescript
public getKinesisDataStreamUrl(streamName: string): string
```

###### `streamName`<sup>Required</sup> <a name="streamName" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getKinesisDataStreamUrl.parameter.streamName"></a>

- *Type:* string

---

##### `getKinesisFirehoseDeliveryStreamUrl` <a name="getKinesisFirehoseDeliveryStreamUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getKinesisFirehoseDeliveryStreamUrl"></a>

```typescript
public getKinesisFirehoseDeliveryStreamUrl(streamName: string): string
```

###### `streamName`<sup>Required</sup> <a name="streamName" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getKinesisFirehoseDeliveryStreamUrl.parameter.streamName"></a>

- *Type:* string

---

##### `getLambdaFunctionUrl` <a name="getLambdaFunctionUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getLambdaFunctionUrl"></a>

```typescript
public getLambdaFunctionUrl(functionName: string): string
```

###### `functionName`<sup>Required</sup> <a name="functionName" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getLambdaFunctionUrl.parameter.functionName"></a>

- *Type:* string

---

##### `getOpenSearchClusterUrl` <a name="getOpenSearchClusterUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getOpenSearchClusterUrl"></a>

```typescript
public getOpenSearchClusterUrl(domainName: string): string
```

###### `domainName`<sup>Required</sup> <a name="domainName" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getOpenSearchClusterUrl.parameter.domainName"></a>

- *Type:* string

---

##### `getRdsClusterUrl` <a name="getRdsClusterUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getRdsClusterUrl"></a>

```typescript
public getRdsClusterUrl(clusterId: string): string
```

###### `clusterId`<sup>Required</sup> <a name="clusterId" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getRdsClusterUrl.parameter.clusterId"></a>

- *Type:* string

---

##### `getRedshiftClusterUrl` <a name="getRedshiftClusterUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getRedshiftClusterUrl"></a>

```typescript
public getRedshiftClusterUrl(clusterId: string): string
```

###### `clusterId`<sup>Required</sup> <a name="clusterId" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getRedshiftClusterUrl.parameter.clusterId"></a>

- *Type:* string

---

##### `getS3BucketUrl` <a name="getS3BucketUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getS3BucketUrl"></a>

```typescript
public getS3BucketUrl(bucketName: string): string
```

###### `bucketName`<sup>Required</sup> <a name="bucketName" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getS3BucketUrl.parameter.bucketName"></a>

- *Type:* string

---

##### `getSnsTopicUrl` <a name="getSnsTopicUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getSnsTopicUrl"></a>

```typescript
public getSnsTopicUrl(topicArn: string): string
```

###### `topicArn`<sup>Required</sup> <a name="topicArn" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getSnsTopicUrl.parameter.topicArn"></a>

- *Type:* string

---

##### `getSqsQueueUrl` <a name="getSqsQueueUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getSqsQueueUrl"></a>

```typescript
public getSqsQueueUrl(queueUrl: string): string
```

###### `queueUrl`<sup>Required</sup> <a name="queueUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getSqsQueueUrl.parameter.queueUrl"></a>

- *Type:* string

---

##### `getStateMachineUrl` <a name="getStateMachineUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getStateMachineUrl"></a>

```typescript
public getStateMachineUrl(stateMachineArn: string): string
```

###### `stateMachineArn`<sup>Required</sup> <a name="stateMachineArn" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getStateMachineUrl.parameter.stateMachineArn"></a>

- *Type:* string

---




### BaseServiceMetricFactory <a name="BaseServiceMetricFactory" id="cdk-monitoring-constructs.BaseServiceMetricFactory"></a>

Metric factory for a base service (parent class for e.g. Fargate and EC2 services).

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.BaseServiceMetricFactory.Initializer"></a>

```typescript
import { BaseServiceMetricFactory } from 'cdk-monitoring-constructs'

new BaseServiceMetricFactory(metricFactory: MetricFactory, props: BaseServiceMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseServiceMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseServiceMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.BaseServiceMetricFactoryProps">BaseServiceMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.BaseServiceMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.BaseServiceMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.BaseServiceMetricFactoryProps">BaseServiceMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseServiceMetricFactory.metricClusterCpuUtilisationInPercent">metricClusterCpuUtilisationInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseServiceMetricFactory.metricClusterMemoryUtilisationInPercent">metricClusterMemoryUtilisationInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseServiceMetricFactory.metricRunningTaskCount">metricRunningTaskCount</a></code> | *No description.* |

---

##### `metricClusterCpuUtilisationInPercent` <a name="metricClusterCpuUtilisationInPercent" id="cdk-monitoring-constructs.BaseServiceMetricFactory.metricClusterCpuUtilisationInPercent"></a>

```typescript
public metricClusterCpuUtilisationInPercent(): Metric | MathExpression
```

##### `metricClusterMemoryUtilisationInPercent` <a name="metricClusterMemoryUtilisationInPercent" id="cdk-monitoring-constructs.BaseServiceMetricFactory.metricClusterMemoryUtilisationInPercent"></a>

```typescript
public metricClusterMemoryUtilisationInPercent(): Metric | MathExpression
```

##### `metricRunningTaskCount` <a name="metricRunningTaskCount" id="cdk-monitoring-constructs.BaseServiceMetricFactory.metricRunningTaskCount"></a>

```typescript
public metricRunningTaskCount(): Metric | MathExpression
```




### BillingMetricFactory <a name="BillingMetricFactory" id="cdk-monitoring-constructs.BillingMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.BillingMetricFactory.Initializer"></a>

```typescript
import { BillingMetricFactory } from 'cdk-monitoring-constructs'

new BillingMetricFactory()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.BillingMetricFactory.metricSearchTopCostByServiceInUsd">metricSearchTopCostByServiceInUsd</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BillingMetricFactory.metricTotalCostInUsd">metricTotalCostInUsd</a></code> | *No description.* |

---

##### `metricSearchTopCostByServiceInUsd` <a name="metricSearchTopCostByServiceInUsd" id="cdk-monitoring-constructs.BillingMetricFactory.metricSearchTopCostByServiceInUsd"></a>

```typescript
public metricSearchTopCostByServiceInUsd(): IMetric
```

##### `metricTotalCostInUsd` <a name="metricTotalCostInUsd" id="cdk-monitoring-constructs.BillingMetricFactory.metricTotalCostInUsd"></a>

```typescript
public metricTotalCostInUsd(): IMetric
```




### BillingMonitoring <a name="BillingMonitoring" id="cdk-monitoring-constructs.BillingMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.BillingMonitoring.Initializer"></a>

```typescript
import { BillingMonitoring } from 'cdk-monitoring-constructs'

new BillingMonitoring(scope: MonitoringScope, props: BillingMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.BillingMonitoringProps">BillingMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.BillingMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.BillingMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.BillingMonitoringProps">BillingMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.BillingMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.BillingMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.BillingMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.BillingMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.BillingMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.BillingMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.BillingMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.BillingMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.BillingMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.BillingMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### CertificateManagerMetricFactory <a name="CertificateManagerMetricFactory" id="cdk-monitoring-constructs.CertificateManagerMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.CertificateManagerMetricFactory.Initializer"></a>

```typescript
import { CertificateManagerMetricFactory } from 'cdk-monitoring-constructs'

new CertificateManagerMetricFactory(metricFactory: MetricFactory, props: CertificateManagerMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CertificateManagerMetricFactoryProps">CertificateManagerMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.CertificateManagerMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.CertificateManagerMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CertificateManagerMetricFactoryProps">CertificateManagerMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMetricFactory.metricDaysToExpiry">metricDaysToExpiry</a></code> | *No description.* |

---

##### `metricDaysToExpiry` <a name="metricDaysToExpiry" id="cdk-monitoring-constructs.CertificateManagerMetricFactory.metricDaysToExpiry"></a>

```typescript
public metricDaysToExpiry(): Metric | MathExpression
```




### CertificateManagerMonitoring <a name="CertificateManagerMonitoring" id="cdk-monitoring-constructs.CertificateManagerMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.CertificateManagerMonitoring.Initializer"></a>

```typescript
import { CertificateManagerMonitoring } from 'cdk-monitoring-constructs'

new CertificateManagerMonitoring(scope: MonitoringScope, props: CertificateManagerMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringProps">CertificateManagerMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.CertificateManagerMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.CertificateManagerMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CertificateManagerMonitoringProps">CertificateManagerMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.CertificateManagerMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.CertificateManagerMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.CertificateManagerMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.CertificateManagerMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.CertificateManagerMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.CertificateManagerMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.CertificateManagerMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.CertificateManagerMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.CertificateManagerMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.CertificateManagerMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### CloudFrontDistributionMetricFactory <a name="CloudFrontDistributionMetricFactory" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory"></a>

To get the CloudFront metrics from the CloudWatch API, you must use the US East (N.

Virginia) Region (us-east-1).
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/programming-cloudwatch-metrics.html

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.Initializer"></a>

```typescript
import { CloudFrontDistributionMetricFactory } from 'cdk-monitoring-constructs'

new CloudFrontDistributionMetricFactory(metricFactory: MetricFactory, props: CloudFrontDistributionMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactoryProps">CloudFrontDistributionMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactoryProps">CloudFrontDistributionMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metric4xxErrorRateAverage">metric4xxErrorRateAverage</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metric5xxErrorRateAverage">metric5xxErrorRateAverage</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricCacheHitRateAverageInPercent">metricCacheHitRateAverageInPercent</a></code> | Cache hit rate metric. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricRequestCount">metricRequestCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricRequestRate">metricRequestRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricRequestTps">metricRequestTps</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricTotalBytesDownloaded">metricTotalBytesDownloaded</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricTotalBytesUploaded">metricTotalBytesUploaded</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricTotalErrorRateAverage">metricTotalErrorRateAverage</a></code> | *No description.* |

---

##### `metric4xxErrorRateAverage` <a name="metric4xxErrorRateAverage" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metric4xxErrorRateAverage"></a>

```typescript
public metric4xxErrorRateAverage(): Metric | MathExpression
```

##### `metric5xxErrorRateAverage` <a name="metric5xxErrorRateAverage" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metric5xxErrorRateAverage"></a>

```typescript
public metric5xxErrorRateAverage(): Metric | MathExpression
```

##### `metricCacheHitRateAverageInPercent` <a name="metricCacheHitRateAverageInPercent" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricCacheHitRateAverageInPercent"></a>

```typescript
public metricCacheHitRateAverageInPercent(): Metric | MathExpression
```

Cache hit rate metric.

This is an additional metric that needs to be explicitly enabled for an additional cost.

> [https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional)

##### `metricRequestCount` <a name="metricRequestCount" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricRequestCount"></a>

```typescript
public metricRequestCount(): Metric | MathExpression
```

##### `metricRequestRate` <a name="metricRequestRate" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricRequestRate"></a>

```typescript
public metricRequestRate(): Metric | MathExpression
```

##### ~~`metricRequestTps`~~ <a name="metricRequestTps" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricRequestTps"></a>

```typescript
public metricRequestTps(): Metric | MathExpression
```

##### `metricTotalBytesDownloaded` <a name="metricTotalBytesDownloaded" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricTotalBytesDownloaded"></a>

```typescript
public metricTotalBytesDownloaded(): Metric | MathExpression
```

##### `metricTotalBytesUploaded` <a name="metricTotalBytesUploaded" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricTotalBytesUploaded"></a>

```typescript
public metricTotalBytesUploaded(): Metric | MathExpression
```

##### `metricTotalErrorRateAverage` <a name="metricTotalErrorRateAverage" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricTotalErrorRateAverage"></a>

```typescript
public metricTotalErrorRateAverage(): Metric | MathExpression
```




### CloudFrontDistributionMonitoring <a name="CloudFrontDistributionMonitoring" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.Initializer"></a>

```typescript
import { CloudFrontDistributionMonitoring } from 'cdk-monitoring-constructs'

new CloudFrontDistributionMonitoring(scope: MonitoringScope, props: CloudFrontDistributionMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps">CloudFrontDistributionMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps">CloudFrontDistributionMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### CodeBuildProjectMetricFactory <a name="CodeBuildProjectMetricFactory" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.Initializer"></a>

```typescript
import { CodeBuildProjectMetricFactory } from 'cdk-monitoring-constructs'

new CodeBuildProjectMetricFactory(metricFactory: MetricFactory, props: CodeBuildProjectMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactoryProps">CodeBuildProjectMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactoryProps">CodeBuildProjectMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricBuildCount">metricBuildCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricDurationP50InSeconds">metricDurationP50InSeconds</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricDurationP90InSeconds">metricDurationP90InSeconds</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricDurationP99InSeconds">metricDurationP99InSeconds</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricFailedBuildCount">metricFailedBuildCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricFailedBuildRate">metricFailedBuildRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricSucceededBuildCount">metricSucceededBuildCount</a></code> | *No description.* |

---

##### `metricBuildCount` <a name="metricBuildCount" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricBuildCount"></a>

```typescript
public metricBuildCount(): Metric | MathExpression
```

##### `metricDurationP50InSeconds` <a name="metricDurationP50InSeconds" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricDurationP50InSeconds"></a>

```typescript
public metricDurationP50InSeconds(): Metric | MathExpression
```

##### `metricDurationP90InSeconds` <a name="metricDurationP90InSeconds" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricDurationP90InSeconds"></a>

```typescript
public metricDurationP90InSeconds(): Metric | MathExpression
```

##### `metricDurationP99InSeconds` <a name="metricDurationP99InSeconds" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricDurationP99InSeconds"></a>

```typescript
public metricDurationP99InSeconds(): Metric | MathExpression
```

##### `metricFailedBuildCount` <a name="metricFailedBuildCount" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricFailedBuildCount"></a>

```typescript
public metricFailedBuildCount(): Metric | MathExpression
```

##### `metricFailedBuildRate` <a name="metricFailedBuildRate" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricFailedBuildRate"></a>

```typescript
public metricFailedBuildRate(): Metric | MathExpression
```

##### `metricSucceededBuildCount` <a name="metricSucceededBuildCount" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricSucceededBuildCount"></a>

```typescript
public metricSucceededBuildCount(): Metric | MathExpression
```




### CodeBuildProjectMonitoring <a name="CodeBuildProjectMonitoring" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.Initializer"></a>

```typescript
import { CodeBuildProjectMonitoring } from 'cdk-monitoring-constructs'

new CodeBuildProjectMonitoring(scope: MonitoringScope, props: CodeBuildProjectMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps">CodeBuildProjectMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps">CodeBuildProjectMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### CustomAlarmFactory <a name="CustomAlarmFactory" id="cdk-monitoring-constructs.CustomAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.CustomAlarmFactory.Initializer"></a>

```typescript
import { CustomAlarmFactory } from 'cdk-monitoring-constructs'

new CustomAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.CustomAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmFactory.addCustomAlarm">addCustomAlarm</a></code> | *No description.* |

---

##### `addCustomAlarm` <a name="addCustomAlarm" id="cdk-monitoring-constructs.CustomAlarmFactory.addCustomAlarm"></a>

```typescript
public addCustomAlarm(metric: Metric | MathExpression, alarmNameSuffix: string, disambiguator: string, props: CustomThreshold): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.CustomAlarmFactory.addCustomAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `alarmNameSuffix`<sup>Required</sup> <a name="alarmNameSuffix" id="cdk-monitoring-constructs.CustomAlarmFactory.addCustomAlarm.parameter.alarmNameSuffix"></a>

- *Type:* string

---

###### `disambiguator`<sup>Required</sup> <a name="disambiguator" id="cdk-monitoring-constructs.CustomAlarmFactory.addCustomAlarm.parameter.disambiguator"></a>

- *Type:* string

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.CustomAlarmFactory.addCustomAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CustomThreshold">CustomThreshold</a>

---




### CustomMonitoring <a name="CustomMonitoring" id="cdk-monitoring-constructs.CustomMonitoring"></a>

Custom monitoring is a construct allowing you to monitor your own custom metrics.

The entire construct consists of metric groups.
Each metric group represents a single graph widget with multiple metrics.
Each metric inside the metric group represents a single metric inside a graph.
The widgets will be sized automatically to waste as little space as possible.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.CustomMonitoring.Initializer"></a>

```typescript
import { CustomMonitoring } from 'cdk-monitoring-constructs'

new CustomMonitoring(scope: MonitoringScope, props: CustomMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps">CustomMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.CustomMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.CustomMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CustomMonitoringProps">CustomMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.CustomMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.CustomMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.CustomMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.CustomMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.CustomMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.CustomMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.CustomMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.CustomMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.CustomMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.CustomMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### CustomWidget <a name="CustomWidget" id="cdk-monitoring-constructs.CustomWidget"></a>

A dashboard widget that can be customized using a Lambda.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.CustomWidget.Initializer"></a>

```typescript
import { CustomWidget } from 'cdk-monitoring-constructs'

new CustomWidget(props: CustomWidgetProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomWidget.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CustomWidgetProps">CustomWidgetProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.CustomWidget.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CustomWidgetProps">CustomWidgetProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomWidget.position">position</a></code> | Place the widget at a given position. |
| <code><a href="#cdk-monitoring-constructs.CustomWidget.toJson">toJson</a></code> | Return the widget JSON for use in the dashboard. |

---

##### `position` <a name="position" id="cdk-monitoring-constructs.CustomWidget.position"></a>

```typescript
public position(x: number, y: number): void
```

Place the widget at a given position.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.CustomWidget.position.parameter.x"></a>

- *Type:* number

---

###### `y`<sup>Required</sup> <a name="y" id="cdk-monitoring-constructs.CustomWidget.position.parameter.y"></a>

- *Type:* number

---

##### `toJson` <a name="toJson" id="cdk-monitoring-constructs.CustomWidget.toJson"></a>

```typescript
public toJson(): any[]
```

Return the widget JSON for use in the dashboard.


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomWidget.property.height">height</a></code> | <code>number</code> | The amount of vertical grid units the widget will take up. |
| <code><a href="#cdk-monitoring-constructs.CustomWidget.property.width">width</a></code> | <code>number</code> | The amount of horizontal grid units the widget will take up. |

---

##### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.CustomWidget.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number

The amount of vertical grid units the widget will take up.

---

##### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.CustomWidget.property.width"></a>

```typescript
public readonly width: number;
```

- *Type:* number

The amount of horizontal grid units the widget will take up.

---


### DefaultAlarmAnnotationStrategy <a name="DefaultAlarmAnnotationStrategy" id="cdk-monitoring-constructs.DefaultAlarmAnnotationStrategy"></a>

Default annotation strategy that returns the built-in alarm annotation.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DefaultAlarmAnnotationStrategy.Initializer"></a>

```typescript
import { DefaultAlarmAnnotationStrategy } from 'cdk-monitoring-constructs'

new DefaultAlarmAnnotationStrategy()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DefaultAlarmAnnotationStrategy.createAnnotation">createAnnotation</a></code> | Creates annotation based on the metric and alarm properties. |

---

##### `createAnnotation` <a name="createAnnotation" id="cdk-monitoring-constructs.DefaultAlarmAnnotationStrategy.createAnnotation"></a>

```typescript
public createAnnotation(props: AlarmAnnotationStrategyProps): HorizontalAnnotation
```

Creates annotation based on the metric and alarm properties.

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DefaultAlarmAnnotationStrategy.createAnnotation.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps">AlarmAnnotationStrategyProps</a>

---




### DefaultWidgetFactory <a name="DefaultWidgetFactory" id="cdk-monitoring-constructs.DefaultWidgetFactory"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IWidgetFactory">IWidgetFactory</a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DefaultWidgetFactory.Initializer"></a>

```typescript
import { DefaultWidgetFactory } from 'cdk-monitoring-constructs'

new DefaultWidgetFactory()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DefaultWidgetFactory.createAlarmDetailWidget">createAlarmDetailWidget</a></code> | Create widget representing an alarm detail. |

---

##### `createAlarmDetailWidget` <a name="createAlarmDetailWidget" id="cdk-monitoring-constructs.DefaultWidgetFactory.createAlarmDetailWidget"></a>

```typescript
public createAlarmDetailWidget(alarm: AlarmWithAnnotation): IWidget
```

Create widget representing an alarm detail.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.DefaultWidgetFactory.createAlarmDetailWidget.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

---




### DocumentDbMetricFactory <a name="DocumentDbMetricFactory" id="cdk-monitoring-constructs.DocumentDbMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DocumentDbMetricFactory.Initializer"></a>

```typescript
import { DocumentDbMetricFactory } from 'cdk-monitoring-constructs'

new DocumentDbMetricFactory(metricFactory: MetricFactory, props: DocumentDbMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactoryProps">DocumentDbMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.DocumentDbMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DocumentDbMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DocumentDbMetricFactoryProps">DocumentDbMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactory.metricAverageCpuUsageInPercent">metricAverageCpuUsageInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactory.metricMaxConnectionCount">metricMaxConnectionCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactory.metricMaxCursorCount">metricMaxCursorCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactory.metricMaxTransactionOpenCount">metricMaxTransactionOpenCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactory.metricOperationsThrottledDueLowMemoryCount">metricOperationsThrottledDueLowMemoryCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactory.metricReadLatencyInMillis">metricReadLatencyInMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactory.metricWriteLatencyInMillis">metricWriteLatencyInMillis</a></code> | *No description.* |

---

##### `metricAverageCpuUsageInPercent` <a name="metricAverageCpuUsageInPercent" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricAverageCpuUsageInPercent"></a>

```typescript
public metricAverageCpuUsageInPercent(): Metric | MathExpression
```

##### `metricMaxConnectionCount` <a name="metricMaxConnectionCount" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricMaxConnectionCount"></a>

```typescript
public metricMaxConnectionCount(): Metric | MathExpression
```

##### `metricMaxCursorCount` <a name="metricMaxCursorCount" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricMaxCursorCount"></a>

```typescript
public metricMaxCursorCount(): Metric | MathExpression
```

##### `metricMaxTransactionOpenCount` <a name="metricMaxTransactionOpenCount" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricMaxTransactionOpenCount"></a>

```typescript
public metricMaxTransactionOpenCount(): Metric | MathExpression
```

##### `metricOperationsThrottledDueLowMemoryCount` <a name="metricOperationsThrottledDueLowMemoryCount" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricOperationsThrottledDueLowMemoryCount"></a>

```typescript
public metricOperationsThrottledDueLowMemoryCount(): Metric | MathExpression
```

##### `metricReadLatencyInMillis` <a name="metricReadLatencyInMillis" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricReadLatencyInMillis"></a>

```typescript
public metricReadLatencyInMillis(latencyType: LatencyType): Metric | MathExpression
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricReadLatencyInMillis.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### `metricWriteLatencyInMillis` <a name="metricWriteLatencyInMillis" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricWriteLatencyInMillis"></a>

```typescript
public metricWriteLatencyInMillis(latencyType: LatencyType): Metric | MathExpression
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricWriteLatencyInMillis.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactory.property.clusterIdentifier">clusterIdentifier</a></code> | <code>string</code> | *No description.* |

---

##### `clusterIdentifier`<sup>Required</sup> <a name="clusterIdentifier" id="cdk-monitoring-constructs.DocumentDbMetricFactory.property.clusterIdentifier"></a>

```typescript
public readonly clusterIdentifier: string;
```

- *Type:* string

---


### DocumentDbMonitoring <a name="DocumentDbMonitoring" id="cdk-monitoring-constructs.DocumentDbMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DocumentDbMonitoring.Initializer"></a>

```typescript
import { DocumentDbMonitoring } from 'cdk-monitoring-constructs'

new DocumentDbMonitoring(scope: MonitoringScope, props: DocumentDbMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringProps">DocumentDbMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.DocumentDbMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DocumentDbMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DocumentDbMonitoringProps">DocumentDbMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.DocumentDbMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.DocumentDbMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.DocumentDbMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.DocumentDbMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.DocumentDbMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.DocumentDbMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.DocumentDbMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.DocumentDbMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.DocumentDbMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.DocumentDbMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### DoNotModifyDedupeString <a name="DoNotModifyDedupeString" id="cdk-monitoring-constructs.DoNotModifyDedupeString"></a>

Default dedupe strategy - does not add any prefix nor suffix.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DoNotModifyDedupeString.Initializer"></a>

```typescript
import { DoNotModifyDedupeString } from 'cdk-monitoring-constructs'

new DoNotModifyDedupeString(prefix?: string, suffix?: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DoNotModifyDedupeString.Initializer.parameter.prefix">prefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DoNotModifyDedupeString.Initializer.parameter.suffix">suffix</a></code> | <code>string</code> | *No description.* |

---

##### `prefix`<sup>Optional</sup> <a name="prefix" id="cdk-monitoring-constructs.DoNotModifyDedupeString.Initializer.parameter.prefix"></a>

- *Type:* string

---

##### `suffix`<sup>Optional</sup> <a name="suffix" id="cdk-monitoring-constructs.DoNotModifyDedupeString.Initializer.parameter.suffix"></a>

- *Type:* string

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DoNotModifyDedupeString.processDedupeString">processDedupeString</a></code> | Process the dedupe string which was auto-generated. |
| <code><a href="#cdk-monitoring-constructs.DoNotModifyDedupeString.processDedupeStringOverride">processDedupeStringOverride</a></code> | Process the dedupe string which was specified by the user as an override. |

---

##### `processDedupeString` <a name="processDedupeString" id="cdk-monitoring-constructs.DoNotModifyDedupeString.processDedupeString"></a>

```typescript
public processDedupeString(dedupeString: string): string
```

Process the dedupe string which was auto-generated.

###### `dedupeString`<sup>Required</sup> <a name="dedupeString" id="cdk-monitoring-constructs.DoNotModifyDedupeString.processDedupeString.parameter.dedupeString"></a>

- *Type:* string

---

##### `processDedupeStringOverride` <a name="processDedupeStringOverride" id="cdk-monitoring-constructs.DoNotModifyDedupeString.processDedupeStringOverride"></a>

```typescript
public processDedupeStringOverride(dedupeString: string): string
```

Process the dedupe string which was specified by the user as an override.

###### `dedupeString`<sup>Required</sup> <a name="dedupeString" id="cdk-monitoring-constructs.DoNotModifyDedupeString.processDedupeStringOverride.parameter.dedupeString"></a>

- *Type:* string

---




### DoubleAxisGraphWidget <a name="DoubleAxisGraphWidget" id="cdk-monitoring-constructs.DoubleAxisGraphWidget"></a>

Line graph widget with both left and right axes.

The purpose of this custom class is to make the properties more strict.
It will avoid graphs with undefined axes and dimensions.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.Initializer"></a>

```typescript
import { DoubleAxisGraphWidget } from 'cdk-monitoring-constructs'

new DoubleAxisGraphWidget(props: DoubleAxisGraphWidgetProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidget.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidgetProps">DoubleAxisGraphWidgetProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DoubleAxisGraphWidgetProps">DoubleAxisGraphWidgetProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidget.position">position</a></code> | Place the widget at a given position. |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidget.toJson">toJson</a></code> | Return the widget JSON for use in the dashboard. |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidget.addLeftMetric">addLeftMetric</a></code> | Add another metric to the left Y axis of the GraphWidget. |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidget.addRightMetric">addRightMetric</a></code> | Add another metric to the right Y axis of the GraphWidget. |

---

##### `position` <a name="position" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.position"></a>

```typescript
public position(x: number, y: number): void
```

Place the widget at a given position.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.position.parameter.x"></a>

- *Type:* number

---

###### `y`<sup>Required</sup> <a name="y" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.position.parameter.y"></a>

- *Type:* number

---

##### `toJson` <a name="toJson" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.toJson"></a>

```typescript
public toJson(): any[]
```

Return the widget JSON for use in the dashboard.

##### `addLeftMetric` <a name="addLeftMetric" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.addLeftMetric"></a>

```typescript
public addLeftMetric(metric: IMetric): void
```

Add another metric to the left Y axis of the GraphWidget.

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.addLeftMetric.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric

the metric to add.

---

##### `addRightMetric` <a name="addRightMetric" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.addRightMetric"></a>

```typescript
public addRightMetric(metric: IMetric): void
```

Add another metric to the right Y axis of the GraphWidget.

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.addRightMetric.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric

the metric to add.

---


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidget.property.height">height</a></code> | <code>number</code> | The amount of vertical grid units the widget will take up. |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidget.property.width">width</a></code> | <code>number</code> | The amount of horizontal grid units the widget will take up. |

---

##### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number

The amount of vertical grid units the widget will take up.

---

##### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.property.width"></a>

```typescript
public readonly width: number;
```

- *Type:* number

The amount of horizontal grid units the widget will take up.

---


### DynamoAlarmFactory <a name="DynamoAlarmFactory" id="cdk-monitoring-constructs.DynamoAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DynamoAlarmFactory.Initializer"></a>

```typescript
import { DynamoAlarmFactory } from 'cdk-monitoring-constructs'

new DynamoAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.DynamoAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoAlarmFactory.addConsumedCapacityAlarm">addConsumedCapacityAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoAlarmFactory.addThrottledEventsAlarm">addThrottledEventsAlarm</a></code> | *No description.* |

---

##### `addConsumedCapacityAlarm` <a name="addConsumedCapacityAlarm" id="cdk-monitoring-constructs.DynamoAlarmFactory.addConsumedCapacityAlarm"></a>

```typescript
public addConsumedCapacityAlarm(metric: Metric | MathExpression, capacityType: CapacityType, props: ConsumedCapacityThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.DynamoAlarmFactory.addConsumedCapacityAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `capacityType`<sup>Required</sup> <a name="capacityType" id="cdk-monitoring-constructs.DynamoAlarmFactory.addConsumedCapacityAlarm.parameter.capacityType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CapacityType">CapacityType</a>

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DynamoAlarmFactory.addConsumedCapacityAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold">ConsumedCapacityThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.DynamoAlarmFactory.addConsumedCapacityAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addThrottledEventsAlarm` <a name="addThrottledEventsAlarm" id="cdk-monitoring-constructs.DynamoAlarmFactory.addThrottledEventsAlarm"></a>

```typescript
public addThrottledEventsAlarm(metric: Metric | MathExpression, capacityType: CapacityType, props: ThrottledEventsThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.DynamoAlarmFactory.addThrottledEventsAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `capacityType`<sup>Required</sup> <a name="capacityType" id="cdk-monitoring-constructs.DynamoAlarmFactory.addThrottledEventsAlarm.parameter.capacityType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CapacityType">CapacityType</a>

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DynamoAlarmFactory.addThrottledEventsAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ThrottledEventsThreshold">ThrottledEventsThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.DynamoAlarmFactory.addThrottledEventsAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### DynamoTableGlobalSecondaryIndexMetricFactory <a name="DynamoTableGlobalSecondaryIndexMetricFactory" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.Initializer"></a>

```typescript
import { DynamoTableGlobalSecondaryIndexMetricFactory } from 'cdk-monitoring-constructs'

new DynamoTableGlobalSecondaryIndexMetricFactory(metricFactory: MetricFactory, props: DynamoTableGlobalSecondaryIndexMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactoryProps">DynamoTableGlobalSecondaryIndexMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactoryProps">DynamoTableGlobalSecondaryIndexMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricConsumedReadCapacityUnits">metricConsumedReadCapacityUnits</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricConsumedWriteCapacityUnits">metricConsumedWriteCapacityUnits</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricIndexConsumedWriteUnitsMetric">metricIndexConsumedWriteUnitsMetric</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricProvisionedReadCapacityUnits">metricProvisionedReadCapacityUnits</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricProvisionedWriteCapacityUnits">metricProvisionedWriteCapacityUnits</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricThrottledIndexRequestCount">metricThrottledIndexRequestCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricThrottledReadRequestCount">metricThrottledReadRequestCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricThrottledWriteRequestCount">metricThrottledWriteRequestCount</a></code> | *No description.* |

---

##### `metricConsumedReadCapacityUnits` <a name="metricConsumedReadCapacityUnits" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricConsumedReadCapacityUnits"></a>

```typescript
public metricConsumedReadCapacityUnits(): Metric | MathExpression
```

##### `metricConsumedWriteCapacityUnits` <a name="metricConsumedWriteCapacityUnits" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricConsumedWriteCapacityUnits"></a>

```typescript
public metricConsumedWriteCapacityUnits(): Metric | MathExpression
```

##### `metricIndexConsumedWriteUnitsMetric` <a name="metricIndexConsumedWriteUnitsMetric" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricIndexConsumedWriteUnitsMetric"></a>

```typescript
public metricIndexConsumedWriteUnitsMetric(): Metric | MathExpression
```

##### `metricProvisionedReadCapacityUnits` <a name="metricProvisionedReadCapacityUnits" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricProvisionedReadCapacityUnits"></a>

```typescript
public metricProvisionedReadCapacityUnits(): Metric | MathExpression
```

##### `metricProvisionedWriteCapacityUnits` <a name="metricProvisionedWriteCapacityUnits" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricProvisionedWriteCapacityUnits"></a>

```typescript
public metricProvisionedWriteCapacityUnits(): Metric | MathExpression
```

##### `metricThrottledIndexRequestCount` <a name="metricThrottledIndexRequestCount" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricThrottledIndexRequestCount"></a>

```typescript
public metricThrottledIndexRequestCount(): Metric | MathExpression
```

##### `metricThrottledReadRequestCount` <a name="metricThrottledReadRequestCount" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricThrottledReadRequestCount"></a>

```typescript
public metricThrottledReadRequestCount(): Metric | MathExpression
```

##### `metricThrottledWriteRequestCount` <a name="metricThrottledWriteRequestCount" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricThrottledWriteRequestCount"></a>

```typescript
public metricThrottledWriteRequestCount(): Metric | MathExpression
```




### DynamoTableGlobalSecondaryIndexMonitoring <a name="DynamoTableGlobalSecondaryIndexMonitoring" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.Initializer"></a>

```typescript
import { DynamoTableGlobalSecondaryIndexMonitoring } from 'cdk-monitoring-constructs'

new DynamoTableGlobalSecondaryIndexMonitoring(scope: MonitoringScope, props: DynamoTableGlobalSecondaryIndexMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps">DynamoTableGlobalSecondaryIndexMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps">DynamoTableGlobalSecondaryIndexMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### DynamoTableMetricFactory <a name="DynamoTableMetricFactory" id="cdk-monitoring-constructs.DynamoTableMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DynamoTableMetricFactory.Initializer"></a>

```typescript
import { DynamoTableMetricFactory } from 'cdk-monitoring-constructs'

new DynamoTableMetricFactory(metricFactory: MetricFactory, props: DynamoTableMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactoryProps">DynamoTableMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.DynamoTableMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DynamoTableMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DynamoTableMetricFactoryProps">DynamoTableMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactory.metricAverageSuccessfulRequestLatencyInMillis">metricAverageSuccessfulRequestLatencyInMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactory.metricConsumedReadCapacityUnits">metricConsumedReadCapacityUnits</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactory.metricConsumedWriteCapacityUnits">metricConsumedWriteCapacityUnits</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactory.metricProvisionedReadCapacityUnits">metricProvisionedReadCapacityUnits</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactory.metricProvisionedWriteCapacityUnits">metricProvisionedWriteCapacityUnits</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactory.metricReadCapacityUtilizationPercentage">metricReadCapacityUtilizationPercentage</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactory.metricSearchAverageSuccessfulRequestLatencyInMillis">metricSearchAverageSuccessfulRequestLatencyInMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactory.metricSystemErrorsCount">metricSystemErrorsCount</a></code> | This represents the number of requests that resulted in a 500 (server error) error code. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactory.metricThrottledReadRequestCount">metricThrottledReadRequestCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactory.metricThrottledWriteRequestCount">metricThrottledWriteRequestCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactory.metricWriteCapacityUtilizationPercentage">metricWriteCapacityUtilizationPercentage</a></code> | *No description.* |

---

##### `metricAverageSuccessfulRequestLatencyInMillis` <a name="metricAverageSuccessfulRequestLatencyInMillis" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricAverageSuccessfulRequestLatencyInMillis"></a>

```typescript
public metricAverageSuccessfulRequestLatencyInMillis(operation: Operation): Metric | MathExpression
```

###### `operation`<sup>Required</sup> <a name="operation" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricAverageSuccessfulRequestLatencyInMillis.parameter.operation"></a>

- *Type:* aws-cdk-lib.aws_dynamodb.Operation

---

##### `metricConsumedReadCapacityUnits` <a name="metricConsumedReadCapacityUnits" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricConsumedReadCapacityUnits"></a>

```typescript
public metricConsumedReadCapacityUnits(): Metric | MathExpression
```

##### `metricConsumedWriteCapacityUnits` <a name="metricConsumedWriteCapacityUnits" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricConsumedWriteCapacityUnits"></a>

```typescript
public metricConsumedWriteCapacityUnits(): Metric | MathExpression
```

##### `metricProvisionedReadCapacityUnits` <a name="metricProvisionedReadCapacityUnits" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricProvisionedReadCapacityUnits"></a>

```typescript
public metricProvisionedReadCapacityUnits(): Metric | MathExpression
```

##### `metricProvisionedWriteCapacityUnits` <a name="metricProvisionedWriteCapacityUnits" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricProvisionedWriteCapacityUnits"></a>

```typescript
public metricProvisionedWriteCapacityUnits(): Metric | MathExpression
```

##### `metricReadCapacityUtilizationPercentage` <a name="metricReadCapacityUtilizationPercentage" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricReadCapacityUtilizationPercentage"></a>

```typescript
public metricReadCapacityUtilizationPercentage(): Metric | MathExpression
```

##### `metricSearchAverageSuccessfulRequestLatencyInMillis` <a name="metricSearchAverageSuccessfulRequestLatencyInMillis" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricSearchAverageSuccessfulRequestLatencyInMillis"></a>

```typescript
public metricSearchAverageSuccessfulRequestLatencyInMillis(): IMetric
```

##### `metricSystemErrorsCount` <a name="metricSystemErrorsCount" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricSystemErrorsCount"></a>

```typescript
public metricSystemErrorsCount(): Metric | MathExpression
```

This represents the number of requests that resulted in a 500 (server error) error code.

It summarizes across the basic CRUD operations:
GetItem, BatchGetItem, Scan, Query, GetRecords, PutItem, DeleteItem, UpdateItem, BatchWriteItem

It’s usually equal to zero.

##### `metricThrottledReadRequestCount` <a name="metricThrottledReadRequestCount" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricThrottledReadRequestCount"></a>

```typescript
public metricThrottledReadRequestCount(): Metric | MathExpression
```

##### `metricThrottledWriteRequestCount` <a name="metricThrottledWriteRequestCount" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricThrottledWriteRequestCount"></a>

```typescript
public metricThrottledWriteRequestCount(): Metric | MathExpression
```

##### `metricWriteCapacityUtilizationPercentage` <a name="metricWriteCapacityUtilizationPercentage" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricWriteCapacityUtilizationPercentage"></a>

```typescript
public metricWriteCapacityUtilizationPercentage(): Metric | MathExpression
```




### DynamoTableMonitoring <a name="DynamoTableMonitoring" id="cdk-monitoring-constructs.DynamoTableMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DynamoTableMonitoring.Initializer"></a>

```typescript
import { DynamoTableMonitoring } from 'cdk-monitoring-constructs'

new DynamoTableMonitoring(scope: MonitoringScope, props: DynamoTableMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps">DynamoTableMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.DynamoTableMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DynamoTableMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps">DynamoTableMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.DynamoTableMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.DynamoTableMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.DynamoTableMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.DynamoTableMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.DynamoTableMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.DynamoTableMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.DynamoTableMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.DynamoTableMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.DynamoTableMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.DynamoTableMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### EC2MetricFactory <a name="EC2MetricFactory" id="cdk-monitoring-constructs.EC2MetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.EC2MetricFactory.Initializer"></a>

```typescript
import { EC2MetricFactory } from 'cdk-monitoring-constructs'

new EC2MetricFactory(metricFactory: MetricFactory, props: EC2MetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.EC2MetricFactoryProps">EC2MetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.EC2MetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.EC2MetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.EC2MetricFactoryProps">EC2MetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactory.metricAverageCpuUtilisationPercent">metricAverageCpuUtilisationPercent</a></code> | The percentage of allocated EC2 compute units that are currently in use on the instance. |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactory.metricAverageDiskReadBytes">metricAverageDiskReadBytes</a></code> | Bytes read from all instance store volumes available to the instance. |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactory.metricAverageDiskReadOps">metricAverageDiskReadOps</a></code> | Completed read operations from all instance store volumes available to the instance in a specified period of time. |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactory.metricAverageDiskWriteBytes">metricAverageDiskWriteBytes</a></code> | Bytes written to all instance store volumes available to the instance. |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactory.metricAverageDiskWriteOps">metricAverageDiskWriteOps</a></code> | Completed write operations to all instance store volumes available to the instance in a specified period of time. |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactory.metricAverageNetworkInRateBytes">metricAverageNetworkInRateBytes</a></code> | The number of bytes received on all network interfaces by the instance. |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactory.metricAverageNetworkOutRateBytes">metricAverageNetworkOutRateBytes</a></code> | The number of bytes sent out on all network interfaces by the instance. |

---

##### `metricAverageCpuUtilisationPercent` <a name="metricAverageCpuUtilisationPercent" id="cdk-monitoring-constructs.EC2MetricFactory.metricAverageCpuUtilisationPercent"></a>

```typescript
public metricAverageCpuUtilisationPercent(): IMetric[]
```

The percentage of allocated EC2 compute units that are currently in use on the instance.

This metric identifies the processing power required to run an application on a selected instance.
Depending on the instance type, tools in your operating system can show a lower percentage than
CloudWatch when the instance is not allocated a full processor core.

##### `metricAverageDiskReadBytes` <a name="metricAverageDiskReadBytes" id="cdk-monitoring-constructs.EC2MetricFactory.metricAverageDiskReadBytes"></a>

```typescript
public metricAverageDiskReadBytes(): IMetric[]
```

Bytes read from all instance store volumes available to the instance.

This metric is used to determine the volume of the data the application reads from the hard disk of the instance.
This can be used to determine the speed of the application.

##### `metricAverageDiskReadOps` <a name="metricAverageDiskReadOps" id="cdk-monitoring-constructs.EC2MetricFactory.metricAverageDiskReadOps"></a>

```typescript
public metricAverageDiskReadOps(): IMetric[]
```

Completed read operations from all instance store volumes available to the instance in a specified period of time.

##### `metricAverageDiskWriteBytes` <a name="metricAverageDiskWriteBytes" id="cdk-monitoring-constructs.EC2MetricFactory.metricAverageDiskWriteBytes"></a>

```typescript
public metricAverageDiskWriteBytes(): IMetric[]
```

Bytes written to all instance store volumes available to the instance.

This metric is used to determine the volume of the data the application writes onto the hard disk of the instance.
This can be used to determine the speed of the application.

##### `metricAverageDiskWriteOps` <a name="metricAverageDiskWriteOps" id="cdk-monitoring-constructs.EC2MetricFactory.metricAverageDiskWriteOps"></a>

```typescript
public metricAverageDiskWriteOps(): IMetric[]
```

Completed write operations to all instance store volumes available to the instance in a specified period of time.

##### `metricAverageNetworkInRateBytes` <a name="metricAverageNetworkInRateBytes" id="cdk-monitoring-constructs.EC2MetricFactory.metricAverageNetworkInRateBytes"></a>

```typescript
public metricAverageNetworkInRateBytes(): IMetric[]
```

The number of bytes received on all network interfaces by the instance.

This metric identifies the volume of incoming network traffic to a single instance.

##### `metricAverageNetworkOutRateBytes` <a name="metricAverageNetworkOutRateBytes" id="cdk-monitoring-constructs.EC2MetricFactory.metricAverageNetworkOutRateBytes"></a>

```typescript
public metricAverageNetworkOutRateBytes(): IMetric[]
```

The number of bytes sent out on all network interfaces by the instance.

This metric identifies the volume of outgoing network traffic from a single instance.




### EC2Monitoring <a name="EC2Monitoring" id="cdk-monitoring-constructs.EC2Monitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.EC2Monitoring.Initializer"></a>

```typescript
import { EC2Monitoring } from 'cdk-monitoring-constructs'

new EC2Monitoring(scope: MonitoringScope, props: EC2MonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.EC2MonitoringProps">EC2MonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.EC2Monitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.EC2Monitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.EC2MonitoringProps">EC2MonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.EC2Monitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.EC2Monitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.EC2Monitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.EC2Monitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.EC2Monitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.EC2Monitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.EC2Monitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.EC2Monitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.EC2Monitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.EC2Monitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### Ec2ServiceMonitoring <a name="Ec2ServiceMonitoring" id="cdk-monitoring-constructs.Ec2ServiceMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.Initializer"></a>

```typescript
import { Ec2ServiceMonitoring } from 'cdk-monitoring-constructs'

new Ec2ServiceMonitoring(scope: MonitoringScope, props: CustomEc2ServiceMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps">CustomEc2ServiceMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps">CustomEc2ServiceMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### ElastiCacheAlarmFactory <a name="ElastiCacheAlarmFactory" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.Initializer"></a>

```typescript
import { ElastiCacheAlarmFactory } from 'cdk-monitoring-constructs'

new ElastiCacheAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxEvictedItemsCountAlarm">addMaxEvictedItemsCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxItemsCountAlarm">addMaxItemsCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxUsedSwapMemoryAlarm">addMaxUsedSwapMemoryAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMinFreeableMemoryAlarm">addMinFreeableMemoryAlarm</a></code> | *No description.* |

---

##### `addMaxEvictedItemsCountAlarm` <a name="addMaxEvictedItemsCountAlarm" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxEvictedItemsCountAlarm"></a>

```typescript
public addMaxEvictedItemsCountAlarm(metric: Metric | MathExpression, props: MaxItemsCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxEvictedItemsCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxEvictedItemsCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxItemsCountThreshold">MaxItemsCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxEvictedItemsCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxItemsCountAlarm` <a name="addMaxItemsCountAlarm" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxItemsCountAlarm"></a>

```typescript
public addMaxItemsCountAlarm(metric: Metric | MathExpression, props: MaxItemsCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxItemsCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxItemsCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxItemsCountThreshold">MaxItemsCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxItemsCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxUsedSwapMemoryAlarm` <a name="addMaxUsedSwapMemoryAlarm" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxUsedSwapMemoryAlarm"></a>

```typescript
public addMaxUsedSwapMemoryAlarm(metric: Metric | MathExpression, props: MaxUsedSwapMemoryThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxUsedSwapMemoryAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxUsedSwapMemoryAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold">MaxUsedSwapMemoryThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxUsedSwapMemoryAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMinFreeableMemoryAlarm` <a name="addMinFreeableMemoryAlarm" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMinFreeableMemoryAlarm"></a>

```typescript
public addMinFreeableMemoryAlarm(metric: Metric | MathExpression, props: MinFreeableMemoryThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMinFreeableMemoryAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMinFreeableMemoryAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold">MinFreeableMemoryThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMinFreeableMemoryAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### ElastiCacheClusterMetricFactory <a name="ElastiCacheClusterMetricFactory" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory"></a>

> [https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheMetrics.html](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheMetrics.html)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.Initializer"></a>

```typescript
import { ElastiCacheClusterMetricFactory } from 'cdk-monitoring-constructs'

new ElastiCacheClusterMetricFactory(metricFactory: MetricFactory, props: ElastiCacheClusterMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactoryProps">ElastiCacheClusterMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactoryProps">ElastiCacheClusterMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageCachedItemsSizeInBytes">metricAverageCachedItemsSizeInBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageConnections">metricAverageConnections</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageFreeableMemoryInBytes">metricAverageFreeableMemoryInBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageSwapUsageInBytes">metricAverageSwapUsageInBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageUnusedMemoryInBytes">metricAverageUnusedMemoryInBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricEvictions">metricEvictions</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricMaxCpuUtilizationInPercent">metricMaxCpuUtilizationInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricMaxItemCount">metricMaxItemCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricNetworkBytesIn">metricNetworkBytesIn</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricNetworkBytesOut">metricNetworkBytesOut</a></code> | *No description.* |

---

##### `metricAverageCachedItemsSizeInBytes` <a name="metricAverageCachedItemsSizeInBytes" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageCachedItemsSizeInBytes"></a>

```typescript
public metricAverageCachedItemsSizeInBytes(): Metric | MathExpression
```

##### `metricAverageConnections` <a name="metricAverageConnections" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageConnections"></a>

```typescript
public metricAverageConnections(): Metric | MathExpression
```

##### `metricAverageFreeableMemoryInBytes` <a name="metricAverageFreeableMemoryInBytes" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageFreeableMemoryInBytes"></a>

```typescript
public metricAverageFreeableMemoryInBytes(): Metric | MathExpression
```

##### `metricAverageSwapUsageInBytes` <a name="metricAverageSwapUsageInBytes" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageSwapUsageInBytes"></a>

```typescript
public metricAverageSwapUsageInBytes(): Metric | MathExpression
```

##### `metricAverageUnusedMemoryInBytes` <a name="metricAverageUnusedMemoryInBytes" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageUnusedMemoryInBytes"></a>

```typescript
public metricAverageUnusedMemoryInBytes(): Metric | MathExpression
```

##### `metricEvictions` <a name="metricEvictions" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricEvictions"></a>

```typescript
public metricEvictions(): Metric | MathExpression
```

##### `metricMaxCpuUtilizationInPercent` <a name="metricMaxCpuUtilizationInPercent" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricMaxCpuUtilizationInPercent"></a>

```typescript
public metricMaxCpuUtilizationInPercent(): Metric | MathExpression
```

##### `metricMaxItemCount` <a name="metricMaxItemCount" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricMaxItemCount"></a>

```typescript
public metricMaxItemCount(): Metric | MathExpression
```

##### `metricNetworkBytesIn` <a name="metricNetworkBytesIn" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricNetworkBytesIn"></a>

```typescript
public metricNetworkBytesIn(): Metric | MathExpression
```

##### `metricNetworkBytesOut` <a name="metricNetworkBytesOut" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricNetworkBytesOut"></a>

```typescript
public metricNetworkBytesOut(): Metric | MathExpression
```




### ElastiCacheClusterMonitoring <a name="ElastiCacheClusterMonitoring" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.Initializer"></a>

```typescript
import { ElastiCacheClusterMonitoring } from 'cdk-monitoring-constructs'

new ElastiCacheClusterMonitoring(scope: MonitoringScope, props: ElastiCacheClusterMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps">ElastiCacheClusterMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps">ElastiCacheClusterMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### ErrorAlarmFactory <a name="ErrorAlarmFactory" id="cdk-monitoring-constructs.ErrorAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ErrorAlarmFactory.Initializer"></a>

```typescript
import { ErrorAlarmFactory } from 'cdk-monitoring-constructs'

new ErrorAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.ErrorAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory.addErrorCountAlarm">addErrorCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory.addErrorRateAlarm">addErrorRateAlarm</a></code> | *No description.* |

---

##### `addErrorCountAlarm` <a name="addErrorCountAlarm" id="cdk-monitoring-constructs.ErrorAlarmFactory.addErrorCountAlarm"></a>

```typescript
public addErrorCountAlarm(metric: Metric | MathExpression, errorType: ErrorType, props: ErrorCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.ErrorAlarmFactory.addErrorCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `errorType`<sup>Required</sup> <a name="errorType" id="cdk-monitoring-constructs.ErrorAlarmFactory.addErrorCountAlarm.parameter.errorType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ErrorType">ErrorType</a>

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ErrorAlarmFactory.addErrorCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.ErrorAlarmFactory.addErrorCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addErrorRateAlarm` <a name="addErrorRateAlarm" id="cdk-monitoring-constructs.ErrorAlarmFactory.addErrorRateAlarm"></a>

```typescript
public addErrorRateAlarm(metric: Metric | MathExpression, errorType: ErrorType, props: ErrorRateThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.ErrorAlarmFactory.addErrorRateAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `errorType`<sup>Required</sup> <a name="errorType" id="cdk-monitoring-constructs.ErrorAlarmFactory.addErrorRateAlarm.parameter.errorType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ErrorType">ErrorType</a>

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ErrorAlarmFactory.addErrorRateAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.ErrorAlarmFactory.addErrorRateAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### ExtendDedupeString <a name="ExtendDedupeString" id="cdk-monitoring-constructs.ExtendDedupeString"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IAlarmDedupeStringProcessor">IAlarmDedupeStringProcessor</a>

Dedupe string processor that adds prefix and/or suffix to the dedupe string.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ExtendDedupeString.Initializer"></a>

```typescript
import { ExtendDedupeString } from 'cdk-monitoring-constructs'

new ExtendDedupeString(prefix?: string, suffix?: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ExtendDedupeString.Initializer.parameter.prefix">prefix</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ExtendDedupeString.Initializer.parameter.suffix">suffix</a></code> | <code>string</code> | *No description.* |

---

##### `prefix`<sup>Optional</sup> <a name="prefix" id="cdk-monitoring-constructs.ExtendDedupeString.Initializer.parameter.prefix"></a>

- *Type:* string

---

##### `suffix`<sup>Optional</sup> <a name="suffix" id="cdk-monitoring-constructs.ExtendDedupeString.Initializer.parameter.suffix"></a>

- *Type:* string

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ExtendDedupeString.processDedupeString">processDedupeString</a></code> | Process the dedupe string which was auto-generated. |
| <code><a href="#cdk-monitoring-constructs.ExtendDedupeString.processDedupeStringOverride">processDedupeStringOverride</a></code> | Process the dedupe string which was specified by the user as an override. |

---

##### `processDedupeString` <a name="processDedupeString" id="cdk-monitoring-constructs.ExtendDedupeString.processDedupeString"></a>

```typescript
public processDedupeString(dedupeString: string): string
```

Process the dedupe string which was auto-generated.

###### `dedupeString`<sup>Required</sup> <a name="dedupeString" id="cdk-monitoring-constructs.ExtendDedupeString.processDedupeString.parameter.dedupeString"></a>

- *Type:* string

---

##### `processDedupeStringOverride` <a name="processDedupeStringOverride" id="cdk-monitoring-constructs.ExtendDedupeString.processDedupeStringOverride"></a>

```typescript
public processDedupeStringOverride(dedupeString: string): string
```

Process the dedupe string which was specified by the user as an override.

###### `dedupeString`<sup>Required</sup> <a name="dedupeString" id="cdk-monitoring-constructs.ExtendDedupeString.processDedupeStringOverride.parameter.dedupeString"></a>

- *Type:* string

---




### FargateServiceMonitoring <a name="FargateServiceMonitoring" id="cdk-monitoring-constructs.FargateServiceMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.FargateServiceMonitoring.Initializer"></a>

```typescript
import { FargateServiceMonitoring } from 'cdk-monitoring-constructs'

new FargateServiceMonitoring(scope: MonitoringScope, props: CustomFargateServiceMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps">CustomFargateServiceMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.FargateServiceMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.FargateServiceMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps">CustomFargateServiceMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.FargateServiceMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.FargateServiceMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.FargateServiceMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.FargateServiceMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.FargateServiceMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.FargateServiceMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.FargateServiceMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.FargateServiceMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.FargateServiceMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.FargateServiceMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### FillingAlarmAnnotationStrategy <a name="FillingAlarmAnnotationStrategy" id="cdk-monitoring-constructs.FillingAlarmAnnotationStrategy"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IAlarmAnnotationStrategy">IAlarmAnnotationStrategy</a>

Annotation strategy that fills the annotation provided, using the input and user requirements.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.FillingAlarmAnnotationStrategy.Initializer"></a>

```typescript
import { FillingAlarmAnnotationStrategy } from 'cdk-monitoring-constructs'

new FillingAlarmAnnotationStrategy()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.FillingAlarmAnnotationStrategy.createAnnotation">createAnnotation</a></code> | Creates annotation based on the metric and alarm properties. |

---

##### `createAnnotation` <a name="createAnnotation" id="cdk-monitoring-constructs.FillingAlarmAnnotationStrategy.createAnnotation"></a>

```typescript
public createAnnotation(props: AlarmAnnotationStrategyProps): HorizontalAnnotation
```

Creates annotation based on the metric and alarm properties.

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.FillingAlarmAnnotationStrategy.createAnnotation.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps">AlarmAnnotationStrategyProps</a>

---




### GlueJobMetricFactory <a name="GlueJobMetricFactory" id="cdk-monitoring-constructs.GlueJobMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.GlueJobMetricFactory.Initializer"></a>

```typescript
import { GlueJobMetricFactory } from 'cdk-monitoring-constructs'

new GlueJobMetricFactory(metricFactory: MetricFactory, props: GlueJobMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactoryProps">GlueJobMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.GlueJobMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.GlueJobMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.GlueJobMetricFactoryProps">GlueJobMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.metricActiveExecutorsAverage">metricActiveExecutorsAverage</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.metricAverageExecutorCpuUsagePercentage">metricAverageExecutorCpuUsagePercentage</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.metricAverageExecutorMemoryUsagePercentage">metricAverageExecutorMemoryUsagePercentage</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.metricCompletedStagesSum">metricCompletedStagesSum</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.metricCompletedTasksSum">metricCompletedTasksSum</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.metricFailedTasksRate">metricFailedTasksRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.metricFailedTasksSum">metricFailedTasksSum</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.metricKilledTasksRate">metricKilledTasksRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.metricKilledTasksSum">metricKilledTasksSum</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.metricMaximumNeededExecutors">metricMaximumNeededExecutors</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.metricTotalReadBytesFromS3">metricTotalReadBytesFromS3</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactory.metricTotalWrittenBytesToS3">metricTotalWrittenBytesToS3</a></code> | *No description.* |

---

##### `metricActiveExecutorsAverage` <a name="metricActiveExecutorsAverage" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricActiveExecutorsAverage"></a>

```typescript
public metricActiveExecutorsAverage(): Metric | MathExpression
```

##### `metricAverageExecutorCpuUsagePercentage` <a name="metricAverageExecutorCpuUsagePercentage" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricAverageExecutorCpuUsagePercentage"></a>

```typescript
public metricAverageExecutorCpuUsagePercentage(): Metric | MathExpression
```

##### `metricAverageExecutorMemoryUsagePercentage` <a name="metricAverageExecutorMemoryUsagePercentage" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricAverageExecutorMemoryUsagePercentage"></a>

```typescript
public metricAverageExecutorMemoryUsagePercentage(): Metric | MathExpression
```

##### `metricCompletedStagesSum` <a name="metricCompletedStagesSum" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricCompletedStagesSum"></a>

```typescript
public metricCompletedStagesSum(): Metric | MathExpression
```

##### `metricCompletedTasksSum` <a name="metricCompletedTasksSum" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricCompletedTasksSum"></a>

```typescript
public metricCompletedTasksSum(): Metric | MathExpression
```

##### `metricFailedTasksRate` <a name="metricFailedTasksRate" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricFailedTasksRate"></a>

```typescript
public metricFailedTasksRate(): Metric | MathExpression
```

##### `metricFailedTasksSum` <a name="metricFailedTasksSum" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricFailedTasksSum"></a>

```typescript
public metricFailedTasksSum(): Metric | MathExpression
```

##### `metricKilledTasksRate` <a name="metricKilledTasksRate" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricKilledTasksRate"></a>

```typescript
public metricKilledTasksRate(): Metric | MathExpression
```

##### `metricKilledTasksSum` <a name="metricKilledTasksSum" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricKilledTasksSum"></a>

```typescript
public metricKilledTasksSum(): Metric | MathExpression
```

##### `metricMaximumNeededExecutors` <a name="metricMaximumNeededExecutors" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricMaximumNeededExecutors"></a>

```typescript
public metricMaximumNeededExecutors(): Metric | MathExpression
```

##### `metricTotalReadBytesFromS3` <a name="metricTotalReadBytesFromS3" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricTotalReadBytesFromS3"></a>

```typescript
public metricTotalReadBytesFromS3(): Metric | MathExpression
```

##### `metricTotalWrittenBytesToS3` <a name="metricTotalWrittenBytesToS3" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricTotalWrittenBytesToS3"></a>

```typescript
public metricTotalWrittenBytesToS3(): Metric | MathExpression
```




### GlueJobMonitoring <a name="GlueJobMonitoring" id="cdk-monitoring-constructs.GlueJobMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.GlueJobMonitoring.Initializer"></a>

```typescript
import { GlueJobMonitoring } from 'cdk-monitoring-constructs'

new GlueJobMonitoring(scope: MonitoringScope, props: GlueJobMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps">GlueJobMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.GlueJobMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.GlueJobMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.GlueJobMonitoringProps">GlueJobMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.GlueJobMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.GlueJobMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.GlueJobMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.GlueJobMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.GlueJobMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.GlueJobMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.GlueJobMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.GlueJobMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.GlueJobMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.GlueJobMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### HeaderWidget <a name="HeaderWidget" id="cdk-monitoring-constructs.HeaderWidget"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.HeaderWidget.Initializer"></a>

```typescript
import { HeaderWidget } from 'cdk-monitoring-constructs'

new HeaderWidget(text: string, level?: HeaderLevel)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.HeaderWidget.Initializer.parameter.text">text</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.HeaderWidget.Initializer.parameter.level">level</a></code> | <code><a href="#cdk-monitoring-constructs.HeaderLevel">HeaderLevel</a></code> | *No description.* |

---

##### `text`<sup>Required</sup> <a name="text" id="cdk-monitoring-constructs.HeaderWidget.Initializer.parameter.text"></a>

- *Type:* string

---

##### `level`<sup>Optional</sup> <a name="level" id="cdk-monitoring-constructs.HeaderWidget.Initializer.parameter.level"></a>

- *Type:* <a href="#cdk-monitoring-constructs.HeaderLevel">HeaderLevel</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.HeaderWidget.position">position</a></code> | Place the widget at a given position. |
| <code><a href="#cdk-monitoring-constructs.HeaderWidget.toJson">toJson</a></code> | Return the widget JSON for use in the dashboard. |

---

##### `position` <a name="position" id="cdk-monitoring-constructs.HeaderWidget.position"></a>

```typescript
public position(x: number, y: number): void
```

Place the widget at a given position.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.HeaderWidget.position.parameter.x"></a>

- *Type:* number

---

###### `y`<sup>Required</sup> <a name="y" id="cdk-monitoring-constructs.HeaderWidget.position.parameter.y"></a>

- *Type:* number

---

##### `toJson` <a name="toJson" id="cdk-monitoring-constructs.HeaderWidget.toJson"></a>

```typescript
public toJson(): any[]
```

Return the widget JSON for use in the dashboard.


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.HeaderWidget.property.height">height</a></code> | <code>number</code> | The amount of vertical grid units the widget will take up. |
| <code><a href="#cdk-monitoring-constructs.HeaderWidget.property.width">width</a></code> | <code>number</code> | The amount of horizontal grid units the widget will take up. |

---

##### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.HeaderWidget.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number

The amount of vertical grid units the widget will take up.

---

##### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.HeaderWidget.property.width"></a>

```typescript
public readonly width: number;
```

- *Type:* number

The amount of horizontal grid units the widget will take up.

---


### KeyValueTableWidget <a name="KeyValueTableWidget" id="cdk-monitoring-constructs.KeyValueTableWidget"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.KeyValueTableWidget.Initializer"></a>

```typescript
import { KeyValueTableWidget } from 'cdk-monitoring-constructs'

new KeyValueTableWidget(data: object[])
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KeyValueTableWidget.Initializer.parameter.data">data</a></code> | <code>object[]</code> | *No description.* |

---

##### `data`<sup>Required</sup> <a name="data" id="cdk-monitoring-constructs.KeyValueTableWidget.Initializer.parameter.data"></a>

- *Type:* object[]

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.KeyValueTableWidget.position">position</a></code> | Place the widget at a given position. |
| <code><a href="#cdk-monitoring-constructs.KeyValueTableWidget.toJson">toJson</a></code> | Return the widget JSON for use in the dashboard. |

---

##### `position` <a name="position" id="cdk-monitoring-constructs.KeyValueTableWidget.position"></a>

```typescript
public position(x: number, y: number): void
```

Place the widget at a given position.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.KeyValueTableWidget.position.parameter.x"></a>

- *Type:* number

---

###### `y`<sup>Required</sup> <a name="y" id="cdk-monitoring-constructs.KeyValueTableWidget.position.parameter.y"></a>

- *Type:* number

---

##### `toJson` <a name="toJson" id="cdk-monitoring-constructs.KeyValueTableWidget.toJson"></a>

```typescript
public toJson(): any[]
```

Return the widget JSON for use in the dashboard.


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KeyValueTableWidget.property.height">height</a></code> | <code>number</code> | The amount of vertical grid units the widget will take up. |
| <code><a href="#cdk-monitoring-constructs.KeyValueTableWidget.property.width">width</a></code> | <code>number</code> | The amount of horizontal grid units the widget will take up. |

---

##### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KeyValueTableWidget.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number

The amount of vertical grid units the widget will take up.

---

##### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KeyValueTableWidget.property.width"></a>

```typescript
public readonly width: number;
```

- *Type:* number

The amount of horizontal grid units the widget will take up.

---


### KinesisAlarmFactory <a name="KinesisAlarmFactory" id="cdk-monitoring-constructs.KinesisAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.KinesisAlarmFactory.Initializer"></a>

```typescript
import { KinesisAlarmFactory } from 'cdk-monitoring-constructs'

new KinesisAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.KinesisAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisAlarmFactory.addIteratorMaxAgeAlarm">addIteratorMaxAgeAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisAlarmFactory.addProvisionedReadThroughputExceededAlarm">addProvisionedReadThroughputExceededAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisAlarmFactory.addProvisionedWriteThroughputExceededAlarm">addProvisionedWriteThroughputExceededAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisAlarmFactory.addPutRecordsFailedAlarm">addPutRecordsFailedAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisAlarmFactory.addPutRecordsThrottledAlarm">addPutRecordsThrottledAlarm</a></code> | *No description.* |

---

##### `addIteratorMaxAgeAlarm` <a name="addIteratorMaxAgeAlarm" id="cdk-monitoring-constructs.KinesisAlarmFactory.addIteratorMaxAgeAlarm"></a>

```typescript
public addIteratorMaxAgeAlarm(metric: Metric | MathExpression, props: MaxIteratorAgeThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisAlarmFactory.addIteratorMaxAgeAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisAlarmFactory.addIteratorMaxAgeAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold">MaxIteratorAgeThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisAlarmFactory.addIteratorMaxAgeAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addProvisionedReadThroughputExceededAlarm` <a name="addProvisionedReadThroughputExceededAlarm" id="cdk-monitoring-constructs.KinesisAlarmFactory.addProvisionedReadThroughputExceededAlarm"></a>

```typescript
public addProvisionedReadThroughputExceededAlarm(metric: Metric | MathExpression, props: RecordsThrottledThreshold, disambiguator: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisAlarmFactory.addProvisionedReadThroughputExceededAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisAlarmFactory.addProvisionedReadThroughputExceededAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>

---

###### `disambiguator`<sup>Required</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisAlarmFactory.addProvisionedReadThroughputExceededAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addProvisionedWriteThroughputExceededAlarm` <a name="addProvisionedWriteThroughputExceededAlarm" id="cdk-monitoring-constructs.KinesisAlarmFactory.addProvisionedWriteThroughputExceededAlarm"></a>

```typescript
public addProvisionedWriteThroughputExceededAlarm(metric: Metric | MathExpression, props: RecordsThrottledThreshold, disambiguator: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisAlarmFactory.addProvisionedWriteThroughputExceededAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisAlarmFactory.addProvisionedWriteThroughputExceededAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>

---

###### `disambiguator`<sup>Required</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisAlarmFactory.addProvisionedWriteThroughputExceededAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addPutRecordsFailedAlarm` <a name="addPutRecordsFailedAlarm" id="cdk-monitoring-constructs.KinesisAlarmFactory.addPutRecordsFailedAlarm"></a>

```typescript
public addPutRecordsFailedAlarm(metric: Metric | MathExpression, props: RecordsFailedThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisAlarmFactory.addPutRecordsFailedAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisAlarmFactory.addPutRecordsFailedAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RecordsFailedThreshold">RecordsFailedThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisAlarmFactory.addPutRecordsFailedAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addPutRecordsThrottledAlarm` <a name="addPutRecordsThrottledAlarm" id="cdk-monitoring-constructs.KinesisAlarmFactory.addPutRecordsThrottledAlarm"></a>

```typescript
public addPutRecordsThrottledAlarm(metric: Metric | MathExpression, props: RecordsThrottledThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisAlarmFactory.addPutRecordsThrottledAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisAlarmFactory.addPutRecordsThrottledAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RecordsThrottledThreshold">RecordsThrottledThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisAlarmFactory.addPutRecordsThrottledAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### KinesisDataAnalyticsAlarmFactory <a name="KinesisDataAnalyticsAlarmFactory" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.Initializer"></a>

```typescript
import { KinesisDataAnalyticsAlarmFactory } from 'cdk-monitoring-constructs'

new KinesisDataAnalyticsAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addDowntimeAlarm">addDowntimeAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addFullRestartAlarm">addFullRestartAlarm</a></code> | *No description.* |

---

##### `addDowntimeAlarm` <a name="addDowntimeAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addDowntimeAlarm"></a>

```typescript
public addDowntimeAlarm(metric: Metric | MathExpression, props: MaxDowntimeThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addDowntimeAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addDowntimeAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxDowntimeThreshold">MaxDowntimeThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addDowntimeAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addFullRestartAlarm` <a name="addFullRestartAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addFullRestartAlarm"></a>

```typescript
public addFullRestartAlarm(metric: Metric | MathExpression, props: FullRestartCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addFullRestartAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addFullRestartAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.FullRestartCountThreshold">FullRestartCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addFullRestartAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### KinesisDataAnalyticsMetricFactory <a name="KinesisDataAnalyticsMetricFactory" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory"></a>

> [https://docs.aws.amazon.com/kinesisanalytics/latest/java/metrics-dimensions.html](https://docs.aws.amazon.com/kinesisanalytics/latest/java/metrics-dimensions.html)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.Initializer"></a>

```typescript
import { KinesisDataAnalyticsMetricFactory } from 'cdk-monitoring-constructs'

new KinesisDataAnalyticsMetricFactory(metricFactory: MetricFactory, props: KinesisDataAnalyticsMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactoryProps">KinesisDataAnalyticsMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactoryProps">KinesisDataAnalyticsMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricCpuUtilizationPercent">metricCpuUtilizationPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricDowntimeMs">metricDowntimeMs</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricFullRestartsCount">metricFullRestartsCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricHeapMemoryUtilizationPercent">metricHeapMemoryUtilizationPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricKPUsCount">metricKPUsCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricLastCheckpointDurationMs">metricLastCheckpointDurationMs</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricLastCheckpointSizeBytes">metricLastCheckpointSizeBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricNumberOfFailedCheckpointsCount">metricNumberOfFailedCheckpointsCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricOldGenerationGCCount">metricOldGenerationGCCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricOldGenerationGCTimeMs">metricOldGenerationGCTimeMs</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricUptimeMs">metricUptimeMs</a></code> | *No description.* |

---

##### `metricCpuUtilizationPercent` <a name="metricCpuUtilizationPercent" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricCpuUtilizationPercent"></a>

```typescript
public metricCpuUtilizationPercent(): Metric | MathExpression
```

##### `metricDowntimeMs` <a name="metricDowntimeMs" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricDowntimeMs"></a>

```typescript
public metricDowntimeMs(): Metric | MathExpression
```

##### `metricFullRestartsCount` <a name="metricFullRestartsCount" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricFullRestartsCount"></a>

```typescript
public metricFullRestartsCount(): Metric | MathExpression
```

##### `metricHeapMemoryUtilizationPercent` <a name="metricHeapMemoryUtilizationPercent" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricHeapMemoryUtilizationPercent"></a>

```typescript
public metricHeapMemoryUtilizationPercent(): Metric | MathExpression
```

##### `metricKPUsCount` <a name="metricKPUsCount" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricKPUsCount"></a>

```typescript
public metricKPUsCount(): Metric | MathExpression
```

##### `metricLastCheckpointDurationMs` <a name="metricLastCheckpointDurationMs" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricLastCheckpointDurationMs"></a>

```typescript
public metricLastCheckpointDurationMs(): Metric | MathExpression
```

##### `metricLastCheckpointSizeBytes` <a name="metricLastCheckpointSizeBytes" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricLastCheckpointSizeBytes"></a>

```typescript
public metricLastCheckpointSizeBytes(): Metric | MathExpression
```

##### `metricNumberOfFailedCheckpointsCount` <a name="metricNumberOfFailedCheckpointsCount" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricNumberOfFailedCheckpointsCount"></a>

```typescript
public metricNumberOfFailedCheckpointsCount(): Metric | MathExpression
```

##### `metricOldGenerationGCCount` <a name="metricOldGenerationGCCount" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricOldGenerationGCCount"></a>

```typescript
public metricOldGenerationGCCount(): Metric | MathExpression
```

##### `metricOldGenerationGCTimeMs` <a name="metricOldGenerationGCTimeMs" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricOldGenerationGCTimeMs"></a>

```typescript
public metricOldGenerationGCTimeMs(): Metric | MathExpression
```

##### `metricUptimeMs` <a name="metricUptimeMs" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricUptimeMs"></a>

```typescript
public metricUptimeMs(): Metric | MathExpression
```




### KinesisDataAnalyticsMonitoring <a name="KinesisDataAnalyticsMonitoring" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.Initializer"></a>

```typescript
import { KinesisDataAnalyticsMonitoring } from 'cdk-monitoring-constructs'

new KinesisDataAnalyticsMonitoring(scope: MonitoringScope, props: KinesisDataAnalyticsMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps">KinesisDataAnalyticsMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps">KinesisDataAnalyticsMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### KinesisDataStreamMetricFactory <a name="KinesisDataStreamMetricFactory" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory"></a>

> [https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.Initializer"></a>

```typescript
import { KinesisDataStreamMetricFactory } from 'cdk-monitoring-constructs'

new KinesisDataStreamMetricFactory(metricFactory: MetricFactory, props: KinesisDataStreamMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactoryProps">KinesisDataStreamMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactoryProps">KinesisDataStreamMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsIteratorAgeMaxMs">metricGetRecordsIteratorAgeMaxMs</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsLatencyAverageMs">metricGetRecordsLatencyAverageMs</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsSuccessCount">metricGetRecordsSuccessCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsSumBytes">metricGetRecordsSumBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsSumCount">metricGetRecordsSumCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricIncomingDataSumBytes">metricIncomingDataSumBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricIncomingDataSumCount">metricIncomingDataSumCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordLatencyAverageMs">metricPutRecordLatencyAverageMs</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsFailedRecordsCount">metricPutRecordsFailedRecordsCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsLatencyAverageMs">metricPutRecordsLatencyAverageMs</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsSuccessCount">metricPutRecordsSuccessCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsSuccessfulRecordsCount">metricPutRecordsSuccessfulRecordsCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsSumBytes">metricPutRecordsSumBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsThrottledRecordsCount">metricPutRecordsThrottledRecordsCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsTotalRecordsCount">metricPutRecordsTotalRecordsCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordSuccessCount">metricPutRecordSuccessCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordSumBytes">metricPutRecordSumBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricReadProvisionedThroughputExceededPercent">metricReadProvisionedThroughputExceededPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricWriteProvisionedThroughputExceededPercent">metricWriteProvisionedThroughputExceededPercent</a></code> | *No description.* |

---

##### `metricGetRecordsIteratorAgeMaxMs` <a name="metricGetRecordsIteratorAgeMaxMs" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsIteratorAgeMaxMs"></a>

```typescript
public metricGetRecordsIteratorAgeMaxMs(): Metric | MathExpression
```

##### `metricGetRecordsLatencyAverageMs` <a name="metricGetRecordsLatencyAverageMs" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsLatencyAverageMs"></a>

```typescript
public metricGetRecordsLatencyAverageMs(): Metric | MathExpression
```

##### `metricGetRecordsSuccessCount` <a name="metricGetRecordsSuccessCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsSuccessCount"></a>

```typescript
public metricGetRecordsSuccessCount(): Metric | MathExpression
```

##### `metricGetRecordsSumBytes` <a name="metricGetRecordsSumBytes" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsSumBytes"></a>

```typescript
public metricGetRecordsSumBytes(): Metric | MathExpression
```

##### `metricGetRecordsSumCount` <a name="metricGetRecordsSumCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsSumCount"></a>

```typescript
public metricGetRecordsSumCount(): Metric | MathExpression
```

##### `metricIncomingDataSumBytes` <a name="metricIncomingDataSumBytes" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricIncomingDataSumBytes"></a>

```typescript
public metricIncomingDataSumBytes(): Metric | MathExpression
```

##### `metricIncomingDataSumCount` <a name="metricIncomingDataSumCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricIncomingDataSumCount"></a>

```typescript
public metricIncomingDataSumCount(): Metric | MathExpression
```

##### `metricPutRecordLatencyAverageMs` <a name="metricPutRecordLatencyAverageMs" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordLatencyAverageMs"></a>

```typescript
public metricPutRecordLatencyAverageMs(): Metric | MathExpression
```

##### `metricPutRecordsFailedRecordsCount` <a name="metricPutRecordsFailedRecordsCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsFailedRecordsCount"></a>

```typescript
public metricPutRecordsFailedRecordsCount(): Metric | MathExpression
```

##### `metricPutRecordsLatencyAverageMs` <a name="metricPutRecordsLatencyAverageMs" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsLatencyAverageMs"></a>

```typescript
public metricPutRecordsLatencyAverageMs(): Metric | MathExpression
```

##### `metricPutRecordsSuccessCount` <a name="metricPutRecordsSuccessCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsSuccessCount"></a>

```typescript
public metricPutRecordsSuccessCount(): Metric | MathExpression
```

##### `metricPutRecordsSuccessfulRecordsCount` <a name="metricPutRecordsSuccessfulRecordsCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsSuccessfulRecordsCount"></a>

```typescript
public metricPutRecordsSuccessfulRecordsCount(): Metric | MathExpression
```

##### `metricPutRecordsSumBytes` <a name="metricPutRecordsSumBytes" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsSumBytes"></a>

```typescript
public metricPutRecordsSumBytes(): Metric | MathExpression
```

##### `metricPutRecordsThrottledRecordsCount` <a name="metricPutRecordsThrottledRecordsCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsThrottledRecordsCount"></a>

```typescript
public metricPutRecordsThrottledRecordsCount(): Metric | MathExpression
```

##### `metricPutRecordsTotalRecordsCount` <a name="metricPutRecordsTotalRecordsCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsTotalRecordsCount"></a>

```typescript
public metricPutRecordsTotalRecordsCount(): Metric | MathExpression
```

##### `metricPutRecordSuccessCount` <a name="metricPutRecordSuccessCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordSuccessCount"></a>

```typescript
public metricPutRecordSuccessCount(): Metric | MathExpression
```

##### `metricPutRecordSumBytes` <a name="metricPutRecordSumBytes" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordSumBytes"></a>

```typescript
public metricPutRecordSumBytes(): Metric | MathExpression
```

##### `metricReadProvisionedThroughputExceededPercent` <a name="metricReadProvisionedThroughputExceededPercent" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricReadProvisionedThroughputExceededPercent"></a>

```typescript
public metricReadProvisionedThroughputExceededPercent(): Metric | MathExpression
```

##### `metricWriteProvisionedThroughputExceededPercent` <a name="metricWriteProvisionedThroughputExceededPercent" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricWriteProvisionedThroughputExceededPercent"></a>

```typescript
public metricWriteProvisionedThroughputExceededPercent(): Metric | MathExpression
```




### KinesisDataStreamMonitoring <a name="KinesisDataStreamMonitoring" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.Initializer"></a>

```typescript
import { KinesisDataStreamMonitoring } from 'cdk-monitoring-constructs'

new KinesisDataStreamMonitoring(scope: MonitoringScope, props: KinesisDataStreamMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps">KinesisDataStreamMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps">KinesisDataStreamMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### KinesisFirehoseMetricFactory <a name="KinesisFirehoseMetricFactory" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory"></a>

> [https://docs.aws.amazon.com/firehose/latest/dev/monitoring-with-cloudwatch-metrics.html](https://docs.aws.amazon.com/firehose/latest/dev/monitoring-with-cloudwatch-metrics.html)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.Initializer"></a>

```typescript
import { KinesisFirehoseMetricFactory } from 'cdk-monitoring-constructs'

new KinesisFirehoseMetricFactory(metricFactory: MetricFactory, props: KinesisFirehoseMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactoryProps">KinesisFirehoseMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactoryProps">KinesisFirehoseMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricBytesPerSecondLimit">metricBytesPerSecondLimit</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricFailedConversionCount">metricFailedConversionCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingBytes">metricIncomingBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingBytesToLimitRate">metricIncomingBytesToLimitRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingPutRequests">metricIncomingPutRequests</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingPutRequestsToLimitRate">metricIncomingPutRequestsToLimitRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingRecordCount">metricIncomingRecordCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingRecordsToLimitRate">metricIncomingRecordsToLimitRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricPutRecordBatchLatencyP90InMillis">metricPutRecordBatchLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricPutRecordLatencyP90InMillis">metricPutRecordLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricPutRequestsPerSecondLimit">metricPutRequestsPerSecondLimit</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricRecordsPerSecondLimit">metricRecordsPerSecondLimit</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricSuccessfulConversionCount">metricSuccessfulConversionCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricThrottledRecordCount">metricThrottledRecordCount</a></code> | *No description.* |

---

##### `metricBytesPerSecondLimit` <a name="metricBytesPerSecondLimit" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricBytesPerSecondLimit"></a>

```typescript
public metricBytesPerSecondLimit(): Metric | MathExpression
```

##### `metricFailedConversionCount` <a name="metricFailedConversionCount" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricFailedConversionCount"></a>

```typescript
public metricFailedConversionCount(): Metric | MathExpression
```

##### `metricIncomingBytes` <a name="metricIncomingBytes" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingBytes"></a>

```typescript
public metricIncomingBytes(): Metric | MathExpression
```

##### `metricIncomingBytesToLimitRate` <a name="metricIncomingBytesToLimitRate" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingBytesToLimitRate"></a>

```typescript
public metricIncomingBytesToLimitRate(): Metric | MathExpression
```

##### `metricIncomingPutRequests` <a name="metricIncomingPutRequests" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingPutRequests"></a>

```typescript
public metricIncomingPutRequests(): Metric | MathExpression
```

##### `metricIncomingPutRequestsToLimitRate` <a name="metricIncomingPutRequestsToLimitRate" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingPutRequestsToLimitRate"></a>

```typescript
public metricIncomingPutRequestsToLimitRate(): Metric | MathExpression
```

##### `metricIncomingRecordCount` <a name="metricIncomingRecordCount" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingRecordCount"></a>

```typescript
public metricIncomingRecordCount(): Metric | MathExpression
```

##### `metricIncomingRecordsToLimitRate` <a name="metricIncomingRecordsToLimitRate" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingRecordsToLimitRate"></a>

```typescript
public metricIncomingRecordsToLimitRate(): Metric | MathExpression
```

##### `metricPutRecordBatchLatencyP90InMillis` <a name="metricPutRecordBatchLatencyP90InMillis" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricPutRecordBatchLatencyP90InMillis"></a>

```typescript
public metricPutRecordBatchLatencyP90InMillis(): Metric | MathExpression
```

##### `metricPutRecordLatencyP90InMillis` <a name="metricPutRecordLatencyP90InMillis" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricPutRecordLatencyP90InMillis"></a>

```typescript
public metricPutRecordLatencyP90InMillis(): Metric | MathExpression
```

##### `metricPutRequestsPerSecondLimit` <a name="metricPutRequestsPerSecondLimit" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricPutRequestsPerSecondLimit"></a>

```typescript
public metricPutRequestsPerSecondLimit(): Metric | MathExpression
```

##### `metricRecordsPerSecondLimit` <a name="metricRecordsPerSecondLimit" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricRecordsPerSecondLimit"></a>

```typescript
public metricRecordsPerSecondLimit(): Metric | MathExpression
```

##### `metricSuccessfulConversionCount` <a name="metricSuccessfulConversionCount" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricSuccessfulConversionCount"></a>

```typescript
public metricSuccessfulConversionCount(): Metric | MathExpression
```

##### `metricThrottledRecordCount` <a name="metricThrottledRecordCount" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricThrottledRecordCount"></a>

```typescript
public metricThrottledRecordCount(): Metric | MathExpression
```




### KinesisFirehoseMonitoring <a name="KinesisFirehoseMonitoring" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.Initializer"></a>

```typescript
import { KinesisFirehoseMonitoring } from 'cdk-monitoring-constructs'

new KinesisFirehoseMonitoring(scope: MonitoringScope, props: KinesisFirehoseMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps">KinesisFirehoseMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps">KinesisFirehoseMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### LambdaFunctionEnhancedMetricFactory <a name="LambdaFunctionEnhancedMetricFactory" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.Initializer"></a>

```typescript
import { LambdaFunctionEnhancedMetricFactory } from 'cdk-monitoring-constructs'

new LambdaFunctionEnhancedMetricFactory(metricFactory: MetricFactory, lambdaFunction: IFunction)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.Initializer.parameter.lambdaFunction">lambdaFunction</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `lambdaFunction`<sup>Required</sup> <a name="lambdaFunction" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.Initializer.parameter.lambdaFunction"></a>

- *Type:* aws-cdk-lib.aws_lambda.IFunction

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricAvgCpuTotalTime">enhancedMetricAvgCpuTotalTime</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricAvgMemoryUtilization">enhancedMetricAvgMemoryUtilization</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricFunctionCost">enhancedMetricFunctionCost</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricMaxCpuTotalTime">enhancedMetricMaxCpuTotalTime</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricMaxMemoryUtilization">enhancedMetricMaxMemoryUtilization</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricP90CpuTotalTime">enhancedMetricP90CpuTotalTime</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricP90MemoryUtilization">enhancedMetricP90MemoryUtilization</a></code> | *No description.* |

---

##### `enhancedMetricAvgCpuTotalTime` <a name="enhancedMetricAvgCpuTotalTime" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricAvgCpuTotalTime"></a>

```typescript
public enhancedMetricAvgCpuTotalTime(): Metric | MathExpression
```

##### `enhancedMetricAvgMemoryUtilization` <a name="enhancedMetricAvgMemoryUtilization" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricAvgMemoryUtilization"></a>

```typescript
public enhancedMetricAvgMemoryUtilization(): Metric | MathExpression
```

##### `enhancedMetricFunctionCost` <a name="enhancedMetricFunctionCost" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricFunctionCost"></a>

```typescript
public enhancedMetricFunctionCost(): Metric | MathExpression
```

##### `enhancedMetricMaxCpuTotalTime` <a name="enhancedMetricMaxCpuTotalTime" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricMaxCpuTotalTime"></a>

```typescript
public enhancedMetricMaxCpuTotalTime(): Metric | MathExpression
```

##### `enhancedMetricMaxMemoryUtilization` <a name="enhancedMetricMaxMemoryUtilization" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricMaxMemoryUtilization"></a>

```typescript
public enhancedMetricMaxMemoryUtilization(): Metric | MathExpression
```

##### `enhancedMetricP90CpuTotalTime` <a name="enhancedMetricP90CpuTotalTime" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricP90CpuTotalTime"></a>

```typescript
public enhancedMetricP90CpuTotalTime(): Metric | MathExpression
```

##### `enhancedMetricP90MemoryUtilization` <a name="enhancedMetricP90MemoryUtilization" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricP90MemoryUtilization"></a>

```typescript
public enhancedMetricP90MemoryUtilization(): Metric | MathExpression
```




### LambdaFunctionMetricFactory <a name="LambdaFunctionMetricFactory" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.Initializer"></a>

```typescript
import { LambdaFunctionMetricFactory } from 'cdk-monitoring-constructs'

new LambdaFunctionMetricFactory(metricFactory: MetricFactory, props: LambdaFunctionMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps">LambdaFunctionMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps">LambdaFunctionMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricConcurrentExecutions">metricConcurrentExecutions</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricFaultCount">metricFaultCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricFaultRate">metricFaultRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricInvocationCount">metricInvocationCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricInvocationRate">metricInvocationRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricLatencyP50InMillis">metricLatencyP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricLatencyP90InMillis">metricLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricLatencyP99InMillis">metricLatencyP99InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricMaxIteratorAgeInMillis">metricMaxIteratorAgeInMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricProvisionedConcurrencySpilloverInvocations">metricProvisionedConcurrencySpilloverInvocations</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricProvisionedConcurrencySpilloverRate">metricProvisionedConcurrencySpilloverRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricThrottlesCount">metricThrottlesCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricThrottlesRate">metricThrottlesRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricTps">metricTps</a></code> | *No description.* |

---

##### `metricConcurrentExecutions` <a name="metricConcurrentExecutions" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricConcurrentExecutions"></a>

```typescript
public metricConcurrentExecutions(): Metric | MathExpression
```

##### `metricFaultCount` <a name="metricFaultCount" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricFaultCount"></a>

```typescript
public metricFaultCount(): Metric | MathExpression
```

##### `metricFaultRate` <a name="metricFaultRate" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricFaultRate"></a>

```typescript
public metricFaultRate(): Metric | MathExpression
```

##### `metricInvocationCount` <a name="metricInvocationCount" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricInvocationCount"></a>

```typescript
public metricInvocationCount(): Metric | MathExpression
```

##### `metricInvocationRate` <a name="metricInvocationRate" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricInvocationRate"></a>

```typescript
public metricInvocationRate(): Metric | MathExpression
```

##### `metricLatencyP50InMillis` <a name="metricLatencyP50InMillis" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricLatencyP50InMillis"></a>

```typescript
public metricLatencyP50InMillis(): Metric | MathExpression
```

##### `metricLatencyP90InMillis` <a name="metricLatencyP90InMillis" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricLatencyP90InMillis"></a>

```typescript
public metricLatencyP90InMillis(): Metric | MathExpression
```

##### `metricLatencyP99InMillis` <a name="metricLatencyP99InMillis" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricLatencyP99InMillis"></a>

```typescript
public metricLatencyP99InMillis(): Metric | MathExpression
```

##### `metricMaxIteratorAgeInMillis` <a name="metricMaxIteratorAgeInMillis" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricMaxIteratorAgeInMillis"></a>

```typescript
public metricMaxIteratorAgeInMillis(): Metric | MathExpression
```

##### `metricProvisionedConcurrencySpilloverInvocations` <a name="metricProvisionedConcurrencySpilloverInvocations" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricProvisionedConcurrencySpilloverInvocations"></a>

```typescript
public metricProvisionedConcurrencySpilloverInvocations(): Metric | MathExpression
```

##### `metricProvisionedConcurrencySpilloverRate` <a name="metricProvisionedConcurrencySpilloverRate" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricProvisionedConcurrencySpilloverRate"></a>

```typescript
public metricProvisionedConcurrencySpilloverRate(): Metric | MathExpression
```

##### `metricThrottlesCount` <a name="metricThrottlesCount" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricThrottlesCount"></a>

```typescript
public metricThrottlesCount(): Metric | MathExpression
```

##### `metricThrottlesRate` <a name="metricThrottlesRate" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricThrottlesRate"></a>

```typescript
public metricThrottlesRate(): Metric | MathExpression
```

##### ~~`metricTps`~~ <a name="metricTps" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricTps"></a>

```typescript
public metricTps(): Metric | MathExpression
```




### LambdaFunctionMonitoring <a name="LambdaFunctionMonitoring" id="cdk-monitoring-constructs.LambdaFunctionMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.Initializer"></a>

```typescript
import { LambdaFunctionMonitoring } from 'cdk-monitoring-constructs'

new LambdaFunctionMonitoring(scope: MonitoringScope, props: LambdaFunctionMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps">LambdaFunctionMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps">LambdaFunctionMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### LatencyAlarmFactory <a name="LatencyAlarmFactory" id="cdk-monitoring-constructs.LatencyAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.LatencyAlarmFactory.Initializer"></a>

```typescript
import { LatencyAlarmFactory } from 'cdk-monitoring-constructs'

new LatencyAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.LatencyAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory.addDurationAlarm">addDurationAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory.addIntegrationLatencyAlarm">addIntegrationLatencyAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory.addJvmGarbageCollectionDurationAlarm">addJvmGarbageCollectionDurationAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory.addLatencyAlarm">addLatencyAlarm</a></code> | *No description.* |

---

##### `addDurationAlarm` <a name="addDurationAlarm" id="cdk-monitoring-constructs.LatencyAlarmFactory.addDurationAlarm"></a>

```typescript
public addDurationAlarm(metric: Metric | MathExpression, latencyType: LatencyType, props: DurationThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.LatencyAlarmFactory.addDurationAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.LatencyAlarmFactory.addDurationAlarm.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.LatencyAlarmFactory.addDurationAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.LatencyAlarmFactory.addDurationAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addIntegrationLatencyAlarm` <a name="addIntegrationLatencyAlarm" id="cdk-monitoring-constructs.LatencyAlarmFactory.addIntegrationLatencyAlarm"></a>

```typescript
public addIntegrationLatencyAlarm(metric: Metric | MathExpression, latencyType: LatencyType, props: LatencyThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.LatencyAlarmFactory.addIntegrationLatencyAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.LatencyAlarmFactory.addIntegrationLatencyAlarm.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.LatencyAlarmFactory.addIntegrationLatencyAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.LatencyAlarmFactory.addIntegrationLatencyAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addJvmGarbageCollectionDurationAlarm` <a name="addJvmGarbageCollectionDurationAlarm" id="cdk-monitoring-constructs.LatencyAlarmFactory.addJvmGarbageCollectionDurationAlarm"></a>

```typescript
public addJvmGarbageCollectionDurationAlarm(metric: Metric | MathExpression, latencyType: LatencyType, props: DurationThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.LatencyAlarmFactory.addJvmGarbageCollectionDurationAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.LatencyAlarmFactory.addJvmGarbageCollectionDurationAlarm.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.LatencyAlarmFactory.addJvmGarbageCollectionDurationAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.LatencyAlarmFactory.addJvmGarbageCollectionDurationAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addLatencyAlarm` <a name="addLatencyAlarm" id="cdk-monitoring-constructs.LatencyAlarmFactory.addLatencyAlarm"></a>

```typescript
public addLatencyAlarm(metric: Metric | MathExpression, latencyType: LatencyType, props: LatencyThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.LatencyAlarmFactory.addLatencyAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.LatencyAlarmFactory.addLatencyAlarm.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.LatencyAlarmFactory.addLatencyAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.LatencyAlarmFactory.addLatencyAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### LogLevelAlarmFactory <a name="LogLevelAlarmFactory" id="cdk-monitoring-constructs.LogLevelAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.LogLevelAlarmFactory.Initializer"></a>

```typescript
import { LogLevelAlarmFactory } from 'cdk-monitoring-constructs'

new LogLevelAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LogLevelAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.LogLevelAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.LogLevelAlarmFactory.addLogCountAlarm">addLogCountAlarm</a></code> | *No description.* |

---

##### `addLogCountAlarm` <a name="addLogCountAlarm" id="cdk-monitoring-constructs.LogLevelAlarmFactory.addLogCountAlarm"></a>

```typescript
public addLogCountAlarm(metric: Metric | MathExpression, logLevel: LogLevel, props: LogLevelCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.LogLevelAlarmFactory.addLogCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `logLevel`<sup>Required</sup> <a name="logLevel" id="cdk-monitoring-constructs.LogLevelAlarmFactory.addLogCountAlarm.parameter.logLevel"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LogLevel">LogLevel</a>

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.LogLevelAlarmFactory.addLogCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LogLevelCountThreshold">LogLevelCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.LogLevelAlarmFactory.addLogCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### LogMonitoring <a name="LogMonitoring" id="cdk-monitoring-constructs.LogMonitoring"></a>

Monitors a CloudWatch log group for various patterns.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.LogMonitoring.Initializer"></a>

```typescript
import { LogMonitoring } from 'cdk-monitoring-constructs'

new LogMonitoring(scope: MonitoringScope, props: LogMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.LogMonitoringProps">LogMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.LogMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.LogMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LogMonitoringProps">LogMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.LogMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.LogMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.LogMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.LogMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.LogMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.LogMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.LogMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.LogMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.LogMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.LogMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### MetricFactory <a name="MetricFactory" id="cdk-monitoring-constructs.MetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.MetricFactory.Initializer"></a>

```typescript
import { MetricFactory } from 'cdk-monitoring-constructs'

new MetricFactory(props?: MetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactoryProps">MetricFactoryProps</a></code> | *No description.* |

---

##### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.MetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactoryProps">MetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.adaptMetric">adaptMetric</a></code> | Adapts properties of a foreign metric (metric created outside of this metric factory) to comply with the global defaults. |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.adaptMetricPreservingPeriod">adaptMetricPreservingPeriod</a></code> | Adapts properties of a foreign metric (metric created outside of this metric factory) to comply with the global defaults. |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.addAdditionalDimensions">addAdditionalDimensions</a></code> | Merges the given additional dimensions to the given target dimension hash. |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.createMetric">createMetric</a></code> | Factory method that creates a metric. |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.createMetricAnomalyDetection">createMetricAnomalyDetection</a></code> | Factory method that creates anomaly detection on a metric. |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.createMetricMath">createMetricMath</a></code> | Factory method that creates a metric math expression. |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.createMetricSearch">createMetricSearch</a></code> | Factory method that creates a metric search query. |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.divideMetric">divideMetric</a></code> | Creates a metric math expression that divides the given metric by given coefficient. |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.getNamespaceWithFallback">getNamespaceWithFallback</a></code> | Returns the given namespace (if defined) or the global namespace as a fallback. |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.multiplyMetric">multiplyMetric</a></code> | Creates a metric math expression that multiplies the given metric by given coefficient. |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.sanitizeMetricExpressionIdSuffix">sanitizeMetricExpressionIdSuffix</a></code> | Helper method that helps to sanitize the given expression ID and removes all invalid characters. |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.toRate">toRate</a></code> | Creates a metric math expression that computes a rate from a regular metric. |

---

##### `adaptMetric` <a name="adaptMetric" id="cdk-monitoring-constructs.MetricFactory.adaptMetric"></a>

```typescript
public adaptMetric(metric: Metric | MathExpression): Metric | MathExpression
```

Adapts properties of a foreign metric (metric created outside of this metric factory) to comply with the global defaults.

Might modify namespace and metric period.

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.MetricFactory.adaptMetric.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

metric to be adapted.

---

##### `adaptMetricPreservingPeriod` <a name="adaptMetricPreservingPeriod" id="cdk-monitoring-constructs.MetricFactory.adaptMetricPreservingPeriod"></a>

```typescript
public adaptMetricPreservingPeriod(metric: Metric | MathExpression): Metric | MathExpression
```

Adapts properties of a foreign metric (metric created outside of this metric factory) to comply with the global defaults.

Might modify namespace. Preserves metric period.

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.MetricFactory.adaptMetricPreservingPeriod.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

metric to be adapted.

---

##### `addAdditionalDimensions` <a name="addAdditionalDimensions" id="cdk-monitoring-constructs.MetricFactory.addAdditionalDimensions"></a>

```typescript
public addAdditionalDimensions(target: {[ key: string ]: string}, additionalDimensions: {[ key: string ]: string}): void
```

Merges the given additional dimensions to the given target dimension hash.

All existing dimensions with the same key are replaced.

###### `target`<sup>Required</sup> <a name="target" id="cdk-monitoring-constructs.MetricFactory.addAdditionalDimensions.parameter.target"></a>

- *Type:* {[ key: string ]: string}

target dimension hash to update.

---

###### `additionalDimensions`<sup>Required</sup> <a name="additionalDimensions" id="cdk-monitoring-constructs.MetricFactory.addAdditionalDimensions.parameter.additionalDimensions"></a>

- *Type:* {[ key: string ]: string}

additional dimensions.

---

##### `createMetric` <a name="createMetric" id="cdk-monitoring-constructs.MetricFactory.createMetric"></a>

```typescript
public createMetric(metricName: string, statistic: MetricStatistic, label?: string, dimensionsMap?: {[ key: string ]: string}, color?: string, namespace?: string, period?: Duration): Metric | MathExpression
```

Factory method that creates a metric.

The metric properties will already be updated to comply with the global defaults.

###### `metricName`<sup>Required</sup> <a name="metricName" id="cdk-monitoring-constructs.MetricFactory.createMetric.parameter.metricName"></a>

- *Type:* string

metric name.

---

###### `statistic`<sup>Required</sup> <a name="statistic" id="cdk-monitoring-constructs.MetricFactory.createMetric.parameter.statistic"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricStatistic">MetricStatistic</a>

aggregation statistic to use.

---

###### `label`<sup>Optional</sup> <a name="label" id="cdk-monitoring-constructs.MetricFactory.createMetric.parameter.label"></a>

- *Type:* string

metric label;

if undefined, metric name is used by CloudWatch

---

###### `dimensionsMap`<sup>Optional</sup> <a name="dimensionsMap" id="cdk-monitoring-constructs.MetricFactory.createMetric.parameter.dimensionsMap"></a>

- *Type:* {[ key: string ]: string}

additional dimensions to be added.

---

###### `color`<sup>Optional</sup> <a name="color" id="cdk-monitoring-constructs.MetricFactory.createMetric.parameter.color"></a>

- *Type:* string

metric color;

if undefined, uses a CloudWatch provided color (preferred)

---

###### `namespace`<sup>Optional</sup> <a name="namespace" id="cdk-monitoring-constructs.MetricFactory.createMetric.parameter.namespace"></a>

- *Type:* string

specify a custom namespace;

if undefined, uses the global default

---

###### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MetricFactory.createMetric.parameter.period"></a>

- *Type:* aws-cdk-lib.Duration

specify a custom period;

if undefined, uses the global default

---

##### `createMetricAnomalyDetection` <a name="createMetricAnomalyDetection" id="cdk-monitoring-constructs.MetricFactory.createMetricAnomalyDetection"></a>

```typescript
public createMetricAnomalyDetection(metric: IMetric, stdev: number, label: string, color?: string, expressionId?: string, period?: Duration): Metric | MathExpression
```

Factory method that creates anomaly detection on a metric.

Anomaly occurs whenever a metric value falls outside of a precomputed range of predicted values.
The detection does not need any setup. The model will start learning automatically and should be ready in a few minutes.
Usually, the anomaly detection is paired with an alarm.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html)

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.MetricFactory.createMetricAnomalyDetection.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric

metric to detect anomaly detection of.

---

###### `stdev`<sup>Required</sup> <a name="stdev" id="cdk-monitoring-constructs.MetricFactory.createMetricAnomalyDetection.parameter.stdev"></a>

- *Type:* number

standard deviation, basically the tolerance / band thickness.

---

###### `label`<sup>Required</sup> <a name="label" id="cdk-monitoring-constructs.MetricFactory.createMetricAnomalyDetection.parameter.label"></a>

- *Type:* string

metric label (required, as there is no reasonable default).

---

###### `color`<sup>Optional</sup> <a name="color" id="cdk-monitoring-constructs.MetricFactory.createMetricAnomalyDetection.parameter.color"></a>

- *Type:* string

metric color;

if undefined, uses a CloudWatch provided color (preferred)

---

###### `expressionId`<sup>Optional</sup> <a name="expressionId" id="cdk-monitoring-constructs.MetricFactory.createMetricAnomalyDetection.parameter.expressionId"></a>

- *Type:* string

expression ID of the metric;

uses `m1` if undefined

---

###### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MetricFactory.createMetricAnomalyDetection.parameter.period"></a>

- *Type:* aws-cdk-lib.Duration

specify a custom period;

if undefined, uses the global default

---

##### `createMetricMath` <a name="createMetricMath" id="cdk-monitoring-constructs.MetricFactory.createMetricMath"></a>

```typescript
public createMetricMath(expression: string, usingMetrics: {[ key: string ]: IMetric}, label: string, color?: string, period?: Duration): Metric | MathExpression
```

Factory method that creates a metric math expression.

The metric properties will already be updated to comply with the global defaults.

###### `expression`<sup>Required</sup> <a name="expression" id="cdk-monitoring-constructs.MetricFactory.createMetricMath.parameter.expression"></a>

- *Type:* string

CloudWatch metric math expression (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html).

---

###### `usingMetrics`<sup>Required</sup> <a name="usingMetrics" id="cdk-monitoring-constructs.MetricFactory.createMetricMath.parameter.usingMetrics"></a>

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.IMetric}

map of metrics, where keys are expression IDs (used in the expression) and values are metrics.

---

###### `label`<sup>Required</sup> <a name="label" id="cdk-monitoring-constructs.MetricFactory.createMetricMath.parameter.label"></a>

- *Type:* string

metric label (required, as there is no reasonable default).

---

###### `color`<sup>Optional</sup> <a name="color" id="cdk-monitoring-constructs.MetricFactory.createMetricMath.parameter.color"></a>

- *Type:* string

metric color;

if undefined, uses a CloudWatch provided color (preferred)

---

###### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MetricFactory.createMetricMath.parameter.period"></a>

- *Type:* aws-cdk-lib.Duration

specify a custom period;

if undefined, uses the global default

---

##### `createMetricSearch` <a name="createMetricSearch" id="cdk-monitoring-constructs.MetricFactory.createMetricSearch"></a>

```typescript
public createMetricSearch(query: string, dimensionsMap: {[ key: string ]: string}, statistic: MetricStatistic, namespace?: string, label?: string, period?: Duration): IMetric
```

Factory method that creates a metric search query.

The metric properties will already be updated to comply with the global defaults.
If you want to match "any value" of a specific dimension, please use `undefined` value representation in your consumer language.
(For example, `undefined as any as string` in TypeScript, due to JSII typing quirks.)

###### `query`<sup>Required</sup> <a name="query" id="cdk-monitoring-constructs.MetricFactory.createMetricSearch.parameter.query"></a>

- *Type:* string

metric search query (the same as the search query prompt in CloudWatch AWS Console), it might also be empty.

---

###### `dimensionsMap`<sup>Required</sup> <a name="dimensionsMap" id="cdk-monitoring-constructs.MetricFactory.createMetricSearch.parameter.dimensionsMap"></a>

- *Type:* {[ key: string ]: string}

dimensions, further narrowing the search results;

use `undefined` if you want to represent "any value" (in TS: `undefined as any as string`)

---

###### `statistic`<sup>Required</sup> <a name="statistic" id="cdk-monitoring-constructs.MetricFactory.createMetricSearch.parameter.statistic"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricStatistic">MetricStatistic</a>

aggregation statistic to use.

---

###### `namespace`<sup>Optional</sup> <a name="namespace" id="cdk-monitoring-constructs.MetricFactory.createMetricSearch.parameter.namespace"></a>

- *Type:* string

specify a custom namespace;

if undefined, uses the global default

---

###### `label`<sup>Optional</sup> <a name="label" id="cdk-monitoring-constructs.MetricFactory.createMetricSearch.parameter.label"></a>

- *Type:* string

specify custom label for search metrics;

default is " " as it cannot be empty string

---

###### `period`<sup>Optional</sup> <a name="period" id="cdk-monitoring-constructs.MetricFactory.createMetricSearch.parameter.period"></a>

- *Type:* aws-cdk-lib.Duration

specify a custom period;

if undefined, uses the global default

---

##### `divideMetric` <a name="divideMetric" id="cdk-monitoring-constructs.MetricFactory.divideMetric"></a>

```typescript
public divideMetric(metric: Metric | MathExpression, divisor: number, label: string, expressionId?: string): Metric | MathExpression
```

Creates a metric math expression that divides the given metric by given coefficient.

Does nothing if the divisor is one. Preserves the metric period.

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.MetricFactory.divideMetric.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

metric to multiply.

---

###### `divisor`<sup>Required</sup> <a name="divisor" id="cdk-monitoring-constructs.MetricFactory.divideMetric.parameter.divisor"></a>

- *Type:* number

divisor (must be > 1).

---

###### `label`<sup>Required</sup> <a name="label" id="cdk-monitoring-constructs.MetricFactory.divideMetric.parameter.label"></a>

- *Type:* string

expression label.

---

###### `expressionId`<sup>Optional</sup> <a name="expressionId" id="cdk-monitoring-constructs.MetricFactory.divideMetric.parameter.expressionId"></a>

- *Type:* string

expression ID of the metric;

uses `m1` if undefined

---

##### `getNamespaceWithFallback` <a name="getNamespaceWithFallback" id="cdk-monitoring-constructs.MetricFactory.getNamespaceWithFallback"></a>

```typescript
public getNamespaceWithFallback(value?: string): string
```

Returns the given namespace (if defined) or the global namespace as a fallback.

If there is no namespace to fallback to (neither the custom or the default one), it will fail.

###### `value`<sup>Optional</sup> <a name="value" id="cdk-monitoring-constructs.MetricFactory.getNamespaceWithFallback.parameter.value"></a>

- *Type:* string

custom namespace.

---

##### `multiplyMetric` <a name="multiplyMetric" id="cdk-monitoring-constructs.MetricFactory.multiplyMetric"></a>

```typescript
public multiplyMetric(metric: Metric | MathExpression, multiplier: number, label: string, expressionId?: string): Metric | MathExpression
```

Creates a metric math expression that multiplies the given metric by given coefficient.

Does nothing if the multiplier is one. Preserves the metric period.

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.MetricFactory.multiplyMetric.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

metric to multiply.

---

###### `multiplier`<sup>Required</sup> <a name="multiplier" id="cdk-monitoring-constructs.MetricFactory.multiplyMetric.parameter.multiplier"></a>

- *Type:* number

multiplier (must be > 1).

---

###### `label`<sup>Required</sup> <a name="label" id="cdk-monitoring-constructs.MetricFactory.multiplyMetric.parameter.label"></a>

- *Type:* string

expression label.

---

###### `expressionId`<sup>Optional</sup> <a name="expressionId" id="cdk-monitoring-constructs.MetricFactory.multiplyMetric.parameter.expressionId"></a>

- *Type:* string

expression ID of the metric;

uses `m1` if undefined

---

##### `sanitizeMetricExpressionIdSuffix` <a name="sanitizeMetricExpressionIdSuffix" id="cdk-monitoring-constructs.MetricFactory.sanitizeMetricExpressionIdSuffix"></a>

```typescript
public sanitizeMetricExpressionIdSuffix(expressionId: string): string
```

Helper method that helps to sanitize the given expression ID and removes all invalid characters.

Valid expression ID regexp is the following: ^[a-z][a-zA-Z0-9_]*$
As this is just to validate a suffix and not the whole ID, we do not have to verify the first lower case letter.

###### `expressionId`<sup>Required</sup> <a name="expressionId" id="cdk-monitoring-constructs.MetricFactory.sanitizeMetricExpressionIdSuffix.parameter.expressionId"></a>

- *Type:* string

expression ID to sanitize.

---

##### `toRate` <a name="toRate" id="cdk-monitoring-constructs.MetricFactory.toRate"></a>

```typescript
public toRate(metric: Metric | MathExpression, method: RateComputationMethod, addStatsToLabel?: boolean, expressionId?: string, fillWithZeroes?: boolean): Metric | MathExpression
```

Creates a metric math expression that computes a rate from a regular metric.

For example, it allows you to compute rate per second (TPS), per minute, or just an average of your transactions.

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.MetricFactory.toRate.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

metric to calculate the rate from.

---

###### `method`<sup>Required</sup> <a name="method" id="cdk-monitoring-constructs.MetricFactory.toRate.parameter.method"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>

rate computation method.

---

###### `addStatsToLabel`<sup>Optional</sup> <a name="addStatsToLabel" id="cdk-monitoring-constructs.MetricFactory.toRate.parameter.addStatsToLabel"></a>

- *Type:* boolean

add detailed statistics (min, max, average) to the label.

---

###### `expressionId`<sup>Optional</sup> <a name="expressionId" id="cdk-monitoring-constructs.MetricFactory.toRate.parameter.expressionId"></a>

- *Type:* string

expression ID of the metric;

uses `m1` if undefined

---

###### `fillWithZeroes`<sup>Optional</sup> <a name="fillWithZeroes" id="cdk-monitoring-constructs.MetricFactory.toRate.parameter.fillWithZeroes"></a>

- *Type:* boolean

if TRUE, the final metric will be zero-filled (0 on no data);

false if undefined

---




### Monitoring <a name="Monitoring" id="cdk-monitoring-constructs.Monitoring"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IDashboardSegment">IDashboardSegment</a>

An independent unit of monitoring.

This is the base for all monitoring classes with alarm support.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.Monitoring.Initializer"></a>

```typescript
import { Monitoring } from 'cdk-monitoring-constructs'

new Monitoring(scope: MonitoringScope, props?: BaseMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.Monitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Monitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.BaseMonitoringProps">BaseMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.Monitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.Monitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.BaseMonitoringProps">BaseMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.Monitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.Monitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.Monitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.Monitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.Monitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.Monitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.Monitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.Monitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.Monitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.Monitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.Monitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.Monitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.Monitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.Monitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.Monitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.Monitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.Monitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.Monitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### MonitoringAspect <a name="MonitoringAspect" id="cdk-monitoring-constructs.MonitoringAspect"></a>

- *Implements:* aws-cdk-lib.IAspect

A CDK aspect that adds support for monitoring all resources within scope.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.MonitoringAspect.Initializer"></a>

```typescript
import { MonitoringAspect } from 'cdk-monitoring-constructs'

new MonitoringAspect(monitoringFacade: MonitoringFacade, props?: MonitoringAspectProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspect.Initializer.parameter.monitoringFacade">monitoringFacade</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringFacade">MonitoringFacade</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspect.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps">MonitoringAspectProps</a></code> | *No description.* |

---

##### `monitoringFacade`<sup>Required</sup> <a name="monitoringFacade" id="cdk-monitoring-constructs.MonitoringAspect.Initializer.parameter.monitoringFacade"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringFacade">MonitoringFacade</a>

---

##### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringAspect.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringAspectProps">MonitoringAspectProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspect.visit">visit</a></code> | All aspects can visit an IConstruct. |

---

##### `visit` <a name="visit" id="cdk-monitoring-constructs.MonitoringAspect.visit"></a>

```typescript
public visit(node: IConstruct): void
```

All aspects can visit an IConstruct.

###### `node`<sup>Required</sup> <a name="node" id="cdk-monitoring-constructs.MonitoringAspect.visit.parameter.node"></a>

- *Type:* constructs.IConstruct

---




### MonitoringHeaderWidget <a name="MonitoringHeaderWidget" id="cdk-monitoring-constructs.MonitoringHeaderWidget"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.MonitoringHeaderWidget.Initializer"></a>

```typescript
import { MonitoringHeaderWidget } from 'cdk-monitoring-constructs'

new MonitoringHeaderWidget(props: MonitoringHeaderWidgetProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringHeaderWidget.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringHeaderWidgetProps">MonitoringHeaderWidgetProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MonitoringHeaderWidget.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringHeaderWidgetProps">MonitoringHeaderWidgetProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringHeaderWidget.position">position</a></code> | Place the widget at a given position. |
| <code><a href="#cdk-monitoring-constructs.MonitoringHeaderWidget.toJson">toJson</a></code> | Return the widget JSON for use in the dashboard. |

---

##### `position` <a name="position" id="cdk-monitoring-constructs.MonitoringHeaderWidget.position"></a>

```typescript
public position(x: number, y: number): void
```

Place the widget at a given position.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.MonitoringHeaderWidget.position.parameter.x"></a>

- *Type:* number

---

###### `y`<sup>Required</sup> <a name="y" id="cdk-monitoring-constructs.MonitoringHeaderWidget.position.parameter.y"></a>

- *Type:* number

---

##### `toJson` <a name="toJson" id="cdk-monitoring-constructs.MonitoringHeaderWidget.toJson"></a>

```typescript
public toJson(): any[]
```

Return the widget JSON for use in the dashboard.


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringHeaderWidget.property.height">height</a></code> | <code>number</code> | The amount of vertical grid units the widget will take up. |
| <code><a href="#cdk-monitoring-constructs.MonitoringHeaderWidget.property.width">width</a></code> | <code>number</code> | The amount of horizontal grid units the widget will take up. |

---

##### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.MonitoringHeaderWidget.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number

The amount of vertical grid units the widget will take up.

---

##### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.MonitoringHeaderWidget.property.width"></a>

```typescript
public readonly width: number;
```

- *Type:* number

The amount of horizontal grid units the widget will take up.

---


### MonitoringNamingStrategy <a name="MonitoringNamingStrategy" id="cdk-monitoring-constructs.MonitoringNamingStrategy"></a>

Utility class to unify approach to naming monitoring sections.

> [https://docs.aws.amazon.com/cdk/latest/guide/tokens.html#tokens_lazy](https://docs.aws.amazon.com/cdk/latest/guide/tokens.html#tokens_lazy)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.MonitoringNamingStrategy.Initializer"></a>

```typescript
import { MonitoringNamingStrategy } from 'cdk-monitoring-constructs'

new MonitoringNamingStrategy(input: NameResolutionInput)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringNamingStrategy.Initializer.parameter.input">input</a></code> | <code><a href="#cdk-monitoring-constructs.NameResolutionInput">NameResolutionInput</a></code> | *No description.* |

---

##### `input`<sup>Required</sup> <a name="input" id="cdk-monitoring-constructs.MonitoringNamingStrategy.Initializer.parameter.input"></a>

- *Type:* <a href="#cdk-monitoring-constructs.NameResolutionInput">NameResolutionInput</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringNamingStrategy.resolveAlarmFriendlyName">resolveAlarmFriendlyName</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringNamingStrategy.resolveHumanReadableName">resolveHumanReadableName</a></code> | *No description.* |

---

##### `resolveAlarmFriendlyName` <a name="resolveAlarmFriendlyName" id="cdk-monitoring-constructs.MonitoringNamingStrategy.resolveAlarmFriendlyName"></a>

```typescript
public resolveAlarmFriendlyName(): string
```

##### `resolveHumanReadableName` <a name="resolveHumanReadableName" id="cdk-monitoring-constructs.MonitoringNamingStrategy.resolveHumanReadableName"></a>

```typescript
public resolveHumanReadableName(): string
```

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringNamingStrategy.isAlarmFriendly">isAlarmFriendly</a></code> | *No description.* |

---

##### `isAlarmFriendly` <a name="isAlarmFriendly" id="cdk-monitoring-constructs.MonitoringNamingStrategy.isAlarmFriendly"></a>

```typescript
import { MonitoringNamingStrategy } from 'cdk-monitoring-constructs'

MonitoringNamingStrategy.isAlarmFriendly(str: string)
```

###### `str`<sup>Required</sup> <a name="str" id="cdk-monitoring-constructs.MonitoringNamingStrategy.isAlarmFriendly.parameter.str"></a>

- *Type:* string

---



### MultipleAlarmActionStrategy <a name="MultipleAlarmActionStrategy" id="cdk-monitoring-constructs.MultipleAlarmActionStrategy"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>

Alarm action strategy that combines multiple actions in the same order as they were given.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.MultipleAlarmActionStrategy.Initializer"></a>

```typescript
import { MultipleAlarmActionStrategy } from 'cdk-monitoring-constructs'

new MultipleAlarmActionStrategy(actions: IAlarmActionStrategy[])
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MultipleAlarmActionStrategy.Initializer.parameter.actions">actions</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>[]</code> | *No description.* |

---

##### `actions`<sup>Required</sup> <a name="actions" id="cdk-monitoring-constructs.MultipleAlarmActionStrategy.Initializer.parameter.actions"></a>

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>[]

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.MultipleAlarmActionStrategy.addAlarmActions">addAlarmActions</a></code> | *No description.* |

---

##### `addAlarmActions` <a name="addAlarmActions" id="cdk-monitoring-constructs.MultipleAlarmActionStrategy.addAlarmActions"></a>

```typescript
public addAlarmActions(props: AlarmActionStrategyProps): void
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.MultipleAlarmActionStrategy.addAlarmActions.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmActionStrategyProps">AlarmActionStrategyProps</a>

---


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MultipleAlarmActionStrategy.property.actions">actions</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>[]</code> | *No description.* |

---

##### `actions`<sup>Required</sup> <a name="actions" id="cdk-monitoring-constructs.MultipleAlarmActionStrategy.property.actions"></a>

```typescript
public readonly actions: IAlarmActionStrategy[];
```

- *Type:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>[]

---


### NetworkLoadBalancerMetricFactory <a name="NetworkLoadBalancerMetricFactory" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.ILoadBalancerMetricFactory">ILoadBalancerMetricFactory</a>

Metric factory to create metrics for network load-balanced service.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.Initializer"></a>

```typescript
import { NetworkLoadBalancerMetricFactory } from 'cdk-monitoring-constructs'

new NetworkLoadBalancerMetricFactory(metricFactory: MetricFactory, props: NetworkLoadBalancerMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps">NetworkLoadBalancerMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps">NetworkLoadBalancerMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricActiveConnectionCount">metricActiveConnectionCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricHealthyTaskCount">metricHealthyTaskCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricHealthyTaskInPercent">metricHealthyTaskInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricNewConnectionCount">metricNewConnectionCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricProcessedBytesMin">metricProcessedBytesMin</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricUnhealthyTaskCount">metricUnhealthyTaskCount</a></code> | *No description.* |

---

##### `metricActiveConnectionCount` <a name="metricActiveConnectionCount" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricActiveConnectionCount"></a>

```typescript
public metricActiveConnectionCount(): Metric | MathExpression
```

##### `metricHealthyTaskCount` <a name="metricHealthyTaskCount" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricHealthyTaskCount"></a>

```typescript
public metricHealthyTaskCount(): Metric | MathExpression
```

##### `metricHealthyTaskInPercent` <a name="metricHealthyTaskInPercent" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricHealthyTaskInPercent"></a>

```typescript
public metricHealthyTaskInPercent(): Metric | MathExpression
```

##### `metricNewConnectionCount` <a name="metricNewConnectionCount" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricNewConnectionCount"></a>

```typescript
public metricNewConnectionCount(): Metric | MathExpression
```

##### `metricProcessedBytesMin` <a name="metricProcessedBytesMin" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricProcessedBytesMin"></a>

```typescript
public metricProcessedBytesMin(): Metric | MathExpression
```

##### `metricUnhealthyTaskCount` <a name="metricUnhealthyTaskCount" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricUnhealthyTaskCount"></a>

```typescript
public metricUnhealthyTaskCount(): Metric | MathExpression
```




### NetworkLoadBalancerMonitoring <a name="NetworkLoadBalancerMonitoring" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.Initializer"></a>

```typescript
import { NetworkLoadBalancerMonitoring } from 'cdk-monitoring-constructs'

new NetworkLoadBalancerMonitoring(scope: MonitoringScope, props: NetworkLoadBalancerMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps">NetworkLoadBalancerMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps">NetworkLoadBalancerMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### NoopAlarmActionStrategy <a name="NoopAlarmActionStrategy" id="cdk-monitoring-constructs.NoopAlarmActionStrategy"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>

Alarm action strategy that does not add any actions.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.NoopAlarmActionStrategy.Initializer"></a>

```typescript
import { NoopAlarmActionStrategy } from 'cdk-monitoring-constructs'

new NoopAlarmActionStrategy()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.NoopAlarmActionStrategy.addAlarmActions">addAlarmActions</a></code> | *No description.* |

---

##### `addAlarmActions` <a name="addAlarmActions" id="cdk-monitoring-constructs.NoopAlarmActionStrategy.addAlarmActions"></a>

```typescript
public addAlarmActions(_props: AlarmActionStrategyProps): void
```

###### `_props`<sup>Required</sup> <a name="_props" id="cdk-monitoring-constructs.NoopAlarmActionStrategy.addAlarmActions.parameter._props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmActionStrategyProps">AlarmActionStrategyProps</a>

---




### OpenSearchBackportedMetrics <a name="OpenSearchBackportedMetrics" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics"></a>

Backported set of metric functions added in @aws-cdk/aws-elasticsearch@1.65.0.

> [https://github.com/aws/aws-cdk/releases/tag/v1.73.0](https://github.com/aws/aws-cdk/releases/tag/v1.73.0)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.Initializer"></a>

```typescript
import { OpenSearchBackportedMetrics } from 'cdk-monitoring-constructs'

new OpenSearchBackportedMetrics(domain: IDomain | CfnDomain | IDomain | CfnDomain)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.Initializer.parameter.domain">domain</a></code> | <code>aws-cdk-lib.aws_elasticsearch.IDomain \| aws-cdk-lib.aws_elasticsearch.CfnDomain \| aws-cdk-lib.aws_opensearchservice.IDomain \| aws-cdk-lib.aws_opensearchservice.CfnDomain</code> | *No description.* |

---

##### `domain`<sup>Required</sup> <a name="domain" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.Initializer.parameter.domain"></a>

- *Type:* aws-cdk-lib.aws_elasticsearch.IDomain | aws-cdk-lib.aws_elasticsearch.CfnDomain | aws-cdk-lib.aws_opensearchservice.IDomain | aws-cdk-lib.aws_opensearchservice.CfnDomain

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metric">metric</a></code> | Return the given named metric for this Domain. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricAutomatedSnapshotFailure">metricAutomatedSnapshotFailure</a></code> | Metric for automated snapshot failures. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricClusterIndexWriteBlocked">metricClusterIndexWriteBlocked</a></code> | Metric for the cluster blocking index writes. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricClusterIndexWritesBlocked">metricClusterIndexWritesBlocked</a></code> | Metric for the cluster blocking index writes. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricClusterStatusRed">metricClusterStatusRed</a></code> | Metric for the time the cluster status is red. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricClusterStatusYellow">metricClusterStatusYellow</a></code> | Metric for the time the cluster status is yellow. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricCPUUtilization">metricCPUUtilization</a></code> | Metric for CPU utilization. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricFreeStorageSpace">metricFreeStorageSpace</a></code> | Metric for the storage space of nodes in the cluster. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricIndexingLatency">metricIndexingLatency</a></code> | Metric for indexing latency. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricJVMMemoryPressure">metricJVMMemoryPressure</a></code> | Metric for JVM memory pressure. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricKMSKeyError">metricKMSKeyError</a></code> | Metric for KMS key errors. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricKMSKeyInaccessible">metricKMSKeyInaccessible</a></code> | Metric for KMS key being inaccessible. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricMasterCPUUtilization">metricMasterCPUUtilization</a></code> | Metric for master CPU utilization. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricMasterJVMMemoryPressure">metricMasterJVMMemoryPressure</a></code> | Metric for master JVM memory pressure. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricNodes">metricNodes</a></code> | Metric for the number of nodes. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricSearchableDocuments">metricSearchableDocuments</a></code> | Metric for number of searchable documents. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricSearchLatency">metricSearchLatency</a></code> | Metric for search latency. |

---

##### `metric` <a name="metric" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metric"></a>

```typescript
public metric(metricName: string, props?: MetricOptions): Metric
```

Return the given named metric for this Domain.

###### `metricName`<sup>Required</sup> <a name="metricName" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metric.parameter.metricName"></a>

- *Type:* string

---

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metric.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricAutomatedSnapshotFailure` <a name="metricAutomatedSnapshotFailure" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricAutomatedSnapshotFailure"></a>

```typescript
public metricAutomatedSnapshotFailure(props?: MetricOptions): Metric
```

Metric for automated snapshot failures.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricAutomatedSnapshotFailure.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### ~~`metricClusterIndexWriteBlocked`~~ <a name="metricClusterIndexWriteBlocked" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricClusterIndexWriteBlocked"></a>

```typescript
public metricClusterIndexWriteBlocked(props?: MetricOptions): Metric
```

Metric for the cluster blocking index writes.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricClusterIndexWriteBlocked.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricClusterIndexWritesBlocked` <a name="metricClusterIndexWritesBlocked" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricClusterIndexWritesBlocked"></a>

```typescript
public metricClusterIndexWritesBlocked(props?: MetricOptions): Metric
```

Metric for the cluster blocking index writes.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricClusterIndexWritesBlocked.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricClusterStatusRed` <a name="metricClusterStatusRed" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricClusterStatusRed"></a>

```typescript
public metricClusterStatusRed(props?: MetricOptions): Metric
```

Metric for the time the cluster status is red.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricClusterStatusRed.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricClusterStatusYellow` <a name="metricClusterStatusYellow" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricClusterStatusYellow"></a>

```typescript
public metricClusterStatusYellow(props?: MetricOptions): Metric
```

Metric for the time the cluster status is yellow.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricClusterStatusYellow.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricCPUUtilization` <a name="metricCPUUtilization" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricCPUUtilization"></a>

```typescript
public metricCPUUtilization(props?: MetricOptions): Metric
```

Metric for CPU utilization.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricCPUUtilization.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricFreeStorageSpace` <a name="metricFreeStorageSpace" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricFreeStorageSpace"></a>

```typescript
public metricFreeStorageSpace(props?: MetricOptions): Metric
```

Metric for the storage space of nodes in the cluster.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricFreeStorageSpace.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricIndexingLatency` <a name="metricIndexingLatency" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricIndexingLatency"></a>

```typescript
public metricIndexingLatency(props?: MetricOptions): Metric
```

Metric for indexing latency.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricIndexingLatency.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricJVMMemoryPressure` <a name="metricJVMMemoryPressure" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricJVMMemoryPressure"></a>

```typescript
public metricJVMMemoryPressure(props?: MetricOptions): Metric
```

Metric for JVM memory pressure.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricJVMMemoryPressure.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricKMSKeyError` <a name="metricKMSKeyError" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricKMSKeyError"></a>

```typescript
public metricKMSKeyError(props?: MetricOptions): Metric
```

Metric for KMS key errors.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricKMSKeyError.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricKMSKeyInaccessible` <a name="metricKMSKeyInaccessible" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricKMSKeyInaccessible"></a>

```typescript
public metricKMSKeyInaccessible(props?: MetricOptions): Metric
```

Metric for KMS key being inaccessible.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricKMSKeyInaccessible.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricMasterCPUUtilization` <a name="metricMasterCPUUtilization" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricMasterCPUUtilization"></a>

```typescript
public metricMasterCPUUtilization(props?: MetricOptions): Metric
```

Metric for master CPU utilization.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricMasterCPUUtilization.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricMasterJVMMemoryPressure` <a name="metricMasterJVMMemoryPressure" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricMasterJVMMemoryPressure"></a>

```typescript
public metricMasterJVMMemoryPressure(props?: MetricOptions): Metric
```

Metric for master JVM memory pressure.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricMasterJVMMemoryPressure.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricNodes` <a name="metricNodes" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricNodes"></a>

```typescript
public metricNodes(props?: MetricOptions): Metric
```

Metric for the number of nodes.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricNodes.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricSearchableDocuments` <a name="metricSearchableDocuments" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricSearchableDocuments"></a>

```typescript
public metricSearchableDocuments(props?: MetricOptions): Metric
```

Metric for number of searchable documents.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricSearchableDocuments.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---

##### `metricSearchLatency` <a name="metricSearchLatency" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricSearchLatency"></a>

```typescript
public metricSearchLatency(props?: MetricOptions): Metric
```

Metric for search latency.

###### `props`<sup>Optional</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.metricSearchLatency.parameter.props"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MetricOptions

---




### OpenSearchClusterAlarmFactory <a name="OpenSearchClusterAlarmFactory" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.Initializer"></a>

```typescript
import { OpenSearchClusterAlarmFactory } from 'cdk-monitoring-constructs'

new OpenSearchClusterAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addAutomatedSnapshotFailureAlarm">addAutomatedSnapshotFailureAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterIndexWritesBlockedAlarm">addClusterIndexWritesBlockedAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterNodeCountAlarm">addClusterNodeCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterStatusAlarm">addClusterStatusAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addKmsKeyErrorAlarm">addKmsKeyErrorAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addKmsKeyInaccessibleAlarm">addKmsKeyInaccessibleAlarm</a></code> | *No description.* |

---

##### `addAutomatedSnapshotFailureAlarm` <a name="addAutomatedSnapshotFailureAlarm" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addAutomatedSnapshotFailureAlarm"></a>

```typescript
public addAutomatedSnapshotFailureAlarm(metric: Metric | MathExpression, props: OpenSearchClusterAutomatedSnapshotFailureThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addAutomatedSnapshotFailureAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addAutomatedSnapshotFailureAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold">OpenSearchClusterAutomatedSnapshotFailureThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addAutomatedSnapshotFailureAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addClusterIndexWritesBlockedAlarm` <a name="addClusterIndexWritesBlockedAlarm" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterIndexWritesBlockedAlarm"></a>

```typescript
public addClusterIndexWritesBlockedAlarm(metric: Metric | MathExpression, props: OpenSearchClusterIndexWritesBlockedThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterIndexWritesBlockedAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterIndexWritesBlockedAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold">OpenSearchClusterIndexWritesBlockedThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterIndexWritesBlockedAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addClusterNodeCountAlarm` <a name="addClusterNodeCountAlarm" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterNodeCountAlarm"></a>

```typescript
public addClusterNodeCountAlarm(metric: Metric | MathExpression, props: OpenSearchClusterNodesThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterNodeCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterNodeCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold">OpenSearchClusterNodesThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterNodeCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addClusterStatusAlarm` <a name="addClusterStatusAlarm" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterStatusAlarm"></a>

```typescript
public addClusterStatusAlarm(metric: Metric | MathExpression, props: OpenSearchClusterStatusCustomization, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterStatusAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterStatusAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization">OpenSearchClusterStatusCustomization</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addClusterStatusAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addKmsKeyErrorAlarm` <a name="addKmsKeyErrorAlarm" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addKmsKeyErrorAlarm"></a>

```typescript
public addKmsKeyErrorAlarm(metric: Metric | MathExpression, props: OpenSearchKmsKeyErrorThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addKmsKeyErrorAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addKmsKeyErrorAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold">OpenSearchKmsKeyErrorThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addKmsKeyErrorAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addKmsKeyInaccessibleAlarm` <a name="addKmsKeyInaccessibleAlarm" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addKmsKeyInaccessibleAlarm"></a>

```typescript
public addKmsKeyInaccessibleAlarm(metric: Metric | MathExpression, props: OpenSearchKmsKeyInaccessibleThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addKmsKeyInaccessibleAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addKmsKeyInaccessibleAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold">OpenSearchKmsKeyInaccessibleThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.OpenSearchClusterAlarmFactory.addKmsKeyInaccessibleAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### OpenSearchClusterMetricFactory <a name="OpenSearchClusterMetricFactory" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.Initializer"></a>

```typescript
import { OpenSearchClusterMetricFactory } from 'cdk-monitoring-constructs'

new OpenSearchClusterMetricFactory(metricFactory: MetricFactory, props: OpenSearchClusterMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps">OpenSearchClusterMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps">OpenSearchClusterMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricAutomatedSnapshotFailure">metricAutomatedSnapshotFailure</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricClusterIndexWriteBlocked">metricClusterIndexWriteBlocked</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricClusterIndexWritesBlocked">metricClusterIndexWritesBlocked</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricClusterStatusRed">metricClusterStatusRed</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricClusterStatusYellow">metricClusterStatusYellow</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricCpuUsage">metricCpuUsage</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricDiskSpaceUsageInPercent">metricDiskSpaceUsageInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricIndexingLatencyP50InMillis">metricIndexingLatencyP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricIndexingLatencyP90InMillis">metricIndexingLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricIndexingLatencyP99InMillis">metricIndexingLatencyP99InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricJvmMemoryPressure">metricJvmMemoryPressure</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricKmsKeyError">metricKmsKeyError</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricKmsKeyInaccessible">metricKmsKeyInaccessible</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricMasterCpuUsage">metricMasterCpuUsage</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricMasterJvmMemoryPressure">metricMasterJvmMemoryPressure</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricNodes">metricNodes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchCount">metricSearchCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchLatencyP50InMillis">metricSearchLatencyP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchLatencyP90InMillis">metricSearchLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchLatencyP99InMillis">metricSearchLatencyP99InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchRate">metricSearchRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricTps">metricTps</a></code> | *No description.* |

---

##### `metricAutomatedSnapshotFailure` <a name="metricAutomatedSnapshotFailure" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricAutomatedSnapshotFailure"></a>

```typescript
public metricAutomatedSnapshotFailure(): Metric | MathExpression
```

##### ~~`metricClusterIndexWriteBlocked`~~ <a name="metricClusterIndexWriteBlocked" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricClusterIndexWriteBlocked"></a>

```typescript
public metricClusterIndexWriteBlocked(): Metric | MathExpression
```

##### `metricClusterIndexWritesBlocked` <a name="metricClusterIndexWritesBlocked" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricClusterIndexWritesBlocked"></a>

```typescript
public metricClusterIndexWritesBlocked(): Metric | MathExpression
```

##### `metricClusterStatusRed` <a name="metricClusterStatusRed" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricClusterStatusRed"></a>

```typescript
public metricClusterStatusRed(): Metric | MathExpression
```

##### `metricClusterStatusYellow` <a name="metricClusterStatusYellow" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricClusterStatusYellow"></a>

```typescript
public metricClusterStatusYellow(): Metric | MathExpression
```

##### `metricCpuUsage` <a name="metricCpuUsage" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricCpuUsage"></a>

```typescript
public metricCpuUsage(): Metric | MathExpression
```

##### `metricDiskSpaceUsageInPercent` <a name="metricDiskSpaceUsageInPercent" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricDiskSpaceUsageInPercent"></a>

```typescript
public metricDiskSpaceUsageInPercent(): Metric | MathExpression
```

##### `metricIndexingLatencyP50InMillis` <a name="metricIndexingLatencyP50InMillis" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricIndexingLatencyP50InMillis"></a>

```typescript
public metricIndexingLatencyP50InMillis(): Metric | MathExpression
```

##### `metricIndexingLatencyP90InMillis` <a name="metricIndexingLatencyP90InMillis" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricIndexingLatencyP90InMillis"></a>

```typescript
public metricIndexingLatencyP90InMillis(): Metric | MathExpression
```

##### `metricIndexingLatencyP99InMillis` <a name="metricIndexingLatencyP99InMillis" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricIndexingLatencyP99InMillis"></a>

```typescript
public metricIndexingLatencyP99InMillis(): Metric | MathExpression
```

##### `metricJvmMemoryPressure` <a name="metricJvmMemoryPressure" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricJvmMemoryPressure"></a>

```typescript
public metricJvmMemoryPressure(): Metric | MathExpression
```

##### `metricKmsKeyError` <a name="metricKmsKeyError" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricKmsKeyError"></a>

```typescript
public metricKmsKeyError(): Metric | MathExpression
```

##### `metricKmsKeyInaccessible` <a name="metricKmsKeyInaccessible" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricKmsKeyInaccessible"></a>

```typescript
public metricKmsKeyInaccessible(): Metric | MathExpression
```

##### `metricMasterCpuUsage` <a name="metricMasterCpuUsage" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricMasterCpuUsage"></a>

```typescript
public metricMasterCpuUsage(): Metric | MathExpression
```

##### `metricMasterJvmMemoryPressure` <a name="metricMasterJvmMemoryPressure" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricMasterJvmMemoryPressure"></a>

```typescript
public metricMasterJvmMemoryPressure(): Metric | MathExpression
```

##### `metricNodes` <a name="metricNodes" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricNodes"></a>

```typescript
public metricNodes(): Metric | MathExpression
```

##### `metricSearchCount` <a name="metricSearchCount" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchCount"></a>

```typescript
public metricSearchCount(): Metric
```

##### `metricSearchLatencyP50InMillis` <a name="metricSearchLatencyP50InMillis" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchLatencyP50InMillis"></a>

```typescript
public metricSearchLatencyP50InMillis(): Metric | MathExpression
```

##### `metricSearchLatencyP90InMillis` <a name="metricSearchLatencyP90InMillis" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchLatencyP90InMillis"></a>

```typescript
public metricSearchLatencyP90InMillis(): Metric | MathExpression
```

##### `metricSearchLatencyP99InMillis` <a name="metricSearchLatencyP99InMillis" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchLatencyP99InMillis"></a>

```typescript
public metricSearchLatencyP99InMillis(): Metric | MathExpression
```

##### `metricSearchRate` <a name="metricSearchRate" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchRate"></a>

```typescript
public metricSearchRate(): Metric | MathExpression
```

##### ~~`metricTps`~~ <a name="metricTps" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricTps"></a>

```typescript
public metricTps(): Metric | MathExpression
```




### OpenSearchClusterMonitoring <a name="OpenSearchClusterMonitoring" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.Initializer"></a>

```typescript
import { OpenSearchClusterMonitoring } from 'cdk-monitoring-constructs'

new OpenSearchClusterMonitoring(scope: MonitoringScope, props: OpenSearchClusterMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps">OpenSearchClusterMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps">OpenSearchClusterMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### OpsItemAlarmActionStrategy <a name="OpsItemAlarmActionStrategy" id="cdk-monitoring-constructs.OpsItemAlarmActionStrategy"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>

Alarm action strategy that creates an AWS OpsCenter OpsItem.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.OpsItemAlarmActionStrategy.Initializer"></a>

```typescript
import { OpsItemAlarmActionStrategy } from 'cdk-monitoring-constructs'

new OpsItemAlarmActionStrategy(severity: OpsItemSeverity, category?: OpsItemCategory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpsItemAlarmActionStrategy.Initializer.parameter.severity">severity</a></code> | <code>aws-cdk-lib.aws_cloudwatch_actions.OpsItemSeverity</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpsItemAlarmActionStrategy.Initializer.parameter.category">category</a></code> | <code>aws-cdk-lib.aws_cloudwatch_actions.OpsItemCategory</code> | *No description.* |

---

##### `severity`<sup>Required</sup> <a name="severity" id="cdk-monitoring-constructs.OpsItemAlarmActionStrategy.Initializer.parameter.severity"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch_actions.OpsItemSeverity

---

##### `category`<sup>Optional</sup> <a name="category" id="cdk-monitoring-constructs.OpsItemAlarmActionStrategy.Initializer.parameter.category"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch_actions.OpsItemCategory

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpsItemAlarmActionStrategy.addAlarmActions">addAlarmActions</a></code> | *No description.* |

---

##### `addAlarmActions` <a name="addAlarmActions" id="cdk-monitoring-constructs.OpsItemAlarmActionStrategy.addAlarmActions"></a>

```typescript
public addAlarmActions(props: AlarmActionStrategyProps): void
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpsItemAlarmActionStrategy.addAlarmActions.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmActionStrategyProps">AlarmActionStrategyProps</a>

---


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpsItemAlarmActionStrategy.property.severity">severity</a></code> | <code>aws-cdk-lib.aws_cloudwatch_actions.OpsItemSeverity</code> | OPS Item Severity. |
| <code><a href="#cdk-monitoring-constructs.OpsItemAlarmActionStrategy.property.category">category</a></code> | <code>aws-cdk-lib.aws_cloudwatch_actions.OpsItemCategory</code> | OPS Item Category. |

---

##### `severity`<sup>Required</sup> <a name="severity" id="cdk-monitoring-constructs.OpsItemAlarmActionStrategy.property.severity"></a>

```typescript
public readonly severity: OpsItemSeverity;
```

- *Type:* aws-cdk-lib.aws_cloudwatch_actions.OpsItemSeverity

OPS Item Severity.

---

##### `category`<sup>Optional</sup> <a name="category" id="cdk-monitoring-constructs.OpsItemAlarmActionStrategy.property.category"></a>

```typescript
public readonly category: OpsItemCategory;
```

- *Type:* aws-cdk-lib.aws_cloudwatch_actions.OpsItemCategory

OPS Item Category.

---


### QueueAlarmFactory <a name="QueueAlarmFactory" id="cdk-monitoring-constructs.QueueAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.QueueAlarmFactory.Initializer"></a>

```typescript
import { QueueAlarmFactory } from 'cdk-monitoring-constructs'

new QueueAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.QueueAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.QueueAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueIncomingMessagesCountAlarm">addMaxQueueIncomingMessagesCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueMessageAgeAlarm">addMaxQueueMessageAgeAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueMessageCountAlarm">addMaxQueueMessageCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueTimeToDrainMessagesAlarm">addMaxQueueTimeToDrainMessagesAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.QueueAlarmFactory.addMinQueueIncomingMessagesCountAlarm">addMinQueueIncomingMessagesCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.QueueAlarmFactory.addMinQueueMessageCountAlarm">addMinQueueMessageCountAlarm</a></code> | *No description.* |

---

##### `addMaxQueueIncomingMessagesCountAlarm` <a name="addMaxQueueIncomingMessagesCountAlarm" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueIncomingMessagesCountAlarm"></a>

```typescript
public addMaxQueueIncomingMessagesCountAlarm(metric: Metric | MathExpression, props: MaxIncomingMessagesCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueIncomingMessagesCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueIncomingMessagesCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold">MaxIncomingMessagesCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueIncomingMessagesCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxQueueMessageAgeAlarm` <a name="addMaxQueueMessageAgeAlarm" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueMessageAgeAlarm"></a>

```typescript
public addMaxQueueMessageAgeAlarm(metric: Metric | MathExpression, props: MaxMessageAgeThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueMessageAgeAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueMessageAgeAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold">MaxMessageAgeThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueMessageAgeAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxQueueMessageCountAlarm` <a name="addMaxQueueMessageCountAlarm" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueMessageCountAlarm"></a>

```typescript
public addMaxQueueMessageCountAlarm(metric: Metric | MathExpression, props: MaxMessageCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueMessageCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueMessageCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxMessageCountThreshold">MaxMessageCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueMessageCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxQueueTimeToDrainMessagesAlarm` <a name="addMaxQueueTimeToDrainMessagesAlarm" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueTimeToDrainMessagesAlarm"></a>

```typescript
public addMaxQueueTimeToDrainMessagesAlarm(metric: Metric | MathExpression, props: MaxTimeToDrainThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueTimeToDrainMessagesAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueTimeToDrainMessagesAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold">MaxTimeToDrainThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.QueueAlarmFactory.addMaxQueueTimeToDrainMessagesAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMinQueueIncomingMessagesCountAlarm` <a name="addMinQueueIncomingMessagesCountAlarm" id="cdk-monitoring-constructs.QueueAlarmFactory.addMinQueueIncomingMessagesCountAlarm"></a>

```typescript
public addMinQueueIncomingMessagesCountAlarm(metric: Metric | MathExpression, props: MinIncomingMessagesCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.QueueAlarmFactory.addMinQueueIncomingMessagesCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.QueueAlarmFactory.addMinQueueIncomingMessagesCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold">MinIncomingMessagesCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.QueueAlarmFactory.addMinQueueIncomingMessagesCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMinQueueMessageCountAlarm` <a name="addMinQueueMessageCountAlarm" id="cdk-monitoring-constructs.QueueAlarmFactory.addMinQueueMessageCountAlarm"></a>

```typescript
public addMinQueueMessageCountAlarm(metric: Metric | MathExpression, props: MinMessageCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.QueueAlarmFactory.addMinQueueMessageCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.QueueAlarmFactory.addMinQueueMessageCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MinMessageCountThreshold">MinMessageCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.QueueAlarmFactory.addMinQueueMessageCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### RdsClusterMetricFactory <a name="RdsClusterMetricFactory" id="cdk-monitoring-constructs.RdsClusterMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.RdsClusterMetricFactory.Initializer"></a>

```typescript
import { RdsClusterMetricFactory } from 'cdk-monitoring-constructs'

new RdsClusterMetricFactory(metricFactory: MetricFactory, props: RdsClusterMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactoryProps">RdsClusterMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.RdsClusterMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.RdsClusterMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RdsClusterMetricFactoryProps">RdsClusterMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricAverageCpuUsageInPercent">metricAverageCpuUsageInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricCommitLatencyP90InMillis">metricCommitLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricDeleteLatencyP90InMillis">metricDeleteLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricDiskSpaceUsageInPercent">metricDiskSpaceUsageInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricFreeStorageInBytes">metricFreeStorageInBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricInsertLatencyP90InMillis">metricInsertLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricSelectLatencyP90InMillis">metricSelectLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricTotalConnectionCount">metricTotalConnectionCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricUpdateLatencyP90InMillis">metricUpdateLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricUsedStorageInBytes">metricUsedStorageInBytes</a></code> | *No description.* |

---

##### `metricAverageCpuUsageInPercent` <a name="metricAverageCpuUsageInPercent" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricAverageCpuUsageInPercent"></a>

```typescript
public metricAverageCpuUsageInPercent(): Metric | MathExpression
```

##### `metricCommitLatencyP90InMillis` <a name="metricCommitLatencyP90InMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricCommitLatencyP90InMillis"></a>

```typescript
public metricCommitLatencyP90InMillis(): Metric | MathExpression
```

##### `metricDeleteLatencyP90InMillis` <a name="metricDeleteLatencyP90InMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricDeleteLatencyP90InMillis"></a>

```typescript
public metricDeleteLatencyP90InMillis(): Metric | MathExpression
```

##### `metricDiskSpaceUsageInPercent` <a name="metricDiskSpaceUsageInPercent" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricDiskSpaceUsageInPercent"></a>

```typescript
public metricDiskSpaceUsageInPercent(): Metric | MathExpression
```

##### `metricFreeStorageInBytes` <a name="metricFreeStorageInBytes" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricFreeStorageInBytes"></a>

```typescript
public metricFreeStorageInBytes(): Metric | MathExpression
```

##### `metricInsertLatencyP90InMillis` <a name="metricInsertLatencyP90InMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricInsertLatencyP90InMillis"></a>

```typescript
public metricInsertLatencyP90InMillis(): Metric | MathExpression
```

##### `metricSelectLatencyP90InMillis` <a name="metricSelectLatencyP90InMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricSelectLatencyP90InMillis"></a>

```typescript
public metricSelectLatencyP90InMillis(): Metric | MathExpression
```

##### `metricTotalConnectionCount` <a name="metricTotalConnectionCount" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricTotalConnectionCount"></a>

```typescript
public metricTotalConnectionCount(): Metric | MathExpression
```

##### `metricUpdateLatencyP90InMillis` <a name="metricUpdateLatencyP90InMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricUpdateLatencyP90InMillis"></a>

```typescript
public metricUpdateLatencyP90InMillis(): Metric | MathExpression
```

##### `metricUsedStorageInBytes` <a name="metricUsedStorageInBytes" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricUsedStorageInBytes"></a>

```typescript
public metricUsedStorageInBytes(): Metric | MathExpression
```


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.property.clusterIdentifier">clusterIdentifier</a></code> | <code>string</code> | *No description.* |

---

##### `clusterIdentifier`<sup>Required</sup> <a name="clusterIdentifier" id="cdk-monitoring-constructs.RdsClusterMetricFactory.property.clusterIdentifier"></a>

```typescript
public readonly clusterIdentifier: string;
```

- *Type:* string

---


### RdsClusterMonitoring <a name="RdsClusterMonitoring" id="cdk-monitoring-constructs.RdsClusterMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.RdsClusterMonitoring.Initializer"></a>

```typescript
import { RdsClusterMonitoring } from 'cdk-monitoring-constructs'

new RdsClusterMonitoring(scope: MonitoringScope, props: RdsClusterMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps">RdsClusterMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.RdsClusterMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.RdsClusterMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps">RdsClusterMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.RdsClusterMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.RdsClusterMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.RdsClusterMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.RdsClusterMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.RdsClusterMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.RdsClusterMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.RdsClusterMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.RdsClusterMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.RdsClusterMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### RedshiftClusterMetricFactory <a name="RedshiftClusterMetricFactory" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.Initializer"></a>

```typescript
import { RedshiftClusterMetricFactory } from 'cdk-monitoring-constructs'

new RedshiftClusterMetricFactory(metricFactory: MetricFactory, props: RedshiftClusterMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactoryProps">RedshiftClusterMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactoryProps">RedshiftClusterMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricAverageCpuUsageInPercent">metricAverageCpuUsageInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricAverageDiskSpaceUsageInPercent">metricAverageDiskSpaceUsageInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricLongQueryDurationP90InMillis">metricLongQueryDurationP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricMaintenanceModeEnabled">metricMaintenanceModeEnabled</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricMediumQueryDurationP90InMillis">metricMediumQueryDurationP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricReadLatencyP90InMillis">metricReadLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricShortQueryDurationP90InMillis">metricShortQueryDurationP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricTotalConnectionCount">metricTotalConnectionCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricWriteLatencyP90InMillis">metricWriteLatencyP90InMillis</a></code> | *No description.* |

---

##### `metricAverageCpuUsageInPercent` <a name="metricAverageCpuUsageInPercent" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricAverageCpuUsageInPercent"></a>

```typescript
public metricAverageCpuUsageInPercent(): Metric | MathExpression
```

##### `metricAverageDiskSpaceUsageInPercent` <a name="metricAverageDiskSpaceUsageInPercent" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricAverageDiskSpaceUsageInPercent"></a>

```typescript
public metricAverageDiskSpaceUsageInPercent(): Metric | MathExpression
```

##### `metricLongQueryDurationP90InMillis` <a name="metricLongQueryDurationP90InMillis" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricLongQueryDurationP90InMillis"></a>

```typescript
public metricLongQueryDurationP90InMillis(): Metric | MathExpression
```

##### `metricMaintenanceModeEnabled` <a name="metricMaintenanceModeEnabled" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricMaintenanceModeEnabled"></a>

```typescript
public metricMaintenanceModeEnabled(): Metric | MathExpression
```

##### `metricMediumQueryDurationP90InMillis` <a name="metricMediumQueryDurationP90InMillis" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricMediumQueryDurationP90InMillis"></a>

```typescript
public metricMediumQueryDurationP90InMillis(): Metric | MathExpression
```

##### `metricReadLatencyP90InMillis` <a name="metricReadLatencyP90InMillis" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricReadLatencyP90InMillis"></a>

```typescript
public metricReadLatencyP90InMillis(): Metric | MathExpression
```

##### `metricShortQueryDurationP90InMillis` <a name="metricShortQueryDurationP90InMillis" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricShortQueryDurationP90InMillis"></a>

```typescript
public metricShortQueryDurationP90InMillis(): Metric | MathExpression
```

##### `metricTotalConnectionCount` <a name="metricTotalConnectionCount" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricTotalConnectionCount"></a>

```typescript
public metricTotalConnectionCount(): Metric | MathExpression
```

##### `metricWriteLatencyP90InMillis` <a name="metricWriteLatencyP90InMillis" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricWriteLatencyP90InMillis"></a>

```typescript
public metricWriteLatencyP90InMillis(): Metric | MathExpression
```




### RedshiftClusterMonitoring <a name="RedshiftClusterMonitoring" id="cdk-monitoring-constructs.RedshiftClusterMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.Initializer"></a>

```typescript
import { RedshiftClusterMonitoring } from 'cdk-monitoring-constructs'

new RedshiftClusterMonitoring(scope: MonitoringScope, props: RedshiftClusterMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps">RedshiftClusterMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps">RedshiftClusterMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### S3BucketMetricFactory <a name="S3BucketMetricFactory" id="cdk-monitoring-constructs.S3BucketMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.S3BucketMetricFactory.Initializer"></a>

```typescript
import { S3BucketMetricFactory } from 'cdk-monitoring-constructs'

new S3BucketMetricFactory(metricFactory: MetricFactory, props: S3BucketMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.S3BucketMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.S3BucketMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.S3BucketMetricFactoryProps">S3BucketMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.S3BucketMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.S3BucketMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.S3BucketMetricFactoryProps">S3BucketMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.S3BucketMetricFactory.metricBucketSizeBytes">metricBucketSizeBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.S3BucketMetricFactory.metricNumberOfObjects">metricNumberOfObjects</a></code> | *No description.* |

---

##### `metricBucketSizeBytes` <a name="metricBucketSizeBytes" id="cdk-monitoring-constructs.S3BucketMetricFactory.metricBucketSizeBytes"></a>

```typescript
public metricBucketSizeBytes(): Metric | MathExpression
```

##### `metricNumberOfObjects` <a name="metricNumberOfObjects" id="cdk-monitoring-constructs.S3BucketMetricFactory.metricNumberOfObjects"></a>

```typescript
public metricNumberOfObjects(): Metric | MathExpression
```




### S3BucketMonitoring <a name="S3BucketMonitoring" id="cdk-monitoring-constructs.S3BucketMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.S3BucketMonitoring.Initializer"></a>

```typescript
import { S3BucketMonitoring } from 'cdk-monitoring-constructs'

new S3BucketMonitoring(scope: MonitoringScope, props: S3BucketMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringProps">S3BucketMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.S3BucketMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.S3BucketMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.S3BucketMonitoringProps">S3BucketMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.S3BucketMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.S3BucketMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.S3BucketMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.S3BucketMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.S3BucketMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.S3BucketMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.S3BucketMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.S3BucketMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.S3BucketMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.S3BucketMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### SecretsManagerSecretMetricFactory <a name="SecretsManagerSecretMetricFactory" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.Initializer"></a>

```typescript
import { SecretsManagerSecretMetricFactory } from 'cdk-monitoring-constructs'

new SecretsManagerSecretMetricFactory(metricFactory: MetricFactory, props: SecretsManagerSecretMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMetricFactoryProps">SecretsManagerSecretMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SecretsManagerSecretMetricFactoryProps">SecretsManagerSecretMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.metricDaysSinceLastChange">metricDaysSinceLastChange</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.metricDaysSinceLastRotation">metricDaysSinceLastRotation</a></code> | *No description.* |

---

##### `metricDaysSinceLastChange` <a name="metricDaysSinceLastChange" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.metricDaysSinceLastChange"></a>

```typescript
public metricDaysSinceLastChange(): Metric | MathExpression
```

##### `metricDaysSinceLastRotation` <a name="metricDaysSinceLastRotation" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.metricDaysSinceLastRotation"></a>

```typescript
public metricDaysSinceLastRotation(): Metric | MathExpression
```



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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.property.MetricNameDaysSinceLastChange">MetricNameDaysSinceLastChange</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.property.MetricNameDaysSinceLastRotation">MetricNameDaysSinceLastRotation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.property.Namespace">Namespace</a></code> | <code>string</code> | *No description.* |

---

##### `MetricNameDaysSinceLastChange`<sup>Required</sup> <a name="MetricNameDaysSinceLastChange" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.property.MetricNameDaysSinceLastChange"></a>

```typescript
public readonly MetricNameDaysSinceLastChange: string;
```

- *Type:* string

---

##### `MetricNameDaysSinceLastRotation`<sup>Required</sup> <a name="MetricNameDaysSinceLastRotation" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.property.MetricNameDaysSinceLastRotation"></a>

```typescript
public readonly MetricNameDaysSinceLastRotation: string;
```

- *Type:* string

---

##### `Namespace`<sup>Required</sup> <a name="Namespace" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.property.Namespace"></a>

```typescript
public readonly Namespace: string;
```

- *Type:* string

---

### SecretsManagerSecretMonitoring <a name="SecretsManagerSecretMonitoring" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.Initializer"></a>

```typescript
import { SecretsManagerSecretMonitoring } from 'cdk-monitoring-constructs'

new SecretsManagerSecretMonitoring(scope: MonitoringScope, props: SecretsManagerSecretMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps">SecretsManagerSecretMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps">SecretsManagerSecretMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### SingleAxisGraphWidget <a name="SingleAxisGraphWidget" id="cdk-monitoring-constructs.SingleAxisGraphWidget"></a>

Line graph widget with one axis only (left).

If there is just one metric, it will hide the legend to save space.
The purpose of this custom class is to make the properties more strict.
It will avoid graphs with undefined axis and dimensions.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SingleAxisGraphWidget.Initializer"></a>

```typescript
import { SingleAxisGraphWidget } from 'cdk-monitoring-constructs'

new SingleAxisGraphWidget(props: SingleAxisGraphWidgetProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidget.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidgetProps">SingleAxisGraphWidgetProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SingleAxisGraphWidget.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SingleAxisGraphWidgetProps">SingleAxisGraphWidgetProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidget.position">position</a></code> | Place the widget at a given position. |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidget.toJson">toJson</a></code> | Return the widget JSON for use in the dashboard. |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidget.addLeftMetric">addLeftMetric</a></code> | Add another metric to the left Y axis of the GraphWidget. |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidget.addRightMetric">addRightMetric</a></code> | Add another metric to the right Y axis of the GraphWidget. |

---

##### `position` <a name="position" id="cdk-monitoring-constructs.SingleAxisGraphWidget.position"></a>

```typescript
public position(x: number, y: number): void
```

Place the widget at a given position.

###### `x`<sup>Required</sup> <a name="x" id="cdk-monitoring-constructs.SingleAxisGraphWidget.position.parameter.x"></a>

- *Type:* number

---

###### `y`<sup>Required</sup> <a name="y" id="cdk-monitoring-constructs.SingleAxisGraphWidget.position.parameter.y"></a>

- *Type:* number

---

##### `toJson` <a name="toJson" id="cdk-monitoring-constructs.SingleAxisGraphWidget.toJson"></a>

```typescript
public toJson(): any[]
```

Return the widget JSON for use in the dashboard.

##### `addLeftMetric` <a name="addLeftMetric" id="cdk-monitoring-constructs.SingleAxisGraphWidget.addLeftMetric"></a>

```typescript
public addLeftMetric(metric: IMetric): void
```

Add another metric to the left Y axis of the GraphWidget.

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.SingleAxisGraphWidget.addLeftMetric.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric

the metric to add.

---

##### `addRightMetric` <a name="addRightMetric" id="cdk-monitoring-constructs.SingleAxisGraphWidget.addRightMetric"></a>

```typescript
public addRightMetric(metric: IMetric): void
```

Add another metric to the right Y axis of the GraphWidget.

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.SingleAxisGraphWidget.addRightMetric.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric

the metric to add.

---


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidget.property.height">height</a></code> | <code>number</code> | The amount of vertical grid units the widget will take up. |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidget.property.width">width</a></code> | <code>number</code> | The amount of horizontal grid units the widget will take up. |

---

##### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SingleAxisGraphWidget.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number

The amount of vertical grid units the widget will take up.

---

##### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SingleAxisGraphWidget.property.width"></a>

```typescript
public readonly width: number;
```

- *Type:* number

The amount of horizontal grid units the widget will take up.

---


### SingleWidgetDashboardSegment <a name="SingleWidgetDashboardSegment" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IDashboardSegment">IDashboardSegment</a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment.Initializer"></a>

```typescript
import { SingleWidgetDashboardSegment } from 'cdk-monitoring-constructs'

new SingleWidgetDashboardSegment(widget: IWidget, addToSummary?: boolean, addToAlarm?: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SingleWidgetDashboardSegment.Initializer.parameter.widget">widget</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IWidget</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SingleWidgetDashboardSegment.Initializer.parameter.addToSummary">addToSummary</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SingleWidgetDashboardSegment.Initializer.parameter.addToAlarm">addToAlarm</a></code> | <code>boolean</code> | *No description.* |

---

##### `widget`<sup>Required</sup> <a name="widget" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment.Initializer.parameter.widget"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.IWidget

---

##### `addToSummary`<sup>Optional</sup> <a name="addToSummary" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment.Initializer.parameter.addToSummary"></a>

- *Type:* boolean

---

##### `addToAlarm`<sup>Optional</sup> <a name="addToAlarm" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment.Initializer.parameter.addToAlarm"></a>

- *Type:* boolean

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SingleWidgetDashboardSegment.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.SingleWidgetDashboardSegment.summaryWidgets">summaryWidgets</a></code> | Returns widgets for the summary. |
| <code><a href="#cdk-monitoring-constructs.SingleWidgetDashboardSegment.widgets">widgets</a></code> | Returns all widgets. |

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These should go to the runbook or service dashboard.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets for the summary.

These should go to the team OPS dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns all widgets.

These should go to the detailed service dashboard.




### SnsAlarmActionStrategy <a name="SnsAlarmActionStrategy" id="cdk-monitoring-constructs.SnsAlarmActionStrategy"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>

Alarm action strategy that sends a notification to the specified SNS topic.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SnsAlarmActionStrategy.Initializer"></a>

```typescript
import { SnsAlarmActionStrategy } from 'cdk-monitoring-constructs'

new SnsAlarmActionStrategy(props: SnsAlarmActionStrategyProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SnsAlarmActionStrategy.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SnsAlarmActionStrategyProps">SnsAlarmActionStrategyProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SnsAlarmActionStrategy.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SnsAlarmActionStrategyProps">SnsAlarmActionStrategyProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SnsAlarmActionStrategy.addAlarmActions">addAlarmActions</a></code> | *No description.* |

---

##### `addAlarmActions` <a name="addAlarmActions" id="cdk-monitoring-constructs.SnsAlarmActionStrategy.addAlarmActions"></a>

```typescript
public addAlarmActions(props: AlarmActionStrategyProps): void
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SnsAlarmActionStrategy.addAlarmActions.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmActionStrategyProps">AlarmActionStrategyProps</a>

---




### SnsTopicMetricFactory <a name="SnsTopicMetricFactory" id="cdk-monitoring-constructs.SnsTopicMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SnsTopicMetricFactory.Initializer"></a>

```typescript
import { SnsTopicMetricFactory } from 'cdk-monitoring-constructs'

new SnsTopicMetricFactory(metricFactory: MetricFactory, props: SnsTopicMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SnsTopicMetricFactoryProps">SnsTopicMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.SnsTopicMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SnsTopicMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SnsTopicMetricFactoryProps">SnsTopicMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMetricFactory.metricAverageMessageSizeInBytes">metricAverageMessageSizeInBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMetricFactory.metricIncomingMessageCount">metricIncomingMessageCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMetricFactory.metricNumberOfNotificationsFailed">metricNumberOfNotificationsFailed</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMetricFactory.metricOutgoingMessageCount">metricOutgoingMessageCount</a></code> | *No description.* |

---

##### `metricAverageMessageSizeInBytes` <a name="metricAverageMessageSizeInBytes" id="cdk-monitoring-constructs.SnsTopicMetricFactory.metricAverageMessageSizeInBytes"></a>

```typescript
public metricAverageMessageSizeInBytes(): Metric | MathExpression
```

##### `metricIncomingMessageCount` <a name="metricIncomingMessageCount" id="cdk-monitoring-constructs.SnsTopicMetricFactory.metricIncomingMessageCount"></a>

```typescript
public metricIncomingMessageCount(): Metric | MathExpression
```

##### `metricNumberOfNotificationsFailed` <a name="metricNumberOfNotificationsFailed" id="cdk-monitoring-constructs.SnsTopicMetricFactory.metricNumberOfNotificationsFailed"></a>

```typescript
public metricNumberOfNotificationsFailed(): Metric | MathExpression
```

##### `metricOutgoingMessageCount` <a name="metricOutgoingMessageCount" id="cdk-monitoring-constructs.SnsTopicMetricFactory.metricOutgoingMessageCount"></a>

```typescript
public metricOutgoingMessageCount(): Metric | MathExpression
```




### SnsTopicMonitoring <a name="SnsTopicMonitoring" id="cdk-monitoring-constructs.SnsTopicMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SnsTopicMonitoring.Initializer"></a>

```typescript
import { SnsTopicMonitoring } from 'cdk-monitoring-constructs'

new SnsTopicMonitoring(scope: MonitoringScope, props: SnsTopicMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps">SnsTopicMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.SnsTopicMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SnsTopicMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps">SnsTopicMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.SnsTopicMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.SnsTopicMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.SnsTopicMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.SnsTopicMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.SnsTopicMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.SnsTopicMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.SnsTopicMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.SnsTopicMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.SnsTopicMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.SnsTopicMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### SqsQueueMetricFactory <a name="SqsQueueMetricFactory" id="cdk-monitoring-constructs.SqsQueueMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SqsQueueMetricFactory.Initializer"></a>

```typescript
import { SqsQueueMetricFactory } from 'cdk-monitoring-constructs'

new SqsQueueMetricFactory(metricFactory: MetricFactory, props: SqsQueueMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactoryProps">SqsQueueMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.SqsQueueMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SqsQueueMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SqsQueueMetricFactoryProps">SqsQueueMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactory.metricApproximateAgeOfOldestMessageInSeconds">metricApproximateAgeOfOldestMessageInSeconds</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactory.metricApproximateVisibleMessageCount">metricApproximateVisibleMessageCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactory.metricAverageMessageSizeInBytes">metricAverageMessageSizeInBytes</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactory.metricConsumptionRate">metricConsumptionRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactory.metricDeletedMessageCount">metricDeletedMessageCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactory.metricIncomingMessageCount">metricIncomingMessageCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactory.metricProductionRate">metricProductionRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactory.metricTimeToDrain">metricTimeToDrain</a></code> | *No description.* |

---

##### `metricApproximateAgeOfOldestMessageInSeconds` <a name="metricApproximateAgeOfOldestMessageInSeconds" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricApproximateAgeOfOldestMessageInSeconds"></a>

```typescript
public metricApproximateAgeOfOldestMessageInSeconds(): Metric | MathExpression
```

##### `metricApproximateVisibleMessageCount` <a name="metricApproximateVisibleMessageCount" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricApproximateVisibleMessageCount"></a>

```typescript
public metricApproximateVisibleMessageCount(): Metric | MathExpression
```

##### `metricAverageMessageSizeInBytes` <a name="metricAverageMessageSizeInBytes" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricAverageMessageSizeInBytes"></a>

```typescript
public metricAverageMessageSizeInBytes(): Metric | MathExpression
```

##### `metricConsumptionRate` <a name="metricConsumptionRate" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricConsumptionRate"></a>

```typescript
public metricConsumptionRate(): Metric | MathExpression
```

##### `metricDeletedMessageCount` <a name="metricDeletedMessageCount" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricDeletedMessageCount"></a>

```typescript
public metricDeletedMessageCount(): Metric | MathExpression
```

##### `metricIncomingMessageCount` <a name="metricIncomingMessageCount" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricIncomingMessageCount"></a>

```typescript
public metricIncomingMessageCount(): Metric | MathExpression
```

##### `metricProductionRate` <a name="metricProductionRate" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricProductionRate"></a>

```typescript
public metricProductionRate(): Metric | MathExpression
```

##### `metricTimeToDrain` <a name="metricTimeToDrain" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricTimeToDrain"></a>

```typescript
public metricTimeToDrain(): Metric | MathExpression
```




### SqsQueueMonitoring <a name="SqsQueueMonitoring" id="cdk-monitoring-constructs.SqsQueueMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SqsQueueMonitoring.Initializer"></a>

```typescript
import { SqsQueueMonitoring } from 'cdk-monitoring-constructs'

new SqsQueueMonitoring(scope: MonitoringScope, props: SqsQueueMonitoringProps, invokedFromSuper?: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps">SqsQueueMonitoringProps</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.Initializer.parameter.invokedFromSuper">invokedFromSuper</a></code> | <code>boolean</code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.SqsQueueMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SqsQueueMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps">SqsQueueMonitoringProps</a>

---

##### `invokedFromSuper`<sup>Optional</sup> <a name="invokedFromSuper" id="cdk-monitoring-constructs.SqsQueueMonitoring.Initializer.parameter.invokedFromSuper"></a>

- *Type:* boolean

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.SqsQueueMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.SqsQueueMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.SqsQueueMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.SqsQueueMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.SqsQueueMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.SqsQueueMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.SqsQueueMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.SqsQueueMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.SqsQueueMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### SqsQueueMonitoringWithDlq <a name="SqsQueueMonitoringWithDlq" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.Initializer"></a>

```typescript
import { SqsQueueMonitoringWithDlq } from 'cdk-monitoring-constructs'

new SqsQueueMonitoringWithDlq(scope: MonitoringScope, props: SqsQueueMonitoringWithDlqProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps">SqsQueueMonitoringWithDlqProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps">SqsQueueMonitoringWithDlqProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### StepFunctionActivityMetricFactory <a name="StepFunctionActivityMetricFactory" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.Initializer"></a>

```typescript
import { StepFunctionActivityMetricFactory } from 'cdk-monitoring-constructs'

new StepFunctionActivityMetricFactory(metricFactory: MetricFactory, props: StepFunctionActivityMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactoryProps">StepFunctionActivityMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactoryProps">StepFunctionActivityMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesFailed">metricActivitiesFailed</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesFailedRate">metricActivitiesFailedRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesHeartbeatTimedOut">metricActivitiesHeartbeatTimedOut</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesScheduled">metricActivitiesScheduled</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesStarted">metricActivitiesStarted</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesSucceeded">metricActivitiesSucceeded</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesTimedOut">metricActivitiesTimedOut</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityRunTimeP50InMillis">metricActivityRunTimeP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityRunTimeP90InMillis">metricActivityRunTimeP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityRunTimeP99InMillis">metricActivityRunTimeP99InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityScheduleTimeP50InMillis">metricActivityScheduleTimeP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityScheduleTimeP90InMillis">metricActivityScheduleTimeP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityScheduleTimeP99InMillis">metricActivityScheduleTimeP99InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityTimeP50InMillis">metricActivityTimeP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityTimeP90InMillis">metricActivityTimeP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityTimeP99InMillis">metricActivityTimeP99InMillis</a></code> | *No description.* |

---

##### `metricActivitiesFailed` <a name="metricActivitiesFailed" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesFailed"></a>

```typescript
public metricActivitiesFailed(): Metric | MathExpression
```

##### `metricActivitiesFailedRate` <a name="metricActivitiesFailedRate" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesFailedRate"></a>

```typescript
public metricActivitiesFailedRate(): Metric | MathExpression
```

##### `metricActivitiesHeartbeatTimedOut` <a name="metricActivitiesHeartbeatTimedOut" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesHeartbeatTimedOut"></a>

```typescript
public metricActivitiesHeartbeatTimedOut(): Metric | MathExpression
```

##### `metricActivitiesScheduled` <a name="metricActivitiesScheduled" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesScheduled"></a>

```typescript
public metricActivitiesScheduled(): Metric | MathExpression
```

##### `metricActivitiesStarted` <a name="metricActivitiesStarted" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesStarted"></a>

```typescript
public metricActivitiesStarted(): Metric | MathExpression
```

##### `metricActivitiesSucceeded` <a name="metricActivitiesSucceeded" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesSucceeded"></a>

```typescript
public metricActivitiesSucceeded(): Metric | MathExpression
```

##### `metricActivitiesTimedOut` <a name="metricActivitiesTimedOut" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesTimedOut"></a>

```typescript
public metricActivitiesTimedOut(): Metric | MathExpression
```

##### `metricActivityRunTimeP50InMillis` <a name="metricActivityRunTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityRunTimeP50InMillis"></a>

```typescript
public metricActivityRunTimeP50InMillis(): Metric | MathExpression
```

##### `metricActivityRunTimeP90InMillis` <a name="metricActivityRunTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityRunTimeP90InMillis"></a>

```typescript
public metricActivityRunTimeP90InMillis(): Metric | MathExpression
```

##### `metricActivityRunTimeP99InMillis` <a name="metricActivityRunTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityRunTimeP99InMillis"></a>

```typescript
public metricActivityRunTimeP99InMillis(): Metric | MathExpression
```

##### `metricActivityScheduleTimeP50InMillis` <a name="metricActivityScheduleTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityScheduleTimeP50InMillis"></a>

```typescript
public metricActivityScheduleTimeP50InMillis(): Metric | MathExpression
```

##### `metricActivityScheduleTimeP90InMillis` <a name="metricActivityScheduleTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityScheduleTimeP90InMillis"></a>

```typescript
public metricActivityScheduleTimeP90InMillis(): Metric | MathExpression
```

##### `metricActivityScheduleTimeP99InMillis` <a name="metricActivityScheduleTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityScheduleTimeP99InMillis"></a>

```typescript
public metricActivityScheduleTimeP99InMillis(): Metric | MathExpression
```

##### `metricActivityTimeP50InMillis` <a name="metricActivityTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityTimeP50InMillis"></a>

```typescript
public metricActivityTimeP50InMillis(): Metric | MathExpression
```

##### `metricActivityTimeP90InMillis` <a name="metricActivityTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityTimeP90InMillis"></a>

```typescript
public metricActivityTimeP90InMillis(): Metric | MathExpression
```

##### `metricActivityTimeP99InMillis` <a name="metricActivityTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityTimeP99InMillis"></a>

```typescript
public metricActivityTimeP99InMillis(): Metric | MathExpression
```




### StepFunctionActivityMonitoring <a name="StepFunctionActivityMonitoring" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.Initializer"></a>

```typescript
import { StepFunctionActivityMonitoring } from 'cdk-monitoring-constructs'

new StepFunctionActivityMonitoring(scope: MonitoringScope, props: StepFunctionActivityMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps">StepFunctionActivityMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps">StepFunctionActivityMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### StepFunctionLambdaIntegrationMetricFactory <a name="StepFunctionLambdaIntegrationMetricFactory" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.Initializer"></a>

```typescript
import { StepFunctionLambdaIntegrationMetricFactory } from 'cdk-monitoring-constructs'

new StepFunctionLambdaIntegrationMetricFactory(metricFactory: MetricFactory, props: StepFunctionLambdaIntegrationMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactoryProps">StepFunctionLambdaIntegrationMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactoryProps">StepFunctionLambdaIntegrationMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionRunTimeP50InMillis">metricFunctionRunTimeP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionRunTimeP90InMillis">metricFunctionRunTimeP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionRunTimeP99InMillis">metricFunctionRunTimeP99InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionScheduleTimeP50InMillis">metricFunctionScheduleTimeP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionScheduleTimeP90InMillis">metricFunctionScheduleTimeP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionScheduleTimeP99InMillis">metricFunctionScheduleTimeP99InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsFailed">metricFunctionsFailed</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsFailedRate">metricFunctionsFailedRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsScheduled">metricFunctionsScheduled</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsStarted">metricFunctionsStarted</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsSucceeded">metricFunctionsSucceeded</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsTimedOut">metricFunctionsTimedOut</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionTimeP50InMillis">metricFunctionTimeP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionTimeP90InMillis">metricFunctionTimeP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionTimeP99InMillis">metricFunctionTimeP99InMillis</a></code> | *No description.* |

---

##### `metricFunctionRunTimeP50InMillis` <a name="metricFunctionRunTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionRunTimeP50InMillis"></a>

```typescript
public metricFunctionRunTimeP50InMillis(): Metric | MathExpression
```

##### `metricFunctionRunTimeP90InMillis` <a name="metricFunctionRunTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionRunTimeP90InMillis"></a>

```typescript
public metricFunctionRunTimeP90InMillis(): Metric | MathExpression
```

##### `metricFunctionRunTimeP99InMillis` <a name="metricFunctionRunTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionRunTimeP99InMillis"></a>

```typescript
public metricFunctionRunTimeP99InMillis(): Metric | MathExpression
```

##### `metricFunctionScheduleTimeP50InMillis` <a name="metricFunctionScheduleTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionScheduleTimeP50InMillis"></a>

```typescript
public metricFunctionScheduleTimeP50InMillis(): Metric | MathExpression
```

##### `metricFunctionScheduleTimeP90InMillis` <a name="metricFunctionScheduleTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionScheduleTimeP90InMillis"></a>

```typescript
public metricFunctionScheduleTimeP90InMillis(): Metric | MathExpression
```

##### `metricFunctionScheduleTimeP99InMillis` <a name="metricFunctionScheduleTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionScheduleTimeP99InMillis"></a>

```typescript
public metricFunctionScheduleTimeP99InMillis(): Metric | MathExpression
```

##### `metricFunctionsFailed` <a name="metricFunctionsFailed" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsFailed"></a>

```typescript
public metricFunctionsFailed(): Metric | MathExpression
```

##### `metricFunctionsFailedRate` <a name="metricFunctionsFailedRate" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsFailedRate"></a>

```typescript
public metricFunctionsFailedRate(): Metric | MathExpression
```

##### `metricFunctionsScheduled` <a name="metricFunctionsScheduled" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsScheduled"></a>

```typescript
public metricFunctionsScheduled(): Metric | MathExpression
```

##### `metricFunctionsStarted` <a name="metricFunctionsStarted" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsStarted"></a>

```typescript
public metricFunctionsStarted(): Metric | MathExpression
```

##### `metricFunctionsSucceeded` <a name="metricFunctionsSucceeded" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsSucceeded"></a>

```typescript
public metricFunctionsSucceeded(): Metric | MathExpression
```

##### `metricFunctionsTimedOut` <a name="metricFunctionsTimedOut" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsTimedOut"></a>

```typescript
public metricFunctionsTimedOut(): Metric | MathExpression
```

##### `metricFunctionTimeP50InMillis` <a name="metricFunctionTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionTimeP50InMillis"></a>

```typescript
public metricFunctionTimeP50InMillis(): Metric | MathExpression
```

##### `metricFunctionTimeP90InMillis` <a name="metricFunctionTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionTimeP90InMillis"></a>

```typescript
public metricFunctionTimeP90InMillis(): Metric | MathExpression
```

##### `metricFunctionTimeP99InMillis` <a name="metricFunctionTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionTimeP99InMillis"></a>

```typescript
public metricFunctionTimeP99InMillis(): Metric | MathExpression
```




### StepFunctionLambdaIntegrationMonitoring <a name="StepFunctionLambdaIntegrationMonitoring" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.Initializer"></a>

```typescript
import { StepFunctionLambdaIntegrationMonitoring } from 'cdk-monitoring-constructs'

new StepFunctionLambdaIntegrationMonitoring(scope: MonitoringScope, props: StepFunctionLambdaIntegrationMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps">StepFunctionLambdaIntegrationMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps">StepFunctionLambdaIntegrationMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### StepFunctionMetricFactory <a name="StepFunctionMetricFactory" id="cdk-monitoring-constructs.StepFunctionMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.StepFunctionMetricFactory.Initializer"></a>

```typescript
import { StepFunctionMetricFactory } from 'cdk-monitoring-constructs'

new StepFunctionMetricFactory(metricFactory: MetricFactory, props: StepFunctionMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactoryProps">StepFunctionMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.StepFunctionMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.StepFunctionMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionMetricFactoryProps">StepFunctionMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsAborted">metricExecutionsAborted</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsFailed">metricExecutionsFailed</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsFailedRate">metricExecutionsFailedRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsStarted">metricExecutionsStarted</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsSucceeded">metricExecutionsSucceeded</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsTimedOut">metricExecutionsTimedOut</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionThrottled">metricExecutionThrottled</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionTimeP50InMillis">metricExecutionTimeP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionTimeP90InMillis">metricExecutionTimeP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionTimeP99InMillis">metricExecutionTimeP99InMillis</a></code> | *No description.* |

---

##### `metricExecutionsAborted` <a name="metricExecutionsAborted" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsAborted"></a>

```typescript
public metricExecutionsAborted(): Metric | MathExpression
```

##### `metricExecutionsFailed` <a name="metricExecutionsFailed" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsFailed"></a>

```typescript
public metricExecutionsFailed(): Metric | MathExpression
```

##### `metricExecutionsFailedRate` <a name="metricExecutionsFailedRate" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsFailedRate"></a>

```typescript
public metricExecutionsFailedRate(): Metric | MathExpression
```

##### `metricExecutionsStarted` <a name="metricExecutionsStarted" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsStarted"></a>

```typescript
public metricExecutionsStarted(): Metric | MathExpression
```

##### `metricExecutionsSucceeded` <a name="metricExecutionsSucceeded" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsSucceeded"></a>

```typescript
public metricExecutionsSucceeded(): Metric | MathExpression
```

##### `metricExecutionsTimedOut` <a name="metricExecutionsTimedOut" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsTimedOut"></a>

```typescript
public metricExecutionsTimedOut(): Metric | MathExpression
```

##### `metricExecutionThrottled` <a name="metricExecutionThrottled" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionThrottled"></a>

```typescript
public metricExecutionThrottled(): Metric | MathExpression
```

##### `metricExecutionTimeP50InMillis` <a name="metricExecutionTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionTimeP50InMillis"></a>

```typescript
public metricExecutionTimeP50InMillis(): Metric | MathExpression
```

##### `metricExecutionTimeP90InMillis` <a name="metricExecutionTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionTimeP90InMillis"></a>

```typescript
public metricExecutionTimeP90InMillis(): Metric | MathExpression
```

##### `metricExecutionTimeP99InMillis` <a name="metricExecutionTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionTimeP99InMillis"></a>

```typescript
public metricExecutionTimeP99InMillis(): Metric | MathExpression
```




### StepFunctionMonitoring <a name="StepFunctionMonitoring" id="cdk-monitoring-constructs.StepFunctionMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.StepFunctionMonitoring.Initializer"></a>

```typescript
import { StepFunctionMonitoring } from 'cdk-monitoring-constructs'

new StepFunctionMonitoring(scope: MonitoringScope, props: StepFunctionMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps">StepFunctionMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.StepFunctionMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.StepFunctionMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps">StepFunctionMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.StepFunctionMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.StepFunctionMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.StepFunctionMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.StepFunctionMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.StepFunctionMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.StepFunctionMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.StepFunctionMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.StepFunctionMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.StepFunctionMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.StepFunctionMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### StepFunctionServiceIntegrationMetricFactory <a name="StepFunctionServiceIntegrationMetricFactory" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.Initializer"></a>

```typescript
import { StepFunctionServiceIntegrationMetricFactory } from 'cdk-monitoring-constructs'

new StepFunctionServiceIntegrationMetricFactory(metricFactory: MetricFactory, props: StepFunctionServiceIntegrationMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactoryProps">StepFunctionServiceIntegrationMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactoryProps">StepFunctionServiceIntegrationMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationRunTimeP50InMillis">metricServiceIntegrationRunTimeP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationRunTimeP90InMillis">metricServiceIntegrationRunTimeP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationRunTimeP99InMillis">metricServiceIntegrationRunTimeP99InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationScheduleTimeP50InMillis">metricServiceIntegrationScheduleTimeP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationScheduleTimeP90InMillis">metricServiceIntegrationScheduleTimeP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationScheduleTimeP99InMillis">metricServiceIntegrationScheduleTimeP99InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsFailed">metricServiceIntegrationsFailed</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsFailedRate">metricServiceIntegrationsFailedRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsScheduled">metricServiceIntegrationsScheduled</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsStarted">metricServiceIntegrationsStarted</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsSucceeded">metricServiceIntegrationsSucceeded</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsTimedOut">metricServiceIntegrationsTimedOut</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationTimeP50InMillis">metricServiceIntegrationTimeP50InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationTimeP90InMillis">metricServiceIntegrationTimeP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationTimeP99InMillis">metricServiceIntegrationTimeP99InMillis</a></code> | *No description.* |

---

##### `metricServiceIntegrationRunTimeP50InMillis` <a name="metricServiceIntegrationRunTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationRunTimeP50InMillis"></a>

```typescript
public metricServiceIntegrationRunTimeP50InMillis(): Metric | MathExpression
```

##### `metricServiceIntegrationRunTimeP90InMillis` <a name="metricServiceIntegrationRunTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationRunTimeP90InMillis"></a>

```typescript
public metricServiceIntegrationRunTimeP90InMillis(): Metric | MathExpression
```

##### `metricServiceIntegrationRunTimeP99InMillis` <a name="metricServiceIntegrationRunTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationRunTimeP99InMillis"></a>

```typescript
public metricServiceIntegrationRunTimeP99InMillis(): Metric | MathExpression
```

##### `metricServiceIntegrationScheduleTimeP50InMillis` <a name="metricServiceIntegrationScheduleTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationScheduleTimeP50InMillis"></a>

```typescript
public metricServiceIntegrationScheduleTimeP50InMillis(): Metric | MathExpression
```

##### `metricServiceIntegrationScheduleTimeP90InMillis` <a name="metricServiceIntegrationScheduleTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationScheduleTimeP90InMillis"></a>

```typescript
public metricServiceIntegrationScheduleTimeP90InMillis(): Metric | MathExpression
```

##### `metricServiceIntegrationScheduleTimeP99InMillis` <a name="metricServiceIntegrationScheduleTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationScheduleTimeP99InMillis"></a>

```typescript
public metricServiceIntegrationScheduleTimeP99InMillis(): Metric | MathExpression
```

##### `metricServiceIntegrationsFailed` <a name="metricServiceIntegrationsFailed" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsFailed"></a>

```typescript
public metricServiceIntegrationsFailed(): Metric | MathExpression
```

##### `metricServiceIntegrationsFailedRate` <a name="metricServiceIntegrationsFailedRate" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsFailedRate"></a>

```typescript
public metricServiceIntegrationsFailedRate(): Metric | MathExpression
```

##### `metricServiceIntegrationsScheduled` <a name="metricServiceIntegrationsScheduled" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsScheduled"></a>

```typescript
public metricServiceIntegrationsScheduled(): Metric | MathExpression
```

##### `metricServiceIntegrationsStarted` <a name="metricServiceIntegrationsStarted" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsStarted"></a>

```typescript
public metricServiceIntegrationsStarted(): Metric | MathExpression
```

##### `metricServiceIntegrationsSucceeded` <a name="metricServiceIntegrationsSucceeded" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsSucceeded"></a>

```typescript
public metricServiceIntegrationsSucceeded(): Metric | MathExpression
```

##### `metricServiceIntegrationsTimedOut` <a name="metricServiceIntegrationsTimedOut" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsTimedOut"></a>

```typescript
public metricServiceIntegrationsTimedOut(): Metric | MathExpression
```

##### `metricServiceIntegrationTimeP50InMillis` <a name="metricServiceIntegrationTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationTimeP50InMillis"></a>

```typescript
public metricServiceIntegrationTimeP50InMillis(): Metric | MathExpression
```

##### `metricServiceIntegrationTimeP90InMillis` <a name="metricServiceIntegrationTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationTimeP90InMillis"></a>

```typescript
public metricServiceIntegrationTimeP90InMillis(): Metric | MathExpression
```

##### `metricServiceIntegrationTimeP99InMillis` <a name="metricServiceIntegrationTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationTimeP99InMillis"></a>

```typescript
public metricServiceIntegrationTimeP99InMillis(): Metric | MathExpression
```




### StepFunctionServiceIntegrationMonitoring <a name="StepFunctionServiceIntegrationMonitoring" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.Initializer"></a>

```typescript
import { StepFunctionServiceIntegrationMonitoring } from 'cdk-monitoring-constructs'

new StepFunctionServiceIntegrationMonitoring(scope: MonitoringScope, props: StepFunctionServiceIntegrationMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps">StepFunctionServiceIntegrationMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps">StepFunctionServiceIntegrationMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### SyntheticsCanaryMetricFactory <a name="SyntheticsCanaryMetricFactory" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.Initializer"></a>

```typescript
import { SyntheticsCanaryMetricFactory } from 'cdk-monitoring-constructs'

new SyntheticsCanaryMetricFactory(metricFactory: MetricFactory, props: SyntheticsCanaryMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactoryProps">SyntheticsCanaryMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactoryProps">SyntheticsCanaryMetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metric4xxErrorCount">metric4xxErrorCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metric4xxErrorRate">metric4xxErrorRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metric5xxFaultCount">metric5xxFaultCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metric5xxFaultRate">metric5xxFaultRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metricLatencyAverageInMillis">metricLatencyAverageInMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metricSuccessInPercent">metricSuccessInPercent</a></code> | *No description.* |

---

##### `metric4xxErrorCount` <a name="metric4xxErrorCount" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metric4xxErrorCount"></a>

```typescript
public metric4xxErrorCount(): Metric | MathExpression
```

##### `metric4xxErrorRate` <a name="metric4xxErrorRate" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metric4xxErrorRate"></a>

```typescript
public metric4xxErrorRate(): Metric | MathExpression
```

##### `metric5xxFaultCount` <a name="metric5xxFaultCount" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metric5xxFaultCount"></a>

```typescript
public metric5xxFaultCount(): Metric | MathExpression
```

##### `metric5xxFaultRate` <a name="metric5xxFaultRate" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metric5xxFaultRate"></a>

```typescript
public metric5xxFaultRate(): Metric | MathExpression
```

##### `metricLatencyAverageInMillis` <a name="metricLatencyAverageInMillis" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metricLatencyAverageInMillis"></a>

```typescript
public metricLatencyAverageInMillis(): Metric | MathExpression
```

##### `metricSuccessInPercent` <a name="metricSuccessInPercent" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metricSuccessInPercent"></a>

```typescript
public metricSuccessInPercent(): Metric | MathExpression
```




### SyntheticsCanaryMonitoring <a name="SyntheticsCanaryMonitoring" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring"></a>

Monitoring for CloudWatch Synthetics Canaries.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.Initializer"></a>

```typescript
import { SyntheticsCanaryMonitoring } from 'cdk-monitoring-constructs'

new SyntheticsCanaryMonitoring(scope: MonitoringScope, props: SyntheticsCanaryMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps">SyntheticsCanaryMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps">SyntheticsCanaryMonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### TaskHealthAlarmFactory <a name="TaskHealthAlarmFactory" id="cdk-monitoring-constructs.TaskHealthAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.Initializer"></a>

```typescript
import { TaskHealthAlarmFactory } from 'cdk-monitoring-constructs'

new TaskHealthAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory.addAvailabilityAlarm">addAvailabilityAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory.addHealthyTaskCountAlarm">addHealthyTaskCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory.addHealthyTaskPercentAlarm">addHealthyTaskPercentAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory.addMinRunningTaskCountAlarm">addMinRunningTaskCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory.addRunningTaskCountAlarm">addRunningTaskCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory.addRunningTaskRateAlarm">addRunningTaskRateAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory.addUnhealthyTaskCountAlarm">addUnhealthyTaskCountAlarm</a></code> | *No description.* |

---

##### `addAvailabilityAlarm` <a name="addAvailabilityAlarm" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addAvailabilityAlarm"></a>

```typescript
public addAvailabilityAlarm(metric: Metric | MathExpression, props: AvailabilityThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addAvailabilityAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addAvailabilityAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AvailabilityThreshold">AvailabilityThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addAvailabilityAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addHealthyTaskCountAlarm` <a name="addHealthyTaskCountAlarm" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addHealthyTaskCountAlarm"></a>

```typescript
public addHealthyTaskCountAlarm(metric: Metric | MathExpression, props: HealthyTaskCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addHealthyTaskCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addHealthyTaskCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold">HealthyTaskCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addHealthyTaskCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addHealthyTaskPercentAlarm` <a name="addHealthyTaskPercentAlarm" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addHealthyTaskPercentAlarm"></a>

```typescript
public addHealthyTaskPercentAlarm(metric: Metric | MathExpression, props: HealthyTaskPercentThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addHealthyTaskPercentAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addHealthyTaskPercentAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold">HealthyTaskPercentThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addHealthyTaskPercentAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMinRunningTaskCountAlarm` <a name="addMinRunningTaskCountAlarm" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addMinRunningTaskCountAlarm"></a>

```typescript
public addMinRunningTaskCountAlarm(metric: Metric | MathExpression, props: MinRunningTaskCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addMinRunningTaskCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addMinRunningTaskCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold">MinRunningTaskCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addMinRunningTaskCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addRunningTaskCountAlarm` <a name="addRunningTaskCountAlarm" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addRunningTaskCountAlarm"></a>

```typescript
public addRunningTaskCountAlarm(metric: Metric | MathExpression, props: RunningTaskCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addRunningTaskCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addRunningTaskCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RunningTaskCountThreshold">RunningTaskCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addRunningTaskCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addRunningTaskRateAlarm` <a name="addRunningTaskRateAlarm" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addRunningTaskRateAlarm"></a>

```typescript
public addRunningTaskRateAlarm(metric: Metric | MathExpression, props: RunningTaskRateThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addRunningTaskRateAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addRunningTaskRateAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RunningTaskRateThreshold">RunningTaskRateThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addRunningTaskRateAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addUnhealthyTaskCountAlarm` <a name="addUnhealthyTaskCountAlarm" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addUnhealthyTaskCountAlarm"></a>

```typescript
public addUnhealthyTaskCountAlarm(metric: Metric | MathExpression, props: UnhealthyTaskCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addUnhealthyTaskCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addUnhealthyTaskCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.TaskHealthAlarmFactory.addUnhealthyTaskCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### ThroughputAlarmFactory <a name="ThroughputAlarmFactory" id="cdk-monitoring-constructs.ThroughputAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ThroughputAlarmFactory.Initializer"></a>

```typescript
import { ThroughputAlarmFactory } from 'cdk-monitoring-constructs'

new ThroughputAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ThroughputAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.ThroughputAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ThroughputAlarmFactory.addMinProcessedBytesAlarm">addMinProcessedBytesAlarm</a></code> | *No description.* |

---

##### `addMinProcessedBytesAlarm` <a name="addMinProcessedBytesAlarm" id="cdk-monitoring-constructs.ThroughputAlarmFactory.addMinProcessedBytesAlarm"></a>

```typescript
public addMinProcessedBytesAlarm(metric: Metric | MathExpression, props: MinProcessedBytesThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.ThroughputAlarmFactory.addMinProcessedBytesAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ThroughputAlarmFactory.addMinProcessedBytesAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold">MinProcessedBytesThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.ThroughputAlarmFactory.addMinProcessedBytesAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### TopicAlarmFactory <a name="TopicAlarmFactory" id="cdk-monitoring-constructs.TopicAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.TopicAlarmFactory.Initializer"></a>

```typescript
import { TopicAlarmFactory } from 'cdk-monitoring-constructs'

new TopicAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.TopicAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.TopicAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.TopicAlarmFactory.addMaxMessagesPublishedAlarm">addMaxMessagesPublishedAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.TopicAlarmFactory.addMessageNotificationsFailedAlarm">addMessageNotificationsFailedAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.TopicAlarmFactory.addMinMessagesPublishedAlarm">addMinMessagesPublishedAlarm</a></code> | *No description.* |

---

##### `addMaxMessagesPublishedAlarm` <a name="addMaxMessagesPublishedAlarm" id="cdk-monitoring-constructs.TopicAlarmFactory.addMaxMessagesPublishedAlarm"></a>

```typescript
public addMaxMessagesPublishedAlarm(metric: Metric | MathExpression, props: HighMessagesPublishedThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.TopicAlarmFactory.addMaxMessagesPublishedAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.TopicAlarmFactory.addMaxMessagesPublishedAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold">HighMessagesPublishedThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.TopicAlarmFactory.addMaxMessagesPublishedAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMessageNotificationsFailedAlarm` <a name="addMessageNotificationsFailedAlarm" id="cdk-monitoring-constructs.TopicAlarmFactory.addMessageNotificationsFailedAlarm"></a>

```typescript
public addMessageNotificationsFailedAlarm(metric: Metric | MathExpression, props: NotificationsFailedThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.TopicAlarmFactory.addMessageNotificationsFailedAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.TopicAlarmFactory.addMessageNotificationsFailedAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.NotificationsFailedThreshold">NotificationsFailedThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.TopicAlarmFactory.addMessageNotificationsFailedAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMinMessagesPublishedAlarm` <a name="addMinMessagesPublishedAlarm" id="cdk-monitoring-constructs.TopicAlarmFactory.addMinMessagesPublishedAlarm"></a>

```typescript
public addMinMessagesPublishedAlarm(metric: Metric | MathExpression, props: LowMessagesPublishedThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.TopicAlarmFactory.addMinMessagesPublishedAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.TopicAlarmFactory.addMinMessagesPublishedAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold">LowMessagesPublishedThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.TopicAlarmFactory.addMinMessagesPublishedAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### TpsAlarmFactory <a name="TpsAlarmFactory" id="cdk-monitoring-constructs.TpsAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.TpsAlarmFactory.Initializer"></a>

```typescript
import { TpsAlarmFactory } from 'cdk-monitoring-constructs'

new TpsAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.TpsAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.TpsAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.TpsAlarmFactory.addMaxTpsAlarm">addMaxTpsAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.TpsAlarmFactory.addMinTpsAlarm">addMinTpsAlarm</a></code> | *No description.* |

---

##### `addMaxTpsAlarm` <a name="addMaxTpsAlarm" id="cdk-monitoring-constructs.TpsAlarmFactory.addMaxTpsAlarm"></a>

```typescript
public addMaxTpsAlarm(metric: Metric | MathExpression, props: HighTpsThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.TpsAlarmFactory.addMaxTpsAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.TpsAlarmFactory.addMaxTpsAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.HighTpsThreshold">HighTpsThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.TpsAlarmFactory.addMaxTpsAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMinTpsAlarm` <a name="addMinTpsAlarm" id="cdk-monitoring-constructs.TpsAlarmFactory.addMinTpsAlarm"></a>

```typescript
public addMinTpsAlarm(metric: Metric | MathExpression, props: LowTpsThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.TpsAlarmFactory.addMinTpsAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.TpsAlarmFactory.addMinTpsAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.TpsAlarmFactory.addMinTpsAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### UsageAlarmFactory <a name="UsageAlarmFactory" id="cdk-monitoring-constructs.UsageAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.UsageAlarmFactory.Initializer"></a>

```typescript
import { UsageAlarmFactory } from 'cdk-monitoring-constructs'

new UsageAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.Initializer.parameter.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.UsageAlarmFactory.Initializer.parameter.alarmFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMaxCpuUsagePercentAlarm">addMaxCpuUsagePercentAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMaxDiskUsagePercentAlarm">addMaxDiskUsagePercentAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMaxFileDescriptorPercentAlarm">addMaxFileDescriptorPercentAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMaxHeapMemoryAfterGCUsagePercentAlarm">addMaxHeapMemoryAfterGCUsagePercentAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMaxMasterCpuUsagePercentAlarm">addMaxMasterCpuUsagePercentAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMaxMasterMemoryUsagePercentAlarm">addMaxMasterMemoryUsagePercentAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMaxMemoryUsagePercentAlarm">addMaxMemoryUsagePercentAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMaxThreadCountUsageAlarm">addMaxThreadCountUsageAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMemoryUsagePercentAlarm">addMemoryUsagePercentAlarm</a></code> | *No description.* |

---

##### `addMaxCpuUsagePercentAlarm` <a name="addMaxCpuUsagePercentAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxCpuUsagePercentAlarm"></a>

```typescript
public addMaxCpuUsagePercentAlarm(percentMetric: Metric | MathExpression, props: UsageThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `percentMetric`<sup>Required</sup> <a name="percentMetric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxCpuUsagePercentAlarm.parameter.percentMetric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxCpuUsagePercentAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxCpuUsagePercentAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxDiskUsagePercentAlarm` <a name="addMaxDiskUsagePercentAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxDiskUsagePercentAlarm"></a>

```typescript
public addMaxDiskUsagePercentAlarm(percentMetric: Metric | MathExpression, props: UsageThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `percentMetric`<sup>Required</sup> <a name="percentMetric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxDiskUsagePercentAlarm.parameter.percentMetric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxDiskUsagePercentAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxDiskUsagePercentAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxFileDescriptorPercentAlarm` <a name="addMaxFileDescriptorPercentAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxFileDescriptorPercentAlarm"></a>

```typescript
public addMaxFileDescriptorPercentAlarm(percentMetric: Metric | MathExpression, props: UsageThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `percentMetric`<sup>Required</sup> <a name="percentMetric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxFileDescriptorPercentAlarm.parameter.percentMetric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxFileDescriptorPercentAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxFileDescriptorPercentAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxHeapMemoryAfterGCUsagePercentAlarm` <a name="addMaxHeapMemoryAfterGCUsagePercentAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxHeapMemoryAfterGCUsagePercentAlarm"></a>

```typescript
public addMaxHeapMemoryAfterGCUsagePercentAlarm(percentMetric: Metric | MathExpression, props: UsageThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `percentMetric`<sup>Required</sup> <a name="percentMetric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxHeapMemoryAfterGCUsagePercentAlarm.parameter.percentMetric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxHeapMemoryAfterGCUsagePercentAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxHeapMemoryAfterGCUsagePercentAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxMasterCpuUsagePercentAlarm` <a name="addMaxMasterCpuUsagePercentAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxMasterCpuUsagePercentAlarm"></a>

```typescript
public addMaxMasterCpuUsagePercentAlarm(percentMetric: Metric | MathExpression, props: UsageThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `percentMetric`<sup>Required</sup> <a name="percentMetric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxMasterCpuUsagePercentAlarm.parameter.percentMetric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxMasterCpuUsagePercentAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxMasterCpuUsagePercentAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxMasterMemoryUsagePercentAlarm` <a name="addMaxMasterMemoryUsagePercentAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxMasterMemoryUsagePercentAlarm"></a>

```typescript
public addMaxMasterMemoryUsagePercentAlarm(percentMetric: Metric | MathExpression, props: UsageThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `percentMetric`<sup>Required</sup> <a name="percentMetric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxMasterMemoryUsagePercentAlarm.parameter.percentMetric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxMasterMemoryUsagePercentAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxMasterMemoryUsagePercentAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxMemoryUsagePercentAlarm` <a name="addMaxMemoryUsagePercentAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxMemoryUsagePercentAlarm"></a>

```typescript
public addMaxMemoryUsagePercentAlarm(percentMetric: Metric | MathExpression, props: UsageThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `percentMetric`<sup>Required</sup> <a name="percentMetric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxMemoryUsagePercentAlarm.parameter.percentMetric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxMemoryUsagePercentAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxMemoryUsagePercentAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxThreadCountUsageAlarm` <a name="addMaxThreadCountUsageAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxThreadCountUsageAlarm"></a>

```typescript
public addMaxThreadCountUsageAlarm(percentMetric: Metric | MathExpression, props: UsageCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `percentMetric`<sup>Required</sup> <a name="percentMetric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxThreadCountUsageAlarm.parameter.percentMetric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxThreadCountUsageAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.UsageCountThreshold">UsageCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxThreadCountUsageAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMemoryUsagePercentAlarm` <a name="addMemoryUsagePercentAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMemoryUsagePercentAlarm"></a>

```typescript
public addMemoryUsagePercentAlarm(percentMetric: Metric | MathExpression, props: UsageThreshold, usageType: UsageType, disambiguator?: string): AlarmWithAnnotation
```

###### `percentMetric`<sup>Required</sup> <a name="percentMetric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMemoryUsagePercentAlarm.parameter.percentMetric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.Metric | aws-cdk-lib.aws_cloudwatch.MathExpression

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMemoryUsagePercentAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>

---

###### `usageType`<sup>Required</sup> <a name="usageType" id="cdk-monitoring-constructs.UsageAlarmFactory.addMemoryUsagePercentAlarm.parameter.usageType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.UsageType">UsageType</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMemoryUsagePercentAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### WafV2MetricFactory <a name="WafV2MetricFactory" id="cdk-monitoring-constructs.WafV2MetricFactory"></a>

https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.WafV2MetricFactory.Initializer"></a>

```typescript
import { WafV2MetricFactory } from 'cdk-monitoring-constructs'

new WafV2MetricFactory(metricFactory: MetricFactory, props: WafV2MetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.WafV2MetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2MetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.WafV2MetricFactoryProps">WafV2MetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.WafV2MetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.WafV2MetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.WafV2MetricFactoryProps">WafV2MetricFactoryProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.WafV2MetricFactory.metricAllowedRequests">metricAllowedRequests</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2MetricFactory.metricBlockedRequests">metricBlockedRequests</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2MetricFactory.metricBlockedRequestsRate">metricBlockedRequestsRate</a></code> | *No description.* |

---

##### `metricAllowedRequests` <a name="metricAllowedRequests" id="cdk-monitoring-constructs.WafV2MetricFactory.metricAllowedRequests"></a>

```typescript
public metricAllowedRequests(): Metric | MathExpression
```

##### `metricBlockedRequests` <a name="metricBlockedRequests" id="cdk-monitoring-constructs.WafV2MetricFactory.metricBlockedRequests"></a>

```typescript
public metricBlockedRequests(): Metric | MathExpression
```

##### `metricBlockedRequestsRate` <a name="metricBlockedRequestsRate" id="cdk-monitoring-constructs.WafV2MetricFactory.metricBlockedRequestsRate"></a>

```typescript
public metricBlockedRequestsRate(): Metric | MathExpression
```




### WafV2Monitoring <a name="WafV2Monitoring" id="cdk-monitoring-constructs.WafV2Monitoring"></a>

Monitoring for AWS Web Application Firewall.

> [https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html](https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.WafV2Monitoring.Initializer"></a>

```typescript
import { WafV2Monitoring } from 'cdk-monitoring-constructs'

new WafV2Monitoring(scope: MonitoringScope, props: WafV2MonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps">WafV2MonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.WafV2Monitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.WafV2Monitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.WafV2MonitoringProps">WafV2MonitoringProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.WafV2Monitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.WafV2Monitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.WafV2Monitoring.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These can go to runbook or to service dashboard.

##### `createAlarmFactory` <a name="createAlarmFactory" id="cdk-monitoring-constructs.WafV2Monitoring.createAlarmFactory"></a>

```typescript
public createAlarmFactory(alarmNamePrefix: string): AlarmFactory
```

Creates a new alarm factory.

Alarms created will be named with the given prefix, unless a local name override is present.

###### `alarmNamePrefix`<sup>Required</sup> <a name="alarmNamePrefix" id="cdk-monitoring-constructs.WafV2Monitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.WafV2Monitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.WafV2Monitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.WafV2Monitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.WafV2Monitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.WafV2Monitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.




### XaxrMathExpression <a name="XaxrMathExpression" id="cdk-monitoring-constructs.XaxrMathExpression"></a>

- *Implements:* aws-cdk-lib.aws_cloudwatch.IMetric

Custom wrapper class for MathExpression that supports account and region specification.

> [https://github.com/aws/aws-cdk/issues/9039](https://github.com/aws/aws-cdk/issues/9039)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.XaxrMathExpression.Initializer"></a>

```typescript
import { XaxrMathExpression } from 'cdk-monitoring-constructs'

new XaxrMathExpression(props: XaxrMathExpressionProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.XaxrMathExpression.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.XaxrMathExpressionProps">XaxrMathExpressionProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.XaxrMathExpression.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.XaxrMathExpressionProps">XaxrMathExpressionProps</a>

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.XaxrMathExpression.toMetricConfig">toMetricConfig</a></code> | Inspect the details of the metric object. |
| <code><a href="#cdk-monitoring-constructs.XaxrMathExpression.with">with</a></code> | *No description.* |

---

##### `toMetricConfig` <a name="toMetricConfig" id="cdk-monitoring-constructs.XaxrMathExpression.toMetricConfig"></a>

```typescript
public toMetricConfig(): MetricConfig
```

Inspect the details of the metric object.

##### `with` <a name="with" id="cdk-monitoring-constructs.XaxrMathExpression.with"></a>

```typescript
public with(options: MathExpressionOptions): IMetric
```

###### `options`<sup>Required</sup> <a name="options" id="cdk-monitoring-constructs.XaxrMathExpression.with.parameter.options"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpressionOptions

---




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

### IAlarmActionStrategy <a name="IAlarmActionStrategy" id="cdk-monitoring-constructs.IAlarmActionStrategy"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.MultipleAlarmActionStrategy">MultipleAlarmActionStrategy</a>, <a href="#cdk-monitoring-constructs.NoopAlarmActionStrategy">NoopAlarmActionStrategy</a>, <a href="#cdk-monitoring-constructs.OpsItemAlarmActionStrategy">OpsItemAlarmActionStrategy</a>, <a href="#cdk-monitoring-constructs.SnsAlarmActionStrategy">SnsAlarmActionStrategy</a>, <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>

An object that appends actions to alarms.

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy.addAlarmActions">addAlarmActions</a></code> | *No description.* |

---

##### `addAlarmActions` <a name="addAlarmActions" id="cdk-monitoring-constructs.IAlarmActionStrategy.addAlarmActions"></a>

```typescript
public addAlarmActions(props: AlarmActionStrategyProps): void
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.IAlarmActionStrategy.addAlarmActions.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmActionStrategyProps">AlarmActionStrategyProps</a>

---


### IAlarmAnnotationStrategy <a name="IAlarmAnnotationStrategy" id="cdk-monitoring-constructs.IAlarmAnnotationStrategy"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.DefaultAlarmAnnotationStrategy">DefaultAlarmAnnotationStrategy</a>, <a href="#cdk-monitoring-constructs.FillingAlarmAnnotationStrategy">FillingAlarmAnnotationStrategy</a>, <a href="#cdk-monitoring-constructs.IAlarmAnnotationStrategy">IAlarmAnnotationStrategy</a>

Helper class for creating annotations for alarms.

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.IAlarmAnnotationStrategy.createAnnotation">createAnnotation</a></code> | Creates annotation based on the metric and alarm properties. |

---

##### `createAnnotation` <a name="createAnnotation" id="cdk-monitoring-constructs.IAlarmAnnotationStrategy.createAnnotation"></a>

```typescript
public createAnnotation(props: AlarmAnnotationStrategyProps): HorizontalAnnotation
```

Creates annotation based on the metric and alarm properties.

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.IAlarmAnnotationStrategy.createAnnotation.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmAnnotationStrategyProps">AlarmAnnotationStrategyProps</a>

properties necessary to create annotation.

---


### IAlarmConsumer <a name="IAlarmConsumer" id="cdk-monitoring-constructs.IAlarmConsumer"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.IAlarmConsumer.consume">consume</a></code> | *No description.* |

---

##### `consume` <a name="consume" id="cdk-monitoring-constructs.IAlarmConsumer.consume"></a>

```typescript
public consume(alarms: AlarmWithAnnotation[]): void
```

###### `alarms`<sup>Required</sup> <a name="alarms" id="cdk-monitoring-constructs.IAlarmConsumer.consume.parameter.alarms"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>[]

---


### IAlarmDedupeStringProcessor <a name="IAlarmDedupeStringProcessor" id="cdk-monitoring-constructs.IAlarmDedupeStringProcessor"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.DoNotModifyDedupeString">DoNotModifyDedupeString</a>, <a href="#cdk-monitoring-constructs.ExtendDedupeString">ExtendDedupeString</a>, <a href="#cdk-monitoring-constructs.IAlarmDedupeStringProcessor">IAlarmDedupeStringProcessor</a>

Strategy used to finalize dedupe string.

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.IAlarmDedupeStringProcessor.processDedupeString">processDedupeString</a></code> | Process the dedupe string which was auto-generated. |
| <code><a href="#cdk-monitoring-constructs.IAlarmDedupeStringProcessor.processDedupeStringOverride">processDedupeStringOverride</a></code> | Process the dedupe string which was specified by the user as an override. |

---

##### `processDedupeString` <a name="processDedupeString" id="cdk-monitoring-constructs.IAlarmDedupeStringProcessor.processDedupeString"></a>

```typescript
public processDedupeString(dedupeString: string): string
```

Process the dedupe string which was auto-generated.

###### `dedupeString`<sup>Required</sup> <a name="dedupeString" id="cdk-monitoring-constructs.IAlarmDedupeStringProcessor.processDedupeString.parameter.dedupeString"></a>

- *Type:* string

---

##### `processDedupeStringOverride` <a name="processDedupeStringOverride" id="cdk-monitoring-constructs.IAlarmDedupeStringProcessor.processDedupeStringOverride"></a>

```typescript
public processDedupeStringOverride(dedupeString: string): string
```

Process the dedupe string which was specified by the user as an override.

###### `dedupeString`<sup>Required</sup> <a name="dedupeString" id="cdk-monitoring-constructs.IAlarmDedupeStringProcessor.processDedupeStringOverride.parameter.dedupeString"></a>

- *Type:* string

---


### IDashboardFactory <a name="IDashboardFactory" id="cdk-monitoring-constructs.IDashboardFactory"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.DefaultDashboardFactory">DefaultDashboardFactory</a>, <a href="#cdk-monitoring-constructs.IDashboardFactory">IDashboardFactory</a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.IDashboardFactory.addSegment">addSegment</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.IDashboardFactory.createdAlarmDashboard">createdAlarmDashboard</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.IDashboardFactory.createdDashboard">createdDashboard</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.IDashboardFactory.createdSummaryDashboard">createdSummaryDashboard</a></code> | *No description.* |

---

##### `addSegment` <a name="addSegment" id="cdk-monitoring-constructs.IDashboardFactory.addSegment"></a>

```typescript
public addSegment(props: IDashboardFactoryProps): void
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.IDashboardFactory.addSegment.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.IDashboardFactoryProps">IDashboardFactoryProps</a>

---

##### `createdAlarmDashboard` <a name="createdAlarmDashboard" id="cdk-monitoring-constructs.IDashboardFactory.createdAlarmDashboard"></a>

```typescript
public createdAlarmDashboard(): Dashboard
```

##### `createdDashboard` <a name="createdDashboard" id="cdk-monitoring-constructs.IDashboardFactory.createdDashboard"></a>

```typescript
public createdDashboard(): Dashboard
```

##### `createdSummaryDashboard` <a name="createdSummaryDashboard" id="cdk-monitoring-constructs.IDashboardFactory.createdSummaryDashboard"></a>

```typescript
public createdSummaryDashboard(): Dashboard
```


### IDashboardFactoryProps <a name="IDashboardFactoryProps" id="cdk-monitoring-constructs.IDashboardFactoryProps"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.IDashboardFactoryProps">IDashboardFactoryProps</a>


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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.IDashboardFactoryProps.property.segment">segment</a></code> | <code><a href="#cdk-monitoring-constructs.IDashboardSegment">IDashboardSegment</a></code> | Segment to be placed on the dashboard. |
| <code><a href="#cdk-monitoring-constructs.IDashboardFactoryProps.property.overrideProps">overrideProps</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsOverrideProps">MonitoringDashboardsOverrideProps</a></code> | Dashboard placement override props. |

---

##### `segment`<sup>Required</sup> <a name="segment" id="cdk-monitoring-constructs.IDashboardFactoryProps.property.segment"></a>

```typescript
public readonly segment: IDashboardSegment;
```

- *Type:* <a href="#cdk-monitoring-constructs.IDashboardSegment">IDashboardSegment</a>

Segment to be placed on the dashboard.

---

##### `overrideProps`<sup>Optional</sup> <a name="overrideProps" id="cdk-monitoring-constructs.IDashboardFactoryProps.property.overrideProps"></a>

```typescript
public readonly overrideProps: MonitoringDashboardsOverrideProps;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringDashboardsOverrideProps">MonitoringDashboardsOverrideProps</a>
- *Default:* all default

Dashboard placement override props.

---

### IDashboardSegment <a name="IDashboardSegment" id="cdk-monitoring-constructs.IDashboardSegment"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.ApiGatewayMonitoring">ApiGatewayMonitoring</a>, <a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring">ApiGatewayV2HttpApiMonitoring</a>, <a href="#cdk-monitoring-constructs.AppSyncMonitoring">AppSyncMonitoring</a>, <a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring">AutoScalingGroupMonitoring</a>, <a href="#cdk-monitoring-constructs.BillingMonitoring">BillingMonitoring</a>, <a href="#cdk-monitoring-constructs.CertificateManagerMonitoring">CertificateManagerMonitoring</a>, <a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring">CloudFrontDistributionMonitoring</a>, <a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring">CodeBuildProjectMonitoring</a>, <a href="#cdk-monitoring-constructs.CustomMonitoring">CustomMonitoring</a>, <a href="#cdk-monitoring-constructs.DocumentDbMonitoring">DocumentDbMonitoring</a>, <a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring">DynamoTableGlobalSecondaryIndexMonitoring</a>, <a href="#cdk-monitoring-constructs.DynamoTableMonitoring">DynamoTableMonitoring</a>, <a href="#cdk-monitoring-constructs.EC2Monitoring">EC2Monitoring</a>, <a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring">Ec2ServiceMonitoring</a>, <a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring">ElastiCacheClusterMonitoring</a>, <a href="#cdk-monitoring-constructs.FargateServiceMonitoring">FargateServiceMonitoring</a>, <a href="#cdk-monitoring-constructs.GlueJobMonitoring">GlueJobMonitoring</a>, <a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring">KinesisDataAnalyticsMonitoring</a>, <a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring">KinesisDataStreamMonitoring</a>, <a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring">KinesisFirehoseMonitoring</a>, <a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring">LambdaFunctionMonitoring</a>, <a href="#cdk-monitoring-constructs.LogMonitoring">LogMonitoring</a>, <a href="#cdk-monitoring-constructs.Monitoring">Monitoring</a>, <a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoring">NetworkLoadBalancerMonitoring</a>, <a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring">OpenSearchClusterMonitoring</a>, <a href="#cdk-monitoring-constructs.RdsClusterMonitoring">RdsClusterMonitoring</a>, <a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring">RedshiftClusterMonitoring</a>, <a href="#cdk-monitoring-constructs.S3BucketMonitoring">S3BucketMonitoring</a>, <a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring">SecretsManagerSecretMonitoring</a>, <a href="#cdk-monitoring-constructs.SingleWidgetDashboardSegment">SingleWidgetDashboardSegment</a>, <a href="#cdk-monitoring-constructs.SnsTopicMonitoring">SnsTopicMonitoring</a>, <a href="#cdk-monitoring-constructs.SqsQueueMonitoring">SqsQueueMonitoring</a>, <a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq">SqsQueueMonitoringWithDlq</a>, <a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring">StepFunctionActivityMonitoring</a>, <a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring">StepFunctionLambdaIntegrationMonitoring</a>, <a href="#cdk-monitoring-constructs.StepFunctionMonitoring">StepFunctionMonitoring</a>, <a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring">StepFunctionServiceIntegrationMonitoring</a>, <a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring">SyntheticsCanaryMonitoring</a>, <a href="#cdk-monitoring-constructs.WafV2Monitoring">WafV2Monitoring</a>, <a href="#cdk-monitoring-constructs.IDashboardSegment">IDashboardSegment</a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.IDashboardSegment.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.IDashboardSegment.summaryWidgets">summaryWidgets</a></code> | Returns widgets for the summary. |
| <code><a href="#cdk-monitoring-constructs.IDashboardSegment.widgets">widgets</a></code> | Returns all widgets. |

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.IDashboardSegment.alarmWidgets"></a>

```typescript
public alarmWidgets(): IWidget[]
```

Returns widgets for all alarms.

These should go to the runbook or service dashboard.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.IDashboardSegment.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets for the summary.

These should go to the team OPS dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.IDashboardSegment.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns all widgets.

These should go to the detailed service dashboard.


### IEC2MetricFactoryStrategy <a name="IEC2MetricFactoryStrategy" id="cdk-monitoring-constructs.IEC2MetricFactoryStrategy"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.IEC2MetricFactoryStrategy">IEC2MetricFactoryStrategy</a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.IEC2MetricFactoryStrategy.createMetrics">createMetrics</a></code> | *No description.* |

---

##### `createMetrics` <a name="createMetrics" id="cdk-monitoring-constructs.IEC2MetricFactoryStrategy.createMetrics"></a>

```typescript
public createMetrics(metricFactory: MetricFactory, metricName: string, statistic: MetricStatistic): IMetric[]
```

###### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.IEC2MetricFactoryStrategy.createMetrics.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

###### `metricName`<sup>Required</sup> <a name="metricName" id="cdk-monitoring-constructs.IEC2MetricFactoryStrategy.createMetrics.parameter.metricName"></a>

- *Type:* string

---

###### `statistic`<sup>Required</sup> <a name="statistic" id="cdk-monitoring-constructs.IEC2MetricFactoryStrategy.createMetrics.parameter.statistic"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricStatistic">MetricStatistic</a>

---


### ILoadBalancerMetricFactory <a name="ILoadBalancerMetricFactory" id="cdk-monitoring-constructs.ILoadBalancerMetricFactory"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory">ApplicationLoadBalancerMetricFactory</a>, <a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory">NetworkLoadBalancerMetricFactory</a>, <a href="#cdk-monitoring-constructs.ILoadBalancerMetricFactory">ILoadBalancerMetricFactory</a>

Common interface for load-balancer based service metric factories.

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricActiveConnectionCount">metricActiveConnectionCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricHealthyTaskCount">metricHealthyTaskCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricHealthyTaskInPercent">metricHealthyTaskInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricNewConnectionCount">metricNewConnectionCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricProcessedBytesMin">metricProcessedBytesMin</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricUnhealthyTaskCount">metricUnhealthyTaskCount</a></code> | *No description.* |

---

##### `metricActiveConnectionCount` <a name="metricActiveConnectionCount" id="cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricActiveConnectionCount"></a>

```typescript
public metricActiveConnectionCount(): Metric | MathExpression
```

##### `metricHealthyTaskCount` <a name="metricHealthyTaskCount" id="cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricHealthyTaskCount"></a>

```typescript
public metricHealthyTaskCount(): Metric | MathExpression
```

##### `metricHealthyTaskInPercent` <a name="metricHealthyTaskInPercent" id="cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricHealthyTaskInPercent"></a>

```typescript
public metricHealthyTaskInPercent(): Metric | MathExpression
```

##### `metricNewConnectionCount` <a name="metricNewConnectionCount" id="cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricNewConnectionCount"></a>

```typescript
public metricNewConnectionCount(): Metric | MathExpression
```

##### `metricProcessedBytesMin` <a name="metricProcessedBytesMin" id="cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricProcessedBytesMin"></a>

```typescript
public metricProcessedBytesMin(): Metric | MathExpression
```

##### `metricUnhealthyTaskCount` <a name="metricUnhealthyTaskCount" id="cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricUnhealthyTaskCount"></a>

```typescript
public metricUnhealthyTaskCount(): Metric | MathExpression
```


### IPublisherConsumer <a name="IPublisherConsumer" id="cdk-monitoring-constructs.IPublisherConsumer"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.IPublisherConsumer">IPublisherConsumer</a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.IPublisherConsumer.consume">consume</a></code> | *No description.* |

---

##### `consume` <a name="consume" id="cdk-monitoring-constructs.IPublisherConsumer.consume"></a>

```typescript
public consume(lambdaFunction: IFunction): void
```

###### `lambdaFunction`<sup>Required</sup> <a name="lambdaFunction" id="cdk-monitoring-constructs.IPublisherConsumer.consume.parameter.lambdaFunction"></a>

- *Type:* aws-cdk-lib.aws_lambda.IFunction

---


### IWidgetFactory <a name="IWidgetFactory" id="cdk-monitoring-constructs.IWidgetFactory"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.DefaultWidgetFactory">DefaultWidgetFactory</a>, <a href="#cdk-monitoring-constructs.IWidgetFactory">IWidgetFactory</a>

Strategy for creating widgets.

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.IWidgetFactory.createAlarmDetailWidget">createAlarmDetailWidget</a></code> | Create widget representing an alarm detail. |

---

##### `createAlarmDetailWidget` <a name="createAlarmDetailWidget" id="cdk-monitoring-constructs.IWidgetFactory.createAlarmDetailWidget"></a>

```typescript
public createAlarmDetailWidget(alarm: AlarmWithAnnotation): IWidget
```

Create widget representing an alarm detail.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.IWidgetFactory.createAlarmDetailWidget.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to represent.

---


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

### AxisPosition <a name="AxisPosition" id="cdk-monitoring-constructs.AxisPosition"></a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AxisPosition.LEFT">LEFT</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AxisPosition.RIGHT">RIGHT</a></code> | *No description.* |

---

##### `LEFT` <a name="LEFT" id="cdk-monitoring-constructs.AxisPosition.LEFT"></a>

---


##### `RIGHT` <a name="RIGHT" id="cdk-monitoring-constructs.AxisPosition.RIGHT"></a>

---


### CapacityType <a name="CapacityType" id="cdk-monitoring-constructs.CapacityType"></a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CapacityType.READ">READ</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CapacityType.WRITE">WRITE</a></code> | *No description.* |

---

##### `READ` <a name="READ" id="cdk-monitoring-constructs.CapacityType.READ"></a>

---


##### `WRITE` <a name="WRITE" id="cdk-monitoring-constructs.CapacityType.WRITE"></a>

---


### CompositeAlarmOperator <a name="CompositeAlarmOperator" id="cdk-monitoring-constructs.CompositeAlarmOperator"></a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CompositeAlarmOperator.AND">AND</a></code> | trigger only if all the alarms are triggered. |
| <code><a href="#cdk-monitoring-constructs.CompositeAlarmOperator.OR">OR</a></code> | trigger if any of the alarms is triggered. |

---

##### `AND` <a name="AND" id="cdk-monitoring-constructs.CompositeAlarmOperator.AND"></a>

trigger only if all the alarms are triggered.

---


##### `OR` <a name="OR" id="cdk-monitoring-constructs.CompositeAlarmOperator.OR"></a>

trigger if any of the alarms is triggered.

---


### DashboardRenderingPreference <a name="DashboardRenderingPreference" id="cdk-monitoring-constructs.DashboardRenderingPreference"></a>

Preferred way of rendering the widgets.

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DashboardRenderingPreference.INTERACTIVE_ONLY">INTERACTIVE_ONLY</a></code> | create standard set of dashboards with interactive widgets only. |
| <code><a href="#cdk-monitoring-constructs.DashboardRenderingPreference.BITMAP_ONLY">BITMAP_ONLY</a></code> | create standard set of dashboards with bitmap widgets only. |
| <code><a href="#cdk-monitoring-constructs.DashboardRenderingPreference.INTERACTIVE_AND_BITMAP">INTERACTIVE_AND_BITMAP</a></code> | create a two sets of dashboards: standard set (interactive) and a copy (bitmap). |

---

##### `INTERACTIVE_ONLY` <a name="INTERACTIVE_ONLY" id="cdk-monitoring-constructs.DashboardRenderingPreference.INTERACTIVE_ONLY"></a>

create standard set of dashboards with interactive widgets only.

---


##### `BITMAP_ONLY` <a name="BITMAP_ONLY" id="cdk-monitoring-constructs.DashboardRenderingPreference.BITMAP_ONLY"></a>

create standard set of dashboards with bitmap widgets only.

---


##### `INTERACTIVE_AND_BITMAP` <a name="INTERACTIVE_AND_BITMAP" id="cdk-monitoring-constructs.DashboardRenderingPreference.INTERACTIVE_AND_BITMAP"></a>

create a two sets of dashboards: standard set (interactive) and a copy (bitmap).

---


### ElastiCacheClusterType <a name="ElastiCacheClusterType" id="cdk-monitoring-constructs.ElastiCacheClusterType"></a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterType.MEMCACHED">MEMCACHED</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterType.REDIS">REDIS</a></code> | *No description.* |

---

##### `MEMCACHED` <a name="MEMCACHED" id="cdk-monitoring-constructs.ElastiCacheClusterType.MEMCACHED"></a>

---


##### `REDIS` <a name="REDIS" id="cdk-monitoring-constructs.ElastiCacheClusterType.REDIS"></a>

---


### ElasticsearchClusterStatus <a name="ElasticsearchClusterStatus" id="cdk-monitoring-constructs.ElasticsearchClusterStatus"></a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElasticsearchClusterStatus.RED">RED</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElasticsearchClusterStatus.YELLOW">YELLOW</a></code> | *No description.* |

---

##### `RED` <a name="RED" id="cdk-monitoring-constructs.ElasticsearchClusterStatus.RED"></a>

---


##### `YELLOW` <a name="YELLOW" id="cdk-monitoring-constructs.ElasticsearchClusterStatus.YELLOW"></a>

---


### ErrorType <a name="ErrorType" id="cdk-monitoring-constructs.ErrorType"></a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ErrorType.FAULT">FAULT</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ErrorType.ERROR">ERROR</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ErrorType.SYSTEM_ERROR">SYSTEM_ERROR</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ErrorType.USER_ERROR">USER_ERROR</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ErrorType.FAILURE">FAILURE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ErrorType.ABORTED">ABORTED</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ErrorType.THROTTLED">THROTTLED</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ErrorType.TIMED_OUT">TIMED_OUT</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ErrorType.READ_ERROR">READ_ERROR</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ErrorType.WRITE_ERROR">WRITE_ERROR</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ErrorType.EXPIRED">EXPIRED</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ErrorType.KILLED">KILLED</a></code> | *No description.* |

---

##### `FAULT` <a name="FAULT" id="cdk-monitoring-constructs.ErrorType.FAULT"></a>

---


##### `ERROR` <a name="ERROR" id="cdk-monitoring-constructs.ErrorType.ERROR"></a>

---


##### `SYSTEM_ERROR` <a name="SYSTEM_ERROR" id="cdk-monitoring-constructs.ErrorType.SYSTEM_ERROR"></a>

---


##### `USER_ERROR` <a name="USER_ERROR" id="cdk-monitoring-constructs.ErrorType.USER_ERROR"></a>

---


##### `FAILURE` <a name="FAILURE" id="cdk-monitoring-constructs.ErrorType.FAILURE"></a>

---


##### `ABORTED` <a name="ABORTED" id="cdk-monitoring-constructs.ErrorType.ABORTED"></a>

---


##### `THROTTLED` <a name="THROTTLED" id="cdk-monitoring-constructs.ErrorType.THROTTLED"></a>

---


##### `TIMED_OUT` <a name="TIMED_OUT" id="cdk-monitoring-constructs.ErrorType.TIMED_OUT"></a>

---


##### `READ_ERROR` <a name="READ_ERROR" id="cdk-monitoring-constructs.ErrorType.READ_ERROR"></a>

---


##### `WRITE_ERROR` <a name="WRITE_ERROR" id="cdk-monitoring-constructs.ErrorType.WRITE_ERROR"></a>

---


##### `EXPIRED` <a name="EXPIRED" id="cdk-monitoring-constructs.ErrorType.EXPIRED"></a>

---


##### `KILLED` <a name="KILLED" id="cdk-monitoring-constructs.ErrorType.KILLED"></a>

---


### GraphWidgetType <a name="GraphWidgetType" id="cdk-monitoring-constructs.GraphWidgetType"></a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.GraphWidgetType.LINE">LINE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GraphWidgetType.STACKED_AREA">STACKED_AREA</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GraphWidgetType.PIE">PIE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GraphWidgetType.BAR">BAR</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GraphWidgetType.SINGLE_VALUE">SINGLE_VALUE</a></code> | *No description.* |

---

##### `LINE` <a name="LINE" id="cdk-monitoring-constructs.GraphWidgetType.LINE"></a>

---


##### `STACKED_AREA` <a name="STACKED_AREA" id="cdk-monitoring-constructs.GraphWidgetType.STACKED_AREA"></a>

---


##### `PIE` <a name="PIE" id="cdk-monitoring-constructs.GraphWidgetType.PIE"></a>

---


##### `BAR` <a name="BAR" id="cdk-monitoring-constructs.GraphWidgetType.BAR"></a>

---


##### `SINGLE_VALUE` <a name="SINGLE_VALUE" id="cdk-monitoring-constructs.GraphWidgetType.SINGLE_VALUE"></a>

---


### HeaderLevel <a name="HeaderLevel" id="cdk-monitoring-constructs.HeaderLevel"></a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.HeaderLevel.LARGE">LARGE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.HeaderLevel.MEDIUM">MEDIUM</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.HeaderLevel.SMALL">SMALL</a></code> | *No description.* |

---

##### `LARGE` <a name="LARGE" id="cdk-monitoring-constructs.HeaderLevel.LARGE"></a>

---


##### `MEDIUM` <a name="MEDIUM" id="cdk-monitoring-constructs.HeaderLevel.MEDIUM"></a>

---


##### `SMALL` <a name="SMALL" id="cdk-monitoring-constructs.HeaderLevel.SMALL"></a>

---


### LatencyType <a name="LatencyType" id="cdk-monitoring-constructs.LatencyType"></a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.LatencyType.P50">P50</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.P70">P70</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.P90">P90</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.P95">P95</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.P99">P99</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.P999">P999</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.P9999">P9999</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.P100">P100</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.TM50">TM50</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.TM70">TM70</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.TM90">TM90</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.TM95">TM95</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.TM99">TM99</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.TM999">TM999</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.TM9999">TM9999</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.AVERAGE">AVERAGE</a></code> | *No description.* |

---

##### `P50` <a name="P50" id="cdk-monitoring-constructs.LatencyType.P50"></a>

---


##### `P70` <a name="P70" id="cdk-monitoring-constructs.LatencyType.P70"></a>

---


##### `P90` <a name="P90" id="cdk-monitoring-constructs.LatencyType.P90"></a>

---


##### `P95` <a name="P95" id="cdk-monitoring-constructs.LatencyType.P95"></a>

---


##### `P99` <a name="P99" id="cdk-monitoring-constructs.LatencyType.P99"></a>

---


##### `P999` <a name="P999" id="cdk-monitoring-constructs.LatencyType.P999"></a>

---


##### `P9999` <a name="P9999" id="cdk-monitoring-constructs.LatencyType.P9999"></a>

---


##### `P100` <a name="P100" id="cdk-monitoring-constructs.LatencyType.P100"></a>

---


##### `TM50` <a name="TM50" id="cdk-monitoring-constructs.LatencyType.TM50"></a>

---


##### `TM70` <a name="TM70" id="cdk-monitoring-constructs.LatencyType.TM70"></a>

---


##### `TM90` <a name="TM90" id="cdk-monitoring-constructs.LatencyType.TM90"></a>

---


##### `TM95` <a name="TM95" id="cdk-monitoring-constructs.LatencyType.TM95"></a>

---


##### `TM99` <a name="TM99" id="cdk-monitoring-constructs.LatencyType.TM99"></a>

---


##### `TM999` <a name="TM999" id="cdk-monitoring-constructs.LatencyType.TM999"></a>

---


##### `TM9999` <a name="TM9999" id="cdk-monitoring-constructs.LatencyType.TM9999"></a>

---


##### `AVERAGE` <a name="AVERAGE" id="cdk-monitoring-constructs.LatencyType.AVERAGE"></a>

---


### LogLevel <a name="LogLevel" id="cdk-monitoring-constructs.LogLevel"></a>

Level of a given log.

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.LogLevel.ERROR">ERROR</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogLevel.CRITICAL">CRITICAL</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogLevel.FATAL">FATAL</a></code> | *No description.* |

---

##### `ERROR` <a name="ERROR" id="cdk-monitoring-constructs.LogLevel.ERROR"></a>

---


##### `CRITICAL` <a name="CRITICAL" id="cdk-monitoring-constructs.LogLevel.CRITICAL"></a>

---


##### `FATAL` <a name="FATAL" id="cdk-monitoring-constructs.LogLevel.FATAL"></a>

---


### MetricStatistic <a name="MetricStatistic" id="cdk-monitoring-constructs.MetricStatistic"></a>

Metric aggregation statistic to be used with the IMetric objects.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html)

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.P50">P50</a></code> | 50th percentile of all datapoints. |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.P70">P70</a></code> | 70th percentile of all datapoints. |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.P90">P90</a></code> | 90th percentile of all datapoints. |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.P95">P95</a></code> | 95th percentile of all datapoints. |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.P99">P99</a></code> | 99th percentile of all datapoints. |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.P999">P999</a></code> | 99.9th percentile of all datapoints. |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.P9999">P9999</a></code> | 99.99th percentile of all datapoints. |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.P100">P100</a></code> | 100th percentile of all datapoints. |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM50">TM50</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM70">TM70</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM90">TM90</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM95">TM95</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM99">TM99</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM999">TM999</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM9999">TM9999</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM99_BOTH">TM99_BOTH</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM95_BOTH">TM95_BOTH</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM90_BOTH">TM90_BOTH</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM85_BOTH">TM85_BOTH</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM80_BOTH">TM80_BOTH</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM75_BOTH">TM75_BOTH</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM70_BOTH">TM70_BOTH</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM50">WM50</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM70">WM70</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM90">WM90</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM95">WM95</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM99">WM99</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM999">WM999</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM9999">WM9999</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM99_BOTH">WM99_BOTH</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM95_BOTH">WM95_BOTH</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM90_BOTH">WM90_BOTH</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM85_BOTH">WM85_BOTH</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM80_BOTH">WM80_BOTH</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM75_BOTH">WM75_BOTH</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.WM70_BOTH">WM70_BOTH</a></code> | winsorized mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.MIN">MIN</a></code> | minimum of all datapoints. |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.MAX">MAX</a></code> | maximum of all datapoints. |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.SUM">SUM</a></code> | sum of all datapoints. |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.AVERAGE">AVERAGE</a></code> | average of all datapoints. |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.N">N</a></code> | number of datapoints. |

---

##### `P50` <a name="P50" id="cdk-monitoring-constructs.MetricStatistic.P50"></a>

50th percentile of all datapoints.

---


##### `P70` <a name="P70" id="cdk-monitoring-constructs.MetricStatistic.P70"></a>

70th percentile of all datapoints.

---


##### `P90` <a name="P90" id="cdk-monitoring-constructs.MetricStatistic.P90"></a>

90th percentile of all datapoints.

---


##### `P95` <a name="P95" id="cdk-monitoring-constructs.MetricStatistic.P95"></a>

95th percentile of all datapoints.

---


##### `P99` <a name="P99" id="cdk-monitoring-constructs.MetricStatistic.P99"></a>

99th percentile of all datapoints.

---


##### `P999` <a name="P999" id="cdk-monitoring-constructs.MetricStatistic.P999"></a>

99.9th percentile of all datapoints.

---


##### `P9999` <a name="P9999" id="cdk-monitoring-constructs.MetricStatistic.P9999"></a>

99.99th percentile of all datapoints.

---


##### `P100` <a name="P100" id="cdk-monitoring-constructs.MetricStatistic.P100"></a>

100th percentile of all datapoints.

---


##### `TM50` <a name="TM50" id="cdk-monitoring-constructs.MetricStatistic.TM50"></a>

trimmed mean;

calculates the average after removing the 50% of data points with the highest values

---


##### `TM70` <a name="TM70" id="cdk-monitoring-constructs.MetricStatistic.TM70"></a>

trimmed mean;

calculates the average after removing the 30% of data points with the highest values

---


##### `TM90` <a name="TM90" id="cdk-monitoring-constructs.MetricStatistic.TM90"></a>

trimmed mean;

calculates the average after removing the 10% of data points with the highest values

---


##### `TM95` <a name="TM95" id="cdk-monitoring-constructs.MetricStatistic.TM95"></a>

trimmed mean;

calculates the average after removing the 5% of data points with the highest values

---


##### `TM99` <a name="TM99" id="cdk-monitoring-constructs.MetricStatistic.TM99"></a>

trimmed mean;

calculates the average after removing the 1% of data points with the highest values

---


##### `TM999` <a name="TM999" id="cdk-monitoring-constructs.MetricStatistic.TM999"></a>

trimmed mean;

calculates the average after removing the 0.1% of data points with the highest values

---


##### `TM9999` <a name="TM9999" id="cdk-monitoring-constructs.MetricStatistic.TM9999"></a>

trimmed mean;

calculates the average after removing the 0.01% of data points with the highest values

---


##### `TM99_BOTH` <a name="TM99_BOTH" id="cdk-monitoring-constructs.MetricStatistic.TM99_BOTH"></a>

trimmed mean;

calculates the average after removing the 1% lowest data points and the 1% highest data points

---


##### `TM95_BOTH` <a name="TM95_BOTH" id="cdk-monitoring-constructs.MetricStatistic.TM95_BOTH"></a>

trimmed mean;

calculates the average after removing the 5% lowest data points and the 5% highest data points

---


##### `TM90_BOTH` <a name="TM90_BOTH" id="cdk-monitoring-constructs.MetricStatistic.TM90_BOTH"></a>

trimmed mean;

calculates the average after removing the 10% lowest data points and the 10% highest data points

---


##### `TM85_BOTH` <a name="TM85_BOTH" id="cdk-monitoring-constructs.MetricStatistic.TM85_BOTH"></a>

trimmed mean;

calculates the average after removing the 15% lowest data points and the 15% highest data points

---


##### `TM80_BOTH` <a name="TM80_BOTH" id="cdk-monitoring-constructs.MetricStatistic.TM80_BOTH"></a>

trimmed mean;

calculates the average after removing the 20% lowest data points and the 20% highest data points

---


##### `TM75_BOTH` <a name="TM75_BOTH" id="cdk-monitoring-constructs.MetricStatistic.TM75_BOTH"></a>

trimmed mean;

calculates the average after removing the 25% lowest data points and the 25% highest data points

---


##### `TM70_BOTH` <a name="TM70_BOTH" id="cdk-monitoring-constructs.MetricStatistic.TM70_BOTH"></a>

trimmed mean;

calculates the average after removing the 30% lowest data points and the 30% highest data points

---


##### `WM50` <a name="WM50" id="cdk-monitoring-constructs.MetricStatistic.WM50"></a>

winsorized mean;

calculates the average while treating the 50% of the highest values to be equal to the value at the 50th percentile

---


##### `WM70` <a name="WM70" id="cdk-monitoring-constructs.MetricStatistic.WM70"></a>

winsorized mean;

calculates the average while treating the 30% of the highest values to be equal to the value at the 70th percentile

---


##### `WM90` <a name="WM90" id="cdk-monitoring-constructs.MetricStatistic.WM90"></a>

winsorized mean;

calculates the average while treating the 10% of the highest values to be equal to the value at the 90th percentile

---


##### `WM95` <a name="WM95" id="cdk-monitoring-constructs.MetricStatistic.WM95"></a>

winsorized mean;

calculates the average while treating the 5% of the highest values to be equal to the value at the 95th percentile

---


##### `WM99` <a name="WM99" id="cdk-monitoring-constructs.MetricStatistic.WM99"></a>

winsorized mean;

calculates the average while treating the 1% of the highest values to be equal to the value at the 99th percentile

---


##### `WM999` <a name="WM999" id="cdk-monitoring-constructs.MetricStatistic.WM999"></a>

winsorized mean;

calculates the average while treating the 0.1% of the highest values to be equal to the value at the 99.9th percentile

---


##### `WM9999` <a name="WM9999" id="cdk-monitoring-constructs.MetricStatistic.WM9999"></a>

winsorized mean;

calculates the average while treating the 0.01% of the highest values to be equal to the value at the 99.99th percentile

---


##### `WM99_BOTH` <a name="WM99_BOTH" id="cdk-monitoring-constructs.MetricStatistic.WM99_BOTH"></a>

winsorized mean;

calculates the average while treating the highest 1% of data points to be the value of the 99% boundary, and treating the lowest 1% of data points to be the value of the 1% boundary

---


##### `WM95_BOTH` <a name="WM95_BOTH" id="cdk-monitoring-constructs.MetricStatistic.WM95_BOTH"></a>

winsorized mean;

calculates the average while treating the highest 5% of data points to be the value of the 95% boundary, and treating the lowest 5% of data points to be the value of the 5% boundary

---


##### `WM90_BOTH` <a name="WM90_BOTH" id="cdk-monitoring-constructs.MetricStatistic.WM90_BOTH"></a>

winsorized mean;

calculates the average while treating the highest 10% of data points to be the value of the 90% boundary, and treating the lowest 10% of data points to be the value of the 10% boundary

---


##### `WM85_BOTH` <a name="WM85_BOTH" id="cdk-monitoring-constructs.MetricStatistic.WM85_BOTH"></a>

winsorized mean;

calculates the average while treating the highest 15% of data points to be the value of the 85% boundary, and treating the lowest 15% of data points to be the value of the 15% boundary

---


##### `WM80_BOTH` <a name="WM80_BOTH" id="cdk-monitoring-constructs.MetricStatistic.WM80_BOTH"></a>

winsorized mean;

calculates the average while treating the highest 20% of data points to be the value of the 80% boundary, and treating the lowest 20% of data points to be the value of the 20% boundary

---


##### `WM75_BOTH` <a name="WM75_BOTH" id="cdk-monitoring-constructs.MetricStatistic.WM75_BOTH"></a>

winsorized mean;

calculates the average while treating the highest 25% of data points to be the value of the 75% boundary, and treating the lowest 25% of data points to be the value of the 25% boundary

---


##### `WM70_BOTH` <a name="WM70_BOTH" id="cdk-monitoring-constructs.MetricStatistic.WM70_BOTH"></a>

winsorized mean;

calculates the average while treating the highest 30% of data points to be the value of the 70% boundary, and treating the lowest 30% of data points to be the value of the 30% boundary

---


##### `MIN` <a name="MIN" id="cdk-monitoring-constructs.MetricStatistic.MIN"></a>

minimum of all datapoints.

---


##### `MAX` <a name="MAX" id="cdk-monitoring-constructs.MetricStatistic.MAX"></a>

maximum of all datapoints.

---


##### `SUM` <a name="SUM" id="cdk-monitoring-constructs.MetricStatistic.SUM"></a>

sum of all datapoints.

---


##### `AVERAGE` <a name="AVERAGE" id="cdk-monitoring-constructs.MetricStatistic.AVERAGE"></a>

average of all datapoints.

---


##### `N` <a name="N" id="cdk-monitoring-constructs.MetricStatistic.N"></a>

number of datapoints.

---


### OpenSearchClusterStatus <a name="OpenSearchClusterStatus" id="cdk-monitoring-constructs.OpenSearchClusterStatus"></a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatus.RED">RED</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatus.YELLOW">YELLOW</a></code> | *No description.* |

---

##### `RED` <a name="RED" id="cdk-monitoring-constructs.OpenSearchClusterStatus.RED"></a>

---


##### `YELLOW` <a name="YELLOW" id="cdk-monitoring-constructs.OpenSearchClusterStatus.YELLOW"></a>

---


### RateComputationMethod <a name="RateComputationMethod" id="cdk-monitoring-constructs.RateComputationMethod"></a>

Enumeration of different rate computation methods.

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.RateComputationMethod.AVERAGE">AVERAGE</a></code> | Number of occurrences relative to requests. |
| <code><a href="#cdk-monitoring-constructs.RateComputationMethod.PER_SECOND">PER_SECOND</a></code> | Number of occurrences per second. |
| <code><a href="#cdk-monitoring-constructs.RateComputationMethod.PER_MINUTE">PER_MINUTE</a></code> | Number of occurrences per minute. |
| <code><a href="#cdk-monitoring-constructs.RateComputationMethod.PER_HOUR">PER_HOUR</a></code> | Number of occurrences per hour. |
| <code><a href="#cdk-monitoring-constructs.RateComputationMethod.PER_DAY">PER_DAY</a></code> | Number of occurrences per day. |

---

##### `AVERAGE` <a name="AVERAGE" id="cdk-monitoring-constructs.RateComputationMethod.AVERAGE"></a>

Number of occurrences relative to requests.

Less sensitive than per-second when TPS > 1.

---


##### `PER_SECOND` <a name="PER_SECOND" id="cdk-monitoring-constructs.RateComputationMethod.PER_SECOND"></a>

Number of occurrences per second.

More sensitive than average when TPS > 1.

---


##### `PER_MINUTE` <a name="PER_MINUTE" id="cdk-monitoring-constructs.RateComputationMethod.PER_MINUTE"></a>

Number of occurrences per minute.

---


##### `PER_HOUR` <a name="PER_HOUR" id="cdk-monitoring-constructs.RateComputationMethod.PER_HOUR"></a>

Number of occurrences per hour.

---


##### `PER_DAY` <a name="PER_DAY" id="cdk-monitoring-constructs.RateComputationMethod.PER_DAY"></a>

Number of occurrences per day.

---


### StorageType <a name="StorageType" id="cdk-monitoring-constructs.StorageType"></a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.StorageType.DEEP_ARCHIVE_OBJECT_OVERHEAD">DEEP_ARCHIVE_OBJECT_OVERHEAD</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.DEEP_ARCHIVE_S3_OBJECT_OVERHEAD">DEEP_ARCHIVE_S3_OBJECT_OVERHEAD</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.DEEP_ARCHIVE_STAGING_STORAGE">DEEP_ARCHIVE_STAGING_STORAGE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.DEEP_ARCHIVE_STORAGE">DEEP_ARCHIVE_STORAGE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.GLACIER_OBJECT_OVERHEAD">GLACIER_OBJECT_OVERHEAD</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.GLACIER_S3_OBJECT_OVERHEAD">GLACIER_S3_OBJECT_OVERHEAD</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.GLACIER_STAGING_STORAGE">GLACIER_STAGING_STORAGE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.GLACIER_STORAGE">GLACIER_STORAGE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.INTELLIGENT_TIERING_FA_STORAGE">INTELLIGENT_TIERING_FA_STORAGE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.INTELLIGENT_TIERING_IA_STORAGE">INTELLIGENT_TIERING_IA_STORAGE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.ONE_ZONE_IA_SIZE_OVERHEAD">ONE_ZONE_IA_SIZE_OVERHEAD</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.ONE_ZONE_IA_STORAGE">ONE_ZONE_IA_STORAGE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.REDUCED_REDUNDANCY_STORAGE">REDUCED_REDUNDANCY_STORAGE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.STANDARD_IA_SIZE_OVERHEAD">STANDARD_IA_SIZE_OVERHEAD</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.STANDARD_IA_STORAGE">STANDARD_IA_STORAGE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StorageType.STANDARD_STORAGE">STANDARD_STORAGE</a></code> | *No description.* |

---

##### `DEEP_ARCHIVE_OBJECT_OVERHEAD` <a name="DEEP_ARCHIVE_OBJECT_OVERHEAD" id="cdk-monitoring-constructs.StorageType.DEEP_ARCHIVE_OBJECT_OVERHEAD"></a>

---


##### `DEEP_ARCHIVE_S3_OBJECT_OVERHEAD` <a name="DEEP_ARCHIVE_S3_OBJECT_OVERHEAD" id="cdk-monitoring-constructs.StorageType.DEEP_ARCHIVE_S3_OBJECT_OVERHEAD"></a>

---


##### `DEEP_ARCHIVE_STAGING_STORAGE` <a name="DEEP_ARCHIVE_STAGING_STORAGE" id="cdk-monitoring-constructs.StorageType.DEEP_ARCHIVE_STAGING_STORAGE"></a>

---


##### `DEEP_ARCHIVE_STORAGE` <a name="DEEP_ARCHIVE_STORAGE" id="cdk-monitoring-constructs.StorageType.DEEP_ARCHIVE_STORAGE"></a>

---


##### `GLACIER_OBJECT_OVERHEAD` <a name="GLACIER_OBJECT_OVERHEAD" id="cdk-monitoring-constructs.StorageType.GLACIER_OBJECT_OVERHEAD"></a>

---


##### `GLACIER_S3_OBJECT_OVERHEAD` <a name="GLACIER_S3_OBJECT_OVERHEAD" id="cdk-monitoring-constructs.StorageType.GLACIER_S3_OBJECT_OVERHEAD"></a>

---


##### `GLACIER_STAGING_STORAGE` <a name="GLACIER_STAGING_STORAGE" id="cdk-monitoring-constructs.StorageType.GLACIER_STAGING_STORAGE"></a>

---


##### `GLACIER_STORAGE` <a name="GLACIER_STORAGE" id="cdk-monitoring-constructs.StorageType.GLACIER_STORAGE"></a>

---


##### `INTELLIGENT_TIERING_FA_STORAGE` <a name="INTELLIGENT_TIERING_FA_STORAGE" id="cdk-monitoring-constructs.StorageType.INTELLIGENT_TIERING_FA_STORAGE"></a>

---


##### `INTELLIGENT_TIERING_IA_STORAGE` <a name="INTELLIGENT_TIERING_IA_STORAGE" id="cdk-monitoring-constructs.StorageType.INTELLIGENT_TIERING_IA_STORAGE"></a>

---


##### `ONE_ZONE_IA_SIZE_OVERHEAD` <a name="ONE_ZONE_IA_SIZE_OVERHEAD" id="cdk-monitoring-constructs.StorageType.ONE_ZONE_IA_SIZE_OVERHEAD"></a>

---


##### `ONE_ZONE_IA_STORAGE` <a name="ONE_ZONE_IA_STORAGE" id="cdk-monitoring-constructs.StorageType.ONE_ZONE_IA_STORAGE"></a>

---


##### `REDUCED_REDUNDANCY_STORAGE` <a name="REDUCED_REDUNDANCY_STORAGE" id="cdk-monitoring-constructs.StorageType.REDUCED_REDUNDANCY_STORAGE"></a>

---


##### `STANDARD_IA_SIZE_OVERHEAD` <a name="STANDARD_IA_SIZE_OVERHEAD" id="cdk-monitoring-constructs.StorageType.STANDARD_IA_SIZE_OVERHEAD"></a>

---


##### `STANDARD_IA_STORAGE` <a name="STANDARD_IA_STORAGE" id="cdk-monitoring-constructs.StorageType.STANDARD_IA_STORAGE"></a>

---


##### `STANDARD_STORAGE` <a name="STANDARD_STORAGE" id="cdk-monitoring-constructs.StorageType.STANDARD_STORAGE"></a>

---


### UsageType <a name="UsageType" id="cdk-monitoring-constructs.UsageType"></a>

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.UsageType.P50">P50</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageType.P70">P70</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageType.P90">P90</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageType.P99">P99</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageType.P999">P999</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageType.P9999">P9999</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageType.P100">P100</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageType.AVERAGE">AVERAGE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageType.MAX">MAX</a></code> | *No description.* |

---

##### `P50` <a name="P50" id="cdk-monitoring-constructs.UsageType.P50"></a>

---


##### `P70` <a name="P70" id="cdk-monitoring-constructs.UsageType.P70"></a>

---


##### `P90` <a name="P90" id="cdk-monitoring-constructs.UsageType.P90"></a>

---


##### `P99` <a name="P99" id="cdk-monitoring-constructs.UsageType.P99"></a>

---


##### `P999` <a name="P999" id="cdk-monitoring-constructs.UsageType.P999"></a>

---


##### `P9999` <a name="P9999" id="cdk-monitoring-constructs.UsageType.P9999"></a>

---


##### `P100` <a name="P100" id="cdk-monitoring-constructs.UsageType.P100"></a>

---


##### `AVERAGE` <a name="AVERAGE" id="cdk-monitoring-constructs.UsageType.AVERAGE"></a>

---


##### `MAX` <a name="MAX" id="cdk-monitoring-constructs.UsageType.MAX"></a>

---

