# 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.addVariable">addVariable</a></code> | Add a variable to the dashboard. |
| <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

---

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

```typescript
public addVariable(variable: IVariable): void
```

Add a variable to the dashboard.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html)

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

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

---

##### `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.isOwnedResource">isOwnedResource</a></code> | Returns true if the construct was created by CDK, and false otherwise. |
| <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.

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

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

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

- *Type:* any

Any object.

---

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

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

BitmapDashboard.isOwnedResource(construct: IConstruct)
```

Returns true if the construct was created by CDK, and false otherwise.

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

- *Type:* constructs.IConstruct

---

##### `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. |
| <code><a href="#cdk-monitoring-constructs.BitmapDashboard.property.dashboardArn">dashboardArn</a></code> | <code>string</code> | ARN of this dashboard. |
| <code><a href="#cdk-monitoring-constructs.BitmapDashboard.property.dashboardName">dashboardName</a></code> | <code>string</code> | The name of this dashboard. |

---

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

---

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

```typescript
public readonly dashboardArn: string;
```

- *Type:* string

ARN of this dashboard.

---

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

```typescript
public readonly dashboardName: string;
```

- *Type:* string

The name of this dashboard.

---


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

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

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

###### `x`<sup>Required</sup> <a name="x" id="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.addVariable">addVariable</a></code> | Add a variable to the dashboard. |
| <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

---

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

```typescript
public addVariable(variable: IVariable): void
```

Add a variable to the dashboard.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html)

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

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

---

##### `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.isOwnedResource">isOwnedResource</a></code> | Returns true if the construct was created by CDK, and false otherwise. |
| <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.

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

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

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

- *Type:* any

Any object.

---

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

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

DashboardWithBitmapCopy.isOwnedResource(construct: IConstruct)
```

Returns true if the construct was created by CDK, and false otherwise.

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

- *Type:* constructs.IConstruct

---

##### `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. |
| <code><a href="#cdk-monitoring-constructs.DashboardWithBitmapCopy.property.dashboardArn">dashboardArn</a></code> | <code>string</code> | ARN of this dashboard. |
| <code><a href="#cdk-monitoring-constructs.DashboardWithBitmapCopy.property.dashboardName">dashboardName</a></code> | <code>string</code> | The name of this dashboard. |

---

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

---

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

```typescript
public readonly dashboardArn: string;
```

- *Type:* string

ARN of this dashboard.

---

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

```typescript
public readonly dashboardName: string;
```

- *Type:* string

The name of this dashboard.

---


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

- *Implements:* <a href="#cdk-monitoring-constructs.IDashboardFactory">IDashboardFactory</a>, <a href="#cdk-monitoring-constructs.IDynamicDashboardFactory">IDynamicDashboardFactory</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.addDynamicSegment">addDynamicSegment</a></code> | Adds a dynamic dashboard segment. |
| <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.* |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboardFactory.getDashboard">getDashboard</a></code> | Gets the dashboard for the requested dashboard type. |

---

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

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

Returns a string representation of this construct.

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

```typescript
public addDynamicSegment(segment: IDynamicDashboardSegment): void
```

Adds a dynamic dashboard segment.

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

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

---

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

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

```typescript
public getDashboard(name: string): Dashboard
```

Gets the dashboard for the requested dashboard type.

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

- *Type:* string

---

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

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

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

###### `x`<sup>Required</sup> <a name="x" id="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.dashboards">dashboards</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.Dashboard}</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

---

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

```typescript
public readonly dashboards: {[ key: string ]: Dashboard};
```

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.Dashboard}

---

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

---


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

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

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

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

new DynamicDashboardFactory(scope: Construct, id: string, props: MonitoringDynamicDashboardsProps)
```

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

---

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

- *Type:* constructs.Construct

---

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

- *Type:* string

---

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

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

---

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

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamicDashboardFactory.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#cdk-monitoring-constructs.DynamicDashboardFactory.addDynamicSegment">addDynamicSegment</a></code> | Adds a dynamic dashboard segment. |
| <code><a href="#cdk-monitoring-constructs.DynamicDashboardFactory.getDashboard">getDashboard</a></code> | Gets the dashboard for the requested dashboard type. |

---

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

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

Returns a string representation of this construct.

##### `addDynamicSegment` <a name="addDynamicSegment" id="cdk-monitoring-constructs.DynamicDashboardFactory.addDynamicSegment"></a>

```typescript
public addDynamicSegment(segment: IDynamicDashboardSegment): void
```

Adds a dynamic dashboard segment.

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

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

---

##### `getDashboard` <a name="getDashboard" id="cdk-monitoring-constructs.DynamicDashboardFactory.getDashboard"></a>

```typescript
public getDashboard(type: string): Dashboard
```

Gets the dashboard for the requested dashboard type.

###### `type`<sup>Required</sup> <a name="type" id="cdk-monitoring-constructs.DynamicDashboardFactory.getDashboard.parameter.type"></a>

- *Type:* string

---

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

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

---

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

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

DynamicDashboardFactory.isConstruct(x: any)
```

Checks if `x` is a construct.

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

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

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

- *Type:* any

Any object.

---

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamicDashboardFactory.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#cdk-monitoring-constructs.DynamicDashboardFactory.property.dashboards">dashboards</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.Dashboard}</code> | *No description.* |

---

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

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

- *Type:* constructs.Node

The tree node.

---

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

```typescript
public readonly dashboards: {[ key: string ]: Dashboard};
```

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.Dashboard}

---


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

An implementation of a {@link MonitoringScope}.

This is a convenient main entrypoint to monitor resources.

Provides methods for retrieving and creating alarms based on added segments that are subclasses of
{@link 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.addDynamicSegment">addDynamicSegment</a></code> | Adds a dashboard segment which returns dynamic content depending on dashboard type. |
| <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> | Adds a dashboard segment to go on one of the {@link DefaultDashboards}. |
| <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.cloneAlarms">cloneAlarms</a></code> | Applies a cloning function to each of the given alarms, creating a new collection of alarms that are adjusted by the function. |
| <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 added segments that subclass {@link Monitoring} 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.createdCompositeAlarms">createdCompositeAlarms</a></code> | Returns the added composite alarms. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createdDashboard">createdDashboard</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createdDashboardSegments">createdDashboardSegments</a></code> | Returns all the added segments. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.createdMonitorings">createdMonitorings</a></code> | Returns the added segments that subclass {@link Monitoring}. |
| <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.monitorAuroraCluster">monitorAuroraCluster</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.monitorFluentBit">monitorFluentBit</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.monitorKinesisDataStreamConsumer">monitorKinesisDataStreamConsumer</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.monitorOpenSearchIngestionPipeline">monitorOpenSearchIngestionPipeline</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorOpenSearchServerlessCollection">monitorOpenSearchServerlessCollection</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorOpenSearchServerlessIndex">monitorOpenSearchServerlessIndex</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.monitorRdsInstance">monitorRdsInstance</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> | Uses an aspect to automatically monitor all resources in the given scope. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorSecretsManager">monitorSecretsManager</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorSecretsManagerSecret">monitorSecretsManagerSecret</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.monitorServerlessElastiCache">monitorServerlessElastiCache</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.

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

```typescript
public addDynamicSegment(segment: IDynamicDashboardSegment): MonitoringFacade
```

Adds a dashboard segment which returns dynamic content depending on dashboard type.

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

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

dynamic segment to add.

---

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

Adds a dashboard segment to go on one of the {@link DefaultDashboards}.

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

segment to add.

---

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

props to specify which default dashboards this segment is added to.

---

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

---

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

```typescript
public cloneAlarms(sourceAlarms: AlarmWithAnnotation[], cloneFunction: AlarmCloneFunction): AlarmWithAnnotation[]
```

Applies a cloning function to each of the given alarms, creating a new collection of alarms that are adjusted by the function.

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

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

The alarms that should be used as sources for the clones.

---

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

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

A function that will accept a source alarm and determine whether and how a new alarm should be cloned from it.

---

##### `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 added segments that subclass {@link Monitoring} 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.

---

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

```typescript
public createdCompositeAlarms(): CompositeAlarm[]
```

Returns the added composite alarms.

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

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

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

```typescript
public createdDashboardSegments(): (IDashboardSegment | IDynamicDashboardSegment)[]
```

Returns all the added segments.

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

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

Returns the added segments that subclass {@link Monitoring}.

##### ~~`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>

---

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

```typescript
public monitorAuroraCluster(props: AuroraClusterMonitoringProps): MonitoringFacade
```

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

- *Type:* <a href="#cdk-monitoring-constructs.AuroraClusterMonitoringProps">AuroraClusterMonitoringProps</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>

---

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

```typescript
public monitorFluentBit(props: FluentBitMonitoringProps): MonitoringFacade
```

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

- *Type:* <a href="#cdk-monitoring-constructs.FluentBitMonitoringProps">FluentBitMonitoringProps</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>

---

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

```typescript
public monitorKinesisDataStreamConsumer(props: KinesisDataStreamConsumerMonitoringProps): MonitoringFacade
```

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

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps">KinesisDataStreamConsumerMonitoringProps</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>

---

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

```typescript
public monitorOpenSearchIngestionPipeline(props: OpenSearchIngestionPipelineMonitoringProps): MonitoringFacade
```

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

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

---

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

```typescript
public monitorOpenSearchServerlessCollection(props: OpenSearchServerlessMonitoringProps): MonitoringFacade
```

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

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

---

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

```typescript
public monitorOpenSearchServerlessIndex(props: OpenSearchServerlessIndexMonitoringProps): MonitoringFacade
```

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

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps">OpenSearchServerlessIndexMonitoringProps</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>

---

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

```typescript
public monitorRdsInstance(props: RdsInstanceMonitoringProps): MonitoringFacade
```

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

- *Type:* <a href="#cdk-monitoring-constructs.RdsInstanceMonitoringProps">RdsInstanceMonitoringProps</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): MonitoringFacade
```

Uses an aspect to automatically monitor all resources in the given scope.

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

- *Type:* constructs.Construct

Scope with resources to monitor.

---

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

Optional configuration.

---

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

```typescript
public monitorSecretsManager(props: SecretsManagerMonitoringProps): MonitoringFacade
```

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

- *Type:* <a href="#cdk-monitoring-constructs.SecretsManagerMonitoringProps">SecretsManagerMonitoringProps</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>

---

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

```typescript
public monitorServerlessElastiCache(props: ElastiCacheServerlessMonitoringProps): MonitoringFacade
```

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

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps">ElastiCacheServerlessMonitoringProps</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.

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

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

###### `x`<sup>Required</sup> <a name="x" id="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. |
| <code><a href="#cdk-monitoring-constructs.MonitoringFacade.property.dashboardFactory">dashboardFactory</a></code> | <code><a href="#cdk-monitoring-constructs.IDynamicDashboardFactory">IDynamicDashboardFactory</a></code> | *No description.* |

---

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

---

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

```typescript
public readonly dashboardFactory: IDynamicDashboardFactory;
```

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

---


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

A scope where all monitored constructs are managed from (i.e., alarms, dashboards, etc.).

Standard usages will use {@link MonitoringFacade }.

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

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

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

###### `x`<sup>Required</sup> <a name="x" id="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.

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

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

###### `x`<sup>Required</sup> <a name="x" id="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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <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.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <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. |
| <code><a href="#cdk-monitoring-constructs.AddAlarmProps.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |

---

##### `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 regions (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 regions (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.

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

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

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

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

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

### 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.actionsSuppressor">actionsSuppressor</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarm</code> | Actions will be suppressed if the suppressor alarm is in the ALARM state. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.actionsSuppressorExtensionPeriod">actionsSuppressorExtensionPeriod</a></code> | <code>aws-cdk-lib.Duration</code> | The maximum duration that the composite alarm waits after suppressor alarm goes out of the ALARM state. |
| <code><a href="#cdk-monitoring-constructs.AddCompositeAlarmProps.property.actionsSuppressorWaitPeriod">actionsSuppressorWaitPeriod</a></code> | <code>aws-cdk-lib.Duration</code> | The maximum duration that the composite alarm waits for the suppressor alarm to go into the ALARM state. |
| <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.

---

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

```typescript
public readonly actionsSuppressor: IAlarm;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IAlarm
- *Default:* no suppressor alarm

Actions will be suppressed if the suppressor alarm is in the ALARM state.

---

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

```typescript
public readonly actionsSuppressorExtensionPeriod: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* 60 seconds

The maximum duration that the composite alarm waits after suppressor alarm goes out of the ALARM state.

After this time, the composite alarm performs its actions.

---

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

```typescript
public readonly actionsSuppressorWaitPeriod: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* 60 seconds

The maximum duration that the composite alarm waits for the suppressor alarm to go into the ALARM state.

After this time, the composite alarm performs its 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 dedupeStringOverride.

---

##### `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.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</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.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</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: MathExpression | Metric;
```

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

---

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

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: 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

---

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

A function that, when given an alarm, returns modified inputs that can be used to create additional alarms, slightly adjusted from the original one.

The function can be used to clone alarms.

Implementers of this function can use the original alarm configuration to specify a new alarm,
or they can return undefined to skip the creation of an alarm.

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

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

const alarmCloneFunction: AlarmCloneFunction = { ... }
```


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

Describes the inputs to a single alarm's creation and configuration.

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

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

const alarmCreateDefinition: AlarmCreateDefinition = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AlarmCreateDefinition.property.addAlarmProps">addAlarmProps</a></code> | <code><a href="#cdk-monitoring-constructs.AddAlarmProps">AddAlarmProps</a></code> | The requested configuration for the alarm. |
| <code><a href="#cdk-monitoring-constructs.AlarmCreateDefinition.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | The alarm factory that created the alarm. |
| <code><a href="#cdk-monitoring-constructs.AlarmCreateDefinition.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.AlarmCreateDefinition.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.AlarmCreateDefinition.property.metric">metric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | The original, unadjusted metric on which the alarm was created. |

---

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

```typescript
public readonly addAlarmProps: AddAlarmProps;
```

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

The requested configuration for the alarm.

---

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

```typescript
public readonly alarmFactory: AlarmFactory;
```

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

The alarm factory that created the alarm.

---

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

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

- *Type:* number

Number of breaches required to transition into an ALARM state.

---

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

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

- *Type:* number

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

---

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

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

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

The original, unadjusted metric on which the alarm was created.

---

### 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.alarmNamingStrategy">alarmNamingStrategy</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmNamingStrategy">IAlarmNamingStrategy</a></code> | Custom strategy to name alarms. |
| <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.disambiguatorAction">disambiguatorAction</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>}</code> | Optional alarm action for each disambiguator. |
| <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 potential collisions.
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.

---

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

```typescript
public readonly alarmNamingStrategy: IAlarmNamingStrategy;
```

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

Custom strategy to name alarms.

---

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

---

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

```typescript
public readonly disambiguatorAction: {[ key: string ]: IAlarmActionStrategy};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>}
- *Default:* Global alarm action if defined.

Optional alarm action for each disambiguator.

---

##### `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.action">action</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a></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

---

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

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

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

---

##### `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.alarmDefinition">alarmDefinition</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmCreateDefinition">AlarmCreateDefinition</a></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

---

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

```typescript
public readonly alarmDefinition: AlarmCreateDefinition;
```

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

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.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.AnomalyDetectionThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.AnomalyDetectionThreshold.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.AnomalyDetectionThreshold.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.AnomalyDetectionThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

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

---

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

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

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

const apiGatewayAspectType: ApiGatewayAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions">ApiGatewayMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.ApiGatewayAspectType.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.ApiGatewayAspectType.property.props"></a>

```typescript
public readonly props: ApiGatewayMonitoringOptions;
```

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

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMetricFactoryProps.property.api">api</a></code> | <code>aws-cdk-lib.aws_apigateway.IRestApi</code> | API to monitor. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly api: IRestApi;
```

- *Type:* aws-cdk-lib.aws_apigateway.IRestApi

API to monitor.

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addLatencyTM95OutlierAlarm">addLatencyTM95OutlierAlarm</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.addLatencyTM9999OutlierAlarm">addLatencyTM9999OutlierAlarm</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.addLatencyTM999OutlierAlarm">addLatencyTM999OutlierAlarm</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.addLatencyTM99OutlierAlarm">addLatencyTM99OutlierAlarm</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. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>}

---

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

```typescript
public readonly addLatencyTM95OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM9999OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM999OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM99OutlierAlarm: {[ 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 (@see DefaultLatencyTypesToRender)

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

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoringProps.property.api">api</a></code> | <code>aws-cdk-lib.aws_apigateway.IRestApi</code> | API to monitor. |
| <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.addLatencyTM95OutlierAlarm">addLatencyTM95OutlierAlarm</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.addLatencyTM9999OutlierAlarm">addLatencyTM9999OutlierAlarm</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.addLatencyTM999OutlierAlarm">addLatencyTM999OutlierAlarm</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.addLatencyTM99OutlierAlarm">addLatencyTM99OutlierAlarm</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. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly api: IRestApi;
```

- *Type:* aws-cdk-lib.aws_apigateway.IRestApi

API to monitor.

---

##### `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>}

---

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

```typescript
public readonly addLatencyTM95OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM9999OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM999OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM99OutlierAlarm: {[ 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 (@see DefaultLatencyTypesToRender)

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

---

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

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

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

const apiGatewayV2AspectType: ApiGatewayV2AspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2AspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2AspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions">ApiGatewayV2MonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.ApiGatewayV2AspectType.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.ApiGatewayV2AspectType.property.props"></a>

```typescript
public readonly props: ApiGatewayV2MonitoringOptions;
```

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

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactoryProps.property.api">api</a></code> | <code>aws-cdk-lib.aws_apigatewayv2.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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly api: IHttpApi;
```

- *Type:* aws-cdk-lib.aws_apigatewayv2.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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoringProps.property.api">api</a></code> | <code>aws-cdk-lib.aws_apigatewayv2.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.addIntegrationLatencyTM95OutlierAlarm">addIntegrationLatencyTM95OutlierAlarm</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.addIntegrationLatencyTM9999OutlierAlarm">addIntegrationLatencyTM9999OutlierAlarm</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.addIntegrationLatencyTM999OutlierAlarm">addIntegrationLatencyTM999OutlierAlarm</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.addIntegrationLatencyTM99OutlierAlarm">addIntegrationLatencyTM99OutlierAlarm</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.addLatencyTM95OutlierAlarm">addLatencyTM95OutlierAlarm</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.addLatencyTM9999OutlierAlarm">addLatencyTM9999OutlierAlarm</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.addLatencyTM999OutlierAlarm">addLatencyTM999OutlierAlarm</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.addLatencyTM99OutlierAlarm">addLatencyTM99OutlierAlarm</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. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly api: IHttpApi;
```

- *Type:* aws-cdk-lib.aws_apigatewayv2.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>}

---

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

```typescript
public readonly addIntegrationLatencyTM95OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addIntegrationLatencyTM9999OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addIntegrationLatencyTM999OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addIntegrationLatencyTM99OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM95OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM9999OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM999OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM99OutlierAlarm: {[ 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 (@see DefaultLatencyTypesShown)

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

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2MonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addIntegrationLatencyTM95OutlierAlarm">addIntegrationLatencyTM95OutlierAlarm</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.addIntegrationLatencyTM9999OutlierAlarm">addIntegrationLatencyTM9999OutlierAlarm</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.addIntegrationLatencyTM999OutlierAlarm">addIntegrationLatencyTM999OutlierAlarm</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.addIntegrationLatencyTM99OutlierAlarm">addIntegrationLatencyTM99OutlierAlarm</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.addLatencyTM95OutlierAlarm">addLatencyTM95OutlierAlarm</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.addLatencyTM9999OutlierAlarm">addLatencyTM9999OutlierAlarm</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.addLatencyTM999OutlierAlarm">addLatencyTM999OutlierAlarm</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.addLatencyTM99OutlierAlarm">addLatencyTM99OutlierAlarm</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. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>}

---

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

```typescript
public readonly addIntegrationLatencyTM95OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addIntegrationLatencyTM9999OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addIntegrationLatencyTM999OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addIntegrationLatencyTM99OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM95OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM9999OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM999OutlierAlarm: {[ 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>}

---

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

```typescript
public readonly addLatencyTM99OutlierAlarm: {[ 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 (@see DefaultLatencyTypesShown)

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

---

### 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.invertStatisticsOfTaskCountEnabled">invertStatisticsOfTaskCountEnabled</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactoryProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactoryProps.property.applicationLoadBalancer">applicationLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactoryProps.property.applicationTargetGroup">applicationTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationTargetGroup</code> | *No description.* |

---

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

```typescript
public readonly invertStatisticsOfTaskCountEnabled: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly applicationLoadBalancer: IApplicationLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer

---

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

```typescript
public readonly applicationTargetGroup: IApplicationTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationTargetGroup

---

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

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

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

const appSyncAspectType: AppSyncAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AppSyncAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.AppSyncAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions">AppSyncMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.AppSyncAspectType.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.AppSyncAspectType.property.props"></a>

```typescript
public readonly props: AppSyncMonitoringOptions;
```

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

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactoryProps.property.api">api</a></code> | <code>aws-cdk-lib.aws_appsync.IGraphqlApi</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. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly api: IGraphqlApi;
```

- *Type:* aws-cdk-lib.aws_appsync.IGraphqlApi

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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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-lib.aws_appsync.IGraphqlApi</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. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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: IGraphqlApi;
```

- *Type:* aws-cdk-lib.aws_appsync.IGraphqlApi

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.

---

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

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

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

const auroraClusterAspectType: AuroraClusterAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringOptions">AuroraClusterMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.AuroraClusterAspectType.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.AuroraClusterAspectType.property.props"></a>

```typescript
public readonly props: AuroraClusterMonitoringOptions;
```

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

---

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

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

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

const auroraClusterMonitoringOptions: AuroraClusterMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringOptions.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.property.addMaxConnectionCountAlarm">addMaxConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringOptions.property.addMaxServerlessDatabaseCapacityAlarm">addMaxServerlessDatabaseCapacityAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageCountThreshold">UsageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringOptions.property.addMinConnectionCountAlarm">addMinConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>}</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.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.AuroraClusterMonitoringOptions.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

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

```typescript
public readonly addMaxConnectionCountAlarm: {[ key: string ]: HighConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}

---

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

```typescript
public readonly addMaxServerlessDatabaseCapacityAlarm: {[ key: string ]: UsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageCountThreshold">UsageCountThreshold</a>}

---

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

```typescript
public readonly addMinConnectionCountAlarm: {[ key: string ]: LowConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>}

---

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

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

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

const auroraClusterMonitoringProps: AuroraClusterMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_rds.IDatabaseCluster \| aws-cdk-lib.aws_rds.ServerlessCluster</code> | database cluster (either this or `clusterIdentifier` need to be specified). |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.property.addMaxConnectionCountAlarm">addMaxConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringProps.property.addMaxServerlessDatabaseCapacityAlarm">addMaxServerlessDatabaseCapacityAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageCountThreshold">UsageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringProps.property.addMinConnectionCountAlarm">addMinConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>}</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly cluster: IDatabaseCluster | ServerlessCluster;
```

- *Type:* aws-cdk-lib.aws_rds.IDatabaseCluster | aws-cdk-lib.aws_rds.ServerlessCluster

database cluster (either this or `clusterIdentifier` need to be specified).

---

##### ~~`clusterIdentifier`~~<sup>Optional</sup> <a name="clusterIdentifier" id="cdk-monitoring-constructs.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.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.AuroraClusterMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

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

```typescript
public readonly addMaxConnectionCountAlarm: {[ key: string ]: HighConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}

---

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

```typescript
public readonly addMaxServerlessDatabaseCapacityAlarm: {[ key: string ]: UsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageCountThreshold">UsageCountThreshold</a>}

---

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

```typescript
public readonly addMinConnectionCountAlarm: {[ key: string ]: LowConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>}

---

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

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

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

const autoScalingGroupAspectType: AutoScalingGroupAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions">AutoScalingGroupMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.AutoScalingGroupAspectType.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.AutoScalingGroupAspectType.property.props"></a>

```typescript
public readonly props: AutoScalingGroupMonitoringOptions;
```

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

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMetricFactoryProps.property.autoScalingGroup">autoScalingGroup</a></code> | <code>aws-cdk-lib.aws_autoscaling.IAutoScalingGroup</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.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.AvailabilityThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.AvailabilityThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.AvailabilityThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.AvailabilityThreshold.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.AvailabilityThreshold.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.AvailabilityThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No 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.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.BaseEc2ServiceAlarms.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</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. |

---

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

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `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>}

---

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

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

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

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No 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.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.BaseFargateServiceAlarms.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</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. |

---

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

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `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>}

---

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

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

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

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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.

---

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

Monitoring props for any type of Fargate service.

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

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

const baseFargateServiceMonitoringProps: BaseFargateServiceMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseFargateServiceMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.BaseFargateServiceMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.BaseFargateServiceMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.property.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.property.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.BaseFargateServiceMonitoringProps.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.property.minAutoScalingTaskCount">minAutoScalingTaskCount</a></code> | <code>number</code> | Minimum number of tasks, as specified in your auto scaling config. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.

---

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

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

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

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

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

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

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

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.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.BaseFargateServiceMonitoringProps.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

Minimum number of tasks, as specified in your auto scaling config.

---

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

Base of Monitoring props for load-balanced Fargate service.

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

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

const baseLoadBalancedFargateServiceMonitoringProps: BaseLoadBalancedFargateServiceMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseLoadBalancedFargateServiceMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.BaseLoadBalancedFargateServiceMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.BaseLoadBalancedFargateServiceMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.property.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.property.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.BaseLoadBalancedFargateServiceMonitoringProps.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.property.invertLoadBalancerTaskCountMetricsStatistics">invertLoadBalancerTaskCountMetricsStatistics</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.

---

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

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

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

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

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

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

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

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.property.minAutoScalingTaskCount"></a>

```typescript
public readonly minAutoScalingTaskCount: number;
```

- *Type:* number

Minimum number of tasks, as specified in your auto scaling config.

---

##### `addHealthyTaskCountAlarm`<sup>Optional</sup> <a name="addHealthyTaskCountAlarm" id="cdk-monitoring-constructs.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.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.BaseLoadBalancedFargateServiceMonitoringProps.property.addUnhealthyTaskCountAlarm"></a>

```typescript
public readonly addUnhealthyTaskCountAlarm: {[ key: string ]: UnhealthyTaskCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold">UnhealthyTaskCountThreshold</a>}

---

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

```typescript
public readonly invertLoadBalancerTaskCountMetricsStatistics: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

Base of Monitoring props for load-balancer metric factories.

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

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

const baseLoadBalancerMetricFactoryProps: BaseLoadBalancerMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseLoadBalancerMetricFactoryProps.property.invertStatisticsOfTaskCountEnabled">invertStatisticsOfTaskCountEnabled</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |

---

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

```typescript
public readonly invertStatisticsOfTaskCountEnabled: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

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

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

const baseMetricFactoryProps: BaseMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseMetricFactoryProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.BaseMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

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

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

const baseMonitoringAspectType: BaseMonitoringAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseMonitoringAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |

---

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

```typescript
public readonly enabled: boolean;
```

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

If the monitoring aspect is enabled for this resource.

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.BaseMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

---

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

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

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

const baseQueueProcessingFargateServiceMonitoringOptions: BaseQueueProcessingFargateServiceMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseQueueProcessingFargateServiceMonitoringOptions.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.BaseQueueProcessingFargateServiceMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.BaseQueueProcessingFargateServiceMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.property.addDeadLetterQueueAlarms">addDeadLetterQueueAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.BaseDlqAlarms">BaseDlqAlarms</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseQueueProcessingFargateServiceMonitoringOptions.property.addQueueAlarms">addQueueAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.BaseSqsQueueAlarms">BaseSqsQueueAlarms</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseQueueProcessingFargateServiceMonitoringOptions.property.addServiceAlarms">addServiceAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.BaseFargateServiceAlarms">BaseFargateServiceAlarms</a></code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.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.

---

##### `addDeadLetterQueueAlarms`<sup>Optional</sup> <a name="addDeadLetterQueueAlarms" id="cdk-monitoring-constructs.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.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.BaseQueueProcessingFargateServiceMonitoringOptions.property.addServiceAlarms"></a>

```typescript
public readonly addServiceAlarms: BaseFargateServiceAlarms;
```

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

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.BaseServiceMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.BaseServiceMetricFactoryProps.property.service">service</a></code> | <code>aws-cdk-lib.aws_ecs.IBaseService</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly service: IBaseService;
```

- *Type:* aws-cdk-lib.aws_ecs.IBaseService

---

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

---

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

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

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

const billingAspectType: BillingAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BillingAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.BillingAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.BillingMonitoringOptions">BillingMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.BillingAspectType.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.BillingAspectType.property.props"></a>

```typescript
public readonly props: BillingMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.BillingMonitoringOptions">BillingMonitoringOptions</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringOptions.property.addTotalCostAnomalyAlarm">addTotalCostAnomalyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold">AnomalyDetectionThreshold</a>}</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

---

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

```typescript
public readonly addTotalCostAnomalyAlarm: {[ key: string ]: AnomalyDetectionThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold">AnomalyDetectionThreshold</a>}

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoringProps.property.addTotalCostAnomalyAlarm">addTotalCostAnomalyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold">AnomalyDetectionThreshold</a>}</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

---

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

```typescript
public readonly addTotalCostAnomalyAlarm: {[ key: string ]: AnomalyDetectionThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.AnomalyDetectionThreshold">AnomalyDetectionThreshold</a>}

---

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

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

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

const certificateManagerAspectType: CertificateManagerAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringOptions">CertificateManagerMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.CertificateManagerAspectType.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.CertificateManagerAspectType.property.props"></a>

```typescript
public readonly props: CertificateManagerMonitoringOptions;
```

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

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMetricFactoryProps.property.certificate">certificate</a></code> | <code>aws-cdk-lib.aws_certificatemanager.ICertificate</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

---

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

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

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

const changeInSecretCountThreshold: ChangeInSecretCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.property.alarmWhenDecreased">alarmWhenDecreased</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.property.alarmWhenIncreased">alarmWhenIncreased</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.property.requiredSecretCount">requiredSecretCount</a></code> | <code>number</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold.property.additionalDescription">additionalDescription</a></code> | <code>string</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.ChangeInSecretCountThreshold.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.ChangeInSecretCountThreshold.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.

---

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

```typescript
public readonly alarmWhenDecreased: boolean;
```

- *Type:* boolean

---

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

```typescript
public readonly alarmWhenIncreased: boolean;
```

- *Type:* boolean

---

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

```typescript
public readonly requiredSecretCount: number;
```

- *Type:* number

---

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

```typescript
public readonly additionalDescription: string;
```

- *Type:* string

---

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

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

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

const cloudFrontAspectType: CloudFrontAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CloudFrontAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions">CloudFrontDistributionMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.CloudFrontAspectType.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.CloudFrontAspectType.property.props"></a>

```typescript
public readonly props: CloudFrontDistributionMonitoringOptions;
```

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

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.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.CloudFrontDistributionMonitoringOptions.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.CloudFrontDistributionMonitoringOptions.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.CloudFrontDistributionMonitoringOptions.property.addLowTpsAlarm">addLowTpsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

---

##### `addError4xxRate`<sup>Optional</sup> <a name="addError4xxRate" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoringOptions.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.CloudFrontDistributionMonitoringOptions.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.CloudFrontDistributionMonitoringOptions.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.CloudFrontDistributionMonitoringOptions.property.addLowTpsAlarm"></a>

```typescript
public readonly addLowTpsAlarm: {[ key: string ]: LowTpsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowTpsThreshold">LowTpsThreshold</a>}

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>}

---

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

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

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

const cloudWatchLogsMetricFactoryProps: CloudWatchLogsMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CloudWatchLogsMetricFactoryProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CloudWatchLogsMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CloudWatchLogsMetricFactoryProps.property.logGroupName">logGroupName</a></code> | <code>string</code> | Name of the log group to monitor. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly logGroupName: string;
```

- *Type:* string

Name of the log group to monitor.

---

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

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

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

const codeBuildAspectType: CodeBuildAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CodeBuildAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions">CodeBuildProjectMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.CodeBuildAspectType.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.CodeBuildAspectType.property.props"></a>

```typescript
public readonly props: CodeBuildProjectMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions">CodeBuildProjectMonitoringOptions</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMetricFactoryProps.property.project">project</a></code> | <code>aws-cdk-lib.aws_codebuild.IProject</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.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.ConsumedCapacityThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.ConsumedCapacityThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.ConsumedCapacityThreshold.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.ConsumedCapacityThreshold.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.ConsumedCapacityThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

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

---

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

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

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

const consumerRateExceededThreshold: ConsumerRateExceededThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.property.maxRateExceeded">maxRateExceeded</a></code> | <code>number</code> | Threshold for SubscribeToShard.RateExceeded average (0.0–1.0). |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.ConsumerRateExceededThreshold.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.ConsumerRateExceededThreshold.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.

---

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

```typescript
public readonly maxRateExceeded: number;
```

- *Type:* number

Threshold for SubscribeToShard.RateExceeded average (0.0–1.0).

---

### 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.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.CustomAlarmThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.CustomAlarmThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.CustomAlarmThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.CustomAlarmThreshold.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.CustomAlarmThreshold.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.CustomAlarmThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <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.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</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.IBaseService</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.invertLoadBalancerTaskCountMetricsStatistics">invertLoadBalancerTaskCountMetricsStatistics</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.loadBalancer">loadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.INetworkLoadBalancer \| aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomEc2ServiceMonitoringProps.property.targetGroup">targetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.INetworkTargetGroup \| aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationTargetGroup</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

---

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

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `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>}

---

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

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

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

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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: IBaseService;
```

- *Type:* aws-cdk-lib.aws_ecs.IBaseService

---

##### `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>}

---

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

```typescript
public readonly invertLoadBalancerTaskCountMetricsStatistics: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

```typescript
public readonly loadBalancer: INetworkLoadBalancer | IApplicationLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.INetworkLoadBalancer | aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer

---

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

```typescript
public readonly targetGroup: INetworkTargetGroup | IApplicationTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.INetworkTargetGroup | aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationTargetGroup

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <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.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</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.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.invertLoadBalancerTaskCountMetricsStatistics">invertLoadBalancerTaskCountMetricsStatistics</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.fargateService">fargateService</a></code> | <code>aws-cdk-lib.aws_ecs.IBaseService</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.loadBalancer">loadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.INetworkLoadBalancer \| aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomFargateServiceMonitoringProps.property.targetGroup">targetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.INetworkTargetGroup \| aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationTargetGroup</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

---

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

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `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>}

---

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

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

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

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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.

---

##### `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>}

---

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

```typescript
public readonly invertLoadBalancerTaskCountMetricsStatistics: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

```typescript
public readonly fargateService: IBaseService;
```

- *Type:* aws-cdk-lib.aws_ecs.IBaseService

---

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

```typescript
public readonly loadBalancer: INetworkLoadBalancer | IApplicationLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.INetworkLoadBalancer | aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer

---

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

```typescript
public readonly targetGroup: INetworkTargetGroup | IApplicationTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.INetworkTargetGroup | aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationTargetGroup

---

### 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.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric \| <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.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | Flag indicating this metric group should be included in the summary as well. |
| <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.graphWidgetSetPeriodToTimeRange">graphWidgetSetPeriodToTimeRange</a></code> | <code>boolean</code> | *No description.* |
| <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.graphWidgetWidth">graphWidgetWidth</a></code> | <code>number</code> | Width of graph 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> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroup.property.verticalAnnotations">verticalAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.VerticalAnnotation[]</code> | Optional custom vertical annotations which will be displayed over the metrics. |

---

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

```typescript
public readonly metrics: (MathExpression | Metric | CustomMetricWithAlarm | CustomMetricWithAnomalyDetection | CustomMetricSearch)[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric | <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.

---

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

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean
- *Default:* addToSummaryDashboard from CustomMonitoringProps, defaulting to false

Flag indicating this metric group should be included in the summary as well.

---

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

---

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

```typescript
public readonly graphWidgetSetPeriodToTimeRange: boolean;
```

- *Type:* boolean

> [{GraphWidgetProps.setPeriodToTimeRange}]({GraphWidgetProps.setPeriodToTimeRange})

---

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

---

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

```typescript
public readonly graphWidgetWidth: number;
```

- *Type:* number
- *Default:* Automatically calculcated width, generally as wide as possible considering all metrics' widgets.

Width of graph widget.

Note that widgets will overflow into new rows if the summed width
exceeds 24.

---

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

- *Deprecated:* use addToSummaryDashboard. addToSummaryDashboard will take precedence over important.

```typescript
public readonly important: boolean;
```

- *Type:* boolean

> [addToSummaryDashboard](addToSummaryDashboard)

---

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

```typescript
public readonly verticalAnnotations: VerticalAnnotation[];
```

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

Optional custom vertical annotations which will be displayed over the metrics.

---

### 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.* |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroupWithAnnotations.property.verticalAnnotations">verticalAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.VerticalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMetricGroupWithAnnotations.property.height">height</a></code> | <code>number</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[]

---

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

```typescript
public readonly verticalAnnotations: VerticalAnnotation[];
```

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

---

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

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

- *Type:* number

---

### 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.account">account</a></code> | <code>string</code> | Account which this metric comes from. |
| <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. |
| <code><a href="#cdk-monitoring-constructs.CustomMetricSearch.property.region">region</a></code> | <code>string</code> | Region which this metric comes from. |

---

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

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* Deployment account.

Account which this metric comes from.

Note that alarms cannot be created for cross-account metrics.

---

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

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* Deployment region.

Region which this metric comes from.

Note that alarms cannot be created for cross-region metrics.

---

### 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.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</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: MathExpression | Metric;
```

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

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.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</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: MathExpression | Metric;
```

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

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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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> | define metric groups and metrics inside them (each metric group represents a widget). |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.description">description</a></code> | <code>string</code> | optional description of the whole section, in markdown. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.descriptionWidgetHeight">descriptionWidgetHeight</a></code> | <code>number</code> | optional height of the description widget, so the content fits. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoringProps.property.height">height</a></code> | <code>number</code> | Height override. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>[]

define metric groups and metrics inside them (each metric group represents a widget).

---

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

```typescript
public readonly description: string;
```

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

optional description of the whole section, in markdown.

---

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

```typescript
public readonly descriptionWidgetHeight: number;
```

- *Type:* number
- *Default:* minimum height (should fit one or two lines of text)

optional height of the description widget, so the content fits.

---

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

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

- *Type:* number
- *Default:* default height

Height override.

---

### 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.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.CustomThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.CustomThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.CustomThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.CustomThreshold.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.CustomThreshold.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.CustomThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.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.DaysSinceUpdateThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.DaysSinceUpdateThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.DaysSinceUpdateThreshold.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.DaysSinceUpdateThreshold.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.DaysSinceUpdateThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.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.DaysToExpiryThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.DaysToExpiryThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.DaysToExpiryThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.DaysToExpiryThreshold.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.DaysToExpiryThreshold.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.DaysToExpiryThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

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

---

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

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

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

const documentDbAspectType: DocumentDbAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DocumentDbAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringOptions">DocumentDbMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.DocumentDbAspectType.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.DocumentDbAspectType.property.props"></a>

```typescript
public readonly props: DocumentDbMonitoringOptions;
```

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

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMetricFactoryProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_docdb.IDatabaseCluster</code> | database cluster. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.* |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidgetProps.property.verticalAnnotations">verticalAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.VerticalAnnotation[]</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

---

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

```typescript
public readonly verticalAnnotations: VerticalAnnotation[];
```

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

---

### 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.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.DurationThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.DurationThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.DurationThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.DurationThreshold.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.DurationThreshold.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.DurationThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

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

---

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

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

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

const dynamicDashboardConfiguration: DynamicDashboardConfiguration = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamicDashboardConfiguration.property.name">name</a></code> | <code>string</code> | Name of the dashboard. Full dashboard name will take the form of: `{@link MonitoringDynamicDashboardsProps.dashboardNamePrefix}-{@link name}`. |
| <code><a href="#cdk-monitoring-constructs.DynamicDashboardConfiguration.property.periodOverride">periodOverride</a></code> | <code>aws-cdk-lib.aws_cloudwatch.PeriodOverride</code> | Period override for the dashboard. |
| <code><a href="#cdk-monitoring-constructs.DynamicDashboardConfiguration.property.range">range</a></code> | <code>aws-cdk-lib.Duration</code> | Range of the dashboard. |
| <code><a href="#cdk-monitoring-constructs.DynamicDashboardConfiguration.property.renderingPreference">renderingPreference</a></code> | <code><a href="#cdk-monitoring-constructs.DashboardRenderingPreference">DashboardRenderingPreference</a></code> | Dashboard rendering preference. |
| <code><a href="#cdk-monitoring-constructs.DynamicDashboardConfiguration.property.variables">variables</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IVariable[]</code> | Dashboard variables to include in the dashboards. |

---

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

```typescript
public readonly name: string;
```

- *Type:* string

Name of the dashboard. Full dashboard name will take the form of: `{@link MonitoringDynamicDashboardsProps.dashboardNamePrefix}-{@link name}`.

NOTE: The dashboard names in {@link DefaultDashboardFactory.DefaultDashboards }
are reserved and cannot be used as dashboard names.

---

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

```typescript
public readonly periodOverride: PeriodOverride;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.PeriodOverride
- *Default:* respect individual graphs (PeriodOverride.INHERIT)

Period override for the dashboard.

---

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

```typescript
public readonly range: Duration;
```

- *Type:* aws-cdk-lib.Duration
- *Default:* 8 hours

Range of the dashboard.

---

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

```typescript
public readonly renderingPreference: DashboardRenderingPreference;
```

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

Dashboard rendering preference.

---

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

```typescript
public readonly variables: IVariable[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IVariable[]
- *Default:* No variables

Dashboard variables to include in the dashboards.

---

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

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

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

const dynamoTableAspectType: DynamoTableAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions">DynamoTableMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.DynamoTableAspectType.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.DynamoTableAspectType.property.props"></a>

```typescript
public readonly props: DynamoTableMonitoringOptions;
```

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

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoringProps.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.DynamoTableGlobalSecondaryIndexMonitoringProps.property.addWriteThrottledEventsCountAlarm">addWriteThrottledEventsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ThrottledEventsThreshold">ThrottledEventsThreshold</a>}</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

---

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

```typescript
public readonly addReadThrottledEventsCountAlarm: {[ key: string ]: ThrottledEventsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ThrottledEventsThreshold">ThrottledEventsThreshold</a>}

---

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

```typescript
public readonly addWriteThrottledEventsCountAlarm: {[ key: string ]: ThrottledEventsThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ThrottledEventsThreshold">ThrottledEventsThreshold</a>}

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addMinTimeToLiveDeletedItemCountAlarm">addMinTimeToLiveDeletedItemCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>}

---

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

```typescript
public readonly addMinTimeToLiveDeletedItemCountAlarm: {[ key: string ]: MinUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addMinTimeToLiveDeletedItemCountAlarm">addMinTimeToLiveDeletedItemCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>}

---

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

```typescript
public readonly addMinTimeToLiveDeletedItemCountAlarm: {[ key: string ]: MinUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</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.invertStatisticsOfTaskCountEnabled">invertStatisticsOfTaskCountEnabled</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.applicationLoadBalancer">applicationLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.applicationTargetGroup">applicationTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationTargetGroup</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.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <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.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</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.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ApplicationLoadBalancerMonitoringProps.property.invertLoadBalancerTaskCountMetricsStatistics">invertLoadBalancerTaskCountMetricsStatistics</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |

---

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

```typescript
public readonly invertStatisticsOfTaskCountEnabled: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly applicationLoadBalancer: IApplicationLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer

---

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

```typescript
public readonly applicationTargetGroup: IApplicationTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationTargetGroup

---

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

---

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

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `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>}

---

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

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

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

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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>}

---

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

```typescript
public readonly invertLoadBalancerTaskCountMetricsStatistics: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

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

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

const eC2AspectType: EC2AspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.EC2AspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.EC2AspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.EC2MonitoringOptions">EC2MonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.EC2AspectType.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.EC2AspectType.property.props"></a>

```typescript
public readonly props: EC2MonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.EC2MonitoringOptions">EC2MonitoringOptions</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringOptions.property.addNetworkInTotalBytesExceedThresholdAlarm">addNetworkInTotalBytesExceedThresholdAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.NetworkInThreshold">NetworkInThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringOptions.property.addNetworkOutTotalBytesExceedThresholdAlarm">addNetworkOutTotalBytesExceedThresholdAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.NetworkOutThreshold">NetworkOutThreshold</a>}</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

---

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

```typescript
public readonly addNetworkInTotalBytesExceedThresholdAlarm: {[ key: string ]: NetworkInThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.NetworkInThreshold">NetworkInThreshold</a>}

---

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

```typescript
public readonly addNetworkOutTotalBytesExceedThresholdAlarm: {[ key: string ]: NetworkOutThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.NetworkOutThreshold">NetworkOutThreshold</a>}

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringProps.property.addNetworkInTotalBytesExceedThresholdAlarm">addNetworkInTotalBytesExceedThresholdAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.NetworkInThreshold">NetworkInThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2MonitoringProps.property.addNetworkOutTotalBytesExceedThresholdAlarm">addNetworkOutTotalBytesExceedThresholdAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.NetworkOutThreshold">NetworkOutThreshold</a>}</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

---

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

```typescript
public readonly addNetworkInTotalBytesExceedThresholdAlarm: {[ key: string ]: NetworkInThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.NetworkInThreshold">NetworkInThreshold</a>}

---

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

```typescript
public readonly addNetworkOutTotalBytesExceedThresholdAlarm: {[ key: string ]: NetworkOutThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.NetworkOutThreshold">NetworkOutThreshold</a>}

---

### 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.invertStatisticsOfTaskCountEnabled">invertStatisticsOfTaskCountEnabled</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.networkLoadBalancer">networkLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.INetworkLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.networkTargetGroup">networkTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.INetworkTargetGroup</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.networkLoadBalancerTargetType">networkLoadBalancerTargetType</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.TargetType</code> | Target type for the NetworkLoadBalancer. |
| <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.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <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.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</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.* |
| <code><a href="#cdk-monitoring-constructs.Ec2NetworkLoadBalancerMonitoringProps.property.invertLoadBalancerTaskCountMetricsStatistics">invertLoadBalancerTaskCountMetricsStatistics</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |

---

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

```typescript
public readonly invertStatisticsOfTaskCountEnabled: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly networkLoadBalancer: INetworkLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.INetworkLoadBalancer

---

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

```typescript
public readonly networkTargetGroup: INetworkTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.INetworkTargetGroup

---

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

```typescript
public readonly networkLoadBalancerTargetType: TargetType;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.TargetType

Target type for the NetworkLoadBalancer.

Set explicitly to ensure that unnecessary widgets are not rendered.
By default, we will provide task health metrics, which are not
relevant to the {@link TargetType.ALB} targets.

---

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

---

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

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `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>}

---

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

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

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

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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>}

---

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

```typescript
public readonly invertLoadBalancerTaskCountMetricsStatistics: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <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.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</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.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoringProps.property.invertLoadBalancerTaskCountMetricsStatistics">invertLoadBalancerTaskCountMetricsStatistics</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

---

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

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `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>}

---

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

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

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

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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>}

---

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

```typescript
public readonly invertLoadBalancerTaskCountMetricsStatistics: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

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

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

const elastiCacheAspectType: ElastiCacheAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions">ElastiCacheClusterMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.ElastiCacheAspectType.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.ElastiCacheAspectType.property.props"></a>

```typescript
public readonly props: ElastiCacheClusterMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions">ElastiCacheClusterMonitoringOptions</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMetricFactoryProps.property.clusterId">clusterId</a></code> | <code>string</code> | Cluster to monitor. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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 (useful for all clusterTypes including Redis). |
| <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. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringOptions.property.addRedisEngineCpuUsageAlarm">addRedisEngineCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Add Redis engine CPU usage alarm. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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 (useful for all clusterTypes including Redis).

---

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

---

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

```typescript
public readonly addRedisEngineCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Add Redis engine CPU usage alarm.

It is recommended to monitor CPU utilization with `addCpuUsageAlarm`
as well for hosts with two vCPUs or less.

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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 (useful for all clusterTypes including Redis). |
| <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. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoringProps.property.addRedisEngineCpuUsageAlarm">addRedisEngineCpuUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Add Redis engine CPU usage alarm. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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 (useful for all clusterTypes including Redis).

---

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

---

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

```typescript
public readonly addRedisEngineCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Add Redis engine CPU usage alarm.

It is recommended to monitor CPU utilization with `addCpuUsageAlarm`
as well for hosts with two vCPUs or less.

---

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

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

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

const elastiCacheServerlessMetricFactoryProps: ElastiCacheServerlessMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactoryProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactoryProps.property.clusterId">clusterId</a></code> | <code>string</code> | Cluster to monitor. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly clusterId: string;
```

- *Type:* string
- *Default:* monitor all clusters

Cluster to monitor.

---

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

Configuration options for monitoring ElastiCache Serverless clusters.

Extends BaseMonitoringProps to include alarm configurations specific to
ElastiCache Serverless metrics such as latency, throttling, cache hit rates,
and item counts.

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

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

const elastiCacheServerlessMonitoringOptions: ElastiCacheServerlessMonitoringOptions = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringOptions.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringOptions.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.ElastiCacheServerlessMonitoringOptions.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.ElastiCacheServerlessMonitoringOptions.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.ElastiCacheServerlessMonitoringOptions.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.ElastiCacheServerlessMonitoringOptions.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.ElastiCacheServerlessMonitoringOptions.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.ElastiCacheServerlessMonitoringOptions.property.addAverageSuccessfulReadRequestLatencyAlarm">addAverageSuccessfulReadRequestLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | Add alarm when the average latency for successful read requests exceeds a threshold. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringOptions.property.addAverageSuccessfulWriteRequestLatencyAlarm">addAverageSuccessfulWriteRequestLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | Add alarm when the average latency for successful write requests exceeds a threshold. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringOptions.property.addHitRateAlarm">addHitRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinHitRateThreshold">MinHitRateThreshold</a>}</code> | Add alarm when the cache hit rate falls below a minimum threshold. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringOptions.property.addThrottleRateAlarm">addThrottleRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold">MaxThrottleRateThreshold</a>}</code> | Add alarm when the throttle rate (percentage of throttled commands) exceeds a threshold. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringOptions.property.addTM99SuccessfulReadRequestLatencyAlarm">addTM99SuccessfulReadRequestLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | Add alarm when the 99th percentile (TM99) latency for successful read requests exceeds a threshold. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringOptions.property.addTM99SuccessfulWriteRequestLatencyAlarm">addTM99SuccessfulWriteRequestLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | Add alarm when the 99th percentile (TM99) latency for successful write requests exceeds a threshold. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoringOptions.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.ElastiCacheServerlessMonitoringOptions.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.ElastiCacheServerlessMonitoringOptions.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.ElastiCacheServerlessMonitoringOptions.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.ElastiCacheServerlessMonitoringOptions.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.ElastiCacheServerlessMonitoringOptions.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.ElastiCacheServerlessMonitoringOptions.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.

---

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

```typescript
public readonly addAverageSuccessfulReadRequestLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}
- *Default:* no alarm

Add alarm when the average latency for successful read requests exceeds a threshold.

The key is a disambiguator (e.g., "Warning", "Critical") and the value defines the latency threshold.

---

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

```typescript
public readonly addAverageSuccessfulWriteRequestLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}
- *Default:* no alarm

Add alarm when the average latency for successful write requests exceeds a threshold.

The key is a disambiguator (e.g., "Warning", "Critical") and the value defines the latency threshold.

---

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

```typescript
public readonly addHitRateAlarm: {[ key: string ]: MinHitRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinHitRateThreshold">MinHitRateThreshold</a>}
- *Default:* no alarm

Add alarm when the cache hit rate falls below a minimum threshold.

The key is a disambiguator (e.g., "Warning", "Critical") and the value defines the minimum hit rate threshold.

---

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

```typescript
public readonly addThrottleRateAlarm: {[ key: string ]: MaxThrottleRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold">MaxThrottleRateThreshold</a>}
- *Default:* no alarm

Add alarm when the throttle rate (percentage of throttled commands) exceeds a threshold.

The key is a disambiguator (e.g., "Warning", "Critical") and the value defines the usage threshold.

---

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

```typescript
public readonly addTM99SuccessfulReadRequestLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}
- *Default:* no alarm

Add alarm when the 99th percentile (TM99) latency for successful read requests exceeds a threshold.

The key is a disambiguator (e.g., "Warning", "Critical") and the value defines the latency threshold.

---

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

```typescript
public readonly addTM99SuccessfulWriteRequestLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}
- *Default:* no alarm

Add alarm when the 99th percentile (TM99) latency for successful write requests exceeds a threshold.

The key is a disambiguator (e.g., "Warning", "Critical") and the value defines the latency threshold.

---

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

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

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

const elastiCacheServerlessMonitoringProps: ElastiCacheServerlessMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps.property.clusterId">clusterId</a></code> | <code>string</code> | Cluster to monitor. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps.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.ElastiCacheServerlessMonitoringProps.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.ElastiCacheServerlessMonitoringProps.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.ElastiCacheServerlessMonitoringProps.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.ElastiCacheServerlessMonitoringProps.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.ElastiCacheServerlessMonitoringProps.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.ElastiCacheServerlessMonitoringProps.property.addAverageSuccessfulReadRequestLatencyAlarm">addAverageSuccessfulReadRequestLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | Add alarm when the average latency for successful read requests exceeds a threshold. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps.property.addAverageSuccessfulWriteRequestLatencyAlarm">addAverageSuccessfulWriteRequestLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | Add alarm when the average latency for successful write requests exceeds a threshold. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps.property.addHitRateAlarm">addHitRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinHitRateThreshold">MinHitRateThreshold</a>}</code> | Add alarm when the cache hit rate falls below a minimum threshold. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps.property.addThrottleRateAlarm">addThrottleRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold">MaxThrottleRateThreshold</a>}</code> | Add alarm when the throttle rate (percentage of throttled commands) exceeds a threshold. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps.property.addTM99SuccessfulReadRequestLatencyAlarm">addTM99SuccessfulReadRequestLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | Add alarm when the 99th percentile (TM99) latency for successful read requests exceeds a threshold. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps.property.addTM99SuccessfulWriteRequestLatencyAlarm">addTM99SuccessfulWriteRequestLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | Add alarm when the 99th percentile (TM99) latency for successful write requests exceeds a threshold. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `clusterId`<sup>Optional</sup> <a name="clusterId" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps.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.ElastiCacheServerlessMonitoringProps.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.ElastiCacheServerlessMonitoringProps.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.ElastiCacheServerlessMonitoringProps.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.ElastiCacheServerlessMonitoringProps.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.ElastiCacheServerlessMonitoringProps.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.ElastiCacheServerlessMonitoringProps.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.ElastiCacheServerlessMonitoringProps.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.

---

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

```typescript
public readonly addAverageSuccessfulReadRequestLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}
- *Default:* no alarm

Add alarm when the average latency for successful read requests exceeds a threshold.

The key is a disambiguator (e.g., "Warning", "Critical") and the value defines the latency threshold.

---

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

```typescript
public readonly addAverageSuccessfulWriteRequestLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}
- *Default:* no alarm

Add alarm when the average latency for successful write requests exceeds a threshold.

The key is a disambiguator (e.g., "Warning", "Critical") and the value defines the latency threshold.

---

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

```typescript
public readonly addHitRateAlarm: {[ key: string ]: MinHitRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinHitRateThreshold">MinHitRateThreshold</a>}
- *Default:* no alarm

Add alarm when the cache hit rate falls below a minimum threshold.

The key is a disambiguator (e.g., "Warning", "Critical") and the value defines the minimum hit rate threshold.

---

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

```typescript
public readonly addThrottleRateAlarm: {[ key: string ]: MaxThrottleRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold">MaxThrottleRateThreshold</a>}
- *Default:* no alarm

Add alarm when the throttle rate (percentage of throttled commands) exceeds a threshold.

The key is a disambiguator (e.g., "Warning", "Critical") and the value defines the usage threshold.

---

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

```typescript
public readonly addTM99SuccessfulReadRequestLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}
- *Default:* no alarm

Add alarm when the 99th percentile (TM99) latency for successful read requests exceeds a threshold.

The key is a disambiguator (e.g., "Warning", "Critical") and the value defines the latency threshold.

---

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

```typescript
public readonly addTM99SuccessfulWriteRequestLatencyAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}
- *Default:* no alarm

Add alarm when the 99th percentile (TM99) latency for successful write requests exceeds a threshold.

The key is a disambiguator (e.g., "Warning", "Critical") and the value defines the latency threshold.

---

### 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.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.ErrorCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.ErrorCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.ErrorCountThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.ErrorCountThreshold.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.ErrorCountThreshold.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.ErrorCountThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.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.ErrorRateThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.ErrorRateThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.ErrorRateThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.ErrorRateThreshold.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.ErrorRateThreshold.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.ErrorRateThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.invertStatisticsOfTaskCountEnabled">invertStatisticsOfTaskCountEnabled</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.applicationLoadBalancer">applicationLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.applicationTargetGroup">applicationTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationTargetGroup</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.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <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.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</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.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.* |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.invertLoadBalancerTaskCountMetricsStatistics">invertLoadBalancerTaskCountMetricsStatistics</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |
| <code><a href="#cdk-monitoring-constructs.FargateApplicationLoadBalancerMonitoringProps.property.fargateService">fargateService</a></code> | <code>aws-cdk-lib.aws_ecs.FargateService</code> | *No description.* |

---

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

```typescript
public readonly invertStatisticsOfTaskCountEnabled: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly applicationLoadBalancer: IApplicationLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer

---

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

```typescript
public readonly applicationTargetGroup: IApplicationTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationTargetGroup

---

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

---

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

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `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>}

---

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

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

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

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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.

---

##### `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>}

---

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

```typescript
public readonly invertLoadBalancerTaskCountMetricsStatistics: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

---

### 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.invertStatisticsOfTaskCountEnabled">invertStatisticsOfTaskCountEnabled</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.networkLoadBalancer">networkLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.INetworkLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.networkTargetGroup">networkTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.INetworkTargetGroup</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.networkLoadBalancerTargetType">networkLoadBalancerTargetType</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.TargetType</code> | Target type for the NetworkLoadBalancer. |
| <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.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <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.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</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.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.* |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.invertLoadBalancerTaskCountMetricsStatistics">invertLoadBalancerTaskCountMetricsStatistics</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |
| <code><a href="#cdk-monitoring-constructs.FargateNetworkLoadBalancerMonitoringProps.property.fargateService">fargateService</a></code> | <code>aws-cdk-lib.aws_ecs.FargateService</code> | *No description.* |

---

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

```typescript
public readonly invertStatisticsOfTaskCountEnabled: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly networkLoadBalancer: INetworkLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.INetworkLoadBalancer

---

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

```typescript
public readonly networkTargetGroup: INetworkTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.INetworkTargetGroup

---

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

```typescript
public readonly networkLoadBalancerTargetType: TargetType;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.TargetType

Target type for the NetworkLoadBalancer.

Set explicitly to ensure that unnecessary widgets are not rendered.
By default, we will provide task health metrics, which are not
relevant to the {@link TargetType.ALB} targets.

---

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

---

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

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `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>}

---

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

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

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

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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.

---

##### `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>}

---

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

```typescript
public readonly invertLoadBalancerTaskCountMetricsStatistics: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

---

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

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

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

const fargateServiceAspectType: FargateServiceAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.FargateServiceAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.BaseFargateServiceMonitoringProps">BaseFargateServiceMonitoringProps</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.FargateServiceAspectType.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.FargateServiceAspectType.property.props"></a>

```typescript
public readonly props: BaseFargateServiceMonitoringProps;
```

- *Type:* <a href="#cdk-monitoring-constructs.BaseFargateServiceMonitoringProps">BaseFargateServiceMonitoringProps</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <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.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</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.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.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoringProps.property.invertLoadBalancerTaskCountMetricsStatistics">invertLoadBalancerTaskCountMetricsStatistics</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

---

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

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `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>}

---

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

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

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

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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.

---

##### `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>}

---

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

```typescript
public readonly invertLoadBalancerTaskCountMetricsStatistics: boolean;
```

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

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

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

---

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

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

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

const firehoseStreamLimitThreshold: FirehoseStreamLimitThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.property.safetyThresholdLimit">safetyThresholdLimit</a></code> | <code>number</code> | Threshold value between [0.0, 1.0) for when the alarm should be triggered. |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.FirehoseStreamLimitThreshold.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.FirehoseStreamLimitThreshold.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.

---

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

```typescript
public readonly safetyThresholdLimit: number;
```

- *Type:* number

Threshold value between [0.0, 1.0) for when the alarm should be triggered.

---

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

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

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

const fluentBitMetricFactoryProps: FluentBitMetricFactoryProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.FluentBitMetricFactoryProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMetricFactoryProps.property.namespace">namespace</a></code> | <code>string</code> | Namespace that metrics will be emitted to. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly namespace: string;
```

- *Type:* string
- *Default:* metric factory default

Namespace that metrics will be emitted to.

---

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

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

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

const fluentBitMonitoringProps: FluentBitMonitoringProps = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoringProps.property.namespace">namespace</a></code> | <code>string</code> | Namespace that metrics will be emitted to. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoringProps.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.FluentBitMonitoringProps.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.FluentBitMonitoringProps.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.FluentBitMonitoringProps.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.FluentBitMonitoringProps.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.FluentBitMonitoringProps.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.FluentBitMonitoringProps.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group that contains FluentBit metric logs. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoringProps.property.createOptionalMetricFilters">createOptionalMetricFilters</a></code> | <code>boolean</code> | Metrics for input bytes total, output bytes total and output records total are not shown on default dashboard. |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly namespace: string;
```

- *Type:* string
- *Default:* metric factory default

Namespace that metrics will be emitted to.

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.FluentBitMonitoringProps.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.FluentBitMonitoringProps.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.FluentBitMonitoringProps.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.FluentBitMonitoringProps.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.FluentBitMonitoringProps.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.FluentBitMonitoringProps.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.FluentBitMonitoringProps.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.

---

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

```typescript
public readonly logGroup: ILogGroup;
```

- *Type:* aws-cdk-lib.aws_logs.ILogGroup

Log group that contains FluentBit metric logs.

---

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

```typescript
public readonly createOptionalMetricFilters: boolean;
```

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

Metrics for input bytes total, output bytes total and output records total are not shown on default dashboard.

If you want to get MetricFilters created to have those metrics present in CloudWatch set this flag to true

---

### 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.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.FullRestartCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.FullRestartCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.FullRestartCountThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.FullRestartCountThreshold.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.FullRestartCountThreshold.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.FullRestartCountThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

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

---

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

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

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

const glueJobAspectType: GlueJobAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.GlueJobAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.GlueJobAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions">GlueJobMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.GlueJobAspectType.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.GlueJobAspectType.property.props"></a>

```typescript
public readonly props: GlueJobMonitoringOptions;
```

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

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.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.HealthyTaskCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.HealthyTaskCountThreshold.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.HealthyTaskCountThreshold.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.HealthyTaskCountThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.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.HealthyTaskPercentThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.HealthyTaskPercentThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.HealthyTaskPercentThreshold.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.HealthyTaskPercentThreshold.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.HealthyTaskPercentThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

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

---

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

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

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

const highConnectionCountThreshold: HighConnectionCountThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.HighConnectionCountThreshold.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.HighConnectionCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.HighConnectionCountThreshold.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.HighConnectionCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.HighConnectionCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.HighConnectionCountThreshold.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.HighConnectionCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.HighConnectionCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.HighConnectionCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.HighConnectionCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.HighConnectionCountThreshold.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.HighConnectionCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.HighConnectionCountThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.HighConnectionCountThreshold.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.HighConnectionCountThreshold.property.maxConnectionCount">maxConnectionCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.HighConnectionCountThreshold.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.HighConnectionCountThreshold.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.

---

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

```typescript
public readonly maxConnectionCount: 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.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.HighMessagesPublishedThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.HighMessagesPublishedThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.HighMessagesPublishedThreshold.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.HighMessagesPublishedThreshold.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.HighMessagesPublishedThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

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

---

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

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

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

const highServerlessDatabaseCapacityThreshold: HighServerlessDatabaseCapacityThreshold = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.property.maxServerlessDatabaseCapacity">maxServerlessDatabaseCapacity</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.HighServerlessDatabaseCapacityThreshold.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold.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.

---

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

```typescript
public readonly maxServerlessDatabaseCapacity: 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.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.HighTpsThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.HighTpsThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.HighTpsThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

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

---

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

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

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

If specified, adjusts the metric before creating an alarm from it.

---

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

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

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

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.HighTpsThreshold.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.HighTpsThreshold.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.HighTpsThreshold.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.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.

---

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

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

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

---

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

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

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

const keyValue: KeyValue = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KeyValue.property.key">key</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KeyValue.property.value">value</a></code> | <code>string</code> | *No description.* |

---

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

```typescript
public readonly key: string;
```

- *Type:* string

---

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

```typescript
public readonly value: string;
```

- *Type:* string

---

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

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

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

const kinesisDataAnalyticsAspectType: KinesisDataAnalyticsAspectType = { ... }
```

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

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions">KinesisDataAnalyticsMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.KinesisDataAnalyticsAspectType.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.KinesisDataAnalyticsAspectType.property.props"></a>

```typescript
public readonly props: KinesisDataAnalyticsMonitoringOptions;
```

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

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactoryProps.property.application">application</a></code> | <code>string</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addBackPressuredTimeMsPerSecondAlarm">addBackPressuredTimeMsPerSecondAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold">MaxBackPressuredTimeMsPerSecondThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addCheckpointFailureCountAlarm">addCheckpointFailureCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addCheckpointFailureRateAlarm">addCheckpointFailureRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <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.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addFullRestartRateAlarm">addFullRestartRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |

---

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

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

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

---

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

```typescript
public readonly addBackPressuredTimeMsPerSecondAlarm: {[ key: string ]: MaxBackPressuredTimeMsPerSecondThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold">MaxBackPressuredTimeMsPerSecondThreshold</a>}

---

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

```typescript
public readonly addCheckpointFailureCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addCheckpointFailureRateAlarm`<sup>Optional</sup> <a name="addCheckpointFailureRateAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addCheckpointFailureRateAlarm"></a>

```typescript
public readonly addCheckpointFailureRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `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>}

---

##### `addFullRestartRateAlarm`<sup>Optional</sup> <a name="addFullRestartRateAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringOptions.property.addFullRestartRateAlarm"></a>

```typescript
public readonly addFullRestartRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addBackPressuredTimeMsPerSecondAlarm">addBackPressuredTimeMsPerSecondAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold">MaxBackPressuredTimeMsPerSecondThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addCheckpointFailureCountAlarm">addCheckpointFailureCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addCheckpointFailureRateAlarm">addCheckpointFailureRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |
| <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.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addFullRestartRateAlarm">addFullRestartRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.

---

##### `addBackPressuredTimeMsPerSecondAlarm`<sup>Optional</sup> <a name="addBackPressuredTimeMsPerSecondAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addBackPressuredTimeMsPerSecondAlarm"></a>

```typescript
public readonly addBackPressuredTimeMsPerSecondAlarm: {[ key: string ]: MaxBackPressuredTimeMsPerSecondThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold">MaxBackPressuredTimeMsPerSecondThreshold</a>}

---

##### `addCheckpointFailureCountAlarm`<sup>Optional</sup> <a name="addCheckpointFailureCountAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addCheckpointFailureCountAlarm"></a>

```typescript
public readonly addCheckpointFailureCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addCheckpointFailureRateAlarm`<sup>Optional</sup> <a name="addCheckpointFailureRateAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addCheckpointFailureRateAlarm"></a>

```typescript
public readonly addCheckpointFailureRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `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>}

---

##### `addFullRestartRateAlarm`<sup>Optional</sup> <a name="addFullRestartRateAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoringProps.property.addFullRestartRateAlarm"></a>

```typescript
public readonly addFullRestartRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

### KinesisDataStreamAspectType <a name="KinesisDataStreamAspectType" id="cdk-monitoring-constructs.KinesisDataStreamAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisDataStreamAspectType.Initializer"></a>

```typescript
import { KinesisDataStreamAspectType } from 'cdk-monitoring-constructs'

const kinesisDataStreamAspectType: KinesisDataStreamAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions">KinesisDataStreamMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.KinesisDataStreamAspectType.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.KinesisDataStreamAspectType.property.props"></a>

```typescript
public readonly props: KinesisDataStreamMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions">KinesisDataStreamMonitoringOptions</a>

---

### KinesisDataStreamConsumerAspectType <a name="KinesisDataStreamConsumerAspectType" id="cdk-monitoring-constructs.KinesisDataStreamConsumerAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisDataStreamConsumerAspectType.Initializer"></a>

```typescript
import { KinesisDataStreamConsumerAspectType } from 'cdk-monitoring-constructs'

const kinesisDataStreamConsumerAspectType: KinesisDataStreamConsumerAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions">KinesisDataStreamConsumerMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.KinesisDataStreamConsumerAspectType.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.KinesisDataStreamConsumerAspectType.property.props"></a>

```typescript
public readonly props: KinesisDataStreamConsumerMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions">KinesisDataStreamConsumerMonitoringOptions</a>

---

### KinesisDataStreamConsumerMetricFactoryProps <a name="KinesisDataStreamConsumerMetricFactoryProps" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactoryProps.Initializer"></a>

```typescript
import { KinesisDataStreamConsumerMetricFactoryProps } from 'cdk-monitoring-constructs'

const kinesisDataStreamConsumerMetricFactoryProps: KinesisDataStreamConsumerMetricFactoryProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactoryProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactoryProps.property.consumerName">consumerName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactoryProps.property.streamName">streamName</a></code> | <code>string</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `consumerName`<sup>Required</sup> <a name="consumerName" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactoryProps.property.consumerName"></a>

```typescript
public readonly consumerName: string;
```

- *Type:* string

---

##### `streamName`<sup>Required</sup> <a name="streamName" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactoryProps.property.streamName"></a>

```typescript
public readonly streamName: string;
```

- *Type:* string

---

### KinesisDataStreamConsumerMonitoringOptions <a name="KinesisDataStreamConsumerMonitoringOptions" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions.Initializer"></a>

```typescript
import { KinesisDataStreamConsumerMonitoringOptions } from 'cdk-monitoring-constructs'

const kinesisDataStreamConsumerMonitoringOptions: KinesisDataStreamConsumerMonitoringOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions.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.KinesisDataStreamConsumerMonitoringOptions.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.KinesisDataStreamConsumerMonitoringOptions.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.KinesisDataStreamConsumerMonitoringOptions.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.KinesisDataStreamConsumerMonitoringOptions.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.KinesisDataStreamConsumerMonitoringOptions.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.KinesisDataStreamConsumerMonitoringOptions.property.addConsumerIteratorMaxAgeAlarm">addConsumerIteratorMaxAgeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold">MaxIteratorAgeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions.property.addConsumerSubscribeToShardRateExceededAlarm">addConsumerSubscribeToShardRateExceededAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold">ConsumerRateExceededThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions.property.addConsumerSubscribeToShardSuccessAlarm">addConsumerSubscribeToShardSuccessAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold">MinConsumerSubscribeToShardSuccessThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions.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.KinesisDataStreamConsumerMonitoringOptions.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.KinesisDataStreamConsumerMonitoringOptions.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.KinesisDataStreamConsumerMonitoringOptions.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.KinesisDataStreamConsumerMonitoringOptions.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.KinesisDataStreamConsumerMonitoringOptions.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.KinesisDataStreamConsumerMonitoringOptions.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.

---

##### `addConsumerIteratorMaxAgeAlarm`<sup>Optional</sup> <a name="addConsumerIteratorMaxAgeAlarm" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions.property.addConsumerIteratorMaxAgeAlarm"></a>

```typescript
public readonly addConsumerIteratorMaxAgeAlarm: {[ key: string ]: MaxIteratorAgeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold">MaxIteratorAgeThreshold</a>}

---

##### `addConsumerSubscribeToShardRateExceededAlarm`<sup>Optional</sup> <a name="addConsumerSubscribeToShardRateExceededAlarm" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions.property.addConsumerSubscribeToShardRateExceededAlarm"></a>

```typescript
public readonly addConsumerSubscribeToShardRateExceededAlarm: {[ key: string ]: ConsumerRateExceededThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold">ConsumerRateExceededThreshold</a>}

---

##### `addConsumerSubscribeToShardSuccessAlarm`<sup>Optional</sup> <a name="addConsumerSubscribeToShardSuccessAlarm" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringOptions.property.addConsumerSubscribeToShardSuccessAlarm"></a>

```typescript
public readonly addConsumerSubscribeToShardSuccessAlarm: {[ key: string ]: MinConsumerSubscribeToShardSuccessThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold">MinConsumerSubscribeToShardSuccessThreshold</a>}

---

### KinesisDataStreamConsumerMonitoringProps <a name="KinesisDataStreamConsumerMonitoringProps" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.Initializer"></a>

```typescript
import { KinesisDataStreamConsumerMonitoringProps } from 'cdk-monitoring-constructs'

const kinesisDataStreamConsumerMonitoringProps: KinesisDataStreamConsumerMonitoringProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.consumerName">consumerName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.streamName">streamName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.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.KinesisDataStreamConsumerMonitoringProps.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.KinesisDataStreamConsumerMonitoringProps.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.KinesisDataStreamConsumerMonitoringProps.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.KinesisDataStreamConsumerMonitoringProps.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.KinesisDataStreamConsumerMonitoringProps.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.KinesisDataStreamConsumerMonitoringProps.property.addConsumerIteratorMaxAgeAlarm">addConsumerIteratorMaxAgeAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold">MaxIteratorAgeThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.addConsumerSubscribeToShardRateExceededAlarm">addConsumerSubscribeToShardRateExceededAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold">ConsumerRateExceededThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.addConsumerSubscribeToShardSuccessAlarm">addConsumerSubscribeToShardSuccessAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold">MinConsumerSubscribeToShardSuccessThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `consumerName`<sup>Required</sup> <a name="consumerName" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.consumerName"></a>

```typescript
public readonly consumerName: string;
```

- *Type:* string

---

##### `streamName`<sup>Required</sup> <a name="streamName" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.streamName"></a>

```typescript
public readonly streamName: string;
```

- *Type:* string

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.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.KinesisDataStreamConsumerMonitoringProps.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.KinesisDataStreamConsumerMonitoringProps.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.KinesisDataStreamConsumerMonitoringProps.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.KinesisDataStreamConsumerMonitoringProps.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.KinesisDataStreamConsumerMonitoringProps.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.KinesisDataStreamConsumerMonitoringProps.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.

---

##### `addConsumerIteratorMaxAgeAlarm`<sup>Optional</sup> <a name="addConsumerIteratorMaxAgeAlarm" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.addConsumerIteratorMaxAgeAlarm"></a>

```typescript
public readonly addConsumerIteratorMaxAgeAlarm: {[ key: string ]: MaxIteratorAgeThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold">MaxIteratorAgeThreshold</a>}

---

##### `addConsumerSubscribeToShardRateExceededAlarm`<sup>Optional</sup> <a name="addConsumerSubscribeToShardRateExceededAlarm" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.addConsumerSubscribeToShardRateExceededAlarm"></a>

```typescript
public readonly addConsumerSubscribeToShardRateExceededAlarm: {[ key: string ]: ConsumerRateExceededThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold">ConsumerRateExceededThreshold</a>}

---

##### `addConsumerSubscribeToShardSuccessAlarm`<sup>Optional</sup> <a name="addConsumerSubscribeToShardSuccessAlarm" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps.property.addConsumerSubscribeToShardSuccessAlarm"></a>

```typescript
public readonly addConsumerSubscribeToShardSuccessAlarm: {[ key: string ]: MinConsumerSubscribeToShardSuccessThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold">MinConsumerSubscribeToShardSuccessThreshold</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactoryProps.property.streamName">streamName</a></code> | <code>string</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.KinesisDataStreamMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>}

---

### KinesisFirehoseAspectType <a name="KinesisFirehoseAspectType" id="cdk-monitoring-constructs.KinesisFirehoseAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.KinesisFirehoseAspectType.Initializer"></a>

```typescript
import { KinesisFirehoseAspectType } from 'cdk-monitoring-constructs'

const kinesisFirehoseAspectType: KinesisFirehoseAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions">KinesisFirehoseMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.KinesisFirehoseAspectType.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.KinesisFirehoseAspectType.property.props"></a>

```typescript
public readonly props: KinesisFirehoseMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions">KinesisFirehoseMonitoringOptions</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMetricFactoryProps.property.deliveryStreamName">deliveryStreamName</a></code> | <code>string</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addIncomingBytesExceedThresholdAlarm">addIncomingBytesExceedThresholdAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold">FirehoseStreamLimitThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.addIncomingPutRequestsExceedThresholdAlarm">addIncomingPutRequestsExceedThresholdAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold">FirehoseStreamLimitThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.addIncomingRecordsExceedThresholdAlarm">addIncomingRecordsExceedThresholdAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold">FirehoseStreamLimitThreshold</a>}</code> | *No description.* |
| <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.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.isDataFormatConversionEnabled">isDataFormatConversionEnabled</a></code> | <code>boolean</code> | Indicates that the Kinesis Firehose has record format conversion enabled. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.

---

##### `addIncomingBytesExceedThresholdAlarm`<sup>Optional</sup> <a name="addIncomingBytesExceedThresholdAlarm" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.addIncomingBytesExceedThresholdAlarm"></a>

```typescript
public readonly addIncomingBytesExceedThresholdAlarm: {[ key: string ]: FirehoseStreamLimitThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold">FirehoseStreamLimitThreshold</a>}

---

##### `addIncomingPutRequestsExceedThresholdAlarm`<sup>Optional</sup> <a name="addIncomingPutRequestsExceedThresholdAlarm" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.addIncomingPutRequestsExceedThresholdAlarm"></a>

```typescript
public readonly addIncomingPutRequestsExceedThresholdAlarm: {[ key: string ]: FirehoseStreamLimitThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold">FirehoseStreamLimitThreshold</a>}

---

##### `addIncomingRecordsExceedThresholdAlarm`<sup>Optional</sup> <a name="addIncomingRecordsExceedThresholdAlarm" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.addIncomingRecordsExceedThresholdAlarm"></a>

```typescript
public readonly addIncomingRecordsExceedThresholdAlarm: {[ key: string ]: FirehoseStreamLimitThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold">FirehoseStreamLimitThreshold</a>}

---

##### `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>}

---

##### `isDataFormatConversionEnabled`<sup>Optional</sup> <a name="isDataFormatConversionEnabled" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringOptions.property.isDataFormatConversionEnabled"></a>

```typescript
public readonly isDataFormatConversionEnabled: boolean;
```

- *Type:* boolean
- *Default:* true

Indicates that the Kinesis Firehose has record format conversion enabled.

This impacts what widgets are shown.

> [https://docs.aws.amazon.com/firehose/latest/dev/enable-record-format-conversion.html](https://docs.aws.amazon.com/firehose/latest/dev/enable-record-format-conversion.html)

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addIncomingBytesExceedThresholdAlarm">addIncomingBytesExceedThresholdAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold">FirehoseStreamLimitThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.addIncomingPutRequestsExceedThresholdAlarm">addIncomingPutRequestsExceedThresholdAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold">FirehoseStreamLimitThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.addIncomingRecordsExceedThresholdAlarm">addIncomingRecordsExceedThresholdAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold">FirehoseStreamLimitThreshold</a>}</code> | *No description.* |
| <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.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.isDataFormatConversionEnabled">isDataFormatConversionEnabled</a></code> | <code>boolean</code> | Indicates that the Kinesis Firehose has record format conversion enabled. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.

---

##### `addIncomingBytesExceedThresholdAlarm`<sup>Optional</sup> <a name="addIncomingBytesExceedThresholdAlarm" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.addIncomingBytesExceedThresholdAlarm"></a>

```typescript
public readonly addIncomingBytesExceedThresholdAlarm: {[ key: string ]: FirehoseStreamLimitThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold">FirehoseStreamLimitThreshold</a>}

---

##### `addIncomingPutRequestsExceedThresholdAlarm`<sup>Optional</sup> <a name="addIncomingPutRequestsExceedThresholdAlarm" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.addIncomingPutRequestsExceedThresholdAlarm"></a>

```typescript
public readonly addIncomingPutRequestsExceedThresholdAlarm: {[ key: string ]: FirehoseStreamLimitThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold">FirehoseStreamLimitThreshold</a>}

---

##### `addIncomingRecordsExceedThresholdAlarm`<sup>Optional</sup> <a name="addIncomingRecordsExceedThresholdAlarm" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.addIncomingRecordsExceedThresholdAlarm"></a>

```typescript
public readonly addIncomingRecordsExceedThresholdAlarm: {[ key: string ]: FirehoseStreamLimitThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold">FirehoseStreamLimitThreshold</a>}

---

##### `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>}

---

##### `isDataFormatConversionEnabled`<sup>Optional</sup> <a name="isDataFormatConversionEnabled" id="cdk-monitoring-constructs.KinesisFirehoseMonitoringProps.property.isDataFormatConversionEnabled"></a>

```typescript
public readonly isDataFormatConversionEnabled: boolean;
```

- *Type:* boolean
- *Default:* true

Indicates that the Kinesis Firehose has record format conversion enabled.

This impacts what widgets are shown.

> [https://docs.aws.amazon.com/firehose/latest/dev/enable-record-format-conversion.html](https://docs.aws.amazon.com/firehose/latest/dev/enable-record-format-conversion.html)

---

### LambdaFunctionAspectType <a name="LambdaFunctionAspectType" id="cdk-monitoring-constructs.LambdaFunctionAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.LambdaFunctionAspectType.Initializer"></a>

```typescript
import { LambdaFunctionAspectType } from 'cdk-monitoring-constructs'

const lambdaFunctionAspectType: LambdaFunctionAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions">LambdaFunctionMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.LambdaFunctionAspectType.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.LambdaFunctionAspectType.property.props"></a>

```typescript
public readonly props: LambdaFunctionMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions">LambdaFunctionMonitoringOptions</a>

---

### LambdaFunctionEnhancedMetricFactoryProps <a name="LambdaFunctionEnhancedMetricFactoryProps" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactoryProps.Initializer"></a>

```typescript
import { LambdaFunctionEnhancedMetricFactoryProps } from 'cdk-monitoring-constructs'

const lambdaFunctionEnhancedMetricFactoryProps: LambdaFunctionEnhancedMetricFactoryProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactoryProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactoryProps.property.lambdaFunction">lambdaFunction</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `lambdaFunction`<sup>Required</sup> <a name="lambdaFunction" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactoryProps.property.lambdaFunction"></a>

```typescript
public readonly lambdaFunction: IFunction;
```

- *Type:* aws-cdk-lib.aws_lambda.IFunction

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.LambdaFunctionMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addEnhancedMonitoringAvgInitDurationAlarm">addEnhancedMonitoringAvgInitDurationAlarm</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.addEnhancedMonitoringMaxInitDurationAlarm">addEnhancedMonitoringMaxInitDurationAlarm</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.addEnhancedMonitoringP90InitDurationAlarm">addEnhancedMonitoringP90InitDurationAlarm</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> \| <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</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> \| <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</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> \| <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</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.addMaxLatencyAlarm">addMaxLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a> \| <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addMaxOffsetLagAlarm">addMaxOffsetLagAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold">MaxOffsetLagThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addMinInvocationsCountAlarm">addMinInvocationsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</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.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.isIterator">isIterator</a></code> | <code>boolean</code> | Indicates that the Lambda function handles an event source (e.g. DynamoDB event stream). This impacts what widgets are shown, as well as validates the ability to use addMaxIteratorAgeAlarm. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.isOffsetLag">isOffsetLag</a></code> | <code>boolean</code> | Indicates that the Lambda function handles an event source which uses offsets for records (e.g. Kafka streams). This impacts what widgets are shown, as well as validates the ability to use addMaxOffsetLagAlarm. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>}

---

##### `addEnhancedMonitoringAvgInitDurationAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringAvgInitDurationAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringAvgInitDurationAlarm"></a>

```typescript
public readonly addEnhancedMonitoringAvgInitDurationAlarm: {[ 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>}

---

##### `addEnhancedMonitoringMaxInitDurationAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringMaxInitDurationAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringMaxInitDurationAlarm"></a>

```typescript
public readonly addEnhancedMonitoringMaxInitDurationAlarm: {[ 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>}

---

##### `addEnhancedMonitoringP90InitDurationAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringP90InitDurationAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addEnhancedMonitoringP90InitDurationAlarm"></a>

```typescript
public readonly addEnhancedMonitoringP90InitDurationAlarm: {[ 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 | LatencyTimeoutPercentageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a> | <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</a>}

---

##### `addLatencyP90Alarm`<sup>Optional</sup> <a name="addLatencyP90Alarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addLatencyP90Alarm"></a>

```typescript
public readonly addLatencyP90Alarm: {[ key: string ]: LatencyThreshold | LatencyTimeoutPercentageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a> | <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</a>}

---

##### `addLatencyP99Alarm`<sup>Optional</sup> <a name="addLatencyP99Alarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addLatencyP99Alarm"></a>

```typescript
public readonly addLatencyP99Alarm: {[ key: string ]: LatencyThreshold | LatencyTimeoutPercentageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a> | <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</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>}

---

##### `addMaxLatencyAlarm`<sup>Optional</sup> <a name="addMaxLatencyAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addMaxLatencyAlarm"></a>

```typescript
public readonly addMaxLatencyAlarm: {[ key: string ]: LatencyThreshold | LatencyTimeoutPercentageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a> | <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</a>}

---

##### `addMaxOffsetLagAlarm`<sup>Optional</sup> <a name="addMaxOffsetLagAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addMaxOffsetLagAlarm"></a>

```typescript
public readonly addMaxOffsetLagAlarm: {[ key: string ]: MaxOffsetLagThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold">MaxOffsetLagThreshold</a>}

---

##### `addMinInvocationsCountAlarm`<sup>Optional</sup> <a name="addMinInvocationsCountAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.addMinInvocationsCountAlarm"></a>

```typescript
public readonly addMinInvocationsCountAlarm: {[ key: string ]: MinUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</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>}

---

##### `isIterator`<sup>Optional</sup> <a name="isIterator" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.isIterator"></a>

```typescript
public readonly isIterator: boolean;
```

- *Type:* boolean
- *Default:* true

Indicates that the Lambda function handles an event source (e.g. DynamoDB event stream). This impacts what widgets are shown, as well as validates the ability to use addMaxIteratorAgeAlarm.

---

##### `isOffsetLag`<sup>Optional</sup> <a name="isOffsetLag" id="cdk-monitoring-constructs.LambdaFunctionMonitoringOptions.property.isOffsetLag"></a>

```typescript
public readonly isOffsetLag: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates that the Lambda function handles an event source which uses offsets for records (e.g. Kafka streams). This impacts what widgets are shown, as well as validates the ability to use addMaxOffsetLagAlarm.

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addEnhancedMonitoringAvgInitDurationAlarm">addEnhancedMonitoringAvgInitDurationAlarm</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.addEnhancedMonitoringMaxInitDurationAlarm">addEnhancedMonitoringMaxInitDurationAlarm</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.addEnhancedMonitoringP90InitDurationAlarm">addEnhancedMonitoringP90InitDurationAlarm</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> \| <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</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> \| <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</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> \| <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</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.addMaxLatencyAlarm">addMaxLatencyAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a> \| <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addMaxOffsetLagAlarm">addMaxOffsetLagAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold">MaxOffsetLagThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addMinInvocationsCountAlarm">addMinInvocationsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</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.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.isIterator">isIterator</a></code> | <code>boolean</code> | Indicates that the Lambda function handles an event source (e.g. DynamoDB event stream). This impacts what widgets are shown, as well as validates the ability to use addMaxIteratorAgeAlarm. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.isOffsetLag">isOffsetLag</a></code> | <code>boolean</code> | Indicates that the Lambda function handles an event source which uses offsets for records (e.g. Kafka streams). This impacts what widgets are shown, as well as validates the ability to use addMaxOffsetLagAlarm. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>}

---

##### `addEnhancedMonitoringAvgInitDurationAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringAvgInitDurationAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringAvgInitDurationAlarm"></a>

```typescript
public readonly addEnhancedMonitoringAvgInitDurationAlarm: {[ 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>}

---

##### `addEnhancedMonitoringMaxInitDurationAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringMaxInitDurationAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringMaxInitDurationAlarm"></a>

```typescript
public readonly addEnhancedMonitoringMaxInitDurationAlarm: {[ 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>}

---

##### `addEnhancedMonitoringP90InitDurationAlarm`<sup>Optional</sup> <a name="addEnhancedMonitoringP90InitDurationAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addEnhancedMonitoringP90InitDurationAlarm"></a>

```typescript
public readonly addEnhancedMonitoringP90InitDurationAlarm: {[ 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 | LatencyTimeoutPercentageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a> | <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</a>}

---

##### `addLatencyP90Alarm`<sup>Optional</sup> <a name="addLatencyP90Alarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addLatencyP90Alarm"></a>

```typescript
public readonly addLatencyP90Alarm: {[ key: string ]: LatencyThreshold | LatencyTimeoutPercentageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a> | <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</a>}

---

##### `addLatencyP99Alarm`<sup>Optional</sup> <a name="addLatencyP99Alarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addLatencyP99Alarm"></a>

```typescript
public readonly addLatencyP99Alarm: {[ key: string ]: LatencyThreshold | LatencyTimeoutPercentageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a> | <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</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>}

---

##### `addMaxLatencyAlarm`<sup>Optional</sup> <a name="addMaxLatencyAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addMaxLatencyAlarm"></a>

```typescript
public readonly addMaxLatencyAlarm: {[ key: string ]: LatencyThreshold | LatencyTimeoutPercentageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a> | <a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold">LatencyTimeoutPercentageThreshold</a>}

---

##### `addMaxOffsetLagAlarm`<sup>Optional</sup> <a name="addMaxOffsetLagAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addMaxOffsetLagAlarm"></a>

```typescript
public readonly addMaxOffsetLagAlarm: {[ key: string ]: MaxOffsetLagThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold">MaxOffsetLagThreshold</a>}

---

##### `addMinInvocationsCountAlarm`<sup>Optional</sup> <a name="addMinInvocationsCountAlarm" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.addMinInvocationsCountAlarm"></a>

```typescript
public readonly addMinInvocationsCountAlarm: {[ key: string ]: MinUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</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>}

---

##### `isIterator`<sup>Optional</sup> <a name="isIterator" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.isIterator"></a>

```typescript
public readonly isIterator: boolean;
```

- *Type:* boolean
- *Default:* true

Indicates that the Lambda function handles an event source (e.g. DynamoDB event stream). This impacts what widgets are shown, as well as validates the ability to use addMaxIteratorAgeAlarm.

---

##### `isOffsetLag`<sup>Optional</sup> <a name="isOffsetLag" id="cdk-monitoring-constructs.LambdaFunctionMonitoringProps.property.isOffsetLag"></a>

```typescript
public readonly isOffsetLag: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates that the Lambda function handles an event source which uses offsets for records (e.g. Kafka streams). This impacts what widgets are shown, as well as validates the ability to use addMaxOffsetLagAlarm.

---

### 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.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.LatencyThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.LatencyThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.LatencyThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.LatencyThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.LatencyThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.LatencyThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.LatencyThreshold.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.LatencyThreshold.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.LatencyThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.LatencyThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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

---

### LatencyTimeoutPercentageThreshold <a name="LatencyTimeoutPercentageThreshold" id="cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.Initializer"></a>

```typescript
import { LatencyTimeoutPercentageThreshold } from 'cdk-monitoring-constructs'

const latencyTimeoutPercentageThreshold: LatencyTimeoutPercentageThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.property.maxLatencyPercentageOfTimeout">maxLatencyPercentageOfTimeout</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.LatencyTimeoutPercentageThreshold.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.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.

---

##### `maxLatencyPercentageOfTimeout`<sup>Required</sup> <a name="maxLatencyPercentageOfTimeout" id="cdk-monitoring-constructs.LatencyTimeoutPercentageThreshold.property.maxLatencyPercentageOfTimeout"></a>

```typescript
public readonly maxLatencyPercentageOfTimeout: number;
```

- *Type:* number

---

### LoadBalancedFargateServiceAspectType <a name="LoadBalancedFargateServiceAspectType" id="cdk-monitoring-constructs.LoadBalancedFargateServiceAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.LoadBalancedFargateServiceAspectType.Initializer"></a>

```typescript
import { LoadBalancedFargateServiceAspectType } from 'cdk-monitoring-constructs'

const loadBalancedFargateServiceAspectType: LoadBalancedFargateServiceAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LoadBalancedFargateServiceAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.LoadBalancedFargateServiceAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.BaseLoadBalancedFargateServiceMonitoringProps">BaseLoadBalancedFargateServiceMonitoringProps</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.LoadBalancedFargateServiceAspectType.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.LoadBalancedFargateServiceAspectType.property.props"></a>

```typescript
public readonly props: BaseLoadBalancedFargateServiceMonitoringProps;
```

- *Type:* <a href="#cdk-monitoring-constructs.BaseLoadBalancedFargateServiceMonitoringProps">BaseLoadBalancedFargateServiceMonitoringProps</a>

---

### 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.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.LogLevelCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.LogLevelCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.LogLevelCountThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.LogLevelCountThreshold.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.LogLevelCountThreshold.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.LogLevelCountThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.LogLevelCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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 monitor. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.addMaxIncomingLogsAlarm">addMaxIncomingLogsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.addMinIncomingLogsAlarm">addMinIncomingLogsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.filterExpressions">filterExpressions</a></code> | <code>string[]</code> | Filter expressions to add. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.limit">limit</a></code> | <code>number</code> | Maximum number of log messages to search for. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.pattern">pattern</a></code> | <code>string</code> | Pattern to filter `@message` field, e.g. "ERROR". |
| <code><a href="#cdk-monitoring-constructs.LogMonitoringProps.property.title">title</a></code> | <code>string</code> | Widget title. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.LogMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.LogMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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 monitor.

---

##### `addMaxIncomingLogsAlarm`<sup>Optional</sup> <a name="addMaxIncomingLogsAlarm" id="cdk-monitoring-constructs.LogMonitoringProps.property.addMaxIncomingLogsAlarm"></a>

```typescript
public readonly addMaxIncomingLogsAlarm: {[ key: string ]: MaxUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>}

---

##### `addMinIncomingLogsAlarm`<sup>Optional</sup> <a name="addMinIncomingLogsAlarm" id="cdk-monitoring-constructs.LogMonitoringProps.property.addMinIncomingLogsAlarm"></a>

```typescript
public readonly addMinIncomingLogsAlarm: {[ key: string ]: MinUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</a>}

---

##### `filterExpressions`<sup>Optional</sup> <a name="filterExpressions" id="cdk-monitoring-constructs.LogMonitoringProps.property.filterExpressions"></a>

```typescript
public readonly filterExpressions: string[];
```

- *Type:* string[]

Filter expressions to add.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-Filter.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-Filter.html)

---

*Example*

```typescript
filterExpressions = [`level = "ERROR"`]
// will be appended to the query as
| filter level = "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

Maximum number of log messages to search for.

---

##### `pattern`<sup>Optional</sup> <a name="pattern" id="cdk-monitoring-constructs.LogMonitoringProps.property.pattern"></a>

```typescript
public readonly pattern: string;
```

- *Type:* string

Pattern to filter `@message` field, e.g. "ERROR".

---

##### `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.

---

### LowConnectionCountThreshold <a name="LowConnectionCountThreshold" id="cdk-monitoring-constructs.LowConnectionCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.LowConnectionCountThreshold.Initializer"></a>

```typescript
import { LowConnectionCountThreshold } from 'cdk-monitoring-constructs'

const lowConnectionCountThreshold: LowConnectionCountThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LowConnectionCountThreshold.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.LowConnectionCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.LowConnectionCountThreshold.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.LowConnectionCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.LowConnectionCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.LowConnectionCountThreshold.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.LowConnectionCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.LowConnectionCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.LowConnectionCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.LowConnectionCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.LowConnectionCountThreshold.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.LowConnectionCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.LowConnectionCountThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.LowConnectionCountThreshold.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.LowConnectionCountThreshold.property.minConnectionCount">minConnectionCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.LowConnectionCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.LowConnectionCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.LowConnectionCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.LowConnectionCountThreshold.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.LowConnectionCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.LowConnectionCountThreshold.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.

---

##### `minConnectionCount`<sup>Required</sup> <a name="minConnectionCount" id="cdk-monitoring-constructs.LowConnectionCountThreshold.property.minConnectionCount"></a>

```typescript
public readonly minConnectionCount: number;
```

- *Type:* number

---

### 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.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.LowMessagesPublishedThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.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.LowMessagesPublishedThreshold.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.LowMessagesPublishedThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.LowMessagesPublishedThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.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.LowTpsThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.LowTpsThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.LowTpsThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.LowTpsThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.LowTpsThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.LowTpsThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.LowTpsThreshold.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.LowTpsThreshold.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.LowTpsThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.LowTpsThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.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.MaxAgeThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxAgeThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MaxAgeThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxAgeThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxAgeThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxAgeThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxAgeThreshold.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.MaxAgeThreshold.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.MaxAgeThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxAgeThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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

---

### MaxBackPressuredTimeMsPerSecondThreshold <a name="MaxBackPressuredTimeMsPerSecondThreshold" id="cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.Initializer"></a>

```typescript
import { MaxBackPressuredTimeMsPerSecondThreshold } from 'cdk-monitoring-constructs'

const maxBackPressuredTimeMsPerSecondThreshold: MaxBackPressuredTimeMsPerSecondThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.property.maxBackPressuredTimeMsPerSecond">maxBackPressuredTimeMsPerSecond</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.MaxBackPressuredTimeMsPerSecondThreshold.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.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.

---

##### `maxBackPressuredTimeMsPerSecond`<sup>Required</sup> <a name="maxBackPressuredTimeMsPerSecond" id="cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold.property.maxBackPressuredTimeMsPerSecond"></a>

```typescript
public readonly maxBackPressuredTimeMsPerSecond: 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.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.MaxDowntimeThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxDowntimeThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MaxDowntimeThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxDowntimeThreshold.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.MaxDowntimeThreshold.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.MaxDowntimeThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxDowntimeThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.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.MaxIncomingMessagesCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.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.MaxIncomingMessagesCountThreshold.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.MaxIncomingMessagesCountThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxIncomingMessagesCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.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.MaxItemsCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxItemsCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MaxItemsCountThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxItemsCountThreshold.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.MaxItemsCountThreshold.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.MaxItemsCountThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxItemsCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.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.MaxIteratorAgeThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.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.MaxIteratorAgeThreshold.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.MaxIteratorAgeThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxIteratorAgeThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.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.MaxMessageAgeThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageAgeThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.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.MaxMessageAgeThreshold.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.MaxMessageAgeThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxMessageAgeThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.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.MaxMessageCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxMessageCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MaxMessageCountThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxMessageCountThreshold.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.MaxMessageCountThreshold.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.MaxMessageCountThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxMessageCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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

---

### MaxOffsetLagThreshold <a name="MaxOffsetLagThreshold" id="cdk-monitoring-constructs.MaxOffsetLagThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxOffsetLagThreshold.Initializer"></a>

```typescript
import { MaxOffsetLagThreshold } from 'cdk-monitoring-constructs'

const maxOffsetLagThreshold: MaxOffsetLagThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.property.maxOffsetLag">maxOffsetLag</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxOffsetLagThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxOffsetLagThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxOffsetLagThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.MaxOffsetLagThreshold.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxOffsetLagThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxOffsetLagThreshold.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.

---

##### `maxOffsetLag`<sup>Required</sup> <a name="maxOffsetLag" id="cdk-monitoring-constructs.MaxOffsetLagThreshold.property.maxOffsetLag"></a>

```typescript
public readonly maxOffsetLag: number;
```

- *Type:* number

---

### MaxSecretCountThreshold <a name="MaxSecretCountThreshold" id="cdk-monitoring-constructs.MaxSecretCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxSecretCountThreshold.Initializer"></a>

```typescript
import { MaxSecretCountThreshold } from 'cdk-monitoring-constructs'

const maxSecretCountThreshold: MaxSecretCountThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxSecretCountThreshold.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.MaxSecretCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxSecretCountThreshold.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.MaxSecretCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxSecretCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxSecretCountThreshold.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.MaxSecretCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxSecretCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxSecretCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxSecretCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.MaxSecretCountThreshold.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.MaxSecretCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxSecretCountThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.MaxSecretCountThreshold.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.MaxSecretCountThreshold.property.maxSecretCount">maxSecretCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxSecretCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxSecretCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxSecretCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.MaxSecretCountThreshold.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxSecretCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxSecretCountThreshold.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.

---

##### `maxSecretCount`<sup>Required</sup> <a name="maxSecretCount" id="cdk-monitoring-constructs.MaxSecretCountThreshold.property.maxSecretCount"></a>

```typescript
public readonly maxSecretCount: number;
```

- *Type:* number

---

### MaxThrottleRateThreshold <a name="MaxThrottleRateThreshold" id="cdk-monitoring-constructs.MaxThrottleRateThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxThrottleRateThreshold.Initializer"></a>

```typescript
import { MaxThrottleRateThreshold } from 'cdk-monitoring-constructs'

const maxThrottleRateThreshold: MaxThrottleRateThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.property.maxThrottleRatePercent">maxThrottleRatePercent</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxThrottleRateThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxThrottleRateThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxThrottleRateThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.MaxThrottleRateThreshold.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxThrottleRateThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxThrottleRateThreshold.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.

---

##### `maxThrottleRatePercent`<sup>Required</sup> <a name="maxThrottleRatePercent" id="cdk-monitoring-constructs.MaxThrottleRateThreshold.property.maxThrottleRatePercent"></a>

```typescript
public readonly maxThrottleRatePercent: 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.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.MaxTimeToDrainThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.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.MaxTimeToDrainThreshold.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.MaxTimeToDrainThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxTimeToDrainThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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

---

### MaxUsageCountThreshold <a name="MaxUsageCountThreshold" id="cdk-monitoring-constructs.MaxUsageCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MaxUsageCountThreshold.Initializer"></a>

```typescript
import { MaxUsageCountThreshold } from 'cdk-monitoring-constructs'

const maxUsageCountThreshold: MaxUsageCountThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MaxUsageCountThreshold.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.MaxUsageCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MaxUsageCountThreshold.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.MaxUsageCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxUsageCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxUsageCountThreshold.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.MaxUsageCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxUsageCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxUsageCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxUsageCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.MaxUsageCountThreshold.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.MaxUsageCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MaxUsageCountThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.MaxUsageCountThreshold.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.MaxUsageCountThreshold.property.maxCount">maxCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxUsageCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxUsageCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxUsageCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.MaxUsageCountThreshold.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxUsageCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MaxUsageCountThreshold.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.

---

##### `maxCount`<sup>Required</sup> <a name="maxCount" id="cdk-monitoring-constructs.MaxUsageCountThreshold.property.maxCount"></a>

```typescript
public readonly maxCount: number;
```

- *Type:* number

---

### 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.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.MaxUsedSwapMemoryThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.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.MaxUsedSwapMemoryThreshold.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.MaxUsedSwapMemoryThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MaxUsedSwapMemoryThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.MetricFactoryDefaults.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.MetricFactoryDefaults.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.MetricFactoryDefaults.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.

---

### MinConsumerSubscribeToShardSuccessThreshold <a name="MinConsumerSubscribeToShardSuccessThreshold" id="cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.Initializer"></a>

```typescript
import { MinConsumerSubscribeToShardSuccessThreshold } from 'cdk-monitoring-constructs'

const minConsumerSubscribeToShardSuccessThreshold: MinConsumerSubscribeToShardSuccessThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.property.minSuccessRate">minSuccessRate</a></code> | <code>number</code> | Minimum acceptable SubscribeToShard.Success average (0.0–1.0). |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.MinConsumerSubscribeToShardSuccessThreshold.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.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.

---

##### `minSuccessRate`<sup>Required</sup> <a name="minSuccessRate" id="cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold.property.minSuccessRate"></a>

```typescript
public readonly minSuccessRate: number;
```

- *Type:* number

Minimum acceptable SubscribeToShard.Success average (0.0–1.0).

---

### 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.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.MinFreeableMemoryThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.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.MinFreeableMemoryThreshold.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.MinFreeableMemoryThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MinFreeableMemoryThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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

---

### MinHitRateThreshold <a name="MinHitRateThreshold" id="cdk-monitoring-constructs.MinHitRateThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MinHitRateThreshold.Initializer"></a>

```typescript
import { MinHitRateThreshold } from 'cdk-monitoring-constructs'

const minHitRateThreshold: MinHitRateThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MinHitRateThreshold.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.MinHitRateThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MinHitRateThreshold.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.MinHitRateThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinHitRateThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MinHitRateThreshold.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.MinHitRateThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MinHitRateThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MinHitRateThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MinHitRateThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.MinHitRateThreshold.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.MinHitRateThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinHitRateThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.MinHitRateThreshold.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.MinHitRateThreshold.property.minHitRatePercent">minHitRatePercent</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MinHitRateThreshold.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.MinHitRateThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MinHitRateThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MinHitRateThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MinHitRateThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.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.MinHitRateThreshold.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MinHitRateThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MinHitRateThreshold.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.

---

##### `minHitRatePercent`<sup>Required</sup> <a name="minHitRatePercent" id="cdk-monitoring-constructs.MinHitRateThreshold.property.minHitRatePercent"></a>

```typescript
public readonly minHitRatePercent: 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.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.MinIncomingMessagesCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.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.MinIncomingMessagesCountThreshold.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.MinIncomingMessagesCountThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MinIncomingMessagesCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.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.MinMessageCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MinMessageCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MinMessageCountThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MinMessageCountThreshold.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.MinMessageCountThreshold.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.MinMessageCountThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MinMessageCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.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.MinProcessedBytesThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MinProcessedBytesThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.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.MinProcessedBytesThreshold.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.MinProcessedBytesThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MinProcessedBytesThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.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.MinRunningTaskCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.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.MinRunningTaskCountThreshold.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.MinRunningTaskCountThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MinRunningTaskCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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

---

### MinSecretCountThreshold <a name="MinSecretCountThreshold" id="cdk-monitoring-constructs.MinSecretCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MinSecretCountThreshold.Initializer"></a>

```typescript
import { MinSecretCountThreshold } from 'cdk-monitoring-constructs'

const minSecretCountThreshold: MinSecretCountThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MinSecretCountThreshold.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.MinSecretCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MinSecretCountThreshold.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.MinSecretCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinSecretCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MinSecretCountThreshold.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.MinSecretCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MinSecretCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MinSecretCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MinSecretCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.MinSecretCountThreshold.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.MinSecretCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinSecretCountThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.MinSecretCountThreshold.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.MinSecretCountThreshold.property.minSecretCount">minSecretCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MinSecretCountThreshold.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.MinSecretCountThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MinSecretCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MinSecretCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MinSecretCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.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.MinSecretCountThreshold.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MinSecretCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MinSecretCountThreshold.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.

---

##### `minSecretCount`<sup>Required</sup> <a name="minSecretCount" id="cdk-monitoring-constructs.MinSecretCountThreshold.property.minSecretCount"></a>

```typescript
public readonly minSecretCount: number;
```

- *Type:* number

---

### MinUsageCountThreshold <a name="MinUsageCountThreshold" id="cdk-monitoring-constructs.MinUsageCountThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MinUsageCountThreshold.Initializer"></a>

```typescript
import { MinUsageCountThreshold } from 'cdk-monitoring-constructs'

const minUsageCountThreshold: MinUsageCountThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MinUsageCountThreshold.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.MinUsageCountThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.MinUsageCountThreshold.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.MinUsageCountThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinUsageCountThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.MinUsageCountThreshold.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.MinUsageCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.MinUsageCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.MinUsageCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.MinUsageCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.MinUsageCountThreshold.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.MinUsageCountThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.MinUsageCountThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.MinUsageCountThreshold.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.MinUsageCountThreshold.property.minCount">minCount</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.MinUsageCountThreshold.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.MinUsageCountThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.MinUsageCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.MinUsageCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.MinUsageCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.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.MinUsageCountThreshold.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.MinUsageCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.MinUsageCountThreshold.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.

---

##### `minCount`<sup>Required</sup> <a name="minCount" id="cdk-monitoring-constructs.MinUsageCountThreshold.property.minCount"></a>

```typescript
public readonly minCount: 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.CertificateManagerAspectType">CertificateManagerAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.apiGateway">apiGateway</a></code> | <code><a href="#cdk-monitoring-constructs.ApiGatewayAspectType">ApiGatewayAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.apiGatewayV2">apiGatewayV2</a></code> | <code><a href="#cdk-monitoring-constructs.ApiGatewayV2AspectType">ApiGatewayV2AspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.appSync">appSync</a></code> | <code><a href="#cdk-monitoring-constructs.AppSyncAspectType">AppSyncAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.auroraCluster">auroraCluster</a></code> | <code><a href="#cdk-monitoring-constructs.AuroraClusterAspectType">AuroraClusterAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.autoScalingGroup">autoScalingGroup</a></code> | <code><a href="#cdk-monitoring-constructs.AutoScalingGroupAspectType">AutoScalingGroupAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.billing">billing</a></code> | <code><a href="#cdk-monitoring-constructs.BillingAspectType">BillingAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.cloudFront">cloudFront</a></code> | <code><a href="#cdk-monitoring-constructs.CloudFrontAspectType">CloudFrontAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.codeBuild">codeBuild</a></code> | <code><a href="#cdk-monitoring-constructs.CodeBuildAspectType">CodeBuildAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.documentDb">documentDb</a></code> | <code><a href="#cdk-monitoring-constructs.DocumentDbAspectType">DocumentDbAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.dynamoDB">dynamoDB</a></code> | <code><a href="#cdk-monitoring-constructs.DynamoTableAspectType">DynamoTableAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.ec2">ec2</a></code> | <code><a href="#cdk-monitoring-constructs.EC2AspectType">EC2AspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.elasticCache">elasticCache</a></code> | <code><a href="#cdk-monitoring-constructs.ElastiCacheAspectType">ElastiCacheAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.fargateLoadBalancedService">fargateLoadBalancedService</a></code> | <code><a href="#cdk-monitoring-constructs.LoadBalancedFargateServiceAspectType">LoadBalancedFargateServiceAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.fargateService">fargateService</a></code> | <code><a href="#cdk-monitoring-constructs.FargateServiceAspectType">FargateServiceAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.glue">glue</a></code> | <code><a href="#cdk-monitoring-constructs.GlueJobAspectType">GlueJobAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisDataAnalytics">kinesisDataAnalytics</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsAspectType">KinesisDataAnalyticsAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisDataStream">kinesisDataStream</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisDataStreamAspectType">KinesisDataStreamAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisDataStreamConsumer">kinesisDataStreamConsumer</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerAspectType">KinesisDataStreamConsumerAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisFirehose">kinesisFirehose</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisFirehoseAspectType">KinesisFirehoseAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.lambda">lambda</a></code> | <code><a href="#cdk-monitoring-constructs.LambdaFunctionAspectType">LambdaFunctionAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.openSearch">openSearch</a></code> | <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAspectType">OpenSearchClusterAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.queueProcessingFargateService">queueProcessingFargateService</a></code> | <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceAspectType">QueueProcessingFargateServiceAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.rds">rds</a></code> | <code><a href="#cdk-monitoring-constructs.RdsClusterAspectType">RdsClusterAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.rdsCluster">rdsCluster</a></code> | <code><a href="#cdk-monitoring-constructs.RdsClusterAspectType">RdsClusterAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.rdsInstance">rdsInstance</a></code> | <code><a href="#cdk-monitoring-constructs.RdsInstanceAspectType">RdsInstanceAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.redshift">redshift</a></code> | <code><a href="#cdk-monitoring-constructs.RedshiftClusterAspectType">RedshiftClusterAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.s3">s3</a></code> | <code><a href="#cdk-monitoring-constructs.S3BucketAspectType">S3BucketAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.secretsManager">secretsManager</a></code> | <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretAspectType">SecretsManagerSecretAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.sns">sns</a></code> | <code><a href="#cdk-monitoring-constructs.SnsTopicAspectType">SnsTopicAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.sqs">sqs</a></code> | <code><a href="#cdk-monitoring-constructs.SqsQueueAspectType">SqsQueueAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.stepFunctions">stepFunctions</a></code> | <code><a href="#cdk-monitoring-constructs.StepFunctionAspectType">StepFunctionAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.syntheticsCanaries">syntheticsCanaries</a></code> | <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryAspectType">SyntheticsCanaryAspectType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringAspectProps.property.webApplicationFirewallAclV2">webApplicationFirewallAclV2</a></code> | <code><a href="#cdk-monitoring-constructs.WafV2AspectType">WafV2AspectType</a></code> | *No description.* |

---

##### `acm`<sup>Optional</sup> <a name="acm" id="cdk-monitoring-constructs.MonitoringAspectProps.property.acm"></a>

```typescript
public readonly acm: CertificateManagerAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.CertificateManagerAspectType">CertificateManagerAspectType</a>

---

##### `apiGateway`<sup>Optional</sup> <a name="apiGateway" id="cdk-monitoring-constructs.MonitoringAspectProps.property.apiGateway"></a>

```typescript
public readonly apiGateway: ApiGatewayAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.ApiGatewayAspectType">ApiGatewayAspectType</a>

---

##### `apiGatewayV2`<sup>Optional</sup> <a name="apiGatewayV2" id="cdk-monitoring-constructs.MonitoringAspectProps.property.apiGatewayV2"></a>

```typescript
public readonly apiGatewayV2: ApiGatewayV2AspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.ApiGatewayV2AspectType">ApiGatewayV2AspectType</a>

---

##### `appSync`<sup>Optional</sup> <a name="appSync" id="cdk-monitoring-constructs.MonitoringAspectProps.property.appSync"></a>

```typescript
public readonly appSync: AppSyncAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.AppSyncAspectType">AppSyncAspectType</a>

---

##### `auroraCluster`<sup>Optional</sup> <a name="auroraCluster" id="cdk-monitoring-constructs.MonitoringAspectProps.property.auroraCluster"></a>

```typescript
public readonly auroraCluster: AuroraClusterAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.AuroraClusterAspectType">AuroraClusterAspectType</a>

---

##### `autoScalingGroup`<sup>Optional</sup> <a name="autoScalingGroup" id="cdk-monitoring-constructs.MonitoringAspectProps.property.autoScalingGroup"></a>

```typescript
public readonly autoScalingGroup: AutoScalingGroupAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.AutoScalingGroupAspectType">AutoScalingGroupAspectType</a>

---

##### `billing`<sup>Optional</sup> <a name="billing" id="cdk-monitoring-constructs.MonitoringAspectProps.property.billing"></a>

```typescript
public readonly billing: BillingAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.BillingAspectType">BillingAspectType</a>

---

##### `cloudFront`<sup>Optional</sup> <a name="cloudFront" id="cdk-monitoring-constructs.MonitoringAspectProps.property.cloudFront"></a>

```typescript
public readonly cloudFront: CloudFrontAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.CloudFrontAspectType">CloudFrontAspectType</a>

---

##### `codeBuild`<sup>Optional</sup> <a name="codeBuild" id="cdk-monitoring-constructs.MonitoringAspectProps.property.codeBuild"></a>

```typescript
public readonly codeBuild: CodeBuildAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.CodeBuildAspectType">CodeBuildAspectType</a>

---

##### `documentDb`<sup>Optional</sup> <a name="documentDb" id="cdk-monitoring-constructs.MonitoringAspectProps.property.documentDb"></a>

```typescript
public readonly documentDb: DocumentDbAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.DocumentDbAspectType">DocumentDbAspectType</a>

---

##### `dynamoDB`<sup>Optional</sup> <a name="dynamoDB" id="cdk-monitoring-constructs.MonitoringAspectProps.property.dynamoDB"></a>

```typescript
public readonly dynamoDB: DynamoTableAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.DynamoTableAspectType">DynamoTableAspectType</a>

---

##### `ec2`<sup>Optional</sup> <a name="ec2" id="cdk-monitoring-constructs.MonitoringAspectProps.property.ec2"></a>

```typescript
public readonly ec2: EC2AspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.EC2AspectType">EC2AspectType</a>

---

##### `elasticCache`<sup>Optional</sup> <a name="elasticCache" id="cdk-monitoring-constructs.MonitoringAspectProps.property.elasticCache"></a>

```typescript
public readonly elasticCache: ElastiCacheAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheAspectType">ElastiCacheAspectType</a>

---

##### `fargateLoadBalancedService`<sup>Optional</sup> <a name="fargateLoadBalancedService" id="cdk-monitoring-constructs.MonitoringAspectProps.property.fargateLoadBalancedService"></a>

```typescript
public readonly fargateLoadBalancedService: LoadBalancedFargateServiceAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.LoadBalancedFargateServiceAspectType">LoadBalancedFargateServiceAspectType</a>

---

##### `fargateService`<sup>Optional</sup> <a name="fargateService" id="cdk-monitoring-constructs.MonitoringAspectProps.property.fargateService"></a>

```typescript
public readonly fargateService: FargateServiceAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.FargateServiceAspectType">FargateServiceAspectType</a>

---

##### `glue`<sup>Optional</sup> <a name="glue" id="cdk-monitoring-constructs.MonitoringAspectProps.property.glue"></a>

```typescript
public readonly glue: GlueJobAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.GlueJobAspectType">GlueJobAspectType</a>

---

##### `kinesisDataAnalytics`<sup>Optional</sup> <a name="kinesisDataAnalytics" id="cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisDataAnalytics"></a>

```typescript
public readonly kinesisDataAnalytics: KinesisDataAnalyticsAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataAnalyticsAspectType">KinesisDataAnalyticsAspectType</a>

---

##### `kinesisDataStream`<sup>Optional</sup> <a name="kinesisDataStream" id="cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisDataStream"></a>

```typescript
public readonly kinesisDataStream: KinesisDataStreamAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataStreamAspectType">KinesisDataStreamAspectType</a>

---

##### `kinesisDataStreamConsumer`<sup>Optional</sup> <a name="kinesisDataStreamConsumer" id="cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisDataStreamConsumer"></a>

```typescript
public readonly kinesisDataStreamConsumer: KinesisDataStreamConsumerAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerAspectType">KinesisDataStreamConsumerAspectType</a>

---

##### `kinesisFirehose`<sup>Optional</sup> <a name="kinesisFirehose" id="cdk-monitoring-constructs.MonitoringAspectProps.property.kinesisFirehose"></a>

```typescript
public readonly kinesisFirehose: KinesisFirehoseAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.KinesisFirehoseAspectType">KinesisFirehoseAspectType</a>

---

##### `lambda`<sup>Optional</sup> <a name="lambda" id="cdk-monitoring-constructs.MonitoringAspectProps.property.lambda"></a>

```typescript
public readonly lambda: LambdaFunctionAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.LambdaFunctionAspectType">LambdaFunctionAspectType</a>

---

##### `openSearch`<sup>Optional</sup> <a name="openSearch" id="cdk-monitoring-constructs.MonitoringAspectProps.property.openSearch"></a>

```typescript
public readonly openSearch: OpenSearchClusterAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchClusterAspectType">OpenSearchClusterAspectType</a>

---

##### `queueProcessingFargateService`<sup>Optional</sup> <a name="queueProcessingFargateService" id="cdk-monitoring-constructs.MonitoringAspectProps.property.queueProcessingFargateService"></a>

```typescript
public readonly queueProcessingFargateService: QueueProcessingFargateServiceAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceAspectType">QueueProcessingFargateServiceAspectType</a>

---

##### ~~`rds`~~<sup>Optional</sup> <a name="rds" id="cdk-monitoring-constructs.MonitoringAspectProps.property.rds"></a>

- *Deprecated:* Use {@link rdsCluster } instead.

```typescript
public readonly rds: RdsClusterAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.RdsClusterAspectType">RdsClusterAspectType</a>

---

##### `rdsCluster`<sup>Optional</sup> <a name="rdsCluster" id="cdk-monitoring-constructs.MonitoringAspectProps.property.rdsCluster"></a>

```typescript
public readonly rdsCluster: RdsClusterAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.RdsClusterAspectType">RdsClusterAspectType</a>

---

##### `rdsInstance`<sup>Optional</sup> <a name="rdsInstance" id="cdk-monitoring-constructs.MonitoringAspectProps.property.rdsInstance"></a>

```typescript
public readonly rdsInstance: RdsInstanceAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.RdsInstanceAspectType">RdsInstanceAspectType</a>

---

##### `redshift`<sup>Optional</sup> <a name="redshift" id="cdk-monitoring-constructs.MonitoringAspectProps.property.redshift"></a>

```typescript
public readonly redshift: RedshiftClusterAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.RedshiftClusterAspectType">RedshiftClusterAspectType</a>

---

##### `s3`<sup>Optional</sup> <a name="s3" id="cdk-monitoring-constructs.MonitoringAspectProps.property.s3"></a>

```typescript
public readonly s3: S3BucketAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.S3BucketAspectType">S3BucketAspectType</a>

---

##### `secretsManager`<sup>Optional</sup> <a name="secretsManager" id="cdk-monitoring-constructs.MonitoringAspectProps.property.secretsManager"></a>

```typescript
public readonly secretsManager: SecretsManagerSecretAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.SecretsManagerSecretAspectType">SecretsManagerSecretAspectType</a>

---

##### `sns`<sup>Optional</sup> <a name="sns" id="cdk-monitoring-constructs.MonitoringAspectProps.property.sns"></a>

```typescript
public readonly sns: SnsTopicAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.SnsTopicAspectType">SnsTopicAspectType</a>

---

##### `sqs`<sup>Optional</sup> <a name="sqs" id="cdk-monitoring-constructs.MonitoringAspectProps.property.sqs"></a>

```typescript
public readonly sqs: SqsQueueAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.SqsQueueAspectType">SqsQueueAspectType</a>

---

##### `stepFunctions`<sup>Optional</sup> <a name="stepFunctions" id="cdk-monitoring-constructs.MonitoringAspectProps.property.stepFunctions"></a>

```typescript
public readonly stepFunctions: StepFunctionAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionAspectType">StepFunctionAspectType</a>

---

##### `syntheticsCanaries`<sup>Optional</sup> <a name="syntheticsCanaries" id="cdk-monitoring-constructs.MonitoringAspectProps.property.syntheticsCanaries"></a>

```typescript
public readonly syntheticsCanaries: SyntheticsCanaryAspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.SyntheticsCanaryAspectType">SyntheticsCanaryAspectType</a>

---

##### `webApplicationFirewallAclV2`<sup>Optional</sup> <a name="webApplicationFirewallAclV2" id="cdk-monitoring-constructs.MonitoringAspectProps.property.webApplicationFirewallAclV2"></a>

```typescript
public readonly webApplicationFirewallAclV2: WafV2AspectType;
```

- *Type:* <a href="#cdk-monitoring-constructs.WafV2AspectType">WafV2AspectType</a>

---

### 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. |
| <code><a href="#cdk-monitoring-constructs.MonitoringDashboardsProps.property.variables">variables</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IVariable[]</code> | Dashboard variables to include in the dashboards. |

---

##### `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.

---

##### `variables`<sup>Optional</sup> <a name="variables" id="cdk-monitoring-constructs.MonitoringDashboardsProps.property.variables"></a>

```typescript
public readonly variables: IVariable[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IVariable[]
- *Default:* No variables

Dashboard variables to include in the dashboards.

---

### MonitoringDynamicDashboardsProps <a name="MonitoringDynamicDashboardsProps" id="cdk-monitoring-constructs.MonitoringDynamicDashboardsProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.MonitoringDynamicDashboardsProps.Initializer"></a>

```typescript
import { MonitoringDynamicDashboardsProps } from 'cdk-monitoring-constructs'

const monitoringDynamicDashboardsProps: MonitoringDynamicDashboardsProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MonitoringDynamicDashboardsProps.property.dashboardConfigs">dashboardConfigs</a></code> | <code><a href="#cdk-monitoring-constructs.DynamicDashboardConfiguration">DynamicDashboardConfiguration</a>[]</code> | List of dashboard types to generate. |
| <code><a href="#cdk-monitoring-constructs.MonitoringDynamicDashboardsProps.property.dashboardNamePrefix">dashboardNamePrefix</a></code> | <code>string</code> | Prefix added to each dashboard's name. |

---

##### `dashboardConfigs`<sup>Required</sup> <a name="dashboardConfigs" id="cdk-monitoring-constructs.MonitoringDynamicDashboardsProps.property.dashboardConfigs"></a>

```typescript
public readonly dashboardConfigs: DynamicDashboardConfiguration[];
```

- *Type:* <a href="#cdk-monitoring-constructs.DynamicDashboardConfiguration">DynamicDashboardConfiguration</a>[]

List of dashboard types to generate.

---

##### `dashboardNamePrefix`<sup>Required</sup> <a name="dashboardNamePrefix" id="cdk-monitoring-constructs.MonitoringDynamicDashboardsProps.property.dashboardNamePrefix"></a>

```typescript
public readonly dashboardNamePrefix: string;
```

- *Type:* string

Prefix added to each dashboard's name.

This allows to have all dashboards sorted close to each other and also separate multiple monitoring facades.

---

### 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.IDynamicDashboardFactory">IDynamicDashboardFactory</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: IDynamicDashboardFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.IDynamicDashboardFactory">IDynamicDashboardFactory</a>
- *Default:* An instance of {@link DynamicDashboardFactory }; 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.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.MonitoringHeaderWidgetProps.property.descriptionHeight">descriptionHeight</a></code> | <code>number</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

---

##### `description`<sup>Optional</sup> <a name="description" id="cdk-monitoring-constructs.MonitoringHeaderWidgetProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `descriptionHeight`<sup>Optional</sup> <a name="descriptionHeight" id="cdk-monitoring-constructs.MonitoringHeaderWidgetProps.property.descriptionHeight"></a>

```typescript
public readonly descriptionHeight: number;
```

- *Type:* number

---

##### `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.

---

### NetworkInThreshold <a name="NetworkInThreshold" id="cdk-monitoring-constructs.NetworkInThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.NetworkInThreshold.Initializer"></a>

```typescript
import { NetworkInThreshold } from 'cdk-monitoring-constructs'

const networkInThreshold: NetworkInThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.NetworkInThreshold.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.NetworkInThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.NetworkInThreshold.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.NetworkInThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.NetworkInThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.NetworkInThreshold.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.NetworkInThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.NetworkInThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.NetworkInThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.NetworkInThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.NetworkInThreshold.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.NetworkInThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.NetworkInThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.NetworkInThreshold.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.NetworkInThreshold.property.maxNetworkInBytes">maxNetworkInBytes</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.NetworkInThreshold.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.NetworkInThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.NetworkInThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.NetworkInThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.NetworkInThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.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.NetworkInThreshold.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.NetworkInThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.NetworkInThreshold.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.

---

##### `maxNetworkInBytes`<sup>Required</sup> <a name="maxNetworkInBytes" id="cdk-monitoring-constructs.NetworkInThreshold.property.maxNetworkInBytes"></a>

```typescript
public readonly maxNetworkInBytes: number;
```

- *Type:* number

---

### 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.invertStatisticsOfTaskCountEnabled">invertStatisticsOfTaskCountEnabled</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.networkLoadBalancer">networkLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.INetworkLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.networkTargetGroup">networkTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.INetworkTargetGroup</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.networkLoadBalancerTargetType">networkLoadBalancerTargetType</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.TargetType</code> | Target type for the NetworkLoadBalancer. |

---

##### `invertStatisticsOfTaskCountEnabled`<sup>Optional</sup> <a name="invertStatisticsOfTaskCountEnabled" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.invertStatisticsOfTaskCountEnabled"></a>

```typescript
public readonly invertStatisticsOfTaskCountEnabled: boolean;
```

- *Type:* boolean
- *Default:* false

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `networkLoadBalancer`<sup>Required</sup> <a name="networkLoadBalancer" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.networkLoadBalancer"></a>

```typescript
public readonly networkLoadBalancer: INetworkLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.INetworkLoadBalancer

---

##### `networkTargetGroup`<sup>Required</sup> <a name="networkTargetGroup" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.networkTargetGroup"></a>

```typescript
public readonly networkTargetGroup: INetworkTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.INetworkTargetGroup

---

##### `networkLoadBalancerTargetType`<sup>Optional</sup> <a name="networkLoadBalancerTargetType" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactoryProps.property.networkLoadBalancerTargetType"></a>

```typescript
public readonly networkLoadBalancerTargetType: TargetType;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.TargetType

Target type for the NetworkLoadBalancer.

Set explicitly to ensure that unnecessary widgets are not rendered.
By default, we will provide task health metrics, which are not
relevant to the {@link TargetType.ALB} targets.

---

### 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.invertStatisticsOfTaskCountEnabled">invertStatisticsOfTaskCountEnabled</a></code> | <code>boolean</code> | Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.networkLoadBalancer">networkLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.INetworkLoadBalancer</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.networkTargetGroup">networkTargetGroup</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.INetworkTargetGroup</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.networkLoadBalancerTargetType">networkLoadBalancerTargetType</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.TargetType</code> | Target type for the NetworkLoadBalancer. |
| <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.* |

---

##### `invertStatisticsOfTaskCountEnabled`<sup>Optional</sup> <a name="invertStatisticsOfTaskCountEnabled" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.invertStatisticsOfTaskCountEnabled"></a>

```typescript
public readonly invertStatisticsOfTaskCountEnabled: boolean;
```

- *Type:* boolean
- *Default:* false

Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.

When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.

`invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `networkLoadBalancer`<sup>Required</sup> <a name="networkLoadBalancer" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.networkLoadBalancer"></a>

```typescript
public readonly networkLoadBalancer: INetworkLoadBalancer;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.INetworkLoadBalancer

---

##### `networkTargetGroup`<sup>Required</sup> <a name="networkTargetGroup" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.networkTargetGroup"></a>

```typescript
public readonly networkTargetGroup: INetworkTargetGroup;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.INetworkTargetGroup

---

##### `networkLoadBalancerTargetType`<sup>Optional</sup> <a name="networkLoadBalancerTargetType" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoringProps.property.networkLoadBalancerTargetType"></a>

```typescript
public readonly networkLoadBalancerTargetType: TargetType;
```

- *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.TargetType

Target type for the NetworkLoadBalancer.

Set explicitly to ensure that unnecessary widgets are not rendered.
By default, we will provide task health metrics, which are not
relevant to the {@link TargetType.ALB} targets.

---

##### `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>}

---

### NetworkOutThreshold <a name="NetworkOutThreshold" id="cdk-monitoring-constructs.NetworkOutThreshold"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.NetworkOutThreshold.Initializer"></a>

```typescript
import { NetworkOutThreshold } from 'cdk-monitoring-constructs'

const networkOutThreshold: NetworkOutThreshold = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.NetworkOutThreshold.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.NetworkOutThreshold.property.actionsEnabled">actionsEnabled</a></code> | <code>boolean</code> | Enables the configured CloudWatch alarm ticketing actions. |
| <code><a href="#cdk-monitoring-constructs.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.property.datapointsToAlarm">datapointsToAlarm</a></code> | <code>number</code> | Number of breaches required to transition into an ALARM state. |
| <code><a href="#cdk-monitoring-constructs.NetworkOutThreshold.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.NetworkOutThreshold.property.documentationLink">documentationLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.NetworkOutThreshold.property.evaluateLowSampleCountPercentile">evaluateLowSampleCountPercentile</a></code> | <code>boolean</code> | Used only for alarms based on percentiles. |
| <code><a href="#cdk-monitoring-constructs.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.property.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.NetworkOutThreshold.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.NetworkOutThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.NetworkOutThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.NetworkOutThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.NetworkOutThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <code><a href="#cdk-monitoring-constructs.NetworkOutThreshold.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.NetworkOutThreshold.property.runbookLink">runbookLink</a></code> | <code>string</code> | An optional link included in the generated ticket description body. |
| <code><a href="#cdk-monitoring-constructs.NetworkOutThreshold.property.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <code><a href="#cdk-monitoring-constructs.NetworkOutThreshold.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.NetworkOutThreshold.property.maxNetworkOutBytes">maxNetworkOutBytes</a></code> | <code>number</code> | *No description.* |

---

##### `actionOverride`<sup>Optional</sup> <a name="actionOverride" id="cdk-monitoring-constructs.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.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 dedupeStringOverride.

---

##### `alarmDescriptionOverride`<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.NetworkOutThreshold.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.NetworkOutThreshold.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 regions (EU, NA...) manually.

---

##### `comparisonOperatorOverride`<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.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 regions (EU, NA...) manually.

---

##### `documentationLink`<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.NetworkOutThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.NetworkOutThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.NetworkOutThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.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.NetworkOutThreshold.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.NetworkOutThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `treatMissingDataOverride`<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.NetworkOutThreshold.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.

---

##### `maxNetworkOutBytes`<sup>Required</sup> <a name="maxNetworkOutBytes" id="cdk-monitoring-constructs.NetworkOutThreshold.property.maxNetworkOutBytes"></a>

```typescript
public readonly maxNetworkOutBytes: number;
```

- *Type:* number

---

### 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.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.NotificationsFailedThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.NotificationsFailedThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.NotificationsFailedThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.NotificationsFailedThreshold.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.NotificationsFailedThreshold.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.NotificationsFailedThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.NotificationsFailedThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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

---

### OpenSearchClusterAspectType <a name="OpenSearchClusterAspectType" id="cdk-monitoring-constructs.OpenSearchClusterAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchClusterAspectType.Initializer"></a>

```typescript
import { OpenSearchClusterAspectType } from 'cdk-monitoring-constructs'

const openSearchClusterAspectType: OpenSearchClusterAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions">OpenSearchClusterMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.OpenSearchClusterAspectType.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.OpenSearchClusterAspectType.property.props"></a>

```typescript
public readonly props: OpenSearchClusterMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions">OpenSearchClusterMonitoringOptions</a>

---

### 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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.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.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.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.OpenSearchClusterAutomatedSnapshotFailureThreshold.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.OpenSearchClusterAutomatedSnapshotFailureThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.OpenSearchClusterAutomatedSnapshotFailureThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.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.OpenSearchClusterIndexWritesBlockedThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.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.OpenSearchClusterIndexWritesBlockedThreshold.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.OpenSearchClusterIndexWritesBlockedThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.OpenSearchClusterIndexWritesBlockedThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps.property.domain">domain</a></code> | <code>aws-cdk-lib.aws_opensearchservice.CfnDomain \| aws-cdk-lib.aws_opensearchservice.IDomain \| aws-cdk-lib.aws_elasticsearch.CfnDomain \| aws-cdk-lib.aws_elasticsearch.IDomain</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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `domain`<sup>Required</sup> <a name="domain" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactoryProps.property.domain"></a>

```typescript
public readonly domain: CfnDomain | IDomain | CfnDomain | IDomain;
```

- *Type:* aws-cdk-lib.aws_opensearchservice.CfnDomain | aws-cdk-lib.aws_opensearchservice.IDomain | aws-cdk-lib.aws_elasticsearch.CfnDomain | aws-cdk-lib.aws_elasticsearch.IDomain

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.domain">domain</a></code> | <code>aws-cdk-lib.aws_opensearchservice.CfnDomain \| aws-cdk-lib.aws_opensearchservice.IDomain \| aws-cdk-lib.aws_elasticsearch.CfnDomain \| aws-cdk-lib.aws_elasticsearch.IDomain</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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `domain`<sup>Required</sup> <a name="domain" id="cdk-monitoring-constructs.OpenSearchClusterMonitoringProps.property.domain"></a>

```typescript
public readonly domain: CfnDomain | IDomain | CfnDomain | IDomain;
```

- *Type:* aws-cdk-lib.aws_opensearchservice.CfnDomain | aws-cdk-lib.aws_opensearchservice.IDomain | aws-cdk-lib.aws_elasticsearch.CfnDomain | aws-cdk-lib.aws_elasticsearch.IDomain

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.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.OpenSearchClusterNodesThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.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.OpenSearchClusterNodesThreshold.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.OpenSearchClusterNodesThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.OpenSearchClusterNodesThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.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.OpenSearchClusterStatusCustomization.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.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.OpenSearchClusterStatusCustomization.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.OpenSearchClusterStatusCustomization.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.OpenSearchClusterStatusCustomization.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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>

---

### OpenSearchIngestionPipelineMetricFactoryProps <a name="OpenSearchIngestionPipelineMetricFactoryProps" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps.Initializer"></a>

```typescript
import { OpenSearchIngestionPipelineMetricFactoryProps } from 'cdk-monitoring-constructs'

const openSearchIngestionPipelineMetricFactoryProps: OpenSearchIngestionPipelineMetricFactoryProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps.property.pipelineName">pipelineName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps.property.sink">sink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps.property.source">source</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps.property.subPipelineName">subPipelineName</a></code> | <code>string</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `pipelineName`<sup>Required</sup> <a name="pipelineName" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps.property.pipelineName"></a>

```typescript
public readonly pipelineName: string;
```

- *Type:* string

---

##### `sink`<sup>Required</sup> <a name="sink" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps.property.sink"></a>

```typescript
public readonly sink: string;
```

- *Type:* string

---

##### `source`<sup>Required</sup> <a name="source" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

---

##### `subPipelineName`<sup>Required</sup> <a name="subPipelineName" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps.property.subPipelineName"></a>

```typescript
public readonly subPipelineName: string;
```

- *Type:* string

---

### OpenSearchIngestionPipelineMonitoringOptions <a name="OpenSearchIngestionPipelineMonitoringOptions" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringOptions.Initializer"></a>

```typescript
import { OpenSearchIngestionPipelineMonitoringOptions } from 'cdk-monitoring-constructs'

const openSearchIngestionPipelineMonitoringOptions: OpenSearchIngestionPipelineMonitoringOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringOptions.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringOptions.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.OpenSearchIngestionPipelineMonitoringOptions.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.OpenSearchIngestionPipelineMonitoringOptions.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.OpenSearchIngestionPipelineMonitoringOptions.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.OpenSearchIngestionPipelineMonitoringOptions.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.OpenSearchIngestionPipelineMonitoringOptions.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.OpenSearchIngestionPipelineMonitoringOptions.property.addMaxDlqS3CountAlarm">addMaxDlqS3CountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringOptions.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.OpenSearchIngestionPipelineMonitoringOptions.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.OpenSearchIngestionPipelineMonitoringOptions.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.OpenSearchIngestionPipelineMonitoringOptions.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.OpenSearchIngestionPipelineMonitoringOptions.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.OpenSearchIngestionPipelineMonitoringOptions.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.OpenSearchIngestionPipelineMonitoringOptions.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.

---

##### `addMaxDlqS3CountAlarm`<sup>Optional</sup> <a name="addMaxDlqS3CountAlarm" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringOptions.property.addMaxDlqS3CountAlarm"></a>

```typescript
public readonly addMaxDlqS3CountAlarm: {[ key: string ]: MaxUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>}

---

### OpenSearchIngestionPipelineMonitoringProps <a name="OpenSearchIngestionPipelineMonitoringProps" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.Initializer"></a>

```typescript
import { OpenSearchIngestionPipelineMonitoringProps } from 'cdk-monitoring-constructs'

const openSearchIngestionPipelineMonitoringProps: OpenSearchIngestionPipelineMonitoringProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.pipelineName">pipelineName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.sink">sink</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.source">source</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.subPipelineName">subPipelineName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.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.OpenSearchIngestionPipelineMonitoringProps.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.OpenSearchIngestionPipelineMonitoringProps.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.OpenSearchIngestionPipelineMonitoringProps.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.OpenSearchIngestionPipelineMonitoringProps.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.OpenSearchIngestionPipelineMonitoringProps.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.OpenSearchIngestionPipelineMonitoringProps.property.addMaxDlqS3CountAlarm">addMaxDlqS3CountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `pipelineName`<sup>Required</sup> <a name="pipelineName" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.pipelineName"></a>

```typescript
public readonly pipelineName: string;
```

- *Type:* string

---

##### `sink`<sup>Required</sup> <a name="sink" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.sink"></a>

```typescript
public readonly sink: string;
```

- *Type:* string

---

##### `source`<sup>Required</sup> <a name="source" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.source"></a>

```typescript
public readonly source: string;
```

- *Type:* string

---

##### `subPipelineName`<sup>Required</sup> <a name="subPipelineName" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.subPipelineName"></a>

```typescript
public readonly subPipelineName: string;
```

- *Type:* string

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.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.OpenSearchIngestionPipelineMonitoringProps.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.OpenSearchIngestionPipelineMonitoringProps.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.OpenSearchIngestionPipelineMonitoringProps.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.OpenSearchIngestionPipelineMonitoringProps.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.OpenSearchIngestionPipelineMonitoringProps.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.OpenSearchIngestionPipelineMonitoringProps.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.

---

##### `addMaxDlqS3CountAlarm`<sup>Optional</sup> <a name="addMaxDlqS3CountAlarm" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps.property.addMaxDlqS3CountAlarm"></a>

```typescript
public readonly addMaxDlqS3CountAlarm: {[ key: string ]: MaxUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.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.OpenSearchKmsKeyErrorThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.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.OpenSearchKmsKeyErrorThreshold.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.OpenSearchKmsKeyErrorThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.OpenSearchKmsKeyErrorThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.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.OpenSearchKmsKeyInaccessibleThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.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.OpenSearchKmsKeyInaccessibleThreshold.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.OpenSearchKmsKeyInaccessibleThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.OpenSearchKmsKeyInaccessibleThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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

---

### OpenSearchServerlessIndexMetricFactoryProps <a name="OpenSearchServerlessIndexMetricFactoryProps" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps.Initializer"></a>

```typescript
import { OpenSearchServerlessIndexMetricFactoryProps } from 'cdk-monitoring-constructs'

const openSearchServerlessIndexMetricFactoryProps: OpenSearchServerlessIndexMetricFactoryProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps.property.collection">collection</a></code> | <code>aws-cdk-lib.aws_opensearchserverless.CfnCollection</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps.property.indexId">indexId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps.property.indexName">indexName</a></code> | <code>string</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `collection`<sup>Required</sup> <a name="collection" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps.property.collection"></a>

```typescript
public readonly collection: CfnCollection;
```

- *Type:* aws-cdk-lib.aws_opensearchserverless.CfnCollection

---

##### `indexId`<sup>Required</sup> <a name="indexId" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps.property.indexId"></a>

```typescript
public readonly indexId: string;
```

- *Type:* string

---

##### `indexName`<sup>Required</sup> <a name="indexName" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps.property.indexName"></a>

```typescript
public readonly indexName: string;
```

- *Type:* string

---

### OpenSearchServerlessIndexMonitoringProps <a name="OpenSearchServerlessIndexMonitoringProps" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.Initializer"></a>

```typescript
import { OpenSearchServerlessIndexMonitoringProps } from 'cdk-monitoring-constructs'

const openSearchServerlessIndexMonitoringProps: OpenSearchServerlessIndexMonitoringProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.property.collection">collection</a></code> | <code>aws-cdk-lib.aws_opensearchserverless.CfnCollection</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.property.indexId">indexId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.property.indexName">indexName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.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.OpenSearchServerlessIndexMonitoringProps.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.OpenSearchServerlessIndexMonitoringProps.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.OpenSearchServerlessIndexMonitoringProps.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.OpenSearchServerlessIndexMonitoringProps.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.OpenSearchServerlessIndexMonitoringProps.property.useCreatedAlarms">useCreatedAlarms</a></code> | <code><a href="#cdk-monitoring-constructs.IAlarmConsumer">IAlarmConsumer</a></code> | Calls provided function to process all alarms created. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `collection`<sup>Required</sup> <a name="collection" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.property.collection"></a>

```typescript
public readonly collection: CfnCollection;
```

- *Type:* aws-cdk-lib.aws_opensearchserverless.CfnCollection

---

##### `indexId`<sup>Required</sup> <a name="indexId" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.property.indexId"></a>

```typescript
public readonly indexId: string;
```

- *Type:* string

---

##### `indexName`<sup>Required</sup> <a name="indexName" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.property.indexName"></a>

```typescript
public readonly indexName: string;
```

- *Type:* string

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps.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.OpenSearchServerlessIndexMonitoringProps.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.OpenSearchServerlessIndexMonitoringProps.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.OpenSearchServerlessIndexMonitoringProps.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.OpenSearchServerlessIndexMonitoringProps.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.OpenSearchServerlessIndexMonitoringProps.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.OpenSearchServerlessIndexMonitoringProps.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.

---

### OpenSearchServerlessMetricFactoryProps <a name="OpenSearchServerlessMetricFactoryProps" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactoryProps.Initializer"></a>

```typescript
import { OpenSearchServerlessMetricFactoryProps } from 'cdk-monitoring-constructs'

const openSearchServerlessMetricFactoryProps: OpenSearchServerlessMetricFactoryProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactoryProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactoryProps.property.collection">collection</a></code> | <code>aws-cdk-lib.aws_opensearchserverless.CfnCollection</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactoryProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `collection`<sup>Required</sup> <a name="collection" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactoryProps.property.collection"></a>

```typescript
public readonly collection: CfnCollection;
```

- *Type:* aws-cdk-lib.aws_opensearchserverless.CfnCollection

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactoryProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* {@link RateComputationMethod.AVERAGE }

---

### OpenSearchServerlessMonitoringOptions <a name="OpenSearchServerlessMonitoringOptions" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringOptions.Initializer"></a>

```typescript
import { OpenSearchServerlessMonitoringOptions } from 'cdk-monitoring-constructs'

const openSearchServerlessMonitoringOptions: OpenSearchServerlessMonitoringOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringOptions.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.property.addSearchErrorCountAlarm">addSearchErrorCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringOptions.property.addSearchLatencyP100Alarm">addSearchLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.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.OpenSearchServerlessMonitoringOptions.property.add5xxRateAlarm"></a>

```typescript
public readonly add5xxRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addSearchErrorCountAlarm`<sup>Optional</sup> <a name="addSearchErrorCountAlarm" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringOptions.property.addSearchErrorCountAlarm"></a>

```typescript
public readonly addSearchErrorCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addSearchLatencyP100Alarm`<sup>Optional</sup> <a name="addSearchLatencyP100Alarm" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringOptions.property.addSearchLatencyP100Alarm"></a>

```typescript
public readonly addSearchLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

### OpenSearchServerlessMonitoringProps <a name="OpenSearchServerlessMonitoringProps" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.Initializer"></a>

```typescript
import { OpenSearchServerlessMonitoringProps } from 'cdk-monitoring-constructs'

const openSearchServerlessMonitoringProps: OpenSearchServerlessMonitoringProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.property.collection">collection</a></code> | <code>aws-cdk-lib.aws_opensearchserverless.CfnCollection</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.property.rateComputationMethod">rateComputationMethod</a></code> | <code><a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.property.addSearchErrorCountAlarm">addSearchErrorCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.property.addSearchLatencyP100Alarm">addSearchLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `collection`<sup>Required</sup> <a name="collection" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.property.collection"></a>

```typescript
public readonly collection: CfnCollection;
```

- *Type:* aws-cdk-lib.aws_opensearchserverless.CfnCollection

---

##### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.property.rateComputationMethod"></a>

```typescript
public readonly rateComputationMethod: RateComputationMethod;
```

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>
- *Default:* {@link RateComputationMethod.AVERAGE }

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.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.OpenSearchServerlessMonitoringProps.property.add5xxRateAlarm"></a>

```typescript
public readonly add5xxRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

##### `addSearchErrorCountAlarm`<sup>Optional</sup> <a name="addSearchErrorCountAlarm" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.property.addSearchErrorCountAlarm"></a>

```typescript
public readonly addSearchErrorCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addSearchLatencyP100Alarm`<sup>Optional</sup> <a name="addSearchLatencyP100Alarm" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps.property.addSearchLatencyP100Alarm"></a>

```typescript
public readonly addSearchLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.QueueProcessingEc2ServiceMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>

---

### QueueProcessingFargateServiceAspectType <a name="QueueProcessingFargateServiceAspectType" id="cdk-monitoring-constructs.QueueProcessingFargateServiceAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.QueueProcessingFargateServiceAspectType.Initializer"></a>

```typescript
import { QueueProcessingFargateServiceAspectType } from 'cdk-monitoring-constructs'

const queueProcessingFargateServiceAspectType: QueueProcessingFargateServiceAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.BaseQueueProcessingFargateServiceMonitoringOptions">BaseQueueProcessingFargateServiceMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.QueueProcessingFargateServiceAspectType.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.QueueProcessingFargateServiceAspectType.property.props"></a>

```typescript
public readonly props: BaseQueueProcessingFargateServiceMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.BaseQueueProcessingFargateServiceMonitoringOptions">BaseQueueProcessingFargateServiceMonitoringOptions</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.QueueProcessingFargateServiceMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>

---

### RdsClusterAspectType <a name="RdsClusterAspectType" id="cdk-monitoring-constructs.RdsClusterAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RdsClusterAspectType.Initializer"></a>

```typescript
import { RdsClusterAspectType } from 'cdk-monitoring-constructs'

const rdsClusterAspectType: RdsClusterAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsClusterAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions">RdsClusterMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.RdsClusterAspectType.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.RdsClusterAspectType.property.props"></a>

```typescript
public readonly props: RdsClusterMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions">RdsClusterMonitoringOptions</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactoryProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_rds.IDatabaseCluster \| aws-cdk-lib.aws_rds.ServerlessCluster</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). |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.RdsClusterMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.RdsClusterMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `cluster`<sup>Optional</sup> <a name="cluster" id="cdk-monitoring-constructs.RdsClusterMetricFactoryProps.property.cluster"></a>

```typescript
public readonly cluster: IDatabaseCluster | ServerlessCluster;
```

- *Type:* aws-cdk-lib.aws_rds.IDatabaseCluster | aws-cdk-lib.aws_rds.ServerlessCluster

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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addCommitLatencyAverageAlarm">addCommitLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP100Alarm">addCommitLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP50Alarm">addCommitLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP70Alarm">addCommitLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP90Alarm">addCommitLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP95Alarm">addCommitLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP9999Alarm">addCommitLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP999Alarm">addCommitLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP99Alarm">addCommitLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <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.addDeleteLatencyAverageAlarm">addDeleteLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP100Alarm">addDeleteLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP50Alarm">addDeleteLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP70Alarm">addDeleteLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP90Alarm">addDeleteLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP95Alarm">addDeleteLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP9999Alarm">addDeleteLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP999Alarm">addDeleteLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP99Alarm">addDeleteLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</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.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyAverageAlarm">addInsertLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP100Alarm">addInsertLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP50Alarm">addInsertLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP70Alarm">addInsertLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP90Alarm">addInsertLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP95Alarm">addInsertLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP9999Alarm">addInsertLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP999Alarm">addInsertLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP99Alarm">addInsertLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addMaxConnectionCountAlarm">addMaxConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addMinConnectionCountAlarm">addMinConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addReadIOPSAlarm">addReadIOPSAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyAverageAlarm">addSelectLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP100Alarm">addSelectLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP50Alarm">addSelectLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP70Alarm">addSelectLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP90Alarm">addSelectLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP95Alarm">addSelectLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP9999Alarm">addSelectLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP999Alarm">addSelectLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP99Alarm">addSelectLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyAverageAlarm">addUpdateLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP100Alarm">addUpdateLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP50Alarm">addUpdateLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP70Alarm">addUpdateLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP90Alarm">addUpdateLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP95Alarm">addUpdateLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP9999Alarm">addUpdateLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP999Alarm">addUpdateLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP99Alarm">addUpdateLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addWriteIOPSAlarm">addWriteIOPSAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringOptions.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. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.

---

##### `addCommitLatencyAverageAlarm`<sup>Optional</sup> <a name="addCommitLatencyAverageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyAverageAlarm"></a>

```typescript
public readonly addCommitLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP100Alarm`<sup>Optional</sup> <a name="addCommitLatencyP100Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP100Alarm"></a>

```typescript
public readonly addCommitLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP50Alarm`<sup>Optional</sup> <a name="addCommitLatencyP50Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP50Alarm"></a>

```typescript
public readonly addCommitLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP70Alarm`<sup>Optional</sup> <a name="addCommitLatencyP70Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP70Alarm"></a>

```typescript
public readonly addCommitLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP90Alarm`<sup>Optional</sup> <a name="addCommitLatencyP90Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP90Alarm"></a>

```typescript
public readonly addCommitLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP95Alarm`<sup>Optional</sup> <a name="addCommitLatencyP95Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP95Alarm"></a>

```typescript
public readonly addCommitLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP9999Alarm`<sup>Optional</sup> <a name="addCommitLatencyP9999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP9999Alarm"></a>

```typescript
public readonly addCommitLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP999Alarm`<sup>Optional</sup> <a name="addCommitLatencyP999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP999Alarm"></a>

```typescript
public readonly addCommitLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP99Alarm`<sup>Optional</sup> <a name="addCommitLatencyP99Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addCommitLatencyP99Alarm"></a>

```typescript
public readonly addCommitLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `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>}

---

##### `addDeleteLatencyAverageAlarm`<sup>Optional</sup> <a name="addDeleteLatencyAverageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyAverageAlarm"></a>

```typescript
public readonly addDeleteLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP100Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP100Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP100Alarm"></a>

```typescript
public readonly addDeleteLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP50Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP50Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP50Alarm"></a>

```typescript
public readonly addDeleteLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP70Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP70Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP70Alarm"></a>

```typescript
public readonly addDeleteLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP90Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP90Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP90Alarm"></a>

```typescript
public readonly addDeleteLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP95Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP95Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP95Alarm"></a>

```typescript
public readonly addDeleteLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP9999Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP9999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP9999Alarm"></a>

```typescript
public readonly addDeleteLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP999Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP999Alarm"></a>

```typescript
public readonly addDeleteLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP99Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP99Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addDeleteLatencyP99Alarm"></a>

```typescript
public readonly addDeleteLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</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>}

---

##### `addInsertLatencyAverageAlarm`<sup>Optional</sup> <a name="addInsertLatencyAverageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyAverageAlarm"></a>

```typescript
public readonly addInsertLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP100Alarm`<sup>Optional</sup> <a name="addInsertLatencyP100Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP100Alarm"></a>

```typescript
public readonly addInsertLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP50Alarm`<sup>Optional</sup> <a name="addInsertLatencyP50Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP50Alarm"></a>

```typescript
public readonly addInsertLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP70Alarm`<sup>Optional</sup> <a name="addInsertLatencyP70Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP70Alarm"></a>

```typescript
public readonly addInsertLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP90Alarm`<sup>Optional</sup> <a name="addInsertLatencyP90Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP90Alarm"></a>

```typescript
public readonly addInsertLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP95Alarm`<sup>Optional</sup> <a name="addInsertLatencyP95Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP95Alarm"></a>

```typescript
public readonly addInsertLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP9999Alarm`<sup>Optional</sup> <a name="addInsertLatencyP9999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP9999Alarm"></a>

```typescript
public readonly addInsertLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP999Alarm`<sup>Optional</sup> <a name="addInsertLatencyP999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP999Alarm"></a>

```typescript
public readonly addInsertLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP99Alarm`<sup>Optional</sup> <a name="addInsertLatencyP99Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addInsertLatencyP99Alarm"></a>

```typescript
public readonly addInsertLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addMaxConnectionCountAlarm`<sup>Optional</sup> <a name="addMaxConnectionCountAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addMaxConnectionCountAlarm"></a>

```typescript
public readonly addMaxConnectionCountAlarm: {[ key: string ]: HighConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}

---

##### `addMinConnectionCountAlarm`<sup>Optional</sup> <a name="addMinConnectionCountAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addMinConnectionCountAlarm"></a>

```typescript
public readonly addMinConnectionCountAlarm: {[ key: string ]: LowConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>}

---

##### `addReadIOPSAlarm`<sup>Optional</sup> <a name="addReadIOPSAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addReadIOPSAlarm"></a>

```typescript
public readonly addReadIOPSAlarm: {[ key: string ]: MaxUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>}

---

##### `addSelectLatencyAverageAlarm`<sup>Optional</sup> <a name="addSelectLatencyAverageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyAverageAlarm"></a>

```typescript
public readonly addSelectLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP100Alarm`<sup>Optional</sup> <a name="addSelectLatencyP100Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP100Alarm"></a>

```typescript
public readonly addSelectLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP50Alarm`<sup>Optional</sup> <a name="addSelectLatencyP50Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP50Alarm"></a>

```typescript
public readonly addSelectLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP70Alarm`<sup>Optional</sup> <a name="addSelectLatencyP70Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP70Alarm"></a>

```typescript
public readonly addSelectLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP90Alarm`<sup>Optional</sup> <a name="addSelectLatencyP90Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP90Alarm"></a>

```typescript
public readonly addSelectLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP95Alarm`<sup>Optional</sup> <a name="addSelectLatencyP95Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP95Alarm"></a>

```typescript
public readonly addSelectLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP9999Alarm`<sup>Optional</sup> <a name="addSelectLatencyP9999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP9999Alarm"></a>

```typescript
public readonly addSelectLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP999Alarm`<sup>Optional</sup> <a name="addSelectLatencyP999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP999Alarm"></a>

```typescript
public readonly addSelectLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP99Alarm`<sup>Optional</sup> <a name="addSelectLatencyP99Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addSelectLatencyP99Alarm"></a>

```typescript
public readonly addSelectLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyAverageAlarm`<sup>Optional</sup> <a name="addUpdateLatencyAverageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyAverageAlarm"></a>

```typescript
public readonly addUpdateLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP100Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP100Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP100Alarm"></a>

```typescript
public readonly addUpdateLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP50Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP50Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP50Alarm"></a>

```typescript
public readonly addUpdateLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP70Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP70Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP70Alarm"></a>

```typescript
public readonly addUpdateLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP90Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP90Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP90Alarm"></a>

```typescript
public readonly addUpdateLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP95Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP95Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP95Alarm"></a>

```typescript
public readonly addUpdateLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP9999Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP9999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP9999Alarm"></a>

```typescript
public readonly addUpdateLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP999Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP999Alarm"></a>

```typescript
public readonly addUpdateLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP99Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP99Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addUpdateLatencyP99Alarm"></a>

```typescript
public readonly addUpdateLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addWriteIOPSAlarm`<sup>Optional</sup> <a name="addWriteIOPSAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.addWriteIOPSAlarm"></a>

```typescript
public readonly addWriteIOPSAlarm: {[ key: string ]: MaxUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>}

---

##### `latencyTypesToRender`<sup>Optional</sup> <a name="latencyTypesToRender" id="cdk-monitoring-constructs.RdsClusterMonitoringOptions.property.latencyTypesToRender"></a>

```typescript
public readonly latencyTypesToRender: LatencyType[];
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>[]
- *Default:* p90 for all operation types

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).

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_rds.IDatabaseCluster \| aws-cdk-lib.aws_rds.ServerlessCluster</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.addCommitLatencyAverageAlarm">addCommitLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP100Alarm">addCommitLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP50Alarm">addCommitLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP70Alarm">addCommitLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP90Alarm">addCommitLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP95Alarm">addCommitLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP9999Alarm">addCommitLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP999Alarm">addCommitLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP99Alarm">addCommitLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <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.addDeleteLatencyAverageAlarm">addDeleteLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP100Alarm">addDeleteLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP50Alarm">addDeleteLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP70Alarm">addDeleteLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP90Alarm">addDeleteLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP95Alarm">addDeleteLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP9999Alarm">addDeleteLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP999Alarm">addDeleteLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP99Alarm">addDeleteLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</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.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyAverageAlarm">addInsertLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP100Alarm">addInsertLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP50Alarm">addInsertLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP70Alarm">addInsertLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP90Alarm">addInsertLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP95Alarm">addInsertLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP9999Alarm">addInsertLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP999Alarm">addInsertLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP99Alarm">addInsertLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addMaxConnectionCountAlarm">addMaxConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addMinConnectionCountAlarm">addMinConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addReadIOPSAlarm">addReadIOPSAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyAverageAlarm">addSelectLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP100Alarm">addSelectLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP50Alarm">addSelectLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP70Alarm">addSelectLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP90Alarm">addSelectLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP95Alarm">addSelectLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP9999Alarm">addSelectLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP999Alarm">addSelectLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP99Alarm">addSelectLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyAverageAlarm">addUpdateLatencyAverageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP100Alarm">addUpdateLatencyP100Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP50Alarm">addUpdateLatencyP50Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP70Alarm">addUpdateLatencyP70Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP90Alarm">addUpdateLatencyP90Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP95Alarm">addUpdateLatencyP95Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP9999Alarm">addUpdateLatencyP9999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP999Alarm">addUpdateLatencyP999Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP99Alarm">addUpdateLatencyP99Alarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addWriteIOPSAlarm">addWriteIOPSAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoringProps.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. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `cluster`<sup>Optional</sup> <a name="cluster" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.cluster"></a>

```typescript
public readonly cluster: IDatabaseCluster | ServerlessCluster;
```

- *Type:* aws-cdk-lib.aws_rds.IDatabaseCluster | aws-cdk-lib.aws_rds.ServerlessCluster

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.

---

##### `addCommitLatencyAverageAlarm`<sup>Optional</sup> <a name="addCommitLatencyAverageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyAverageAlarm"></a>

```typescript
public readonly addCommitLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP100Alarm`<sup>Optional</sup> <a name="addCommitLatencyP100Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP100Alarm"></a>

```typescript
public readonly addCommitLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP50Alarm`<sup>Optional</sup> <a name="addCommitLatencyP50Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP50Alarm"></a>

```typescript
public readonly addCommitLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP70Alarm`<sup>Optional</sup> <a name="addCommitLatencyP70Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP70Alarm"></a>

```typescript
public readonly addCommitLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP90Alarm`<sup>Optional</sup> <a name="addCommitLatencyP90Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP90Alarm"></a>

```typescript
public readonly addCommitLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP95Alarm`<sup>Optional</sup> <a name="addCommitLatencyP95Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP95Alarm"></a>

```typescript
public readonly addCommitLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP9999Alarm`<sup>Optional</sup> <a name="addCommitLatencyP9999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP9999Alarm"></a>

```typescript
public readonly addCommitLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP999Alarm`<sup>Optional</sup> <a name="addCommitLatencyP999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP999Alarm"></a>

```typescript
public readonly addCommitLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addCommitLatencyP99Alarm`<sup>Optional</sup> <a name="addCommitLatencyP99Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addCommitLatencyP99Alarm"></a>

```typescript
public readonly addCommitLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `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>}

---

##### `addDeleteLatencyAverageAlarm`<sup>Optional</sup> <a name="addDeleteLatencyAverageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyAverageAlarm"></a>

```typescript
public readonly addDeleteLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP100Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP100Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP100Alarm"></a>

```typescript
public readonly addDeleteLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP50Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP50Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP50Alarm"></a>

```typescript
public readonly addDeleteLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP70Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP70Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP70Alarm"></a>

```typescript
public readonly addDeleteLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP90Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP90Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP90Alarm"></a>

```typescript
public readonly addDeleteLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP95Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP95Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP95Alarm"></a>

```typescript
public readonly addDeleteLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP9999Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP9999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP9999Alarm"></a>

```typescript
public readonly addDeleteLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP999Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP999Alarm"></a>

```typescript
public readonly addDeleteLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addDeleteLatencyP99Alarm`<sup>Optional</sup> <a name="addDeleteLatencyP99Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addDeleteLatencyP99Alarm"></a>

```typescript
public readonly addDeleteLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</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>}

---

##### `addInsertLatencyAverageAlarm`<sup>Optional</sup> <a name="addInsertLatencyAverageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyAverageAlarm"></a>

```typescript
public readonly addInsertLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP100Alarm`<sup>Optional</sup> <a name="addInsertLatencyP100Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP100Alarm"></a>

```typescript
public readonly addInsertLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP50Alarm`<sup>Optional</sup> <a name="addInsertLatencyP50Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP50Alarm"></a>

```typescript
public readonly addInsertLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP70Alarm`<sup>Optional</sup> <a name="addInsertLatencyP70Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP70Alarm"></a>

```typescript
public readonly addInsertLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP90Alarm`<sup>Optional</sup> <a name="addInsertLatencyP90Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP90Alarm"></a>

```typescript
public readonly addInsertLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP95Alarm`<sup>Optional</sup> <a name="addInsertLatencyP95Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP95Alarm"></a>

```typescript
public readonly addInsertLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP9999Alarm`<sup>Optional</sup> <a name="addInsertLatencyP9999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP9999Alarm"></a>

```typescript
public readonly addInsertLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP999Alarm`<sup>Optional</sup> <a name="addInsertLatencyP999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP999Alarm"></a>

```typescript
public readonly addInsertLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addInsertLatencyP99Alarm`<sup>Optional</sup> <a name="addInsertLatencyP99Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addInsertLatencyP99Alarm"></a>

```typescript
public readonly addInsertLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addMaxConnectionCountAlarm`<sup>Optional</sup> <a name="addMaxConnectionCountAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addMaxConnectionCountAlarm"></a>

```typescript
public readonly addMaxConnectionCountAlarm: {[ key: string ]: HighConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}

---

##### `addMinConnectionCountAlarm`<sup>Optional</sup> <a name="addMinConnectionCountAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addMinConnectionCountAlarm"></a>

```typescript
public readonly addMinConnectionCountAlarm: {[ key: string ]: LowConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>}

---

##### `addReadIOPSAlarm`<sup>Optional</sup> <a name="addReadIOPSAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addReadIOPSAlarm"></a>

```typescript
public readonly addReadIOPSAlarm: {[ key: string ]: MaxUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>}

---

##### `addSelectLatencyAverageAlarm`<sup>Optional</sup> <a name="addSelectLatencyAverageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyAverageAlarm"></a>

```typescript
public readonly addSelectLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP100Alarm`<sup>Optional</sup> <a name="addSelectLatencyP100Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP100Alarm"></a>

```typescript
public readonly addSelectLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP50Alarm`<sup>Optional</sup> <a name="addSelectLatencyP50Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP50Alarm"></a>

```typescript
public readonly addSelectLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP70Alarm`<sup>Optional</sup> <a name="addSelectLatencyP70Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP70Alarm"></a>

```typescript
public readonly addSelectLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP90Alarm`<sup>Optional</sup> <a name="addSelectLatencyP90Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP90Alarm"></a>

```typescript
public readonly addSelectLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP95Alarm`<sup>Optional</sup> <a name="addSelectLatencyP95Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP95Alarm"></a>

```typescript
public readonly addSelectLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP9999Alarm`<sup>Optional</sup> <a name="addSelectLatencyP9999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP9999Alarm"></a>

```typescript
public readonly addSelectLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP999Alarm`<sup>Optional</sup> <a name="addSelectLatencyP999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP999Alarm"></a>

```typescript
public readonly addSelectLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addSelectLatencyP99Alarm`<sup>Optional</sup> <a name="addSelectLatencyP99Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addSelectLatencyP99Alarm"></a>

```typescript
public readonly addSelectLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyAverageAlarm`<sup>Optional</sup> <a name="addUpdateLatencyAverageAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyAverageAlarm"></a>

```typescript
public readonly addUpdateLatencyAverageAlarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP100Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP100Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP100Alarm"></a>

```typescript
public readonly addUpdateLatencyP100Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP50Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP50Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP50Alarm"></a>

```typescript
public readonly addUpdateLatencyP50Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP70Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP70Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP70Alarm"></a>

```typescript
public readonly addUpdateLatencyP70Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP90Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP90Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP90Alarm"></a>

```typescript
public readonly addUpdateLatencyP90Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP95Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP95Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP95Alarm"></a>

```typescript
public readonly addUpdateLatencyP95Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP9999Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP9999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP9999Alarm"></a>

```typescript
public readonly addUpdateLatencyP9999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP999Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP999Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP999Alarm"></a>

```typescript
public readonly addUpdateLatencyP999Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addUpdateLatencyP99Alarm`<sup>Optional</sup> <a name="addUpdateLatencyP99Alarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addUpdateLatencyP99Alarm"></a>

```typescript
public readonly addUpdateLatencyP99Alarm: {[ key: string ]: LatencyThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LatencyThreshold">LatencyThreshold</a>}

---

##### `addWriteIOPSAlarm`<sup>Optional</sup> <a name="addWriteIOPSAlarm" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.addWriteIOPSAlarm"></a>

```typescript
public readonly addWriteIOPSAlarm: {[ key: string ]: MaxUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>}

---

##### `latencyTypesToRender`<sup>Optional</sup> <a name="latencyTypesToRender" id="cdk-monitoring-constructs.RdsClusterMonitoringProps.property.latencyTypesToRender"></a>

```typescript
public readonly latencyTypesToRender: LatencyType[];
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>[]
- *Default:* p90 for all operation types

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).

---

### RdsInstanceAspectType <a name="RdsInstanceAspectType" id="cdk-monitoring-constructs.RdsInstanceAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RdsInstanceAspectType.Initializer"></a>

```typescript
import { RdsInstanceAspectType } from 'cdk-monitoring-constructs'

const rdsInstanceAspectType: RdsInstanceAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringOptions">RdsInstanceMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.RdsInstanceAspectType.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.RdsInstanceAspectType.property.props"></a>

```typescript
public readonly props: RdsInstanceMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.RdsInstanceMonitoringOptions">RdsInstanceMonitoringOptions</a>

---

### RdsInstanceMetricFactoryProps <a name="RdsInstanceMetricFactoryProps" id="cdk-monitoring-constructs.RdsInstanceMetricFactoryProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RdsInstanceMetricFactoryProps.Initializer"></a>

```typescript
import { RdsInstanceMetricFactoryProps } from 'cdk-monitoring-constructs'

const rdsInstanceMetricFactoryProps: RdsInstanceMetricFactoryProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactoryProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactoryProps.property.instance">instance</a></code> | <code>aws-cdk-lib.aws_rds.IDatabaseInstance</code> | database instance. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.RdsInstanceMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.RdsInstanceMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `instance`<sup>Required</sup> <a name="instance" id="cdk-monitoring-constructs.RdsInstanceMetricFactoryProps.property.instance"></a>

```typescript
public readonly instance: IDatabaseInstance;
```

- *Type:* aws-cdk-lib.aws_rds.IDatabaseInstance

database instance.

---

### RdsInstanceMonitoringOptions <a name="RdsInstanceMonitoringOptions" id="cdk-monitoring-constructs.RdsInstanceMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RdsInstanceMonitoringOptions.Initializer"></a>

```typescript
import { RdsInstanceMonitoringOptions } from 'cdk-monitoring-constructs'

const rdsInstanceMonitoringOptions: RdsInstanceMonitoringOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringOptions.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.property.addFreeStorageSpaceAlarm">addFreeStorageSpaceAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringOptions.property.addMaxConnectionCountAlarm">addMaxConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringOptions.property.addMinConnectionCountAlarm">addMinConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.RdsInstanceMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.RdsInstanceMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.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.RdsInstanceMonitoringOptions.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addFreeStorageSpaceAlarm`<sup>Optional</sup> <a name="addFreeStorageSpaceAlarm" id="cdk-monitoring-constructs.RdsInstanceMonitoringOptions.property.addFreeStorageSpaceAlarm"></a>

```typescript
public readonly addFreeStorageSpaceAlarm: {[ key: string ]: MinUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</a>}

---

##### `addMaxConnectionCountAlarm`<sup>Optional</sup> <a name="addMaxConnectionCountAlarm" id="cdk-monitoring-constructs.RdsInstanceMonitoringOptions.property.addMaxConnectionCountAlarm"></a>

```typescript
public readonly addMaxConnectionCountAlarm: {[ key: string ]: HighConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}

---

##### `addMinConnectionCountAlarm`<sup>Optional</sup> <a name="addMinConnectionCountAlarm" id="cdk-monitoring-constructs.RdsInstanceMonitoringOptions.property.addMinConnectionCountAlarm"></a>

```typescript
public readonly addMinConnectionCountAlarm: {[ key: string ]: LowConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>}

---

### RdsInstanceMonitoringProps <a name="RdsInstanceMonitoringProps" id="cdk-monitoring-constructs.RdsInstanceMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RdsInstanceMonitoringProps.Initializer"></a>

```typescript
import { RdsInstanceMonitoringProps } from 'cdk-monitoring-constructs'

const rdsInstanceMonitoringProps: RdsInstanceMonitoringProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringProps.property.instance">instance</a></code> | <code>aws-cdk-lib.aws_rds.IDatabaseInstance</code> | database instance. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.property.addFreeStorageSpaceAlarm">addFreeStorageSpaceAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringProps.property.addMaxConnectionCountAlarm">addMaxConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringProps.property.addMinConnectionCountAlarm">addMinConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.RdsInstanceMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.RdsInstanceMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `instance`<sup>Required</sup> <a name="instance" id="cdk-monitoring-constructs.RdsInstanceMonitoringProps.property.instance"></a>

```typescript
public readonly instance: IDatabaseInstance;
```

- *Type:* aws-cdk-lib.aws_rds.IDatabaseInstance

database instance.

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.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.RdsInstanceMonitoringProps.property.addCpuUsageAlarm"></a>

```typescript
public readonly addCpuUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `addFreeStorageSpaceAlarm`<sup>Optional</sup> <a name="addFreeStorageSpaceAlarm" id="cdk-monitoring-constructs.RdsInstanceMonitoringProps.property.addFreeStorageSpaceAlarm"></a>

```typescript
public readonly addFreeStorageSpaceAlarm: {[ key: string ]: MinUsageCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</a>}

---

##### `addMaxConnectionCountAlarm`<sup>Optional</sup> <a name="addMaxConnectionCountAlarm" id="cdk-monitoring-constructs.RdsInstanceMonitoringProps.property.addMaxConnectionCountAlarm"></a>

```typescript
public readonly addMaxConnectionCountAlarm: {[ key: string ]: HighConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}

---

##### `addMinConnectionCountAlarm`<sup>Optional</sup> <a name="addMinConnectionCountAlarm" id="cdk-monitoring-constructs.RdsInstanceMonitoringProps.property.addMinConnectionCountAlarm"></a>

```typescript
public readonly addMinConnectionCountAlarm: {[ key: string ]: LowConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.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.RecordsFailedThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.RecordsFailedThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.RecordsFailedThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.RecordsFailedThreshold.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.RecordsFailedThreshold.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.RecordsFailedThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.RecordsFailedThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.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.RecordsThrottledThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.RecordsThrottledThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.RecordsThrottledThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.RecordsThrottledThreshold.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.RecordsThrottledThreshold.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.RecordsThrottledThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.RecordsThrottledThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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

---

### RedshiftClusterAspectType <a name="RedshiftClusterAspectType" id="cdk-monitoring-constructs.RedshiftClusterAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.RedshiftClusterAspectType.Initializer"></a>

```typescript
import { RedshiftClusterAspectType } from 'cdk-monitoring-constructs'

const redshiftClusterAspectType: RedshiftClusterAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions">RedshiftClusterMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.RedshiftClusterAspectType.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.RedshiftClusterAspectType.property.props"></a>

```typescript
public readonly props: RedshiftClusterMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions">RedshiftClusterMonitoringOptions</a>

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMetricFactoryProps.property.clusterIdentifier">clusterIdentifier</a></code> | <code>string</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.RedshiftClusterMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.RedshiftClusterMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addMaxConnectionCountAlarm">addMaxConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addMaxLongQueryDurationAlarm">addMaxLongQueryDurationAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addMinConnectionCountAlarm">addMinConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>}

---

##### `addMaxConnectionCountAlarm`<sup>Optional</sup> <a name="addMaxConnectionCountAlarm" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addMaxConnectionCountAlarm"></a>

```typescript
public readonly addMaxConnectionCountAlarm: {[ key: string ]: HighConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}

---

##### `addMaxLongQueryDurationAlarm`<sup>Optional</sup> <a name="addMaxLongQueryDurationAlarm" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addMaxLongQueryDurationAlarm"></a>

```typescript
public readonly addMaxLongQueryDurationAlarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addMinConnectionCountAlarm`<sup>Optional</sup> <a name="addMinConnectionCountAlarm" id="cdk-monitoring-constructs.RedshiftClusterMonitoringOptions.property.addMinConnectionCountAlarm"></a>

```typescript
public readonly addMinConnectionCountAlarm: {[ key: string ]: LowConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addMaxConnectionCountAlarm">addMaxConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addMaxLongQueryDurationAlarm">addMaxLongQueryDurationAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addMinConnectionCountAlarm">addMinConnectionCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>}

---

##### `addMaxConnectionCountAlarm`<sup>Optional</sup> <a name="addMaxConnectionCountAlarm" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addMaxConnectionCountAlarm"></a>

```typescript
public readonly addMaxConnectionCountAlarm: {[ key: string ]: HighConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>}

---

##### `addMaxLongQueryDurationAlarm`<sup>Optional</sup> <a name="addMaxLongQueryDurationAlarm" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addMaxLongQueryDurationAlarm"></a>

```typescript
public readonly addMaxLongQueryDurationAlarm: {[ key: string ]: DurationThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>}

---

##### `addMinConnectionCountAlarm`<sup>Optional</sup> <a name="addMinConnectionCountAlarm" id="cdk-monitoring-constructs.RedshiftClusterMonitoringProps.property.addMinConnectionCountAlarm"></a>

```typescript
public readonly addMinConnectionCountAlarm: {[ key: string ]: LowConnectionCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.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.RunningTaskCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.RunningTaskCountThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.RunningTaskCountThreshold.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.RunningTaskCountThreshold.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.RunningTaskCountThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.RunningTaskCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.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.RunningTaskRateThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.RunningTaskRateThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.RunningTaskRateThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.RunningTaskRateThreshold.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.RunningTaskRateThreshold.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.RunningTaskRateThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.RunningTaskRateThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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

---

### S3BucketAspectType <a name="S3BucketAspectType" id="cdk-monitoring-constructs.S3BucketAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.S3BucketAspectType.Initializer"></a>

```typescript
import { S3BucketAspectType } from 'cdk-monitoring-constructs'

const s3BucketAspectType: S3BucketAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.S3BucketAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.S3BucketAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringOptions">S3BucketMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.S3BucketAspectType.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.S3BucketAspectType.property.props"></a>

```typescript
public readonly props: S3BucketMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.S3BucketMonitoringOptions">S3BucketMonitoringOptions</a>

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.S3BucketMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.S3BucketMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.S3BucketMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.S3BucketMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.S3BucketMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.S3BucketMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.

---

### ScaleAlarmsProps <a name="ScaleAlarmsProps" id="cdk-monitoring-constructs.ScaleAlarmsProps"></a>

Properties for configuring a function that clones alarms to be scaled by multiplication factors.

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.ScaleAlarmsProps.Initializer"></a>

```typescript
import { ScaleAlarmsProps } from 'cdk-monitoring-constructs'

const scaleAlarmsProps: ScaleAlarmsProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ScaleAlarmsProps.property.disambiguator">disambiguator</a></code> | <code>string</code> | The disambiguator to assign to the alarms cloned by the function. |
| <code><a href="#cdk-monitoring-constructs.ScaleAlarmsProps.property.datapointsToAlarmMultiplier">datapointsToAlarmMultiplier</a></code> | <code>number</code> | A multiplication factor to apply to the datapointsToAlarm property of the cloned alarms. |
| <code><a href="#cdk-monitoring-constructs.ScaleAlarmsProps.property.evaluationPeriodsMultiplier">evaluationPeriodsMultiplier</a></code> | <code>number</code> | A multiplication factor to apply to the `evaluationPeriods` property of the cloned alarms. |
| <code><a href="#cdk-monitoring-constructs.ScaleAlarmsProps.property.thresholdMultiplier">thresholdMultiplier</a></code> | <code>number</code> | A multiplication factor to apply to the threshold of the cloned alarms. |

---

##### `disambiguator`<sup>Required</sup> <a name="disambiguator" id="cdk-monitoring-constructs.ScaleAlarmsProps.property.disambiguator"></a>

```typescript
public readonly disambiguator: string;
```

- *Type:* string

The disambiguator to assign to the alarms cloned by the function.

---

##### `datapointsToAlarmMultiplier`<sup>Optional</sup> <a name="datapointsToAlarmMultiplier" id="cdk-monitoring-constructs.ScaleAlarmsProps.property.datapointsToAlarmMultiplier"></a>

```typescript
public readonly datapointsToAlarmMultiplier: number;
```

- *Type:* number
- *Default:* 1.0

A multiplication factor to apply to the datapointsToAlarm property of the cloned alarms.

When configured with a value less that 1.0, the cloned alarm *may* use a metric with a more
granular period so that the result will use a reasonable number of datapoints. In this case,
the `datapointsToAlarm` and `evaluationPeriods` are increased by the same factor that the
period is decreased. It will also scale `threshold` for metrics using the SUM or SAMPLE_COUNT
stats.

---

##### `evaluationPeriodsMultiplier`<sup>Optional</sup> <a name="evaluationPeriodsMultiplier" id="cdk-monitoring-constructs.ScaleAlarmsProps.property.evaluationPeriodsMultiplier"></a>

```typescript
public readonly evaluationPeriodsMultiplier: number;
```

- *Type:* number
- *Default:* Same as datapointsToAlarmMultiplier.

A multiplication factor to apply to the `evaluationPeriods` property of the cloned alarms.

---

##### `thresholdMultiplier`<sup>Optional</sup> <a name="thresholdMultiplier" id="cdk-monitoring-constructs.ScaleAlarmsProps.property.thresholdMultiplier"></a>

```typescript
public readonly thresholdMultiplier: number;
```

- *Type:* number
- *Default:* 1.0

A multiplication factor to apply to the threshold of the cloned alarms.

Threshold scaling does not apply to thresholds on anomaly detection alarms.

---

### SecretsManagerMonitoringOptions <a name="SecretsManagerMonitoringOptions" id="cdk-monitoring-constructs.SecretsManagerMonitoringOptions"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SecretsManagerMonitoringOptions.Initializer"></a>

```typescript
import { SecretsManagerMonitoringOptions } from 'cdk-monitoring-constructs'

const secretsManagerMonitoringOptions: SecretsManagerMonitoringOptions = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoringOptions.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoringOptions.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoringOptions.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.SecretsManagerMonitoringOptions.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.SecretsManagerMonitoringOptions.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.SecretsManagerMonitoringOptions.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.SecretsManagerMonitoringOptions.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.SecretsManagerMonitoringOptions.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.SecretsManagerMonitoringOptions.property.addChangeInSecretsAlarm">addChangeInSecretsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold">ChangeInSecretCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoringOptions.property.addMaxNumberSecretsAlarm">addMaxNumberSecretsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxSecretCountThreshold">MaxSecretCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoringOptions.property.addMinNumberSecretsAlarm">addMinNumberSecretsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinSecretCountThreshold">MinSecretCountThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SecretsManagerMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SecretsManagerMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.SecretsManagerMonitoringOptions.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.SecretsManagerMonitoringOptions.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.SecretsManagerMonitoringOptions.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.SecretsManagerMonitoringOptions.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.SecretsManagerMonitoringOptions.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.SecretsManagerMonitoringOptions.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.SecretsManagerMonitoringOptions.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.

---

##### `addChangeInSecretsAlarm`<sup>Optional</sup> <a name="addChangeInSecretsAlarm" id="cdk-monitoring-constructs.SecretsManagerMonitoringOptions.property.addChangeInSecretsAlarm"></a>

```typescript
public readonly addChangeInSecretsAlarm: {[ key: string ]: ChangeInSecretCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold">ChangeInSecretCountThreshold</a>}

---

##### `addMaxNumberSecretsAlarm`<sup>Optional</sup> <a name="addMaxNumberSecretsAlarm" id="cdk-monitoring-constructs.SecretsManagerMonitoringOptions.property.addMaxNumberSecretsAlarm"></a>

```typescript
public readonly addMaxNumberSecretsAlarm: {[ key: string ]: MaxSecretCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxSecretCountThreshold">MaxSecretCountThreshold</a>}

---

##### `addMinNumberSecretsAlarm`<sup>Optional</sup> <a name="addMinNumberSecretsAlarm" id="cdk-monitoring-constructs.SecretsManagerMonitoringOptions.property.addMinNumberSecretsAlarm"></a>

```typescript
public readonly addMinNumberSecretsAlarm: {[ key: string ]: MinSecretCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinSecretCountThreshold">MinSecretCountThreshold</a>}

---

### SecretsManagerMonitoringProps <a name="SecretsManagerMonitoringProps" id="cdk-monitoring-constructs.SecretsManagerMonitoringProps"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SecretsManagerMonitoringProps.Initializer"></a>

```typescript
import { SecretsManagerMonitoringProps } from 'cdk-monitoring-constructs'

const secretsManagerMonitoringProps: SecretsManagerMonitoringProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoringProps.property.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoringProps.property.alarmFriendlyName">alarmFriendlyName</a></code> | <code>string</code> | Plain name, used in naming alarms. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoringProps.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.SecretsManagerMonitoringProps.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.SecretsManagerMonitoringProps.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.SecretsManagerMonitoringProps.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.SecretsManagerMonitoringProps.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.SecretsManagerMonitoringProps.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.SecretsManagerMonitoringProps.property.addChangeInSecretsAlarm">addChangeInSecretsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold">ChangeInSecretCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoringProps.property.addMaxNumberSecretsAlarm">addMaxNumberSecretsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MaxSecretCountThreshold">MaxSecretCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoringProps.property.addMinNumberSecretsAlarm">addMinNumberSecretsAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.MinSecretCountThreshold">MinSecretCountThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SecretsManagerMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SecretsManagerMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `alarmFriendlyName`<sup>Optional</sup> <a name="alarmFriendlyName" id="cdk-monitoring-constructs.SecretsManagerMonitoringProps.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.SecretsManagerMonitoringProps.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.SecretsManagerMonitoringProps.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.SecretsManagerMonitoringProps.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.SecretsManagerMonitoringProps.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.SecretsManagerMonitoringProps.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.SecretsManagerMonitoringProps.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.

---

##### `addChangeInSecretsAlarm`<sup>Optional</sup> <a name="addChangeInSecretsAlarm" id="cdk-monitoring-constructs.SecretsManagerMonitoringProps.property.addChangeInSecretsAlarm"></a>

```typescript
public readonly addChangeInSecretsAlarm: {[ key: string ]: ChangeInSecretCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold">ChangeInSecretCountThreshold</a>}

---

##### `addMaxNumberSecretsAlarm`<sup>Optional</sup> <a name="addMaxNumberSecretsAlarm" id="cdk-monitoring-constructs.SecretsManagerMonitoringProps.property.addMaxNumberSecretsAlarm"></a>

```typescript
public readonly addMaxNumberSecretsAlarm: {[ key: string ]: MaxSecretCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MaxSecretCountThreshold">MaxSecretCountThreshold</a>}

---

##### `addMinNumberSecretsAlarm`<sup>Optional</sup> <a name="addMinNumberSecretsAlarm" id="cdk-monitoring-constructs.SecretsManagerMonitoringProps.property.addMinNumberSecretsAlarm"></a>

```typescript
public readonly addMinNumberSecretsAlarm: {[ key: string ]: MinSecretCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.MinSecretCountThreshold">MinSecretCountThreshold</a>}

---

### SecretsManagerSecretAspectType <a name="SecretsManagerSecretAspectType" id="cdk-monitoring-constructs.SecretsManagerSecretAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SecretsManagerSecretAspectType.Initializer"></a>

```typescript
import { SecretsManagerSecretAspectType } from 'cdk-monitoring-constructs'

const secretsManagerSecretAspectType: SecretsManagerSecretAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions">SecretsManagerSecretMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.SecretsManagerSecretAspectType.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.SecretsManagerSecretAspectType.property.props"></a>

```typescript
public readonly props: SecretsManagerSecretMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions">SecretsManagerSecretMonitoringOptions</a>

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMetricFactoryProps.property.secret">secret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <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.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.

---

##### `addCpuP100UsageAlarm`<sup>Optional</sup> <a name="addCpuP100UsageAlarm" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addCpuP100UsageAlarm"></a>

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `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>}

---

##### `addEphermalStorageUsageAlarm`<sup>Optional</sup> <a name="addEphermalStorageUsageAlarm" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addEphermalStorageUsageAlarm"></a>

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `addMemoryP100UsageAlarm`<sup>Optional</sup> <a name="addMemoryP100UsageAlarm" id="cdk-monitoring-constructs.SimpleEc2ServiceMonitoringProps.property.addMemoryP100UsageAlarm"></a>

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.addCpuP100UsageAlarm">addCpuP100UsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | *No description.* |
| <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.addEphermalStorageUsageAlarm">addEphermalStorageUsageAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}</code> | Container Insights needs to be enabled for the cluster for this alarm. |
| <code><a href="#cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addMemoryP100UsageAlarm">addMemoryP100UsageAlarm</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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.

---

##### `addCpuP100UsageAlarm`<sup>Optional</sup> <a name="addCpuP100UsageAlarm" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addCpuP100UsageAlarm"></a>

```typescript
public readonly addCpuP100UsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

---

##### `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>}

---

##### `addEphermalStorageUsageAlarm`<sup>Optional</sup> <a name="addEphermalStorageUsageAlarm" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addEphermalStorageUsageAlarm"></a>

```typescript
public readonly addEphermalStorageUsageAlarm: {[ key: string ]: UsageThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.UsageThreshold">UsageThreshold</a>}

Container Insights needs to be enabled for the cluster for this alarm.

---

##### `addMemoryP100UsageAlarm`<sup>Optional</sup> <a name="addMemoryP100UsageAlarm" id="cdk-monitoring-constructs.SimpleFargateServiceMonitoringProps.property.addMemoryP100UsageAlarm"></a>

```typescript
public readonly addMemoryP100UsageAlarm: {[ 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.* |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.verticalAnnotations">verticalAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.VerticalAnnotation[]</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

---

##### `verticalAnnotations`<sup>Optional</sup> <a name="verticalAnnotations" id="cdk-monitoring-constructs.SingleAxisGraphWidgetProps.property.verticalAnnotations"></a>

```typescript
public readonly verticalAnnotations: VerticalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.VerticalAnnotation[]

---

### 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.

---

### SnsTopicAspectType <a name="SnsTopicAspectType" id="cdk-monitoring-constructs.SnsTopicAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SnsTopicAspectType.Initializer"></a>

```typescript
import { SnsTopicAspectType } from 'cdk-monitoring-constructs'

const snsTopicAspectType: SnsTopicAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SnsTopicAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringOptions">SnsTopicMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.SnsTopicAspectType.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.SnsTopicAspectType.property.props"></a>

```typescript
public readonly props: SnsTopicMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.SnsTopicMonitoringOptions">SnsTopicMonitoringOptions</a>

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMetricFactoryProps.property.topic">topic</a></code> | <code>aws-cdk-lib.aws_sns.ITopic</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SnsTopicMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SnsTopicMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SnsTopicMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SnsTopicMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>}

---

### SqsQueueAspectType <a name="SqsQueueAspectType" id="cdk-monitoring-constructs.SqsQueueAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SqsQueueAspectType.Initializer"></a>

```typescript
import { SqsQueueAspectType } from 'cdk-monitoring-constructs'

const sqsQueueAspectType: SqsQueueAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SqsQueueAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions">SqsQueueMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.SqsQueueAspectType.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.SqsQueueAspectType.property.props"></a>

```typescript
public readonly props: SqsQueueMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions">SqsQueueMonitoringOptions</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMetricFactoryProps.property.queue">queue</a></code> | <code>aws-cdk-lib.aws_sqs.IQueue</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SqsQueueMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SqsQueueMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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>}

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SqsQueueMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SqsQueueMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlqProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.StepFunctionActivityMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>}

---

### StepFunctionAspectType <a name="StepFunctionAspectType" id="cdk-monitoring-constructs.StepFunctionAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.StepFunctionAspectType.Initializer"></a>

```typescript
import { StepFunctionAspectType } from 'cdk-monitoring-constructs'

const stepFunctionAspectType: StepFunctionAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions">StepFunctionMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.StepFunctionAspectType.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.StepFunctionAspectType.property.props"></a>

```typescript
public readonly props: StepFunctionMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions">StepFunctionMonitoringOptions</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.StepFunctionMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.StepFunctionMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.StepFunctionMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.StepFunctionMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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>}

---

### SyntheticsCanaryAspectType <a name="SyntheticsCanaryAspectType" id="cdk-monitoring-constructs.SyntheticsCanaryAspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.SyntheticsCanaryAspectType.Initializer"></a>

```typescript
import { SyntheticsCanaryAspectType } from 'cdk-monitoring-constructs'

const syntheticsCanaryAspectType: SyntheticsCanaryAspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryAspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryAspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions">SyntheticsCanaryMonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.SyntheticsCanaryAspectType.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.SyntheticsCanaryAspectType.property.props"></a>

```typescript
public readonly props: SyntheticsCanaryMonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions">SyntheticsCanaryMonitoringOptions</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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMetricFactoryProps.property.canary">canary</a></code> | <code>aws-cdk-lib.aws_synthetics.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. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `canary`<sup>Required</sup> <a name="canary" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactoryProps.property.canary"></a>

```typescript
public readonly canary: Canary;
```

- *Type:* aws-cdk-lib.aws_synthetics.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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.canary">canary</a></code> | <code>aws-cdk-lib.aws_synthetics.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.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `canary`<sup>Required</sup> <a name="canary" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoringProps.property.canary"></a>

```typescript
public readonly canary: Canary;
```

- *Type:* aws-cdk-lib.aws_synthetics.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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.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.ThrottledEventsThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.ThrottledEventsThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.ThrottledEventsThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.ThrottledEventsThreshold.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.ThrottledEventsThreshold.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.ThrottledEventsThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.ThrottledEventsThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.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.UnhealthyTaskCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.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.UnhealthyTaskCountThreshold.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.UnhealthyTaskCountThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.UnhealthyTaskCountThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.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.UsageCountThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.UsageCountThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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.UsageCountThreshold.property.alarmDedupeStringSuffix"></a>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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 dedupeStringOverride.

---

##### ~~`alarmDescriptionOverride`~~<sup>Optional</sup> <a name="alarmDescriptionOverride" id="cdk-monitoring-constructs.UsageCountThreshold.property.alarmDescriptionOverride"></a>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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 regions (EU, NA...) manually.

---

##### ~~`comparisonOperatorOverride`~~<sup>Optional</sup> <a name="comparisonOperatorOverride" id="cdk-monitoring-constructs.UsageCountThreshold.property.comparisonOperatorOverride"></a>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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 regions (EU, NA...) manually.

---

##### ~~`documentationLink`~~<sup>Optional</sup> <a name="documentationLink" id="cdk-monitoring-constructs.UsageCountThreshold.property.documentationLink"></a>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```typescript
public readonly fillAlarmRange: boolean;
```

- *Type:* boolean
- *Default:* false

Indicates whether the alarming range of values should be highlighted in the widget.

---

##### ~~`metricAdjuster`~~<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.UsageCountThreshold.property.metricAdjuster"></a>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.UsageCountThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### ~~`minSampleCountToEvaluateDatapoint`~~<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.UsageCountThreshold.property.minSampleCountToEvaluateDatapoint"></a>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### ~~`overrideAnnotationColor`~~<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.UsageCountThreshold.property.overrideAnnotationColor"></a>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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.UsageCountThreshold.property.overrideAnnotationLabel"></a>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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.UsageCountThreshold.property.overrideAnnotationVisibility"></a>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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.UsageCountThreshold.property.period"></a>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```typescript
public readonly runbookLink: string;
```

- *Type:* string
- *Default:* no additional link will be added

An optional link included in the generated ticket description body.

---

##### ~~`sampleCountMetricId`~~<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.UsageCountThreshold.property.sampleCountMetricId"></a>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### ~~`treatMissingDataOverride`~~<sup>Optional</sup> <a name="treatMissingDataOverride" id="cdk-monitoring-constructs.UsageCountThreshold.property.treatMissingDataOverride"></a>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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>

- *Deprecated:* Use MaxUsageCountThreshold instead.

```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.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.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.metricAdjuster">metricAdjuster</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a></code> | If specified, adjusts the metric before creating an alarm from it. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.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.UsageThreshold.property.minSampleCountToEvaluateDatapoint">minSampleCountToEvaluateDatapoint</a></code> | <code>number</code> | Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.overrideAnnotationColor">overrideAnnotationColor</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation color. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.overrideAnnotationLabel">overrideAnnotationLabel</a></code> | <code>string</code> | If specified, it modifies the final alarm annotation label. |
| <code><a href="#cdk-monitoring-constructs.UsageThreshold.property.overrideAnnotationVisibility">overrideAnnotationVisibility</a></code> | <code>boolean</code> | If specified, it modifies the final alarm annotation visibility. |
| <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.sampleCountMetricId">sampleCountMetricId</a></code> | <code>string</code> | This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>. |
| <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.

---

##### `alarmDedupeStringSuffix`<sup>Optional</sup> <a name="alarmDedupeStringSuffix" id="cdk-monitoring-constructs.UsageThreshold.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 dedupeStringOverride.

---

##### `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 regions (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 regions (EU, NA...) manually.

---

##### `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.

---

##### `metricAdjuster`<sup>Optional</sup> <a name="metricAdjuster" id="cdk-monitoring-constructs.UsageThreshold.property.metricAdjuster"></a>

```typescript
public readonly metricAdjuster: IMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>
- *Default:* no adjuster

If specified, adjusts the metric before creating an alarm from it.

---

##### ~~`minMetricSamplesToAlarm`~~<sup>Optional</sup> <a name="minMetricSamplesToAlarm" id="cdk-monitoring-constructs.UsageThreshold.property.minMetricSamplesToAlarm"></a>

- *Deprecated:* Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
sufficient number of samples

```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, a 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>
This composite alarm will be returned as a result and uses the specified alarm actions.

---

##### `minSampleCountToEvaluateDatapoint`<sup>Optional</sup> <a name="minSampleCountToEvaluateDatapoint" id="cdk-monitoring-constructs.UsageThreshold.property.minSampleCountToEvaluateDatapoint"></a>

```typescript
public readonly minSampleCountToEvaluateDatapoint: number;
```

- *Type:* number
- *Default:* default behaviour - no condition on sample count will be used

Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.

If this property is specified, your metric will be subject to MathExpression that will add an IF condition
to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
according to the treatMissingData parameter.
If specified, deprecated minMetricSamplesToAlarm has no effect.

---

##### `overrideAnnotationColor`<sup>Optional</sup> <a name="overrideAnnotationColor" id="cdk-monitoring-constructs.UsageThreshold.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.UsageThreshold.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.UsageThreshold.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.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.

---

##### `sampleCountMetricId`<sup>Optional</sup> <a name="sampleCountMetricId" id="cdk-monitoring-constructs.UsageThreshold.property.sampleCountMetricId"></a>

```typescript
public readonly sampleCountMetricId: string;
```

- *Type:* string

This property is required in the following situation: <ol>     <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>     <li>the metric used for the alarm is a <code>MathExpression</code></li>     <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.

In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
for <code>minSampleCountToEvaluateDatapoint</code>.

---

##### `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)

---

### WafV2AspectType <a name="WafV2AspectType" id="cdk-monitoring-constructs.WafV2AspectType"></a>

#### Initializer <a name="Initializer" id="cdk-monitoring-constructs.WafV2AspectType.Initializer"></a>

```typescript
import { WafV2AspectType } from 'cdk-monitoring-constructs'

const wafV2AspectType: WafV2AspectType = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.WafV2AspectType.property.enabled">enabled</a></code> | <code>boolean</code> | If the monitoring aspect is enabled for this resource. |
| <code><a href="#cdk-monitoring-constructs.WafV2AspectType.property.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.WafV2MonitoringOptions">WafV2MonitoringOptions</a></code> | *No description.* |

---

##### `enabled`<sup>Optional</sup> <a name="enabled" id="cdk-monitoring-constructs.WafV2AspectType.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.WafV2AspectType.property.props"></a>

```typescript
public readonly props: WafV2MonitoringOptions;
```

- *Type:* <a href="#cdk-monitoring-constructs.WafV2MonitoringOptions">WafV2MonitoringOptions</a>

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.WafV2MetricFactoryProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.WafV2MetricFactoryProps.property.acl">acl</a></code> | <code>aws-cdk-lib.aws_wafv2.CfnWebACL</code> | Note that the "region" prop is required if this has a "REGIONAL" scope. |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.WafV2MetricFactoryProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.WafV2MetricFactoryProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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

Note that the "region" prop is required if this has a "REGIONAL" scope.

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringOptions.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <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. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringOptions.property.addBlockedRequestsCountAlarm">addBlockedRequestsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringOptions.property.addBlockedRequestsRateAlarm">addBlockedRequestsRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.WafV2MonitoringOptions.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.WafV2MonitoringOptions.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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.

---

##### `addBlockedRequestsCountAlarm`<sup>Optional</sup> <a name="addBlockedRequestsCountAlarm" id="cdk-monitoring-constructs.WafV2MonitoringOptions.property.addBlockedRequestsCountAlarm"></a>

```typescript
public readonly addBlockedRequestsCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addBlockedRequestsRateAlarm`<sup>Optional</sup> <a name="addBlockedRequestsRateAlarm" id="cdk-monitoring-constructs.WafV2MonitoringOptions.property.addBlockedRequestsRateAlarm"></a>

```typescript
public readonly addBlockedRequestsRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

### 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.account">account</a></code> | <code>string</code> | Account where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps.property.region">region</a></code> | <code>string</code> | Region where the metrics exist. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps.property.acl">acl</a></code> | <code>aws-cdk-lib.aws_wafv2.CfnWebACL</code> | Note that the "region" prop is required if this has a "REGIONAL" scope. |
| <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. |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps.property.addBlockedRequestsCountAlarm">addBlockedRequestsCountAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2MonitoringProps.property.addBlockedRequestsRateAlarm">addBlockedRequestsRateAlarm</a></code> | <code>{[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}</code> | *No description.* |

---

##### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.WafV2MonitoringProps.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string
- *Default:* The account configured by the construct holding the Monitoring construct

Account where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.WafV2MonitoringProps.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string
- *Default:* The region configured by the construct holding the Monitoring construct

Region where the metrics exist.

> [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)

---

##### `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

Note that the "region" prop is required if this has a "REGIONAL" scope.

---

##### `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.

---

##### `addBlockedRequestsCountAlarm`<sup>Optional</sup> <a name="addBlockedRequestsCountAlarm" id="cdk-monitoring-constructs.WafV2MonitoringProps.property.addBlockedRequestsCountAlarm"></a>

```typescript
public readonly addBlockedRequestsCountAlarm: {[ key: string ]: ErrorCountThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>}

---

##### `addBlockedRequestsRateAlarm`<sup>Optional</sup> <a name="addBlockedRequestsRateAlarm" id="cdk-monitoring-constructs.WafV2MonitoringProps.property.addBlockedRequestsRateAlarm"></a>

```typescript
public readonly addBlockedRequestsRateAlarm: {[ key: string ]: ErrorRateThreshold};
```

- *Type:* {[ key: string ]: <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>}

---

## 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.* |
| <code><a href="#cdk-monitoring-constructs.AgeAlarmFactory.addMaxOffsetLagAlarm">addMaxOffsetLagAlarm</a></code> | *No description.* |

---

##### `addDaysSinceUpdateAlarm` <a name="addDaysSinceUpdateAlarm" id="cdk-monitoring-constructs.AgeAlarmFactory.addDaysSinceUpdateAlarm"></a>

```typescript
public addDaysSinceUpdateAlarm(metric: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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

---

##### `addMaxOffsetLagAlarm` <a name="addMaxOffsetLagAlarm" id="cdk-monitoring-constructs.AgeAlarmFactory.addMaxOffsetLagAlarm"></a>

```typescript
public addMaxOffsetLagAlarm(metric: MathExpression | Metric, props: MaxOffsetLagThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.AgeAlarmFactory.addMaxOffsetLagAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AgeAlarmFactory.addMaxOffsetLagAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxOffsetLagThreshold">MaxOffsetLagThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.AgeAlarmFactory.addMaxOffsetLagAlarm.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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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. |
| <code><a href="#cdk-monitoring-constructs.AlarmMatrixWidget.property.warnings">warnings</a></code> | <code>string[]</code> | Any warnings that are produced as a result of putting together this widget. |
| <code><a href="#cdk-monitoring-constructs.AlarmMatrixWidget.property.warningsV2">warningsV2</a></code> | <code>{[ key: string ]: string}</code> | Any warnings that are produced as a result of putting together this widget. |

---

##### `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.

---

##### `warnings`<sup>Optional</sup> <a name="warnings" id="cdk-monitoring-constructs.AlarmMatrixWidget.property.warnings"></a>

```typescript
public readonly warnings: string[];
```

- *Type:* string[]

Any warnings that are produced as a result of putting together this widget.

---

##### `warningsV2`<sup>Optional</sup> <a name="warningsV2" id="cdk-monitoring-constructs.AlarmMatrixWidget.property.warningsV2"></a>

```typescript
public readonly warningsV2: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Any warnings that are produced as a result of putting together this widget.

---


### AlarmNamingStrategy <a name="AlarmNamingStrategy" id="cdk-monitoring-constructs.AlarmNamingStrategy"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IAlarmNamingStrategy">IAlarmNamingStrategy</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> | How to generate the label for the alarm displayed on a widget. |

---

##### `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
```

How to generate the label for the alarm displayed on a widget.

###### `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. |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidget.property.warnings">warnings</a></code> | <code>string[]</code> | Any warnings that are produced as a result of putting together this widget. |
| <code><a href="#cdk-monitoring-constructs.AlarmSummaryMatrixWidget.property.warningsV2">warningsV2</a></code> | <code>{[ key: string ]: string}</code> | Any warnings that are produced as a result of putting together this widget. |

---

##### `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.

---

##### `warnings`<sup>Optional</sup> <a name="warnings" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidget.property.warnings"></a>

```typescript
public readonly warnings: string[];
```

- *Type:* string[]

Any warnings that are produced as a result of putting together this widget.

---

##### `warningsV2`<sup>Optional</sup> <a name="warningsV2" id="cdk-monitoring-constructs.AlarmSummaryMatrixWidget.property.warningsV2"></a>

```typescript
public readonly warningsV2: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Any warnings that are produced as a result of putting together this widget.

---


### 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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.warnings">warnings</a></code> | <code>string[]</code> | Warnings generated by this math expression. |
| <code><a href="#cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.warningsV2">warningsV2</a></code> | <code>{[ key: string ]: string}</code> | Warnings generated by this math expression. |

---

##### `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.

---

##### ~~`warnings`~~<sup>Optional</sup> <a name="warnings" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.warnings"></a>

- *Deprecated:* - use warningsV2

```typescript
public readonly warnings: string[];
```

- *Type:* string[]

Warnings generated by this math expression.

---

##### `warningsV2`<sup>Optional</sup> <a name="warningsV2" id="cdk-monitoring-constructs.AnomalyDetectionMathExpression.property.warningsV2"></a>

```typescript
public readonly warningsV2: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Warnings generated by this math expression.

---


### 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(): MathExpression | Metric
```

##### `metric4XXErrorRate` <a name="metric4XXErrorRate" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metric4XXErrorRate"></a>

```typescript
public metric4XXErrorRate(): MathExpression | Metric
```

##### `metric5XXFaultCount` <a name="metric5XXFaultCount" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metric5XXFaultCount"></a>

```typescript
public metric5XXFaultCount(): MathExpression | Metric
```

##### `metric5XXFaultRate` <a name="metric5XXFaultRate" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metric5XXFaultRate"></a>

```typescript
public metric5XXFaultRate(): MathExpression | Metric
```

##### `metricInvocationCount` <a name="metricInvocationCount" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricInvocationCount"></a>

```typescript
public metricInvocationCount(): MathExpression | Metric
```

##### `metricInvocationRate` <a name="metricInvocationRate" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricInvocationRate"></a>

```typescript
public metricInvocationRate(rateComputationMethod?: RateComputationMethod): MathExpression | Metric
```

###### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricInvocationRate.parameter.rateComputationMethod"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>

---

##### `metricLatencyInMillis` <a name="metricLatencyInMillis" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricLatencyInMillis"></a>

```typescript
public metricLatencyInMillis(latencyType: LatencyType): MathExpression | Metric
```

###### `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(): MathExpression | Metric
```

##### ~~`metricLatencyP90InMillis`~~ <a name="metricLatencyP90InMillis" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricLatencyP90InMillis"></a>

```typescript
public metricLatencyP90InMillis(): MathExpression | Metric
```

##### ~~`metricLatencyP99InMillis`~~ <a name="metricLatencyP99InMillis" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricLatencyP99InMillis"></a>

```typescript
public metricLatencyP99InMillis(): MathExpression | Metric
```

##### ~~`metricTps`~~ <a name="metricTps" id="cdk-monitoring-constructs.ApiGatewayMetricFactory.metricTps"></a>

```typescript
public metricTps(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.createErrorCountWidget">createErrorCountWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.createErrorRateWidget">createErrorRateWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.createLatencyWidget">createLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.createTpsWidget">createTpsWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.ApiGatewayMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.ApiGatewayMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createErrorCountWidget` <a name="createErrorCountWidget" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createErrorCountWidget"></a>

```typescript
public createErrorCountWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createErrorCountWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createErrorCountWidget.parameter.height"></a>

- *Type:* number

---

##### `createErrorRateWidget` <a name="createErrorRateWidget" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createErrorRateWidget"></a>

```typescript
public createErrorRateWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createErrorRateWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createErrorRateWidget.parameter.height"></a>

- *Type:* number

---

##### `createLatencyWidget` <a name="createLatencyWidget" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createLatencyWidget"></a>

```typescript
public createLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```

##### `createTpsWidget` <a name="createTpsWidget" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createTpsWidget"></a>

```typescript
public createTpsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createTpsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ApiGatewayMonitoring.createTpsWidget.parameter.height"></a>

- *Type:* number

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.error4XXCountMetric">error4XXCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.error4XXRateMetric">error4XXRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.fault5XXCountMetric">fault5XXCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.fault5XXRateMetric">fault5XXRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.latencyAlarmFactory">latencyAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.latencyAnnotations">latencyAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.latencyMetrics">latencyMetrics</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.latencyTypesToRender">latencyTypesToRender</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.tpsAlarmFactory">tpsAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.TpsAlarmFactory">TpsAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.tpsAnnotations">tpsAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayMonitoring.property.tpsMetric">tpsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.alarmFactory"></a>

```typescript
public readonly alarmFactory: AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

##### `error4XXCountMetric`<sup>Required</sup> <a name="error4XXCountMetric" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.error4XXCountMetric"></a>

```typescript
public readonly error4XXCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `error4XXRateMetric`<sup>Required</sup> <a name="error4XXRateMetric" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.error4XXRateMetric"></a>

```typescript
public readonly error4XXRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `fault5XXCountMetric`<sup>Required</sup> <a name="fault5XXCountMetric" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.fault5XXCountMetric"></a>

```typescript
public readonly fault5XXCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `fault5XXRateMetric`<sup>Required</sup> <a name="fault5XXRateMetric" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.fault5XXRateMetric"></a>

```typescript
public readonly fault5XXRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `latencyAlarmFactory`<sup>Required</sup> <a name="latencyAlarmFactory" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.latencyAlarmFactory"></a>

```typescript
public readonly latencyAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `latencyAnnotations`<sup>Required</sup> <a name="latencyAnnotations" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.latencyAnnotations"></a>

```typescript
public readonly latencyAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `latencyMetrics`<sup>Required</sup> <a name="latencyMetrics" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.latencyMetrics"></a>

```typescript
public readonly latencyMetrics: {[ key: string ]: MathExpression | Metric};
```

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric}

---

##### `latencyTypesToRender`<sup>Required</sup> <a name="latencyTypesToRender" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.latencyTypesToRender"></a>

```typescript
public readonly latencyTypesToRender: string[];
```

- *Type:* string[]

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `tpsAlarmFactory`<sup>Required</sup> <a name="tpsAlarmFactory" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.tpsAlarmFactory"></a>

```typescript
public readonly tpsAlarmFactory: TpsAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.TpsAlarmFactory">TpsAlarmFactory</a>

---

##### `tpsAnnotations`<sup>Required</sup> <a name="tpsAnnotations" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.tpsAnnotations"></a>

```typescript
public readonly tpsAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `tpsMetric`<sup>Required</sup> <a name="tpsMetric" id="cdk-monitoring-constructs.ApiGatewayMonitoring.property.tpsMetric"></a>

```typescript
public readonly tpsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---


### 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(): MathExpression | Metric
```

##### `metric4xxRate` <a name="metric4xxRate" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metric4xxRate"></a>

```typescript
public metric4xxRate(): MathExpression | Metric
```

##### `metric5xxCount` <a name="metric5xxCount" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metric5xxCount"></a>

```typescript
public metric5xxCount(): MathExpression | Metric
```

##### `metric5xxRate` <a name="metric5xxRate" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metric5xxRate"></a>

```typescript
public metric5xxRate(): MathExpression | Metric
```

##### `metricIntegrationLatencyInMillis` <a name="metricIntegrationLatencyInMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricIntegrationLatencyInMillis"></a>

```typescript
public metricIntegrationLatencyInMillis(latencyType: LatencyType): MathExpression | Metric
```

###### `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(): MathExpression | Metric
```

##### ~~`metricIntegrationLatencyP90InMillis`~~ <a name="metricIntegrationLatencyP90InMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricIntegrationLatencyP90InMillis"></a>

```typescript
public metricIntegrationLatencyP90InMillis(): MathExpression | Metric
```

##### ~~`metricIntegrationLatencyP99InMillis`~~ <a name="metricIntegrationLatencyP99InMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricIntegrationLatencyP99InMillis"></a>

```typescript
public metricIntegrationLatencyP99InMillis(): MathExpression | Metric
```

##### `metricInvocationCount` <a name="metricInvocationCount" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricInvocationCount"></a>

```typescript
public metricInvocationCount(): MathExpression | Metric
```

##### `metricInvocationRate` <a name="metricInvocationRate" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricInvocationRate"></a>

```typescript
public metricInvocationRate(rateComputationMethod?: RateComputationMethod): MathExpression | Metric
```

###### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricInvocationRate.parameter.rateComputationMethod"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>

---

##### `metricLatencyInMillis` <a name="metricLatencyInMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricLatencyInMillis"></a>

```typescript
public metricLatencyInMillis(latencyType: LatencyType): MathExpression | Metric
```

###### `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(): MathExpression | Metric
```

##### ~~`metricLatencyP90InMillis`~~ <a name="metricLatencyP90InMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricLatencyP90InMillis"></a>

```typescript
public metricLatencyP90InMillis(): MathExpression | Metric
```

##### ~~`metricLatencyP99InMillis`~~ <a name="metricLatencyP99InMillis" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricLatencyP99InMillis"></a>

```typescript
public metricLatencyP99InMillis(): MathExpression | Metric
```

##### ~~`metricTps`~~ <a name="metricTps" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMetricFactory.metricTps"></a>

```typescript
public metricTps(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createErrorCountWidget">createErrorCountWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createErrorRateWidget">createErrorRateWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createLatencyWidget">createLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createTpsWidget">createTpsWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createErrorCountWidget` <a name="createErrorCountWidget" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createErrorCountWidget"></a>

```typescript
public createErrorCountWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createErrorCountWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createErrorCountWidget.parameter.height"></a>

- *Type:* number

---

##### `createErrorRateWidget` <a name="createErrorRateWidget" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createErrorRateWidget"></a>

```typescript
public createErrorRateWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createErrorRateWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createErrorRateWidget.parameter.height"></a>

- *Type:* number

---

##### `createLatencyWidget` <a name="createLatencyWidget" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createLatencyWidget"></a>

```typescript
public createLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```

##### `createTpsWidget` <a name="createTpsWidget" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createTpsWidget"></a>

```typescript
public createTpsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createTpsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.createTpsWidget.parameter.height"></a>

- *Type:* number

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.error4xxCountMetric">error4xxCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.error4xxRateMetric">error4xxRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.error5xxCountMetric">error5xxCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.error5xxRateMetric">error5xxRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.integrationLatencyMetrics">integrationLatencyMetrics</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.latencyAlarmFactory">latencyAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.latencyAnnotations">latencyAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.latencyMetrics">latencyMetrics</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.latencyTypesToRender">latencyTypesToRender</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.tpsAlarmFactory">tpsAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.TpsAlarmFactory">TpsAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.tpsAnnotations">tpsAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.tpsMetric">tpsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.alarmFactory"></a>

```typescript
public readonly alarmFactory: AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

##### `error4xxCountMetric`<sup>Required</sup> <a name="error4xxCountMetric" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.error4xxCountMetric"></a>

```typescript
public readonly error4xxCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `error4xxRateMetric`<sup>Required</sup> <a name="error4xxRateMetric" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.error4xxRateMetric"></a>

```typescript
public readonly error4xxRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `error5xxCountMetric`<sup>Required</sup> <a name="error5xxCountMetric" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.error5xxCountMetric"></a>

```typescript
public readonly error5xxCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `error5xxRateMetric`<sup>Required</sup> <a name="error5xxRateMetric" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.error5xxRateMetric"></a>

```typescript
public readonly error5xxRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `integrationLatencyMetrics`<sup>Required</sup> <a name="integrationLatencyMetrics" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.integrationLatencyMetrics"></a>

```typescript
public readonly integrationLatencyMetrics: {[ key: string ]: MathExpression | Metric};
```

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric}

---

##### `latencyAlarmFactory`<sup>Required</sup> <a name="latencyAlarmFactory" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.latencyAlarmFactory"></a>

```typescript
public readonly latencyAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `latencyAnnotations`<sup>Required</sup> <a name="latencyAnnotations" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.latencyAnnotations"></a>

```typescript
public readonly latencyAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `latencyMetrics`<sup>Required</sup> <a name="latencyMetrics" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.latencyMetrics"></a>

```typescript
public readonly latencyMetrics: {[ key: string ]: MathExpression | Metric};
```

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric}

---

##### `latencyTypesToRender`<sup>Required</sup> <a name="latencyTypesToRender" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.latencyTypesToRender"></a>

```typescript
public readonly latencyTypesToRender: string[];
```

- *Type:* string[]

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `tpsAlarmFactory`<sup>Required</sup> <a name="tpsAlarmFactory" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.tpsAlarmFactory"></a>

```typescript
public readonly tpsAlarmFactory: TpsAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.TpsAlarmFactory">TpsAlarmFactory</a>

---

##### `tpsAnnotations`<sup>Required</sup> <a name="tpsAnnotations" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.tpsAnnotations"></a>

```typescript
public readonly tpsAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `tpsMetric`<sup>Required</sup> <a name="tpsMetric" id="cdk-monitoring-constructs.ApiGatewayV2HttpApiMonitoring.property.tpsMetric"></a>

```typescript
public readonly tpsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---


### 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.metricUnhealthyRoutingCount">metricUnhealthyRoutingCount</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(): MathExpression | Metric
```

##### `metricHealthyTaskCount` <a name="metricHealthyTaskCount" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricHealthyTaskCount"></a>

```typescript
public metricHealthyTaskCount(): MathExpression | Metric
```

##### `metricHealthyTaskInPercent` <a name="metricHealthyTaskInPercent" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricHealthyTaskInPercent"></a>

```typescript
public metricHealthyTaskInPercent(): MathExpression | Metric
```

##### `metricNewConnectionCount` <a name="metricNewConnectionCount" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricNewConnectionCount"></a>

```typescript
public metricNewConnectionCount(): MathExpression | Metric
```

##### `metricProcessedBytesMin` <a name="metricProcessedBytesMin" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricProcessedBytesMin"></a>

```typescript
public metricProcessedBytesMin(): MathExpression | Metric
```

##### `metricUnhealthyRoutingCount` <a name="metricUnhealthyRoutingCount" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricUnhealthyRoutingCount"></a>

```typescript
public metricUnhealthyRoutingCount(): MathExpression | Metric
```

##### `metricUnhealthyTaskCount` <a name="metricUnhealthyTaskCount" id="cdk-monitoring-constructs.ApplicationLoadBalancerMetricFactory.metricUnhealthyTaskCount"></a>

```typescript
public metricUnhealthyTaskCount(): MathExpression | Metric
```




### 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(): MathExpression | Metric
```

##### `metric4XXErrorRate` <a name="metric4XXErrorRate" id="cdk-monitoring-constructs.AppSyncMetricFactory.metric4XXErrorRate"></a>

```typescript
public metric4XXErrorRate(): MathExpression | Metric
```

##### `metric5XXFaultCount` <a name="metric5XXFaultCount" id="cdk-monitoring-constructs.AppSyncMetricFactory.metric5XXFaultCount"></a>

```typescript
public metric5XXFaultCount(): MathExpression | Metric
```

##### `metric5XXFaultRate` <a name="metric5XXFaultRate" id="cdk-monitoring-constructs.AppSyncMetricFactory.metric5XXFaultRate"></a>

```typescript
public metric5XXFaultRate(): MathExpression | Metric
```

##### `metricLatencyP50InMillis` <a name="metricLatencyP50InMillis" id="cdk-monitoring-constructs.AppSyncMetricFactory.metricLatencyP50InMillis"></a>

```typescript
public metricLatencyP50InMillis(): MathExpression | Metric
```

##### `metricLatencyP90InMillis` <a name="metricLatencyP90InMillis" id="cdk-monitoring-constructs.AppSyncMetricFactory.metricLatencyP90InMillis"></a>

```typescript
public metricLatencyP90InMillis(): MathExpression | Metric
```

##### `metricLatencyP99InMillis` <a name="metricLatencyP99InMillis" id="cdk-monitoring-constructs.AppSyncMetricFactory.metricLatencyP99InMillis"></a>

```typescript
public metricLatencyP99InMillis(): MathExpression | Metric
```

##### `metricRequestCount` <a name="metricRequestCount" id="cdk-monitoring-constructs.AppSyncMetricFactory.metricRequestCount"></a>

```typescript
public metricRequestCount(): MathExpression | Metric
```

##### `metricRequestRate` <a name="metricRequestRate" id="cdk-monitoring-constructs.AppSyncMetricFactory.metricRequestRate"></a>

```typescript
public metricRequestRate(rateComputationMethod?: RateComputationMethod): MathExpression | Metric
```

###### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.AppSyncMetricFactory.metricRequestRate.parameter.rateComputationMethod"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>

---

##### ~~`metricTps`~~ <a name="metricTps" id="cdk-monitoring-constructs.AppSyncMetricFactory.metricTps"></a>

```typescript
public metricTps(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.createErrorCountWidget">createErrorCountWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.createErrorRateWidget">createErrorRateWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.createLatencyWidget">createLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.createTpsWidget">createTpsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.createtTitleWidget">createtTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.AppSyncMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.AppSyncMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createErrorCountWidget` <a name="createErrorCountWidget" id="cdk-monitoring-constructs.AppSyncMonitoring.createErrorCountWidget"></a>

```typescript
public createErrorCountWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.AppSyncMonitoring.createErrorCountWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.AppSyncMonitoring.createErrorCountWidget.parameter.height"></a>

- *Type:* number

---

##### `createErrorRateWidget` <a name="createErrorRateWidget" id="cdk-monitoring-constructs.AppSyncMonitoring.createErrorRateWidget"></a>

```typescript
public createErrorRateWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.AppSyncMonitoring.createErrorRateWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.AppSyncMonitoring.createErrorRateWidget.parameter.height"></a>

- *Type:* number

---

##### `createLatencyWidget` <a name="createLatencyWidget" id="cdk-monitoring-constructs.AppSyncMonitoring.createLatencyWidget"></a>

```typescript
public createLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.AppSyncMonitoring.createLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.AppSyncMonitoring.createLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createTpsWidget` <a name="createTpsWidget" id="cdk-monitoring-constructs.AppSyncMonitoring.createTpsWidget"></a>

```typescript
public createTpsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.AppSyncMonitoring.createTpsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.AppSyncMonitoring.createTpsWidget.parameter.height"></a>

- *Type:* number

---

##### `createtTitleWidget` <a name="createtTitleWidget" id="cdk-monitoring-constructs.AppSyncMonitoring.createtTitleWidget"></a>

```typescript
public createtTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.error4xxCountMetric">error4xxCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.error4xxRateMetric">error4xxRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.fault5xxCountMetric">fault5xxCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.fault5xxRateMetric">fault5xxRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.latencyAlarmFactory">latencyAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.latencyAnnotations">latencyAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AppSyncMetricFactory">AppSyncMetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.namingStrategy">namingStrategy</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringNamingStrategy">MonitoringNamingStrategy</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.p50LatencyMetric">p50LatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.p90LatencyMetric">p90LatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.p99LatencyMetric">p99LatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.tpsAlarmFactory">tpsAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.TpsAlarmFactory">TpsAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.tpsAnnotations">tpsAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AppSyncMonitoring.property.tpsMetric">tpsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.AppSyncMonitoring.property.alarmFactory"></a>

```typescript
public readonly alarmFactory: AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

##### `error4xxCountMetric`<sup>Required</sup> <a name="error4xxCountMetric" id="cdk-monitoring-constructs.AppSyncMonitoring.property.error4xxCountMetric"></a>

```typescript
public readonly error4xxCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `error4xxRateMetric`<sup>Required</sup> <a name="error4xxRateMetric" id="cdk-monitoring-constructs.AppSyncMonitoring.property.error4xxRateMetric"></a>

```typescript
public readonly error4xxRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.AppSyncMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.AppSyncMonitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.AppSyncMonitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `fault5xxCountMetric`<sup>Required</sup> <a name="fault5xxCountMetric" id="cdk-monitoring-constructs.AppSyncMonitoring.property.fault5xxCountMetric"></a>

```typescript
public readonly fault5xxCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `fault5xxRateMetric`<sup>Required</sup> <a name="fault5xxRateMetric" id="cdk-monitoring-constructs.AppSyncMonitoring.property.fault5xxRateMetric"></a>

```typescript
public readonly fault5xxRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `latencyAlarmFactory`<sup>Required</sup> <a name="latencyAlarmFactory" id="cdk-monitoring-constructs.AppSyncMonitoring.property.latencyAlarmFactory"></a>

```typescript
public readonly latencyAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `latencyAnnotations`<sup>Required</sup> <a name="latencyAnnotations" id="cdk-monitoring-constructs.AppSyncMonitoring.property.latencyAnnotations"></a>

```typescript
public readonly latencyAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.AppSyncMonitoring.property.metricFactory"></a>

```typescript
public readonly metricFactory: AppSyncMetricFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AppSyncMetricFactory">AppSyncMetricFactory</a>

---

##### `namingStrategy`<sup>Required</sup> <a name="namingStrategy" id="cdk-monitoring-constructs.AppSyncMonitoring.property.namingStrategy"></a>

```typescript
public readonly namingStrategy: MonitoringNamingStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringNamingStrategy">MonitoringNamingStrategy</a>

---

##### `p50LatencyMetric`<sup>Required</sup> <a name="p50LatencyMetric" id="cdk-monitoring-constructs.AppSyncMonitoring.property.p50LatencyMetric"></a>

```typescript
public readonly p50LatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p90LatencyMetric`<sup>Required</sup> <a name="p90LatencyMetric" id="cdk-monitoring-constructs.AppSyncMonitoring.property.p90LatencyMetric"></a>

```typescript
public readonly p90LatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p99LatencyMetric`<sup>Required</sup> <a name="p99LatencyMetric" id="cdk-monitoring-constructs.AppSyncMonitoring.property.p99LatencyMetric"></a>

```typescript
public readonly p99LatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.AppSyncMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `tpsAlarmFactory`<sup>Required</sup> <a name="tpsAlarmFactory" id="cdk-monitoring-constructs.AppSyncMonitoring.property.tpsAlarmFactory"></a>

```typescript
public readonly tpsAlarmFactory: TpsAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.TpsAlarmFactory">TpsAlarmFactory</a>

---

##### `tpsAnnotations`<sup>Required</sup> <a name="tpsAnnotations" id="cdk-monitoring-constructs.AppSyncMonitoring.property.tpsAnnotations"></a>

```typescript
public readonly tpsAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `tpsMetric`<sup>Required</sup> <a name="tpsMetric" id="cdk-monitoring-constructs.AppSyncMonitoring.property.tpsMetric"></a>

```typescript
public readonly tpsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---


### AuroraAlarmFactory <a name="AuroraAlarmFactory" id="cdk-monitoring-constructs.AuroraAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AuroraAlarmFactory.Initializer"></a>

```typescript
import { AuroraAlarmFactory } from 'cdk-monitoring-constructs'

new AuroraAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AuroraAlarmFactory.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.AuroraAlarmFactory.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.AuroraAlarmFactory.addMaxServerlessDatabaseCapacity">addMaxServerlessDatabaseCapacity</a></code> | *No description.* |

---

##### `addMaxServerlessDatabaseCapacity` <a name="addMaxServerlessDatabaseCapacity" id="cdk-monitoring-constructs.AuroraAlarmFactory.addMaxServerlessDatabaseCapacity"></a>

```typescript
public addMaxServerlessDatabaseCapacity(metric: MathExpression | Metric, props: HighServerlessDatabaseCapacityThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.AuroraAlarmFactory.addMaxServerlessDatabaseCapacity.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AuroraAlarmFactory.addMaxServerlessDatabaseCapacity.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.HighServerlessDatabaseCapacityThreshold">HighServerlessDatabaseCapacityThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.AuroraAlarmFactory.addMaxServerlessDatabaseCapacity.parameter.disambiguator"></a>

- *Type:* string

---




### AuroraClusterMonitoring <a name="AuroraClusterMonitoring" id="cdk-monitoring-constructs.AuroraClusterMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.AuroraClusterMonitoring.Initializer"></a>

```typescript
import { AuroraClusterMonitoring } from 'cdk-monitoring-constructs'

new AuroraClusterMonitoring(scope: MonitoringScope, props: AuroraClusterMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoringProps">AuroraClusterMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.AuroraClusterMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.AuroraClusterMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AuroraClusterMonitoringProps">AuroraClusterMonitoringProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.createConnectionsWidget">createConnectionsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.createCpuUsageWidget">createCpuUsageWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.createLatencyWidget">createLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.createServerlessDatabaseCapacityWidget">createServerlessDatabaseCapacityWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.AuroraClusterMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.AuroraClusterMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.AuroraClusterMonitoring.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.AuroraClusterMonitoring.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.AuroraClusterMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.AuroraClusterMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.AuroraClusterMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.AuroraClusterMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.AuroraClusterMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createConnectionsWidget` <a name="createConnectionsWidget" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createConnectionsWidget"></a>

```typescript
public createConnectionsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createConnectionsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createConnectionsWidget.parameter.height"></a>

- *Type:* number

---

##### `createCpuUsageWidget` <a name="createCpuUsageWidget" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createCpuUsageWidget"></a>

```typescript
public createCpuUsageWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createCpuUsageWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createCpuUsageWidget.parameter.height"></a>

- *Type:* number

---

##### `createLatencyWidget` <a name="createLatencyWidget" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createLatencyWidget"></a>

```typescript
public createLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createServerlessDatabaseCapacityWidget` <a name="createServerlessDatabaseCapacityWidget" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createServerlessDatabaseCapacityWidget"></a>

```typescript
public createServerlessDatabaseCapacityWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createServerlessDatabaseCapacityWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createServerlessDatabaseCapacityWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.AuroraClusterMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.commitLatencyMetric">commitLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.connectionAlarmFactory">connectionAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ConnectionAlarmFactory">ConnectionAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.connectionAnnotations">connectionAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.connectionsMetric">connectionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.cpuUsageMetric">cpuUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.deleteLatencyMetric">deleteLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.insertLatencyMetric">insertLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.selectLatencyMetric">selectLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.serverlessCapacityAnnotations">serverlessCapacityAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.serverlessDatabaseCapacityMetric">serverlessDatabaseCapacityMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.updateLatencyMetric">updateLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.usageAlarmFactory">usageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.usageAnnotations">usageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AuroraClusterMonitoring.property.url">url</a></code> | <code>string</code> | *No description.* |

---

##### `commitLatencyMetric`<sup>Required</sup> <a name="commitLatencyMetric" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.commitLatencyMetric"></a>

```typescript
public readonly commitLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `connectionAlarmFactory`<sup>Required</sup> <a name="connectionAlarmFactory" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.connectionAlarmFactory"></a>

```typescript
public readonly connectionAlarmFactory: ConnectionAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ConnectionAlarmFactory">ConnectionAlarmFactory</a>

---

##### `connectionAnnotations`<sup>Required</sup> <a name="connectionAnnotations" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.connectionAnnotations"></a>

```typescript
public readonly connectionAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `connectionsMetric`<sup>Required</sup> <a name="connectionsMetric" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.connectionsMetric"></a>

```typescript
public readonly connectionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cpuUsageMetric`<sup>Required</sup> <a name="cpuUsageMetric" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.cpuUsageMetric"></a>

```typescript
public readonly cpuUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `deleteLatencyMetric`<sup>Required</sup> <a name="deleteLatencyMetric" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.deleteLatencyMetric"></a>

```typescript
public readonly deleteLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `insertLatencyMetric`<sup>Required</sup> <a name="insertLatencyMetric" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.insertLatencyMetric"></a>

```typescript
public readonly insertLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `selectLatencyMetric`<sup>Required</sup> <a name="selectLatencyMetric" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.selectLatencyMetric"></a>

```typescript
public readonly selectLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `serverlessCapacityAnnotations`<sup>Required</sup> <a name="serverlessCapacityAnnotations" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.serverlessCapacityAnnotations"></a>

```typescript
public readonly serverlessCapacityAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `serverlessDatabaseCapacityMetric`<sup>Required</sup> <a name="serverlessDatabaseCapacityMetric" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.serverlessDatabaseCapacityMetric"></a>

```typescript
public readonly serverlessDatabaseCapacityMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `updateLatencyMetric`<sup>Required</sup> <a name="updateLatencyMetric" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.updateLatencyMetric"></a>

```typescript
public readonly updateLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `usageAlarmFactory`<sup>Required</sup> <a name="usageAlarmFactory" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.usageAlarmFactory"></a>

```typescript
public readonly usageAlarmFactory: UsageAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a>

---

##### `usageAnnotations`<sup>Required</sup> <a name="usageAnnotations" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.usageAnnotations"></a>

```typescript
public readonly usageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `url`<sup>Optional</sup> <a name="url" id="cdk-monitoring-constructs.AuroraClusterMonitoring.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

---


### 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(): MathExpression | Metric
```

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(): MathExpression | Metric
```

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(): MathExpression | Metric
```

The maximum size of the Auto Scaling group.

##### `metricGroupMinSize` <a name="metricGroupMinSize" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupMinSize"></a>

```typescript
public metricGroupMinSize(): MathExpression | Metric
```

The minimum size of the Auto Scaling group.

##### `metricGroupPendingInstances` <a name="metricGroupPendingInstances" id="cdk-monitoring-constructs.AutoScalingGroupMetricFactory.metricGroupPendingInstances"></a>

```typescript
public metricGroupPendingInstances(): MathExpression | Metric
```

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(): MathExpression | Metric
```

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(): MathExpression | Metric
```

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(): MathExpression | Metric
```

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. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.createGroupSizeWidget">createGroupSizeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.createGroupStatusWidget">createGroupStatusWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createGroupSizeWidget` <a name="createGroupSizeWidget" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.createGroupSizeWidget"></a>

```typescript
public createGroupSizeWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.createGroupSizeWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.createGroupSizeWidget.parameter.height"></a>

- *Type:* number

---

##### `createGroupStatusWidget` <a name="createGroupStatusWidget" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.createGroupStatusWidget"></a>

```typescript
public createGroupStatusWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.createGroupStatusWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.createGroupStatusWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.groupDesiredSizeMetric">groupDesiredSizeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.groupMaxSizeMetric">groupMaxSizeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.groupMinSizeMetric">groupMinSizeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.instancesInServiceMetric">instancesInServiceMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.instancesPendingMetric">instancesPendingMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.instancesStandbyMetric">instancesStandbyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.instancesTerminatingMetric">instancesTerminatingMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.instancesTotalMetric">instancesTotalMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `groupDesiredSizeMetric`<sup>Required</sup> <a name="groupDesiredSizeMetric" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.groupDesiredSizeMetric"></a>

```typescript
public readonly groupDesiredSizeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `groupMaxSizeMetric`<sup>Required</sup> <a name="groupMaxSizeMetric" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.groupMaxSizeMetric"></a>

```typescript
public readonly groupMaxSizeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `groupMinSizeMetric`<sup>Required</sup> <a name="groupMinSizeMetric" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.groupMinSizeMetric"></a>

```typescript
public readonly groupMinSizeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `instancesInServiceMetric`<sup>Required</sup> <a name="instancesInServiceMetric" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.instancesInServiceMetric"></a>

```typescript
public readonly instancesInServiceMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `instancesPendingMetric`<sup>Required</sup> <a name="instancesPendingMetric" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.instancesPendingMetric"></a>

```typescript
public readonly instancesPendingMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `instancesStandbyMetric`<sup>Required</sup> <a name="instancesStandbyMetric" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.instancesStandbyMetric"></a>

```typescript
public readonly instancesStandbyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `instancesTerminatingMetric`<sup>Required</sup> <a name="instancesTerminatingMetric" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.instancesTerminatingMetric"></a>

```typescript
public readonly instancesTerminatingMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `instancesTotalMetric`<sup>Required</sup> <a name="instancesTotalMetric" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.instancesTotalMetric"></a>

```typescript
public readonly instancesTotalMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.AutoScalingGroupMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---


### 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.getOpenSearchServerlessCollectionUrl">getOpenSearchServerlessCollectionUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getOsisPipelineUrl">getOsisPipelineUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getRdsClusterUrl">getRdsClusterUrl</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.AwsConsoleUrlFactory.getRdsInstanceUrl">getRdsInstanceUrl</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

---

##### `getOpenSearchServerlessCollectionUrl` <a name="getOpenSearchServerlessCollectionUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getOpenSearchServerlessCollectionUrl"></a>

```typescript
public getOpenSearchServerlessCollectionUrl(collectionName: string): string
```

###### `collectionName`<sup>Required</sup> <a name="collectionName" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getOpenSearchServerlessCollectionUrl.parameter.collectionName"></a>

- *Type:* string

---

##### `getOsisPipelineUrl` <a name="getOsisPipelineUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getOsisPipelineUrl"></a>

```typescript
public getOsisPipelineUrl(pipelineName: string): string
```

###### `pipelineName`<sup>Required</sup> <a name="pipelineName" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getOsisPipelineUrl.parameter.pipelineName"></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

---

##### `getRdsInstanceUrl` <a name="getRdsInstanceUrl" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getRdsInstanceUrl"></a>

```typescript
public getRdsInstanceUrl(instanceId: string): string
```

###### `instanceId`<sup>Required</sup> <a name="instanceId" id="cdk-monitoring-constructs.AwsConsoleUrlFactory.getRdsInstanceUrl.parameter.instanceId"></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

---




### BaseMetricFactory <a name="BaseMetricFactory" id="cdk-monitoring-constructs.BaseMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.BaseMetricFactory.Initializer"></a>

```typescript
import { BaseMetricFactory } from 'cdk-monitoring-constructs'

new BaseMetricFactory(metricFactory: MetricFactory, props: BaseMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BaseMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.BaseMetricFactoryProps">BaseMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.BaseMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.BaseMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.BaseMetricFactoryProps">BaseMetricFactoryProps</a>

---





### 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.metricEphemeralStorageReserved">metricEphemeralStorageReserved</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseServiceMetricFactory.metricEphemeralStorageUsageInPercent">metricEphemeralStorageUsageInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BaseServiceMetricFactory.metricEphemeralStorageUtilized">metricEphemeralStorageUtilized</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(statistic?: MetricStatistic): MathExpression | Metric
```

###### `statistic`<sup>Optional</sup> <a name="statistic" id="cdk-monitoring-constructs.BaseServiceMetricFactory.metricClusterCpuUtilisationInPercent.parameter.statistic"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricStatistic">MetricStatistic</a>

---

##### `metricClusterMemoryUtilisationInPercent` <a name="metricClusterMemoryUtilisationInPercent" id="cdk-monitoring-constructs.BaseServiceMetricFactory.metricClusterMemoryUtilisationInPercent"></a>

```typescript
public metricClusterMemoryUtilisationInPercent(statistic?: MetricStatistic): MathExpression | Metric
```

###### `statistic`<sup>Optional</sup> <a name="statistic" id="cdk-monitoring-constructs.BaseServiceMetricFactory.metricClusterMemoryUtilisationInPercent.parameter.statistic"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricStatistic">MetricStatistic</a>

---

##### `metricEphemeralStorageReserved` <a name="metricEphemeralStorageReserved" id="cdk-monitoring-constructs.BaseServiceMetricFactory.metricEphemeralStorageReserved"></a>

```typescript
public metricEphemeralStorageReserved(): MathExpression | Metric
```

##### `metricEphemeralStorageUsageInPercent` <a name="metricEphemeralStorageUsageInPercent" id="cdk-monitoring-constructs.BaseServiceMetricFactory.metricEphemeralStorageUsageInPercent"></a>

```typescript
public metricEphemeralStorageUsageInPercent(): MathExpression | Metric
```

##### `metricEphemeralStorageUtilized` <a name="metricEphemeralStorageUtilized" id="cdk-monitoring-constructs.BaseServiceMetricFactory.metricEphemeralStorageUtilized"></a>

```typescript
public metricEphemeralStorageUtilized(): MathExpression | Metric
```

##### `metricRunningTaskCount` <a name="metricRunningTaskCount" id="cdk-monitoring-constructs.BaseServiceMetricFactory.metricRunningTaskCount"></a>

```typescript
public metricRunningTaskCount(): MathExpression | Metric
```




### 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(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.createChargesByServiceWidget">createChargesByServiceWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.createTotalChargesWidget">createTotalChargesWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.BillingMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.BillingMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createChargesByServiceWidget` <a name="createChargesByServiceWidget" id="cdk-monitoring-constructs.BillingMonitoring.createChargesByServiceWidget"></a>

```typescript
public createChargesByServiceWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.BillingMonitoring.createChargesByServiceWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.BillingMonitoring.createChargesByServiceWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.BillingMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```

##### `createTotalChargesWidget` <a name="createTotalChargesWidget" id="cdk-monitoring-constructs.BillingMonitoring.createTotalChargesWidget"></a>

```typescript
public createTotalChargesWidget(width: number, height: number): SingleValueWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.BillingMonitoring.createTotalChargesWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.BillingMonitoring.createTotalChargesWidget.parameter.height"></a>

- *Type:* number

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.property.anomalyDetectingAlarmFactory">anomalyDetectingAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AnomalyDetectingAlarmFactory">AnomalyDetectingAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.property.costByServiceMetric">costByServiceMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IMetric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.BillingMonitoring.property.totalCostMetric">totalCostMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.BillingMonitoring.property.alarmFactory"></a>

```typescript
public readonly alarmFactory: AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

##### `anomalyDetectingAlarmFactory`<sup>Required</sup> <a name="anomalyDetectingAlarmFactory" id="cdk-monitoring-constructs.BillingMonitoring.property.anomalyDetectingAlarmFactory"></a>

```typescript
public readonly anomalyDetectingAlarmFactory: AnomalyDetectingAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AnomalyDetectingAlarmFactory">AnomalyDetectingAlarmFactory</a>

---

##### `costByServiceMetric`<sup>Required</sup> <a name="costByServiceMetric" id="cdk-monitoring-constructs.BillingMonitoring.property.costByServiceMetric"></a>

```typescript
public readonly costByServiceMetric: IMetric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.BillingMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `totalCostMetric`<sup>Required</sup> <a name="totalCostMetric" id="cdk-monitoring-constructs.BillingMonitoring.property.totalCostMetric"></a>

```typescript
public readonly totalCostMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---


### 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(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.createDaysToExpiryWidget">createDaysToExpiryWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.CertificateManagerMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.CertificateManagerMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createDaysToExpiryWidget` <a name="createDaysToExpiryWidget" id="cdk-monitoring-constructs.CertificateManagerMonitoring.createDaysToExpiryWidget"></a>

```typescript
public createDaysToExpiryWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.CertificateManagerMonitoring.createDaysToExpiryWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.CertificateManagerMonitoring.createDaysToExpiryWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.CertificateManagerMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.property.daysToExpiryAnnotations">daysToExpiryAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.property.daysToExpiryMetric">daysToExpiryMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CertificateManagerMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `daysToExpiryAnnotations`<sup>Required</sup> <a name="daysToExpiryAnnotations" id="cdk-monitoring-constructs.CertificateManagerMonitoring.property.daysToExpiryAnnotations"></a>

```typescript
public readonly daysToExpiryAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `daysToExpiryMetric`<sup>Required</sup> <a name="daysToExpiryMetric" id="cdk-monitoring-constructs.CertificateManagerMonitoring.property.daysToExpiryMetric"></a>

```typescript
public readonly daysToExpiryMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.CertificateManagerMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---


### 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(): MathExpression | Metric
```

##### `metric5xxErrorRateAverage` <a name="metric5xxErrorRateAverage" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metric5xxErrorRateAverage"></a>

```typescript
public metric5xxErrorRateAverage(): MathExpression | Metric
```

##### `metricCacheHitRateAverageInPercent` <a name="metricCacheHitRateAverageInPercent" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricCacheHitRateAverageInPercent"></a>

```typescript
public metricCacheHitRateAverageInPercent(): MathExpression | Metric
```

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(): MathExpression | Metric
```

##### `metricRequestRate` <a name="metricRequestRate" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricRequestRate"></a>

```typescript
public metricRequestRate(rateComputationMethod?: RateComputationMethod): MathExpression | Metric
```

###### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricRequestRate.parameter.rateComputationMethod"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>

---

##### ~~`metricRequestTps`~~ <a name="metricRequestTps" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricRequestTps"></a>

```typescript
public metricRequestTps(): MathExpression | Metric
```

##### `metricTotalBytesDownloaded` <a name="metricTotalBytesDownloaded" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricTotalBytesDownloaded"></a>

```typescript
public metricTotalBytesDownloaded(): MathExpression | Metric
```

##### `metricTotalBytesUploaded` <a name="metricTotalBytesUploaded" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricTotalBytesUploaded"></a>

```typescript
public metricTotalBytesUploaded(): MathExpression | Metric
```

##### `metricTotalErrorRateAverage` <a name="metricTotalErrorRateAverage" id="cdk-monitoring-constructs.CloudFrontDistributionMetricFactory.metricTotalErrorRateAverage"></a>

```typescript
public metricTotalErrorRateAverage(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createCacheWidget">createCacheWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createErrorRateWidget">createErrorRateWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createTpsWidget">createTpsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createTrafficWidget">createTrafficWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createCacheWidget` <a name="createCacheWidget" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createCacheWidget"></a>

```typescript
public createCacheWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createCacheWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createCacheWidget.parameter.height"></a>

- *Type:* number

---

##### `createErrorRateWidget` <a name="createErrorRateWidget" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createErrorRateWidget"></a>

```typescript
public createErrorRateWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createErrorRateWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createErrorRateWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```

##### `createTpsWidget` <a name="createTpsWidget" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createTpsWidget"></a>

```typescript
public createTpsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createTpsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createTpsWidget.parameter.height"></a>

- *Type:* number

---

##### `createTrafficWidget` <a name="createTrafficWidget" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createTrafficWidget"></a>

```typescript
public createTrafficWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createTrafficWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.createTrafficWidget.parameter.height"></a>

- *Type:* number

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.additionalMetricsEnabled">additionalMetricsEnabled</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.downloadedBytesMetric">downloadedBytesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.error4xxRate">error4xxRate</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.error5xxRate">error5xxRate</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.namingStrategy">namingStrategy</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringNamingStrategy">MonitoringNamingStrategy</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.tpsAlarmFactory">tpsAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.TpsAlarmFactory">TpsAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.tpsAnnotations">tpsAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.tpsMetric">tpsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.uploadedBytesMetric">uploadedBytesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.cacheHitRate">cacheHitRate</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.distributionUrl">distributionUrl</a></code> | <code>string</code> | *No description.* |

---

##### `additionalMetricsEnabled`<sup>Required</sup> <a name="additionalMetricsEnabled" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.additionalMetricsEnabled"></a>

```typescript
public readonly additionalMetricsEnabled: boolean;
```

- *Type:* boolean

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.alarmFactory"></a>

```typescript
public readonly alarmFactory: AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

##### `downloadedBytesMetric`<sup>Required</sup> <a name="downloadedBytesMetric" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.downloadedBytesMetric"></a>

```typescript
public readonly downloadedBytesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `error4xxRate`<sup>Required</sup> <a name="error4xxRate" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.error4xxRate"></a>

```typescript
public readonly error4xxRate: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `error5xxRate`<sup>Required</sup> <a name="error5xxRate" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.error5xxRate"></a>

```typescript
public readonly error5xxRate: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `namingStrategy`<sup>Required</sup> <a name="namingStrategy" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.namingStrategy"></a>

```typescript
public readonly namingStrategy: MonitoringNamingStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringNamingStrategy">MonitoringNamingStrategy</a>

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `tpsAlarmFactory`<sup>Required</sup> <a name="tpsAlarmFactory" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.tpsAlarmFactory"></a>

```typescript
public readonly tpsAlarmFactory: TpsAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.TpsAlarmFactory">TpsAlarmFactory</a>

---

##### `tpsAnnotations`<sup>Required</sup> <a name="tpsAnnotations" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.tpsAnnotations"></a>

```typescript
public readonly tpsAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `tpsMetric`<sup>Required</sup> <a name="tpsMetric" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.tpsMetric"></a>

```typescript
public readonly tpsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `uploadedBytesMetric`<sup>Required</sup> <a name="uploadedBytesMetric" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.uploadedBytesMetric"></a>

```typescript
public readonly uploadedBytesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cacheHitRate`<sup>Optional</sup> <a name="cacheHitRate" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.cacheHitRate"></a>

```typescript
public readonly cacheHitRate: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `distributionUrl`<sup>Optional</sup> <a name="distributionUrl" id="cdk-monitoring-constructs.CloudFrontDistributionMonitoring.property.distributionUrl"></a>

```typescript
public readonly distributionUrl: string;
```

- *Type:* string

---


### CloudWatchLogsMetricFactory <a name="CloudWatchLogsMetricFactory" id="cdk-monitoring-constructs.CloudWatchLogsMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.CloudWatchLogsMetricFactory.Initializer"></a>

```typescript
import { CloudWatchLogsMetricFactory } from 'cdk-monitoring-constructs'

new CloudWatchLogsMetricFactory(metricFactory: MetricFactory, props: CloudWatchLogsMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CloudWatchLogsMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CloudWatchLogsMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.CloudWatchLogsMetricFactoryProps">CloudWatchLogsMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.CloudWatchLogsMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.CloudWatchLogsMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.CloudWatchLogsMetricFactoryProps">CloudWatchLogsMetricFactoryProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CloudWatchLogsMetricFactory.metricIncomingLogEvents">metricIncomingLogEvents</a></code> | *No description.* |

---

##### `metricIncomingLogEvents` <a name="metricIncomingLogEvents" id="cdk-monitoring-constructs.CloudWatchLogsMetricFactory.metricIncomingLogEvents"></a>

```typescript
public metricIncomingLogEvents(): MathExpression | Metric
```




### 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(): MathExpression | Metric
```

##### `metricDurationP50InSeconds` <a name="metricDurationP50InSeconds" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricDurationP50InSeconds"></a>

```typescript
public metricDurationP50InSeconds(): MathExpression | Metric
```

##### `metricDurationP90InSeconds` <a name="metricDurationP90InSeconds" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricDurationP90InSeconds"></a>

```typescript
public metricDurationP90InSeconds(): MathExpression | Metric
```

##### `metricDurationP99InSeconds` <a name="metricDurationP99InSeconds" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricDurationP99InSeconds"></a>

```typescript
public metricDurationP99InSeconds(): MathExpression | Metric
```

##### `metricFailedBuildCount` <a name="metricFailedBuildCount" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricFailedBuildCount"></a>

```typescript
public metricFailedBuildCount(): MathExpression | Metric
```

##### `metricFailedBuildRate` <a name="metricFailedBuildRate" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricFailedBuildRate"></a>

```typescript
public metricFailedBuildRate(): MathExpression | Metric
```

##### `metricSucceededBuildCount` <a name="metricSucceededBuildCount" id="cdk-monitoring-constructs.CodeBuildProjectMetricFactory.metricSucceededBuildCount"></a>

```typescript
public metricSucceededBuildCount(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.createBuildCountsWidget">createBuildCountsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.createDurationWidget">createDurationWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.createFailedBuildRateWidget">createFailedBuildRateWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createBuildCountsWidget` <a name="createBuildCountsWidget" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.createBuildCountsWidget"></a>

```typescript
public createBuildCountsWidget(): GraphWidget
```

##### `createDurationWidget` <a name="createDurationWidget" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.createDurationWidget"></a>

```typescript
public createDurationWidget(): GraphWidget
```

##### `createFailedBuildRateWidget` <a name="createFailedBuildRateWidget" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.createFailedBuildRateWidget"></a>

```typescript
public createFailedBuildRateWidget(): GraphWidget
```

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.buildCountMetric">buildCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.durationAlarmFactory">durationAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.durationAnnotations">durationAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.durationP50InSecondsMetric">durationP50InSecondsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.durationP90InSecondsMetric">durationP90InSecondsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.durationP99InSecondsMetric">durationP99InSecondsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.failedBuildCountMetric">failedBuildCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.failedBuildRateMetric">failedBuildRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.succeededBuildCountMetric">succeededBuildCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.projectUrl">projectUrl</a></code> | <code>string</code> | *No description.* |

---

##### `buildCountMetric`<sup>Required</sup> <a name="buildCountMetric" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.buildCountMetric"></a>

```typescript
public readonly buildCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `durationAlarmFactory`<sup>Required</sup> <a name="durationAlarmFactory" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.durationAlarmFactory"></a>

```typescript
public readonly durationAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `durationAnnotations`<sup>Required</sup> <a name="durationAnnotations" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.durationAnnotations"></a>

```typescript
public readonly durationAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `durationP50InSecondsMetric`<sup>Required</sup> <a name="durationP50InSecondsMetric" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.durationP50InSecondsMetric"></a>

```typescript
public readonly durationP50InSecondsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `durationP90InSecondsMetric`<sup>Required</sup> <a name="durationP90InSecondsMetric" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.durationP90InSecondsMetric"></a>

```typescript
public readonly durationP90InSecondsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `durationP99InSecondsMetric`<sup>Required</sup> <a name="durationP99InSecondsMetric" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.durationP99InSecondsMetric"></a>

```typescript
public readonly durationP99InSecondsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `failedBuildCountMetric`<sup>Required</sup> <a name="failedBuildCountMetric" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.failedBuildCountMetric"></a>

```typescript
public readonly failedBuildCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `failedBuildRateMetric`<sup>Required</sup> <a name="failedBuildRateMetric" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.failedBuildRateMetric"></a>

```typescript
public readonly failedBuildRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `succeededBuildCountMetric`<sup>Required</sup> <a name="succeededBuildCountMetric" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.succeededBuildCountMetric"></a>

```typescript
public readonly succeededBuildCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `projectUrl`<sup>Optional</sup> <a name="projectUrl" id="cdk-monitoring-constructs.CodeBuildProjectMonitoring.property.projectUrl"></a>

```typescript
public readonly projectUrl: string;
```

- *Type:* string

---


### CompositeMetricAdjuster <a name="CompositeMetricAdjuster" id="cdk-monitoring-constructs.CompositeMetricAdjuster"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>

Allows to apply a collection of {@link IMetricAdjuster} to a metric.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.CompositeMetricAdjuster.Initializer"></a>

```typescript
import { CompositeMetricAdjuster } from 'cdk-monitoring-constructs'

new CompositeMetricAdjuster(adjusters: IMetricAdjuster[])
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CompositeMetricAdjuster.Initializer.parameter.adjusters">adjusters</a></code> | <code><a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>[]</code> | *No description.* |

---

##### `adjusters`<sup>Required</sup> <a name="adjusters" id="cdk-monitoring-constructs.CompositeMetricAdjuster.Initializer.parameter.adjusters"></a>

- *Type:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>[]

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CompositeMetricAdjuster.adjustMetric">adjustMetric</a></code> | Adjusts a metric. |

---

##### `adjustMetric` <a name="adjustMetric" id="cdk-monitoring-constructs.CompositeMetricAdjuster.adjustMetric"></a>

```typescript
public adjustMetric(metric: MathExpression | Metric, alarmScope: Construct, props: AddAlarmProps): MathExpression | Metric
```

Adjusts a metric.

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.CompositeMetricAdjuster.adjustMetric.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `alarmScope`<sup>Required</sup> <a name="alarmScope" id="cdk-monitoring-constructs.CompositeMetricAdjuster.adjustMetric.parameter.alarmScope"></a>

- *Type:* constructs.Construct

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.CompositeMetricAdjuster.adjustMetric.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AddAlarmProps">AddAlarmProps</a>

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.CompositeMetricAdjuster.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="cdk-monitoring-constructs.CompositeMetricAdjuster.of"></a>

```typescript
import { CompositeMetricAdjuster } from 'cdk-monitoring-constructs'

CompositeMetricAdjuster.of(adjusters: ...IMetricAdjuster[])
```

###### `adjusters`<sup>Required</sup> <a name="adjusters" id="cdk-monitoring-constructs.CompositeMetricAdjuster.of.parameter.adjusters"></a>

- *Type:* ...<a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>[]

---



### ConnectionAlarmFactory <a name="ConnectionAlarmFactory" id="cdk-monitoring-constructs.ConnectionAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ConnectionAlarmFactory.Initializer"></a>

```typescript
import { ConnectionAlarmFactory } from 'cdk-monitoring-constructs'

new ConnectionAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ConnectionAlarmFactory.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.ConnectionAlarmFactory.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.ConnectionAlarmFactory.addMaxConnectionCountAlarm">addMaxConnectionCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ConnectionAlarmFactory.addMinConnectionCountAlarm">addMinConnectionCountAlarm</a></code> | *No description.* |

---

##### `addMaxConnectionCountAlarm` <a name="addMaxConnectionCountAlarm" id="cdk-monitoring-constructs.ConnectionAlarmFactory.addMaxConnectionCountAlarm"></a>

```typescript
public addMaxConnectionCountAlarm(metric: MathExpression | Metric, props: HighConnectionCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.ConnectionAlarmFactory.addMaxConnectionCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ConnectionAlarmFactory.addMaxConnectionCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.HighConnectionCountThreshold">HighConnectionCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.ConnectionAlarmFactory.addMaxConnectionCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMinConnectionCountAlarm` <a name="addMinConnectionCountAlarm" id="cdk-monitoring-constructs.ConnectionAlarmFactory.addMinConnectionCountAlarm"></a>

```typescript
public addMinConnectionCountAlarm(metric: MathExpression | Metric, props: LowConnectionCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.ConnectionAlarmFactory.addMinConnectionCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ConnectionAlarmFactory.addMinConnectionCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LowConnectionCountThreshold">LowConnectionCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.ConnectionAlarmFactory.addMinConnectionCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### 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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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. |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.CustomMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.CustomMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.property.addToSummaryDashboard">addToSummaryDashboard</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.property.anomalyDetectingAlarmFactory">anomalyDetectingAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AnomalyDetectingAlarmFactory">AnomalyDetectingAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.property.customAlarmFactory">customAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.CustomAlarmFactory">CustomAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.property.metricGroups">metricGroups</a></code> | <code><a href="#cdk-monitoring-constructs.CustomMetricGroupWithAnnotations">CustomMetricGroupWithAnnotations</a>[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.property.descriptionWidgetHeight">descriptionWidgetHeight</a></code> | <code>number</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.CustomMonitoring.property.height">height</a></code> | <code>number</code> | *No description.* |

---

##### `addToSummaryDashboard`<sup>Required</sup> <a name="addToSummaryDashboard" id="cdk-monitoring-constructs.CustomMonitoring.property.addToSummaryDashboard"></a>

```typescript
public readonly addToSummaryDashboard: boolean;
```

- *Type:* boolean

---

##### `anomalyDetectingAlarmFactory`<sup>Required</sup> <a name="anomalyDetectingAlarmFactory" id="cdk-monitoring-constructs.CustomMonitoring.property.anomalyDetectingAlarmFactory"></a>

```typescript
public readonly anomalyDetectingAlarmFactory: AnomalyDetectingAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AnomalyDetectingAlarmFactory">AnomalyDetectingAlarmFactory</a>

---

##### `customAlarmFactory`<sup>Required</sup> <a name="customAlarmFactory" id="cdk-monitoring-constructs.CustomMonitoring.property.customAlarmFactory"></a>

```typescript
public readonly customAlarmFactory: CustomAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.CustomAlarmFactory">CustomAlarmFactory</a>

---

##### `metricGroups`<sup>Required</sup> <a name="metricGroups" id="cdk-monitoring-constructs.CustomMonitoring.property.metricGroups"></a>

```typescript
public readonly metricGroups: CustomMetricGroupWithAnnotations[];
```

- *Type:* <a href="#cdk-monitoring-constructs.CustomMetricGroupWithAnnotations">CustomMetricGroupWithAnnotations</a>[]

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.CustomMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `description`<sup>Optional</sup> <a name="description" id="cdk-monitoring-constructs.CustomMonitoring.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `descriptionWidgetHeight`<sup>Optional</sup> <a name="descriptionWidgetHeight" id="cdk-monitoring-constructs.CustomMonitoring.property.descriptionWidgetHeight"></a>

```typescript
public readonly descriptionWidgetHeight: number;
```

- *Type:* number

---

##### `height`<sup>Optional</sup> <a name="height" id="cdk-monitoring-constructs.CustomMonitoring.property.height"></a>

```typescript
public readonly height: number;
```

- *Type:* number

---


### 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. |
| <code><a href="#cdk-monitoring-constructs.CustomWidget.property.warnings">warnings</a></code> | <code>string[]</code> | Any warnings that are produced as a result of putting together this widget. |
| <code><a href="#cdk-monitoring-constructs.CustomWidget.property.warningsV2">warningsV2</a></code> | <code>{[ key: string ]: string}</code> | Any warnings that are produced as a result of putting together this widget. |

---

##### `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.

---

##### `warnings`<sup>Optional</sup> <a name="warnings" id="cdk-monitoring-constructs.CustomWidget.property.warnings"></a>

```typescript
public readonly warnings: string[];
```

- *Type:* string[]

Any warnings that are produced as a result of putting together this widget.

---

##### `warningsV2`<sup>Optional</sup> <a name="warningsV2" id="cdk-monitoring-constructs.CustomWidget.property.warningsV2"></a>

```typescript
public readonly warningsV2: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Any warnings that are produced as a result of putting together this widget.

---


### 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>

---




### DefaultMetricAdjuster <a name="DefaultMetricAdjuster" id="cdk-monitoring-constructs.DefaultMetricAdjuster"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>

Applies the default metric adjustments.

These adjustments are always applied last, regardless the value configured in {@link AddAlarmProps.metricAdjuster}.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.DefaultMetricAdjuster.Initializer"></a>

```typescript
import { DefaultMetricAdjuster } from 'cdk-monitoring-constructs'

new DefaultMetricAdjuster()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DefaultMetricAdjuster.adjustMetric">adjustMetric</a></code> | Adjusts a metric. |

---

##### `adjustMetric` <a name="adjustMetric" id="cdk-monitoring-constructs.DefaultMetricAdjuster.adjustMetric"></a>

```typescript
public adjustMetric(metric: MathExpression | Metric, _: Construct, props: AddAlarmProps): MathExpression | Metric
```

Adjusts a metric.

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.DefaultMetricAdjuster.adjustMetric.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `_`<sup>Required</sup> <a name="_" id="cdk-monitoring-constructs.DefaultMetricAdjuster.adjustMetric.parameter._"></a>

- *Type:* constructs.Construct

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.DefaultMetricAdjuster.adjustMetric.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AddAlarmProps">AddAlarmProps</a>

---



#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DefaultMetricAdjuster.property.INSTANCE">INSTANCE</a></code> | <code><a href="#cdk-monitoring-constructs.DefaultMetricAdjuster">DefaultMetricAdjuster</a></code> | *No description.* |

---

##### `INSTANCE`<sup>Required</sup> <a name="INSTANCE" id="cdk-monitoring-constructs.DefaultMetricAdjuster.property.INSTANCE"></a>

```typescript
public readonly INSTANCE: DefaultMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.DefaultMetricAdjuster">DefaultMetricAdjuster</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(): MathExpression | Metric
```

##### `metricMaxConnectionCount` <a name="metricMaxConnectionCount" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricMaxConnectionCount"></a>

```typescript
public metricMaxConnectionCount(): MathExpression | Metric
```

##### `metricMaxCursorCount` <a name="metricMaxCursorCount" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricMaxCursorCount"></a>

```typescript
public metricMaxCursorCount(): MathExpression | Metric
```

##### `metricMaxTransactionOpenCount` <a name="metricMaxTransactionOpenCount" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricMaxTransactionOpenCount"></a>

```typescript
public metricMaxTransactionOpenCount(): MathExpression | Metric
```

##### `metricOperationsThrottledDueLowMemoryCount` <a name="metricOperationsThrottledDueLowMemoryCount" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricOperationsThrottledDueLowMemoryCount"></a>

```typescript
public metricOperationsThrottledDueLowMemoryCount(): MathExpression | Metric
```

##### `metricReadLatencyInMillis` <a name="metricReadLatencyInMillis" id="cdk-monitoring-constructs.DocumentDbMetricFactory.metricReadLatencyInMillis"></a>

```typescript
public metricReadLatencyInMillis(latencyType: LatencyType): MathExpression | Metric
```

###### `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): MathExpression | Metric
```

###### `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. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.createConnectionsWidget">createConnectionsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.createLatencyWidget">createLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.createResourceUsageWidget">createResourceUsageWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.createTransactionsWidget">createTransactionsWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.DocumentDbMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.DocumentDbMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createConnectionsWidget` <a name="createConnectionsWidget" id="cdk-monitoring-constructs.DocumentDbMonitoring.createConnectionsWidget"></a>

```typescript
public createConnectionsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.DocumentDbMonitoring.createConnectionsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.DocumentDbMonitoring.createConnectionsWidget.parameter.height"></a>

- *Type:* number

---

##### `createLatencyWidget` <a name="createLatencyWidget" id="cdk-monitoring-constructs.DocumentDbMonitoring.createLatencyWidget"></a>

```typescript
public createLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.DocumentDbMonitoring.createLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.DocumentDbMonitoring.createLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createResourceUsageWidget` <a name="createResourceUsageWidget" id="cdk-monitoring-constructs.DocumentDbMonitoring.createResourceUsageWidget"></a>

```typescript
public createResourceUsageWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.DocumentDbMonitoring.createResourceUsageWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.DocumentDbMonitoring.createResourceUsageWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.DocumentDbMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```

##### `createTransactionsWidget` <a name="createTransactionsWidget" id="cdk-monitoring-constructs.DocumentDbMonitoring.createTransactionsWidget"></a>

```typescript
public createTransactionsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.DocumentDbMonitoring.createTransactionsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.DocumentDbMonitoring.createTransactionsWidget.parameter.height"></a>

- *Type:* number

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.property.connectionsMetric">connectionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.property.cpuUsageMetric">cpuUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.property.cursorsMetric">cursorsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.property.readLatencyMetric">readLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.property.throttledMetric">throttledMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.property.transactionsMetric">transactionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.property.usageAlarmFactory">usageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.property.usageAnnotations">usageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.property.writeLatencyMetric">writeLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DocumentDbMonitoring.property.url">url</a></code> | <code>string</code> | *No description.* |

---

##### `connectionsMetric`<sup>Required</sup> <a name="connectionsMetric" id="cdk-monitoring-constructs.DocumentDbMonitoring.property.connectionsMetric"></a>

```typescript
public readonly connectionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cpuUsageMetric`<sup>Required</sup> <a name="cpuUsageMetric" id="cdk-monitoring-constructs.DocumentDbMonitoring.property.cpuUsageMetric"></a>

```typescript
public readonly cpuUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cursorsMetric`<sup>Required</sup> <a name="cursorsMetric" id="cdk-monitoring-constructs.DocumentDbMonitoring.property.cursorsMetric"></a>

```typescript
public readonly cursorsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `readLatencyMetric`<sup>Required</sup> <a name="readLatencyMetric" id="cdk-monitoring-constructs.DocumentDbMonitoring.property.readLatencyMetric"></a>

```typescript
public readonly readLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `throttledMetric`<sup>Required</sup> <a name="throttledMetric" id="cdk-monitoring-constructs.DocumentDbMonitoring.property.throttledMetric"></a>

```typescript
public readonly throttledMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.DocumentDbMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `transactionsMetric`<sup>Required</sup> <a name="transactionsMetric" id="cdk-monitoring-constructs.DocumentDbMonitoring.property.transactionsMetric"></a>

```typescript
public readonly transactionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `usageAlarmFactory`<sup>Required</sup> <a name="usageAlarmFactory" id="cdk-monitoring-constructs.DocumentDbMonitoring.property.usageAlarmFactory"></a>

```typescript
public readonly usageAlarmFactory: UsageAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a>

---

##### `usageAnnotations`<sup>Required</sup> <a name="usageAnnotations" id="cdk-monitoring-constructs.DocumentDbMonitoring.property.usageAnnotations"></a>

```typescript
public readonly usageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `writeLatencyMetric`<sup>Required</sup> <a name="writeLatencyMetric" id="cdk-monitoring-constructs.DocumentDbMonitoring.property.writeLatencyMetric"></a>

```typescript
public readonly writeLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `url`<sup>Optional</sup> <a name="url" id="cdk-monitoring-constructs.DocumentDbMonitoring.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

---


### 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. |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidget.property.warnings">warnings</a></code> | <code>string[]</code> | Any warnings that are produced as a result of putting together this widget. |
| <code><a href="#cdk-monitoring-constructs.DoubleAxisGraphWidget.property.warningsV2">warningsV2</a></code> | <code>{[ key: string ]: string}</code> | Any warnings that are produced as a result of putting together this widget. |

---

##### `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.

---

##### `warnings`<sup>Optional</sup> <a name="warnings" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.property.warnings"></a>

```typescript
public readonly warnings: string[];
```

- *Type:* string[]

Any warnings that are produced as a result of putting together this widget.

---

##### `warningsV2`<sup>Optional</sup> <a name="warningsV2" id="cdk-monitoring-constructs.DoubleAxisGraphWidget.property.warningsV2"></a>

```typescript
public readonly warningsV2: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Any warnings that are produced as a result of putting together this widget.

---


### 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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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(): MathExpression | Metric
```

##### `metricConsumedWriteCapacityUnits` <a name="metricConsumedWriteCapacityUnits" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricConsumedWriteCapacityUnits"></a>

```typescript
public metricConsumedWriteCapacityUnits(): MathExpression | Metric
```

##### `metricIndexConsumedWriteUnitsMetric` <a name="metricIndexConsumedWriteUnitsMetric" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricIndexConsumedWriteUnitsMetric"></a>

```typescript
public metricIndexConsumedWriteUnitsMetric(): MathExpression | Metric
```

##### `metricProvisionedReadCapacityUnits` <a name="metricProvisionedReadCapacityUnits" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricProvisionedReadCapacityUnits"></a>

```typescript
public metricProvisionedReadCapacityUnits(): MathExpression | Metric
```

##### `metricProvisionedWriteCapacityUnits` <a name="metricProvisionedWriteCapacityUnits" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricProvisionedWriteCapacityUnits"></a>

```typescript
public metricProvisionedWriteCapacityUnits(): MathExpression | Metric
```

##### `metricThrottledIndexRequestCount` <a name="metricThrottledIndexRequestCount" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricThrottledIndexRequestCount"></a>

```typescript
public metricThrottledIndexRequestCount(): MathExpression | Metric
```

##### `metricThrottledReadRequestCount` <a name="metricThrottledReadRequestCount" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricThrottledReadRequestCount"></a>

```typescript
public metricThrottledReadRequestCount(): MathExpression | Metric
```

##### `metricThrottledWriteRequestCount` <a name="metricThrottledWriteRequestCount" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMetricFactory.metricThrottledWriteRequestCount"></a>

```typescript
public metricThrottledWriteRequestCount(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.DynamoTableGlobalSecondaryIndexMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---




### 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.metricTimeToLiveDeletedItemCount">metricTimeToLiveDeletedItemCount</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): MathExpression | Metric
```

###### `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(): MathExpression | Metric
```

##### `metricConsumedWriteCapacityUnits` <a name="metricConsumedWriteCapacityUnits" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricConsumedWriteCapacityUnits"></a>

```typescript
public metricConsumedWriteCapacityUnits(): MathExpression | Metric
```

##### `metricProvisionedReadCapacityUnits` <a name="metricProvisionedReadCapacityUnits" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricProvisionedReadCapacityUnits"></a>

```typescript
public metricProvisionedReadCapacityUnits(): MathExpression | Metric
```

##### `metricProvisionedWriteCapacityUnits` <a name="metricProvisionedWriteCapacityUnits" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricProvisionedWriteCapacityUnits"></a>

```typescript
public metricProvisionedWriteCapacityUnits(): MathExpression | Metric
```

##### `metricReadCapacityUtilizationPercentage` <a name="metricReadCapacityUtilizationPercentage" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricReadCapacityUtilizationPercentage"></a>

```typescript
public metricReadCapacityUtilizationPercentage(): MathExpression | Metric
```

##### `metricSearchAverageSuccessfulRequestLatencyInMillis` <a name="metricSearchAverageSuccessfulRequestLatencyInMillis" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricSearchAverageSuccessfulRequestLatencyInMillis"></a>

```typescript
public metricSearchAverageSuccessfulRequestLatencyInMillis(): MathExpression
```

##### `metricSystemErrorsCount` <a name="metricSystemErrorsCount" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricSystemErrorsCount"></a>

```typescript
public metricSystemErrorsCount(): MathExpression | Metric
```

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(): MathExpression | Metric
```

##### `metricThrottledWriteRequestCount` <a name="metricThrottledWriteRequestCount" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricThrottledWriteRequestCount"></a>

```typescript
public metricThrottledWriteRequestCount(): MathExpression | Metric
```

##### `metricTimeToLiveDeletedItemCount` <a name="metricTimeToLiveDeletedItemCount" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricTimeToLiveDeletedItemCount"></a>

```typescript
public metricTimeToLiveDeletedItemCount(): MathExpression | Metric
```

##### `metricWriteCapacityUtilizationPercentage` <a name="metricWriteCapacityUtilizationPercentage" id="cdk-monitoring-constructs.DynamoTableMetricFactory.metricWriteCapacityUtilizationPercentage"></a>

```typescript
public metricWriteCapacityUtilizationPercentage(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.createErrorsWidget">createErrorsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.createLatencyWidget">createLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.createReadCapacityWidget">createReadCapacityWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.createThrottlesWidget">createThrottlesWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.createWriteCapacityWidget">createWriteCapacityWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.DynamoTableMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.DynamoTableMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createErrorsWidget` <a name="createErrorsWidget" id="cdk-monitoring-constructs.DynamoTableMonitoring.createErrorsWidget"></a>

```typescript
public createErrorsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.DynamoTableMonitoring.createErrorsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.DynamoTableMonitoring.createErrorsWidget.parameter.height"></a>

- *Type:* number

---

##### `createLatencyWidget` <a name="createLatencyWidget" id="cdk-monitoring-constructs.DynamoTableMonitoring.createLatencyWidget"></a>

```typescript
public createLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.DynamoTableMonitoring.createLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.DynamoTableMonitoring.createLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createReadCapacityWidget` <a name="createReadCapacityWidget" id="cdk-monitoring-constructs.DynamoTableMonitoring.createReadCapacityWidget"></a>

```typescript
public createReadCapacityWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.DynamoTableMonitoring.createReadCapacityWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.DynamoTableMonitoring.createReadCapacityWidget.parameter.height"></a>

- *Type:* number

---

##### `createThrottlesWidget` <a name="createThrottlesWidget" id="cdk-monitoring-constructs.DynamoTableMonitoring.createThrottlesWidget"></a>

```typescript
public createThrottlesWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.DynamoTableMonitoring.createThrottlesWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.DynamoTableMonitoring.createThrottlesWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.DynamoTableMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```

##### `createWriteCapacityWidget` <a name="createWriteCapacityWidget" id="cdk-monitoring-constructs.DynamoTableMonitoring.createWriteCapacityWidget"></a>

```typescript
public createWriteCapacityWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.DynamoTableMonitoring.createWriteCapacityWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.DynamoTableMonitoring.createWriteCapacityWidget.parameter.height"></a>

- *Type:* number

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.averagePerOperationLatencyMetrics">averagePerOperationLatencyMetrics</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.consumedReadUnitsMetric">consumedReadUnitsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.consumedWriteUnitsMetric">consumedWriteUnitsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.dynamoCapacityAlarmFactory">dynamoCapacityAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.DynamoAlarmFactory">DynamoAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.dynamoReadCapacityAnnotations">dynamoReadCapacityAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.dynamoWriteCapacityAnnotations">dynamoWriteCapacityAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.latencyAlarmFactory">latencyAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.latencyAnnotations">latencyAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.latencyAverageSearchMetrics">latencyAverageSearchMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IMetric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.provisionedReadUnitsMetric">provisionedReadUnitsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.provisionedWriteUnitsMetric">provisionedWriteUnitsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.readCapacityUsageMetric">readCapacityUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.readThrottleCountMetric">readThrottleCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.systemErrorMetric">systemErrorMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.tableBillingMode">tableBillingMode</a></code> | <code>aws-cdk-lib.aws_dynamodb.BillingMode</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.throttledEventsAnnotations">throttledEventsAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.timeToLiveDeletedItemCountMetric">timeToLiveDeletedItemCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.usageAlarmFactory">usageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.writeCapacityUsageMetric">writeCapacityUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.writeThrottleCountMetric">writeThrottleCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DynamoTableMonitoring.property.tableUrl">tableUrl</a></code> | <code>string</code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.alarmFactory"></a>

```typescript
public readonly alarmFactory: AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

##### `averagePerOperationLatencyMetrics`<sup>Required</sup> <a name="averagePerOperationLatencyMetrics" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.averagePerOperationLatencyMetrics"></a>

```typescript
public readonly averagePerOperationLatencyMetrics: {[ key: string ]: MathExpression | Metric};
```

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric}

---

##### `consumedReadUnitsMetric`<sup>Required</sup> <a name="consumedReadUnitsMetric" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.consumedReadUnitsMetric"></a>

```typescript
public readonly consumedReadUnitsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `consumedWriteUnitsMetric`<sup>Required</sup> <a name="consumedWriteUnitsMetric" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.consumedWriteUnitsMetric"></a>

```typescript
public readonly consumedWriteUnitsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `dynamoCapacityAlarmFactory`<sup>Required</sup> <a name="dynamoCapacityAlarmFactory" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.dynamoCapacityAlarmFactory"></a>

```typescript
public readonly dynamoCapacityAlarmFactory: DynamoAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.DynamoAlarmFactory">DynamoAlarmFactory</a>

---

##### `dynamoReadCapacityAnnotations`<sup>Required</sup> <a name="dynamoReadCapacityAnnotations" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.dynamoReadCapacityAnnotations"></a>

```typescript
public readonly dynamoReadCapacityAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `dynamoWriteCapacityAnnotations`<sup>Required</sup> <a name="dynamoWriteCapacityAnnotations" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.dynamoWriteCapacityAnnotations"></a>

```typescript
public readonly dynamoWriteCapacityAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `latencyAlarmFactory`<sup>Required</sup> <a name="latencyAlarmFactory" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.latencyAlarmFactory"></a>

```typescript
public readonly latencyAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `latencyAnnotations`<sup>Required</sup> <a name="latencyAnnotations" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.latencyAnnotations"></a>

```typescript
public readonly latencyAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `latencyAverageSearchMetrics`<sup>Required</sup> <a name="latencyAverageSearchMetrics" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.latencyAverageSearchMetrics"></a>

```typescript
public readonly latencyAverageSearchMetrics: IMetric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric

---

##### `provisionedReadUnitsMetric`<sup>Required</sup> <a name="provisionedReadUnitsMetric" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.provisionedReadUnitsMetric"></a>

```typescript
public readonly provisionedReadUnitsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `provisionedWriteUnitsMetric`<sup>Required</sup> <a name="provisionedWriteUnitsMetric" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.provisionedWriteUnitsMetric"></a>

```typescript
public readonly provisionedWriteUnitsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `readCapacityUsageMetric`<sup>Required</sup> <a name="readCapacityUsageMetric" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.readCapacityUsageMetric"></a>

```typescript
public readonly readCapacityUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `readThrottleCountMetric`<sup>Required</sup> <a name="readThrottleCountMetric" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.readThrottleCountMetric"></a>

```typescript
public readonly readThrottleCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `systemErrorMetric`<sup>Required</sup> <a name="systemErrorMetric" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.systemErrorMetric"></a>

```typescript
public readonly systemErrorMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `tableBillingMode`<sup>Required</sup> <a name="tableBillingMode" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.tableBillingMode"></a>

```typescript
public readonly tableBillingMode: BillingMode;
```

- *Type:* aws-cdk-lib.aws_dynamodb.BillingMode

---

##### `throttledEventsAnnotations`<sup>Required</sup> <a name="throttledEventsAnnotations" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.throttledEventsAnnotations"></a>

```typescript
public readonly throttledEventsAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `timeToLiveDeletedItemCountMetric`<sup>Required</sup> <a name="timeToLiveDeletedItemCountMetric" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.timeToLiveDeletedItemCountMetric"></a>

```typescript
public readonly timeToLiveDeletedItemCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `usageAlarmFactory`<sup>Required</sup> <a name="usageAlarmFactory" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.usageAlarmFactory"></a>

```typescript
public readonly usageAlarmFactory: UsageAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a>

---

##### `writeCapacityUsageMetric`<sup>Required</sup> <a name="writeCapacityUsageMetric" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.writeCapacityUsageMetric"></a>

```typescript
public readonly writeCapacityUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `writeThrottleCountMetric`<sup>Required</sup> <a name="writeThrottleCountMetric" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.writeThrottleCountMetric"></a>

```typescript
public readonly writeThrottleCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `tableUrl`<sup>Optional</sup> <a name="tableUrl" id="cdk-monitoring-constructs.DynamoTableMonitoring.property.tableUrl"></a>

```typescript
public readonly tableUrl: string;
```

- *Type:* string

---


### EC2AlarmFactory <a name="EC2AlarmFactory" id="cdk-monitoring-constructs.EC2AlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.EC2AlarmFactory.Initializer"></a>

```typescript
import { EC2AlarmFactory } from 'cdk-monitoring-constructs'

new EC2AlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.EC2AlarmFactory.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.EC2AlarmFactory.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.EC2AlarmFactory.addNetworkInAlarm">addNetworkInAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2AlarmFactory.addNetworkOutAlarm">addNetworkOutAlarm</a></code> | *No description.* |

---

##### `addNetworkInAlarm` <a name="addNetworkInAlarm" id="cdk-monitoring-constructs.EC2AlarmFactory.addNetworkInAlarm"></a>

```typescript
public addNetworkInAlarm(metric: MathExpression | Metric, props: NetworkInThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.EC2AlarmFactory.addNetworkInAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.EC2AlarmFactory.addNetworkInAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.NetworkInThreshold">NetworkInThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.EC2AlarmFactory.addNetworkInAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addNetworkOutAlarm` <a name="addNetworkOutAlarm" id="cdk-monitoring-constructs.EC2AlarmFactory.addNetworkOutAlarm"></a>

```typescript
public addNetworkOutAlarm(metric: MathExpression | Metric, props: NetworkOutThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.EC2AlarmFactory.addNetworkOutAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.EC2AlarmFactory.addNetworkOutAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.NetworkOutThreshold">NetworkOutThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.EC2AlarmFactory.addNetworkOutAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### 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. |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactory.metricSumNetworkInRateBytes">metricSumNetworkInRateBytes</a></code> | The number of bytes received on all network interfaces by the instance. |
| <code><a href="#cdk-monitoring-constructs.EC2MetricFactory.metricSumNetworkOutRateBytes">metricSumNetworkOutRateBytes</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(): (MathExpression | Metric)[]
```

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(): (MathExpression | Metric)[]
```

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(): (MathExpression | Metric)[]
```

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(): (MathExpression | Metric)[]
```

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(): (MathExpression | Metric)[]
```

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(): (MathExpression | Metric)[]
```

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(): (MathExpression | Metric)[]
```

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.

##### `metricSumNetworkInRateBytes` <a name="metricSumNetworkInRateBytes" id="cdk-monitoring-constructs.EC2MetricFactory.metricSumNetworkInRateBytes"></a>

```typescript
public metricSumNetworkInRateBytes(): (MathExpression | Metric)[]
```

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.

##### `metricSumNetworkOutRateBytes` <a name="metricSumNetworkOutRateBytes" id="cdk-monitoring-constructs.EC2MetricFactory.metricSumNetworkOutRateBytes"></a>

```typescript
public metricSumNetworkOutRateBytes(): (MathExpression | Metric)[]
```

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. |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.createCpuWidget">createCpuWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.createDiskOpsWidget">createDiskOpsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.createDiskWidget">createDiskWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.createNetworkWidget">createNetworkWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.EC2Monitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.EC2Monitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createCpuWidget` <a name="createCpuWidget" id="cdk-monitoring-constructs.EC2Monitoring.createCpuWidget"></a>

```typescript
public createCpuWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.EC2Monitoring.createCpuWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.EC2Monitoring.createCpuWidget.parameter.height"></a>

- *Type:* number

---

##### `createDiskOpsWidget` <a name="createDiskOpsWidget" id="cdk-monitoring-constructs.EC2Monitoring.createDiskOpsWidget"></a>

```typescript
public createDiskOpsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.EC2Monitoring.createDiskOpsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.EC2Monitoring.createDiskOpsWidget.parameter.height"></a>

- *Type:* number

---

##### `createDiskWidget` <a name="createDiskWidget" id="cdk-monitoring-constructs.EC2Monitoring.createDiskWidget"></a>

```typescript
public createDiskWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.EC2Monitoring.createDiskWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.EC2Monitoring.createDiskWidget.parameter.height"></a>

- *Type:* number

---

##### `createNetworkWidget` <a name="createNetworkWidget" id="cdk-monitoring-constructs.EC2Monitoring.createNetworkWidget"></a>

```typescript
public createNetworkWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.EC2Monitoring.createNetworkWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.EC2Monitoring.createNetworkWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.EC2Monitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.cpuUtilisationMetrics">cpuUtilisationMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IMetric[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.diskReadBytesMetrics">diskReadBytesMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IMetric[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.diskReadOpsMetrics">diskReadOpsMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IMetric[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.diskWriteBytesMetrics">diskWriteBytesMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IMetric[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.diskWriteOpsMetrics">diskWriteOpsMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IMetric[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.ec2AlarmFactory">ec2AlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.EC2AlarmFactory">EC2AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.family">family</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.networkInMetrics">networkInMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.networkInSumLimitAnnotations">networkInSumLimitAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.networkInSumMetrics">networkInSumMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.networkOutMetrics">networkOutMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.networkOutSumLimitAnnotations">networkOutSumLimitAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.networkOutSumMetrics">networkOutSumMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.EC2Monitoring.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `cpuUtilisationMetrics`<sup>Required</sup> <a name="cpuUtilisationMetrics" id="cdk-monitoring-constructs.EC2Monitoring.property.cpuUtilisationMetrics"></a>

```typescript
public readonly cpuUtilisationMetrics: IMetric[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric[]

---

##### `diskReadBytesMetrics`<sup>Required</sup> <a name="diskReadBytesMetrics" id="cdk-monitoring-constructs.EC2Monitoring.property.diskReadBytesMetrics"></a>

```typescript
public readonly diskReadBytesMetrics: IMetric[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric[]

---

##### `diskReadOpsMetrics`<sup>Required</sup> <a name="diskReadOpsMetrics" id="cdk-monitoring-constructs.EC2Monitoring.property.diskReadOpsMetrics"></a>

```typescript
public readonly diskReadOpsMetrics: IMetric[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric[]

---

##### `diskWriteBytesMetrics`<sup>Required</sup> <a name="diskWriteBytesMetrics" id="cdk-monitoring-constructs.EC2Monitoring.property.diskWriteBytesMetrics"></a>

```typescript
public readonly diskWriteBytesMetrics: IMetric[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric[]

---

##### `diskWriteOpsMetrics`<sup>Required</sup> <a name="diskWriteOpsMetrics" id="cdk-monitoring-constructs.EC2Monitoring.property.diskWriteOpsMetrics"></a>

```typescript
public readonly diskWriteOpsMetrics: IMetric[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.IMetric[]

---

##### `ec2AlarmFactory`<sup>Required</sup> <a name="ec2AlarmFactory" id="cdk-monitoring-constructs.EC2Monitoring.property.ec2AlarmFactory"></a>

```typescript
public readonly ec2AlarmFactory: EC2AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.EC2AlarmFactory">EC2AlarmFactory</a>

---

##### `family`<sup>Required</sup> <a name="family" id="cdk-monitoring-constructs.EC2Monitoring.property.family"></a>

```typescript
public readonly family: string;
```

- *Type:* string

---

##### `networkInMetrics`<sup>Required</sup> <a name="networkInMetrics" id="cdk-monitoring-constructs.EC2Monitoring.property.networkInMetrics"></a>

```typescript
public readonly networkInMetrics: (MathExpression | Metric)[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric[]

---

##### `networkInSumLimitAnnotations`<sup>Required</sup> <a name="networkInSumLimitAnnotations" id="cdk-monitoring-constructs.EC2Monitoring.property.networkInSumLimitAnnotations"></a>

```typescript
public readonly networkInSumLimitAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `networkInSumMetrics`<sup>Required</sup> <a name="networkInSumMetrics" id="cdk-monitoring-constructs.EC2Monitoring.property.networkInSumMetrics"></a>

```typescript
public readonly networkInSumMetrics: (MathExpression | Metric)[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric[]

---

##### `networkOutMetrics`<sup>Required</sup> <a name="networkOutMetrics" id="cdk-monitoring-constructs.EC2Monitoring.property.networkOutMetrics"></a>

```typescript
public readonly networkOutMetrics: (MathExpression | Metric)[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric[]

---

##### `networkOutSumLimitAnnotations`<sup>Required</sup> <a name="networkOutSumLimitAnnotations" id="cdk-monitoring-constructs.EC2Monitoring.property.networkOutSumLimitAnnotations"></a>

```typescript
public readonly networkOutSumLimitAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `networkOutSumMetrics`<sup>Required</sup> <a name="networkOutSumMetrics" id="cdk-monitoring-constructs.EC2Monitoring.property.networkOutSumMetrics"></a>

```typescript
public readonly networkOutSumMetrics: (MathExpression | Metric)[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric[]

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.EC2Monitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---


### 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. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.createCpuWidget">createCpuWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.createMemoryWidget">createMemoryWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.createTaskHealthWidget">createTaskHealthWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.createTcpFlowsWidget">createTcpFlowsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.createTpcFlowsWidget">createTpcFlowsWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createCpuWidget` <a name="createCpuWidget" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createCpuWidget"></a>

```typescript
public createCpuWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createCpuWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createCpuWidget.parameter.height"></a>

- *Type:* number

---

##### `createMemoryWidget` <a name="createMemoryWidget" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createMemoryWidget"></a>

```typescript
public createMemoryWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createMemoryWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createMemoryWidget.parameter.height"></a>

- *Type:* number

---

##### `createTaskHealthWidget` <a name="createTaskHealthWidget" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createTaskHealthWidget"></a>

```typescript
public createTaskHealthWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createTaskHealthWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createTaskHealthWidget.parameter.height"></a>

- *Type:* number

---

##### `createTcpFlowsWidget` <a name="createTcpFlowsWidget" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createTcpFlowsWidget"></a>

```typescript
public createTcpFlowsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createTcpFlowsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createTcpFlowsWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```

##### ~~`createTpcFlowsWidget`~~ <a name="createTpcFlowsWidget" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createTpcFlowsWidget"></a>

```typescript
public createTpcFlowsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createTpcFlowsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.createTpcFlowsWidget.parameter.height"></a>

- *Type:* number

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.baseServiceMetricFactory">baseServiceMetricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.BaseServiceMetricFactory">BaseServiceMetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.cpuP100UtilisationMetric">cpuP100UtilisationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.cpuUsageAnnotations">cpuUsageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.cpuUtilisationMetric">cpuUtilisationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.ephemeralStorageUsageMetric">ephemeralStorageUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.memoryP100UtilisationMetric">memoryP100UtilisationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.memoryUsageAnnotations">memoryUsageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.memoryUtilisationMetric">memoryUtilisationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.processedBytesAnnotations">processedBytesAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.runningTaskCountMetric">runningTaskCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.taskHealthAlarmFactory">taskHealthAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory">TaskHealthAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.taskHealthAnnotations">taskHealthAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.throughputAlarmFactory">throughputAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ThroughputAlarmFactory">ThroughputAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.usageAlarmFactory">usageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.activeTcpFlowCountMetric">activeTcpFlowCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.healthyTaskCountMetric">healthyTaskCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.healthyTaskPercentMetric">healthyTaskPercentMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.loadBalancerMetricFactory">loadBalancerMetricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ILoadBalancerMetricFactory">ILoadBalancerMetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.newTcpFlowCountMetric">newTcpFlowCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.processedBytesMetric">processedBytesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.unhealthyRoutingFlowCountMetric">unhealthyRoutingFlowCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.Ec2ServiceMonitoring.property.unhealthyTaskCountMetric">unhealthyTaskCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |

---

##### `baseServiceMetricFactory`<sup>Required</sup> <a name="baseServiceMetricFactory" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.baseServiceMetricFactory"></a>

```typescript
public readonly baseServiceMetricFactory: BaseServiceMetricFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.BaseServiceMetricFactory">BaseServiceMetricFactory</a>

---

##### `cpuP100UtilisationMetric`<sup>Required</sup> <a name="cpuP100UtilisationMetric" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.cpuP100UtilisationMetric"></a>

```typescript
public readonly cpuP100UtilisationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cpuUsageAnnotations`<sup>Required</sup> <a name="cpuUsageAnnotations" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.cpuUsageAnnotations"></a>

```typescript
public readonly cpuUsageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `cpuUtilisationMetric`<sup>Required</sup> <a name="cpuUtilisationMetric" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.cpuUtilisationMetric"></a>

```typescript
public readonly cpuUtilisationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `ephemeralStorageUsageMetric`<sup>Required</sup> <a name="ephemeralStorageUsageMetric" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.ephemeralStorageUsageMetric"></a>

```typescript
public readonly ephemeralStorageUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `memoryP100UtilisationMetric`<sup>Required</sup> <a name="memoryP100UtilisationMetric" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.memoryP100UtilisationMetric"></a>

```typescript
public readonly memoryP100UtilisationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `memoryUsageAnnotations`<sup>Required</sup> <a name="memoryUsageAnnotations" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.memoryUsageAnnotations"></a>

```typescript
public readonly memoryUsageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `memoryUtilisationMetric`<sup>Required</sup> <a name="memoryUtilisationMetric" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.memoryUtilisationMetric"></a>

```typescript
public readonly memoryUtilisationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.metricFactory"></a>

```typescript
public readonly metricFactory: MetricFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `processedBytesAnnotations`<sup>Required</sup> <a name="processedBytesAnnotations" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.processedBytesAnnotations"></a>

```typescript
public readonly processedBytesAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `runningTaskCountMetric`<sup>Required</sup> <a name="runningTaskCountMetric" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.runningTaskCountMetric"></a>

```typescript
public readonly runningTaskCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `taskHealthAlarmFactory`<sup>Required</sup> <a name="taskHealthAlarmFactory" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.taskHealthAlarmFactory"></a>

```typescript
public readonly taskHealthAlarmFactory: TaskHealthAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory">TaskHealthAlarmFactory</a>

---

##### `taskHealthAnnotations`<sup>Required</sup> <a name="taskHealthAnnotations" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.taskHealthAnnotations"></a>

```typescript
public readonly taskHealthAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `throughputAlarmFactory`<sup>Required</sup> <a name="throughputAlarmFactory" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.throughputAlarmFactory"></a>

```typescript
public readonly throughputAlarmFactory: ThroughputAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ThroughputAlarmFactory">ThroughputAlarmFactory</a>

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `usageAlarmFactory`<sup>Required</sup> <a name="usageAlarmFactory" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.usageAlarmFactory"></a>

```typescript
public readonly usageAlarmFactory: UsageAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a>

---

##### `activeTcpFlowCountMetric`<sup>Optional</sup> <a name="activeTcpFlowCountMetric" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.activeTcpFlowCountMetric"></a>

```typescript
public readonly activeTcpFlowCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `healthyTaskCountMetric`<sup>Optional</sup> <a name="healthyTaskCountMetric" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.healthyTaskCountMetric"></a>

```typescript
public readonly healthyTaskCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `healthyTaskPercentMetric`<sup>Optional</sup> <a name="healthyTaskPercentMetric" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.healthyTaskPercentMetric"></a>

```typescript
public readonly healthyTaskPercentMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `loadBalancerMetricFactory`<sup>Optional</sup> <a name="loadBalancerMetricFactory" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.loadBalancerMetricFactory"></a>

```typescript
public readonly loadBalancerMetricFactory: ILoadBalancerMetricFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ILoadBalancerMetricFactory">ILoadBalancerMetricFactory</a>

---

##### `newTcpFlowCountMetric`<sup>Optional</sup> <a name="newTcpFlowCountMetric" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.newTcpFlowCountMetric"></a>

```typescript
public readonly newTcpFlowCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `processedBytesMetric`<sup>Optional</sup> <a name="processedBytesMetric" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.processedBytesMetric"></a>

```typescript
public readonly processedBytesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `unhealthyRoutingFlowCountMetric`<sup>Optional</sup> <a name="unhealthyRoutingFlowCountMetric" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.unhealthyRoutingFlowCountMetric"></a>

```typescript
public readonly unhealthyRoutingFlowCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `unhealthyTaskCountMetric`<sup>Optional</sup> <a name="unhealthyTaskCountMetric" id="cdk-monitoring-constructs.Ec2ServiceMonitoring.property.unhealthyTaskCountMetric"></a>

```typescript
public readonly unhealthyTaskCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---


### 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.addMaxThrottleRateAlarm">addMaxThrottleRateAlarm</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.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMinHitRateAlarm">addMinHitRateAlarm</a></code> | *No description.* |

---

##### `addMaxEvictedItemsCountAlarm` <a name="addMaxEvictedItemsCountAlarm" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxEvictedItemsCountAlarm"></a>

```typescript
public addMaxEvictedItemsCountAlarm(metric: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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

---

##### `addMaxThrottleRateAlarm` <a name="addMaxThrottleRateAlarm" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxThrottleRateAlarm"></a>

```typescript
public addMaxThrottleRateAlarm(metric: MathExpression | Metric, props: MaxThrottleRateThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxThrottleRateAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxThrottleRateAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxThrottleRateThreshold">MaxThrottleRateThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxThrottleRateAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxUsedSwapMemoryAlarm` <a name="addMaxUsedSwapMemoryAlarm" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMaxUsedSwapMemoryAlarm"></a>

```typescript
public addMaxUsedSwapMemoryAlarm(metric: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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

---

##### `addMinHitRateAlarm` <a name="addMinHitRateAlarm" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMinHitRateAlarm"></a>

```typescript
public addMinHitRateAlarm(metric: MathExpression | Metric, props: MinHitRateThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMinHitRateAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMinHitRateAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MinHitRateThreshold">MinHitRateThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.ElastiCacheAlarmFactory.addMinHitRateAlarm.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.metricMaxRedisEngineCpuUtilizationInPercent">metricMaxRedisEngineCpuUtilizationInPercent</a></code> | Because Redis is single-threaded, you can use this metric to analyze the load of the Redis process itself. |
| <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(): MathExpression | Metric
```

##### `metricAverageConnections` <a name="metricAverageConnections" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageConnections"></a>

```typescript
public metricAverageConnections(): MathExpression | Metric
```

##### `metricAverageFreeableMemoryInBytes` <a name="metricAverageFreeableMemoryInBytes" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageFreeableMemoryInBytes"></a>

```typescript
public metricAverageFreeableMemoryInBytes(): MathExpression | Metric
```

##### `metricAverageSwapUsageInBytes` <a name="metricAverageSwapUsageInBytes" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageSwapUsageInBytes"></a>

```typescript
public metricAverageSwapUsageInBytes(): MathExpression | Metric
```

##### `metricAverageUnusedMemoryInBytes` <a name="metricAverageUnusedMemoryInBytes" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricAverageUnusedMemoryInBytes"></a>

```typescript
public metricAverageUnusedMemoryInBytes(): MathExpression | Metric
```

##### `metricEvictions` <a name="metricEvictions" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricEvictions"></a>

```typescript
public metricEvictions(): MathExpression | Metric
```

##### `metricMaxCpuUtilizationInPercent` <a name="metricMaxCpuUtilizationInPercent" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricMaxCpuUtilizationInPercent"></a>

```typescript
public metricMaxCpuUtilizationInPercent(): MathExpression | Metric
```

##### `metricMaxItemCount` <a name="metricMaxItemCount" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricMaxItemCount"></a>

```typescript
public metricMaxItemCount(): MathExpression | Metric
```

##### `metricMaxRedisEngineCpuUtilizationInPercent` <a name="metricMaxRedisEngineCpuUtilizationInPercent" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricMaxRedisEngineCpuUtilizationInPercent"></a>

```typescript
public metricMaxRedisEngineCpuUtilizationInPercent(): MathExpression | Metric
```

Because Redis is single-threaded, you can use this metric to analyze the load of the Redis process itself.

Note that you may want to monitor both Engine CPU Utilization as well as CPU Utilization as background
processes can take up a significant portion of the CPU workload. This is especially important for
hosts with 2 vCPUs or less.

> [https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.Redis.html](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.Redis.html)

##### `metricNetworkBytesIn` <a name="metricNetworkBytesIn" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricNetworkBytesIn"></a>

```typescript
public metricNetworkBytesIn(): MathExpression | Metric
```

##### `metricNetworkBytesOut` <a name="metricNetworkBytesOut" id="cdk-monitoring-constructs.ElastiCacheClusterMetricFactory.metricNetworkBytesOut"></a>

```typescript
public metricNetworkBytesOut(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createConnectionsWidget">createConnectionsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createCpuUsageWidget">createCpuUsageWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createItemCountWidget">createItemCountWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createMemoryUsageWidget">createMemoryUsageWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createRedisEngineCpuUsageWidget">createRedisEngineCpuUsageWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createConnectionsWidget` <a name="createConnectionsWidget" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createConnectionsWidget"></a>

```typescript
public createConnectionsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createConnectionsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createConnectionsWidget.parameter.height"></a>

- *Type:* number

---

##### `createCpuUsageWidget` <a name="createCpuUsageWidget" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createCpuUsageWidget"></a>

```typescript
public createCpuUsageWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createCpuUsageWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createCpuUsageWidget.parameter.height"></a>

- *Type:* number

---

##### `createItemCountWidget` <a name="createItemCountWidget" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createItemCountWidget"></a>

```typescript
public createItemCountWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createItemCountWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createItemCountWidget.parameter.height"></a>

- *Type:* number

---

##### `createMemoryUsageWidget` <a name="createMemoryUsageWidget" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createMemoryUsageWidget"></a>

```typescript
public createMemoryUsageWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createMemoryUsageWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createMemoryUsageWidget.parameter.height"></a>

- *Type:* number

---

##### `createRedisEngineCpuUsageWidget` <a name="createRedisEngineCpuUsageWidget" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createRedisEngineCpuUsageWidget"></a>

```typescript
public createRedisEngineCpuUsageWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createRedisEngineCpuUsageWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createRedisEngineCpuUsageWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.clusterType">clusterType</a></code> | <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterType">ElastiCacheClusterType</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.connectionsMetric">connectionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.cpuUsageAnnotations">cpuUsageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.cpuUsageMetric">cpuUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.elastiCacheAlarmFactory">elastiCacheAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ElastiCacheAlarmFactory">ElastiCacheAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.evictedItemsCountAnnotations">evictedItemsCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.freeableMemoryMetric">freeableMemoryMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.itemsCountAnnotations">itemsCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.itemsCountMetrics">itemsCountMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.itemsEvictedMetrics">itemsEvictedMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.itemsMemoryMetric">itemsMemoryMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.memoryUsageAnnotations">memoryUsageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.redisEngineCpuUsageAnnotations">redisEngineCpuUsageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.redisEngineCpuUsageMetric">redisEngineCpuUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.swapMemoryMetric">swapMemoryMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.unusedMemoryMetric">unusedMemoryMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.usageAlarmFactory">usageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.clusterUrl">clusterUrl</a></code> | <code>string</code> | *No description.* |

---

##### `clusterType`<sup>Required</sup> <a name="clusterType" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.clusterType"></a>

```typescript
public readonly clusterType: ElastiCacheClusterType;
```

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheClusterType">ElastiCacheClusterType</a>

---

##### `connectionsMetric`<sup>Required</sup> <a name="connectionsMetric" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.connectionsMetric"></a>

```typescript
public readonly connectionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cpuUsageAnnotations`<sup>Required</sup> <a name="cpuUsageAnnotations" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.cpuUsageAnnotations"></a>

```typescript
public readonly cpuUsageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `cpuUsageMetric`<sup>Required</sup> <a name="cpuUsageMetric" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.cpuUsageMetric"></a>

```typescript
public readonly cpuUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `elastiCacheAlarmFactory`<sup>Required</sup> <a name="elastiCacheAlarmFactory" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.elastiCacheAlarmFactory"></a>

```typescript
public readonly elastiCacheAlarmFactory: ElastiCacheAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheAlarmFactory">ElastiCacheAlarmFactory</a>

---

##### `evictedItemsCountAnnotations`<sup>Required</sup> <a name="evictedItemsCountAnnotations" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.evictedItemsCountAnnotations"></a>

```typescript
public readonly evictedItemsCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `freeableMemoryMetric`<sup>Required</sup> <a name="freeableMemoryMetric" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.freeableMemoryMetric"></a>

```typescript
public readonly freeableMemoryMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `itemsCountAnnotations`<sup>Required</sup> <a name="itemsCountAnnotations" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.itemsCountAnnotations"></a>

```typescript
public readonly itemsCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `itemsCountMetrics`<sup>Required</sup> <a name="itemsCountMetrics" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.itemsCountMetrics"></a>

```typescript
public readonly itemsCountMetrics: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `itemsEvictedMetrics`<sup>Required</sup> <a name="itemsEvictedMetrics" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.itemsEvictedMetrics"></a>

```typescript
public readonly itemsEvictedMetrics: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `itemsMemoryMetric`<sup>Required</sup> <a name="itemsMemoryMetric" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.itemsMemoryMetric"></a>

```typescript
public readonly itemsMemoryMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `memoryUsageAnnotations`<sup>Required</sup> <a name="memoryUsageAnnotations" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.memoryUsageAnnotations"></a>

```typescript
public readonly memoryUsageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `redisEngineCpuUsageAnnotations`<sup>Required</sup> <a name="redisEngineCpuUsageAnnotations" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.redisEngineCpuUsageAnnotations"></a>

```typescript
public readonly redisEngineCpuUsageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `redisEngineCpuUsageMetric`<sup>Required</sup> <a name="redisEngineCpuUsageMetric" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.redisEngineCpuUsageMetric"></a>

```typescript
public readonly redisEngineCpuUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `swapMemoryMetric`<sup>Required</sup> <a name="swapMemoryMetric" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.swapMemoryMetric"></a>

```typescript
public readonly swapMemoryMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `unusedMemoryMetric`<sup>Required</sup> <a name="unusedMemoryMetric" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.unusedMemoryMetric"></a>

```typescript
public readonly unusedMemoryMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `usageAlarmFactory`<sup>Required</sup> <a name="usageAlarmFactory" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.usageAlarmFactory"></a>

```typescript
public readonly usageAlarmFactory: UsageAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a>

---

##### `clusterUrl`<sup>Optional</sup> <a name="clusterUrl" id="cdk-monitoring-constructs.ElastiCacheClusterMonitoring.property.clusterUrl"></a>

```typescript
public readonly clusterUrl: string;
```

- *Type:* string

---


### ElastiCacheServerlessMetricFactory <a name="ElastiCacheServerlessMetricFactory" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory"></a>

> [https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/serverless-metrics-events-redis.html](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/serverless-metrics-events-redis.html)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.Initializer"></a>

```typescript
import { ElastiCacheServerlessMetricFactory } from 'cdk-monitoring-constructs'

new ElastiCacheServerlessMetricFactory(metricFactory: MetricFactory, props: ElastiCacheServerlessMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactoryProps">ElastiCacheServerlessMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactoryProps">ElastiCacheServerlessMetricFactoryProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricAverageCacheHitRate">metricAverageCacheHitRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricAverageCacheSize">metricAverageCacheSize</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricAverageConnections">metricAverageConnections</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricCacheHits">metricCacheHits</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricCacheMisses">metricCacheMisses</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricEvictions">metricEvictions</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricMaxElastiCacheProcessingUnits">metricMaxElastiCacheProcessingUnits</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricMaxItemCount">metricMaxItemCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricNetworkBytesIn">metricNetworkBytesIn</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricNetworkBytesOut">metricNetworkBytesOut</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricSuccessfulReadRequestLatency">metricSuccessfulReadRequestLatency</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricSuccessfulWriteRequestLatency">metricSuccessfulWriteRequestLatency</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricThrottleRate">metricThrottleRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricTotalCmds">metricTotalCmds</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricTotalThrottledCmds">metricTotalThrottledCmds</a></code> | *No description.* |

---

##### `metricAverageCacheHitRate` <a name="metricAverageCacheHitRate" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricAverageCacheHitRate"></a>

```typescript
public metricAverageCacheHitRate(): MathExpression | Metric
```

##### `metricAverageCacheSize` <a name="metricAverageCacheSize" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricAverageCacheSize"></a>

```typescript
public metricAverageCacheSize(): MathExpression | Metric
```

##### `metricAverageConnections` <a name="metricAverageConnections" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricAverageConnections"></a>

```typescript
public metricAverageConnections(): MathExpression | Metric
```

##### `metricCacheHits` <a name="metricCacheHits" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricCacheHits"></a>

```typescript
public metricCacheHits(): MathExpression | Metric
```

##### `metricCacheMisses` <a name="metricCacheMisses" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricCacheMisses"></a>

```typescript
public metricCacheMisses(): MathExpression | Metric
```

##### `metricEvictions` <a name="metricEvictions" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricEvictions"></a>

```typescript
public metricEvictions(): MathExpression | Metric
```

##### `metricMaxElastiCacheProcessingUnits` <a name="metricMaxElastiCacheProcessingUnits" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricMaxElastiCacheProcessingUnits"></a>

```typescript
public metricMaxElastiCacheProcessingUnits(): MathExpression | Metric
```

##### `metricMaxItemCount` <a name="metricMaxItemCount" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricMaxItemCount"></a>

```typescript
public metricMaxItemCount(): MathExpression | Metric
```

##### `metricNetworkBytesIn` <a name="metricNetworkBytesIn" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricNetworkBytesIn"></a>

```typescript
public metricNetworkBytesIn(): MathExpression | Metric
```

##### `metricNetworkBytesOut` <a name="metricNetworkBytesOut" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricNetworkBytesOut"></a>

```typescript
public metricNetworkBytesOut(): MathExpression | Metric
```

##### `metricSuccessfulReadRequestLatency` <a name="metricSuccessfulReadRequestLatency" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricSuccessfulReadRequestLatency"></a>

```typescript
public metricSuccessfulReadRequestLatency(latencyType: LatencyType): MathExpression | Metric
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricSuccessfulReadRequestLatency.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### `metricSuccessfulWriteRequestLatency` <a name="metricSuccessfulWriteRequestLatency" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricSuccessfulWriteRequestLatency"></a>

```typescript
public metricSuccessfulWriteRequestLatency(latencyType: LatencyType): MathExpression | Metric
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricSuccessfulWriteRequestLatency.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### `metricThrottleRate` <a name="metricThrottleRate" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricThrottleRate"></a>

```typescript
public metricThrottleRate(): MathExpression | Metric
```

##### `metricTotalCmds` <a name="metricTotalCmds" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricTotalCmds"></a>

```typescript
public metricTotalCmds(): MathExpression | Metric
```

##### `metricTotalThrottledCmds` <a name="metricTotalThrottledCmds" id="cdk-monitoring-constructs.ElastiCacheServerlessMetricFactory.metricTotalThrottledCmds"></a>

```typescript
public metricTotalThrottledCmds(): MathExpression | Metric
```




### ElastiCacheServerlessMonitoring <a name="ElastiCacheServerlessMonitoring" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.Initializer"></a>

```typescript
import { ElastiCacheServerlessMonitoring } from 'cdk-monitoring-constructs'

new ElastiCacheServerlessMonitoring(scope: MonitoringScope, props: ElastiCacheServerlessMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps">ElastiCacheServerlessMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoringProps">ElastiCacheServerlessMonitoringProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createCacheCmdsWidget">createCacheCmdsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createCacheHitAndMissWidget">createCacheHitAndMissWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createCacheSizeWidget">createCacheSizeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createConnectionsWidget">createConnectionsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createItemCountWidget">createItemCountWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createNetworkWidget">createNetworkWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createProcessingUnitsWidget">createProcessingUnitsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createSuccessfulReadLatencyWidget">createSuccessfulReadLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createSuccessfulWriteLatencyWidget">createSuccessfulWriteLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.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.ElastiCacheServerlessMonitoring.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.ElastiCacheServerlessMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createCacheCmdsWidget` <a name="createCacheCmdsWidget" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createCacheCmdsWidget"></a>

```typescript
public createCacheCmdsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createCacheCmdsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createCacheCmdsWidget.parameter.height"></a>

- *Type:* number

---

##### `createCacheHitAndMissWidget` <a name="createCacheHitAndMissWidget" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createCacheHitAndMissWidget"></a>

```typescript
public createCacheHitAndMissWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createCacheHitAndMissWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createCacheHitAndMissWidget.parameter.height"></a>

- *Type:* number

---

##### `createCacheSizeWidget` <a name="createCacheSizeWidget" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createCacheSizeWidget"></a>

```typescript
public createCacheSizeWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createCacheSizeWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createCacheSizeWidget.parameter.height"></a>

- *Type:* number

---

##### `createConnectionsWidget` <a name="createConnectionsWidget" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createConnectionsWidget"></a>

```typescript
public createConnectionsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createConnectionsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createConnectionsWidget.parameter.height"></a>

- *Type:* number

---

##### `createItemCountWidget` <a name="createItemCountWidget" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createItemCountWidget"></a>

```typescript
public createItemCountWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createItemCountWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createItemCountWidget.parameter.height"></a>

- *Type:* number

---

##### `createNetworkWidget` <a name="createNetworkWidget" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createNetworkWidget"></a>

```typescript
public createNetworkWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createNetworkWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createNetworkWidget.parameter.height"></a>

- *Type:* number

---

##### `createProcessingUnitsWidget` <a name="createProcessingUnitsWidget" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createProcessingUnitsWidget"></a>

```typescript
public createProcessingUnitsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createProcessingUnitsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createProcessingUnitsWidget.parameter.height"></a>

- *Type:* number

---

##### `createSuccessfulReadLatencyWidget` <a name="createSuccessfulReadLatencyWidget" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createSuccessfulReadLatencyWidget"></a>

```typescript
public createSuccessfulReadLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createSuccessfulReadLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createSuccessfulReadLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createSuccessfulWriteLatencyWidget` <a name="createSuccessfulWriteLatencyWidget" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createSuccessfulWriteLatencyWidget"></a>

```typescript
public createSuccessfulWriteLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createSuccessfulWriteLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createSuccessfulWriteLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.averageSuccessfulReadRequestLatencyAlarmAnnotations">averageSuccessfulReadRequestLatencyAlarmAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.averageSuccessfulWriteRequestLatencyAlarmAnnotations">averageSuccessfulWriteRequestLatencyAlarmAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.elastiCacheAlarmFactory">elastiCacheAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ElastiCacheAlarmFactory">ElastiCacheAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.hitRateAlarmAnnotations">hitRateAlarmAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.latencyAlarmFactory">latencyAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricAverageCacheHitRate">metricAverageCacheHitRate</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricAverageCacheSize">metricAverageCacheSize</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricAverageConnections">metricAverageConnections</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricAverageSuccessfulReadRequestLatency">metricAverageSuccessfulReadRequestLatency</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricAverageSuccessfulWriteRequestLatency">metricAverageSuccessfulWriteRequestLatency</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricCacheHits">metricCacheHits</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricCacheMisses">metricCacheMisses</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricEvictions">metricEvictions</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricMaxElastiCacheProcessingUnits">metricMaxElastiCacheProcessingUnits</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricMaxItemCount">metricMaxItemCount</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricNetworkBytesIn">metricNetworkBytesIn</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricNetworkBytesOut">metricNetworkBytesOut</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricThrottleRate">metricThrottleRate</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricTM99SuccessfulReadRequestLatency">metricTM99SuccessfulReadRequestLatency</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricTM99SuccessfulWriteRequestLatency">metricTM99SuccessfulWriteRequestLatency</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricTotalCmds">metricTotalCmds</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricTotalThrottledCmds">metricTotalThrottledCmds</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.throttleRateAlarmAnnotations">throttleRateAlarmAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.tm99SuccessfulReadRequestLatencyAlarmAnnotations">tm99SuccessfulReadRequestLatencyAlarmAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.tm99SuccessfulWriteRequestLatencyAlarmAnnotations">tm99SuccessfulWriteRequestLatencyAlarmAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |

---

##### `averageSuccessfulReadRequestLatencyAlarmAnnotations`<sup>Required</sup> <a name="averageSuccessfulReadRequestLatencyAlarmAnnotations" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.averageSuccessfulReadRequestLatencyAlarmAnnotations"></a>

```typescript
public readonly averageSuccessfulReadRequestLatencyAlarmAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `averageSuccessfulWriteRequestLatencyAlarmAnnotations`<sup>Required</sup> <a name="averageSuccessfulWriteRequestLatencyAlarmAnnotations" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.averageSuccessfulWriteRequestLatencyAlarmAnnotations"></a>

```typescript
public readonly averageSuccessfulWriteRequestLatencyAlarmAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `elastiCacheAlarmFactory`<sup>Required</sup> <a name="elastiCacheAlarmFactory" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.elastiCacheAlarmFactory"></a>

```typescript
public readonly elastiCacheAlarmFactory: ElastiCacheAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ElastiCacheAlarmFactory">ElastiCacheAlarmFactory</a>

---

##### `hitRateAlarmAnnotations`<sup>Required</sup> <a name="hitRateAlarmAnnotations" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.hitRateAlarmAnnotations"></a>

```typescript
public readonly hitRateAlarmAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `latencyAlarmFactory`<sup>Required</sup> <a name="latencyAlarmFactory" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.latencyAlarmFactory"></a>

```typescript
public readonly latencyAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `metricAverageCacheHitRate`<sup>Required</sup> <a name="metricAverageCacheHitRate" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricAverageCacheHitRate"></a>

```typescript
public readonly metricAverageCacheHitRate: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricAverageCacheSize`<sup>Required</sup> <a name="metricAverageCacheSize" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricAverageCacheSize"></a>

```typescript
public readonly metricAverageCacheSize: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricAverageConnections`<sup>Required</sup> <a name="metricAverageConnections" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricAverageConnections"></a>

```typescript
public readonly metricAverageConnections: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricAverageSuccessfulReadRequestLatency`<sup>Required</sup> <a name="metricAverageSuccessfulReadRequestLatency" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricAverageSuccessfulReadRequestLatency"></a>

```typescript
public readonly metricAverageSuccessfulReadRequestLatency: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricAverageSuccessfulWriteRequestLatency`<sup>Required</sup> <a name="metricAverageSuccessfulWriteRequestLatency" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricAverageSuccessfulWriteRequestLatency"></a>

```typescript
public readonly metricAverageSuccessfulWriteRequestLatency: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricCacheHits`<sup>Required</sup> <a name="metricCacheHits" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricCacheHits"></a>

```typescript
public readonly metricCacheHits: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricCacheMisses`<sup>Required</sup> <a name="metricCacheMisses" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricCacheMisses"></a>

```typescript
public readonly metricCacheMisses: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricEvictions`<sup>Required</sup> <a name="metricEvictions" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricEvictions"></a>

```typescript
public readonly metricEvictions: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricMaxElastiCacheProcessingUnits`<sup>Required</sup> <a name="metricMaxElastiCacheProcessingUnits" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricMaxElastiCacheProcessingUnits"></a>

```typescript
public readonly metricMaxElastiCacheProcessingUnits: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricMaxItemCount`<sup>Required</sup> <a name="metricMaxItemCount" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricMaxItemCount"></a>

```typescript
public readonly metricMaxItemCount: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricNetworkBytesIn`<sup>Required</sup> <a name="metricNetworkBytesIn" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricNetworkBytesIn"></a>

```typescript
public readonly metricNetworkBytesIn: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricNetworkBytesOut`<sup>Required</sup> <a name="metricNetworkBytesOut" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricNetworkBytesOut"></a>

```typescript
public readonly metricNetworkBytesOut: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricThrottleRate`<sup>Required</sup> <a name="metricThrottleRate" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricThrottleRate"></a>

```typescript
public readonly metricThrottleRate: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricTM99SuccessfulReadRequestLatency`<sup>Required</sup> <a name="metricTM99SuccessfulReadRequestLatency" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricTM99SuccessfulReadRequestLatency"></a>

```typescript
public readonly metricTM99SuccessfulReadRequestLatency: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricTM99SuccessfulWriteRequestLatency`<sup>Required</sup> <a name="metricTM99SuccessfulWriteRequestLatency" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricTM99SuccessfulWriteRequestLatency"></a>

```typescript
public readonly metricTM99SuccessfulWriteRequestLatency: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricTotalCmds`<sup>Required</sup> <a name="metricTotalCmds" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricTotalCmds"></a>

```typescript
public readonly metricTotalCmds: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricTotalThrottledCmds`<sup>Required</sup> <a name="metricTotalThrottledCmds" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.metricTotalThrottledCmds"></a>

```typescript
public readonly metricTotalThrottledCmds: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `throttleRateAlarmAnnotations`<sup>Required</sup> <a name="throttleRateAlarmAnnotations" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.throttleRateAlarmAnnotations"></a>

```typescript
public readonly throttleRateAlarmAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `tm99SuccessfulReadRequestLatencyAlarmAnnotations`<sup>Required</sup> <a name="tm99SuccessfulReadRequestLatencyAlarmAnnotations" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.tm99SuccessfulReadRequestLatencyAlarmAnnotations"></a>

```typescript
public readonly tm99SuccessfulReadRequestLatencyAlarmAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `tm99SuccessfulWriteRequestLatencyAlarmAnnotations`<sup>Required</sup> <a name="tm99SuccessfulWriteRequestLatencyAlarmAnnotations" id="cdk-monitoring-constructs.ElastiCacheServerlessMonitoring.property.tm99SuccessfulWriteRequestLatencyAlarmAnnotations"></a>

```typescript
public readonly tm99SuccessfulWriteRequestLatencyAlarmAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---


### 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: MathExpression | Metric, errorType: string, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `errorType`<sup>Required</sup> <a name="errorType" id="cdk-monitoring-constructs.ErrorAlarmFactory.addErrorCountAlarm.parameter.errorType"></a>

- *Type:* string

---

###### `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: MathExpression | Metric, errorType: string, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `errorType`<sup>Required</sup> <a name="errorType" id="cdk-monitoring-constructs.ErrorAlarmFactory.addErrorRateAlarm.parameter.errorType"></a>

- *Type:* string

---

###### `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. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.createCpuWidget">createCpuWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.createMemoryWidget">createMemoryWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.createTaskHealthWidget">createTaskHealthWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.createTcpFlowsWidget">createTcpFlowsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.createTpcFlowsWidget">createTpcFlowsWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.FargateServiceMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.FargateServiceMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createCpuWidget` <a name="createCpuWidget" id="cdk-monitoring-constructs.FargateServiceMonitoring.createCpuWidget"></a>

```typescript
public createCpuWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.FargateServiceMonitoring.createCpuWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.FargateServiceMonitoring.createCpuWidget.parameter.height"></a>

- *Type:* number

---

##### `createMemoryWidget` <a name="createMemoryWidget" id="cdk-monitoring-constructs.FargateServiceMonitoring.createMemoryWidget"></a>

```typescript
public createMemoryWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.FargateServiceMonitoring.createMemoryWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.FargateServiceMonitoring.createMemoryWidget.parameter.height"></a>

- *Type:* number

---

##### `createTaskHealthWidget` <a name="createTaskHealthWidget" id="cdk-monitoring-constructs.FargateServiceMonitoring.createTaskHealthWidget"></a>

```typescript
public createTaskHealthWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.FargateServiceMonitoring.createTaskHealthWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.FargateServiceMonitoring.createTaskHealthWidget.parameter.height"></a>

- *Type:* number

---

##### `createTcpFlowsWidget` <a name="createTcpFlowsWidget" id="cdk-monitoring-constructs.FargateServiceMonitoring.createTcpFlowsWidget"></a>

```typescript
public createTcpFlowsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.FargateServiceMonitoring.createTcpFlowsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.FargateServiceMonitoring.createTcpFlowsWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.FargateServiceMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```

##### ~~`createTpcFlowsWidget`~~ <a name="createTpcFlowsWidget" id="cdk-monitoring-constructs.FargateServiceMonitoring.createTpcFlowsWidget"></a>

```typescript
public createTpcFlowsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.FargateServiceMonitoring.createTpcFlowsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.FargateServiceMonitoring.createTpcFlowsWidget.parameter.height"></a>

- *Type:* number

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.baseServiceMetricFactory">baseServiceMetricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.BaseServiceMetricFactory">BaseServiceMetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.cpuP100UtilisationMetric">cpuP100UtilisationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.cpuUsageAnnotations">cpuUsageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.cpuUtilisationMetric">cpuUtilisationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.ephemeralStorageUsageMetric">ephemeralStorageUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.memoryP100UtilisationMetric">memoryP100UtilisationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.memoryUsageAnnotations">memoryUsageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.memoryUtilisationMetric">memoryUtilisationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.processedBytesAnnotations">processedBytesAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.runningTaskCountMetric">runningTaskCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.taskHealthAlarmFactory">taskHealthAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory">TaskHealthAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.taskHealthAnnotations">taskHealthAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.throughputAlarmFactory">throughputAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ThroughputAlarmFactory">ThroughputAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.usageAlarmFactory">usageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.activeTcpFlowCountMetric">activeTcpFlowCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.healthyTaskCountMetric">healthyTaskCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.healthyTaskPercentMetric">healthyTaskPercentMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.loadBalancerMetricFactory">loadBalancerMetricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ILoadBalancerMetricFactory">ILoadBalancerMetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.newTcpFlowCountMetric">newTcpFlowCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.processedBytesMetric">processedBytesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.unhealthyRoutingFlowCountMetric">unhealthyRoutingFlowCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FargateServiceMonitoring.property.unhealthyTaskCountMetric">unhealthyTaskCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |

---

##### `baseServiceMetricFactory`<sup>Required</sup> <a name="baseServiceMetricFactory" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.baseServiceMetricFactory"></a>

```typescript
public readonly baseServiceMetricFactory: BaseServiceMetricFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.BaseServiceMetricFactory">BaseServiceMetricFactory</a>

---

##### `cpuP100UtilisationMetric`<sup>Required</sup> <a name="cpuP100UtilisationMetric" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.cpuP100UtilisationMetric"></a>

```typescript
public readonly cpuP100UtilisationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cpuUsageAnnotations`<sup>Required</sup> <a name="cpuUsageAnnotations" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.cpuUsageAnnotations"></a>

```typescript
public readonly cpuUsageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `cpuUtilisationMetric`<sup>Required</sup> <a name="cpuUtilisationMetric" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.cpuUtilisationMetric"></a>

```typescript
public readonly cpuUtilisationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `ephemeralStorageUsageMetric`<sup>Required</sup> <a name="ephemeralStorageUsageMetric" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.ephemeralStorageUsageMetric"></a>

```typescript
public readonly ephemeralStorageUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `memoryP100UtilisationMetric`<sup>Required</sup> <a name="memoryP100UtilisationMetric" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.memoryP100UtilisationMetric"></a>

```typescript
public readonly memoryP100UtilisationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `memoryUsageAnnotations`<sup>Required</sup> <a name="memoryUsageAnnotations" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.memoryUsageAnnotations"></a>

```typescript
public readonly memoryUsageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `memoryUtilisationMetric`<sup>Required</sup> <a name="memoryUtilisationMetric" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.memoryUtilisationMetric"></a>

```typescript
public readonly memoryUtilisationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.metricFactory"></a>

```typescript
public readonly metricFactory: MetricFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `processedBytesAnnotations`<sup>Required</sup> <a name="processedBytesAnnotations" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.processedBytesAnnotations"></a>

```typescript
public readonly processedBytesAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `runningTaskCountMetric`<sup>Required</sup> <a name="runningTaskCountMetric" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.runningTaskCountMetric"></a>

```typescript
public readonly runningTaskCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `taskHealthAlarmFactory`<sup>Required</sup> <a name="taskHealthAlarmFactory" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.taskHealthAlarmFactory"></a>

```typescript
public readonly taskHealthAlarmFactory: TaskHealthAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory">TaskHealthAlarmFactory</a>

---

##### `taskHealthAnnotations`<sup>Required</sup> <a name="taskHealthAnnotations" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.taskHealthAnnotations"></a>

```typescript
public readonly taskHealthAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `throughputAlarmFactory`<sup>Required</sup> <a name="throughputAlarmFactory" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.throughputAlarmFactory"></a>

```typescript
public readonly throughputAlarmFactory: ThroughputAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ThroughputAlarmFactory">ThroughputAlarmFactory</a>

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `usageAlarmFactory`<sup>Required</sup> <a name="usageAlarmFactory" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.usageAlarmFactory"></a>

```typescript
public readonly usageAlarmFactory: UsageAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a>

---

##### `activeTcpFlowCountMetric`<sup>Optional</sup> <a name="activeTcpFlowCountMetric" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.activeTcpFlowCountMetric"></a>

```typescript
public readonly activeTcpFlowCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `healthyTaskCountMetric`<sup>Optional</sup> <a name="healthyTaskCountMetric" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.healthyTaskCountMetric"></a>

```typescript
public readonly healthyTaskCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `healthyTaskPercentMetric`<sup>Optional</sup> <a name="healthyTaskPercentMetric" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.healthyTaskPercentMetric"></a>

```typescript
public readonly healthyTaskPercentMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `loadBalancerMetricFactory`<sup>Optional</sup> <a name="loadBalancerMetricFactory" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.loadBalancerMetricFactory"></a>

```typescript
public readonly loadBalancerMetricFactory: ILoadBalancerMetricFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ILoadBalancerMetricFactory">ILoadBalancerMetricFactory</a>

---

##### `newTcpFlowCountMetric`<sup>Optional</sup> <a name="newTcpFlowCountMetric" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.newTcpFlowCountMetric"></a>

```typescript
public readonly newTcpFlowCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `processedBytesMetric`<sup>Optional</sup> <a name="processedBytesMetric" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.processedBytesMetric"></a>

```typescript
public readonly processedBytesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `unhealthyRoutingFlowCountMetric`<sup>Optional</sup> <a name="unhealthyRoutingFlowCountMetric" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.unhealthyRoutingFlowCountMetric"></a>

```typescript
public readonly unhealthyRoutingFlowCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `unhealthyTaskCountMetric`<sup>Optional</sup> <a name="unhealthyTaskCountMetric" id="cdk-monitoring-constructs.FargateServiceMonitoring.property.unhealthyTaskCountMetric"></a>

```typescript
public readonly unhealthyTaskCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---


### 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>

---




### FluentBitMetricFactory <a name="FluentBitMetricFactory" id="cdk-monitoring-constructs.FluentBitMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.FluentBitMetricFactory.Initializer"></a>

```typescript
import { FluentBitMetricFactory } from 'cdk-monitoring-constructs'

new FluentBitMetricFactory(scope: MonitoringScope, props: FluentBitMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.FluentBitMetricFactory.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.FluentBitMetricFactoryProps">FluentBitMetricFactoryProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.FluentBitMetricFactory.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.FluentBitMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.FluentBitMetricFactoryProps">FluentBitMetricFactoryProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.FluentBitMetricFactory.filterMetrics">filterMetrics</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitMetricFactory.inputMetrics">inputMetrics</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitMetricFactory.metricsWithoutWidgets">metricsWithoutWidgets</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitMetricFactory.outputMetrics">outputMetrics</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitMetricFactory.storageMetrics">storageMetrics</a></code> | *No description.* |

---

##### `filterMetrics` <a name="filterMetrics" id="cdk-monitoring-constructs.FluentBitMetricFactory.filterMetrics"></a>

```typescript
public filterMetrics(logGroup: ILogGroup): Metric[]
```

###### `logGroup`<sup>Required</sup> <a name="logGroup" id="cdk-monitoring-constructs.FluentBitMetricFactory.filterMetrics.parameter.logGroup"></a>

- *Type:* aws-cdk-lib.aws_logs.ILogGroup

---

##### `inputMetrics` <a name="inputMetrics" id="cdk-monitoring-constructs.FluentBitMetricFactory.inputMetrics"></a>

```typescript
public inputMetrics(logGroup: ILogGroup): Metric[]
```

###### `logGroup`<sup>Required</sup> <a name="logGroup" id="cdk-monitoring-constructs.FluentBitMetricFactory.inputMetrics.parameter.logGroup"></a>

- *Type:* aws-cdk-lib.aws_logs.ILogGroup

---

##### `metricsWithoutWidgets` <a name="metricsWithoutWidgets" id="cdk-monitoring-constructs.FluentBitMetricFactory.metricsWithoutWidgets"></a>

```typescript
public metricsWithoutWidgets(logGroup: ILogGroup): void
```

###### `logGroup`<sup>Required</sup> <a name="logGroup" id="cdk-monitoring-constructs.FluentBitMetricFactory.metricsWithoutWidgets.parameter.logGroup"></a>

- *Type:* aws-cdk-lib.aws_logs.ILogGroup

---

##### `outputMetrics` <a name="outputMetrics" id="cdk-monitoring-constructs.FluentBitMetricFactory.outputMetrics"></a>

```typescript
public outputMetrics(logGroup: ILogGroup): Metric[]
```

###### `logGroup`<sup>Required</sup> <a name="logGroup" id="cdk-monitoring-constructs.FluentBitMetricFactory.outputMetrics.parameter.logGroup"></a>

- *Type:* aws-cdk-lib.aws_logs.ILogGroup

---

##### `storageMetrics` <a name="storageMetrics" id="cdk-monitoring-constructs.FluentBitMetricFactory.storageMetrics"></a>

```typescript
public storageMetrics(logGroup: ILogGroup): Metric[]
```

###### `logGroup`<sup>Required</sup> <a name="logGroup" id="cdk-monitoring-constructs.FluentBitMetricFactory.storageMetrics.parameter.logGroup"></a>

- *Type:* aws-cdk-lib.aws_logs.ILogGroup

---




### FluentBitMonitoring <a name="FluentBitMonitoring" id="cdk-monitoring-constructs.FluentBitMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.FluentBitMonitoring.Initializer"></a>

```typescript
import { FluentBitMonitoring } from 'cdk-monitoring-constructs'

new FluentBitMonitoring(scope: MonitoringScope, props: FluentBitMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.FluentBitMonitoringProps">FluentBitMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.FluentBitMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.FluentBitMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.FluentBitMonitoringProps">FluentBitMonitoringProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |
| <code><a href="#cdk-monitoring-constructs.FluentBitMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.FluentBitMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.FluentBitMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.FluentBitMonitoring.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.FluentBitMonitoring.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.FluentBitMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.FluentBitMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.FluentBitMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.FluentBitMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.FluentBitMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.FluentBitMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.FluentBitMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.FluentBitMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---




### 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(): MathExpression | Metric
```

##### `metricAverageExecutorCpuUsagePercentage` <a name="metricAverageExecutorCpuUsagePercentage" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricAverageExecutorCpuUsagePercentage"></a>

```typescript
public metricAverageExecutorCpuUsagePercentage(): MathExpression | Metric
```

##### `metricAverageExecutorMemoryUsagePercentage` <a name="metricAverageExecutorMemoryUsagePercentage" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricAverageExecutorMemoryUsagePercentage"></a>

```typescript
public metricAverageExecutorMemoryUsagePercentage(): MathExpression | Metric
```

##### `metricCompletedStagesSum` <a name="metricCompletedStagesSum" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricCompletedStagesSum"></a>

```typescript
public metricCompletedStagesSum(): MathExpression | Metric
```

##### `metricCompletedTasksSum` <a name="metricCompletedTasksSum" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricCompletedTasksSum"></a>

```typescript
public metricCompletedTasksSum(): MathExpression | Metric
```

##### `metricFailedTasksRate` <a name="metricFailedTasksRate" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricFailedTasksRate"></a>

```typescript
public metricFailedTasksRate(): MathExpression | Metric
```

##### `metricFailedTasksSum` <a name="metricFailedTasksSum" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricFailedTasksSum"></a>

```typescript
public metricFailedTasksSum(): MathExpression | Metric
```

##### `metricKilledTasksRate` <a name="metricKilledTasksRate" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricKilledTasksRate"></a>

```typescript
public metricKilledTasksRate(): MathExpression | Metric
```

##### `metricKilledTasksSum` <a name="metricKilledTasksSum" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricKilledTasksSum"></a>

```typescript
public metricKilledTasksSum(): MathExpression | Metric
```

##### `metricMaximumNeededExecutors` <a name="metricMaximumNeededExecutors" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricMaximumNeededExecutors"></a>

```typescript
public metricMaximumNeededExecutors(): MathExpression | Metric
```

##### `metricTotalReadBytesFromS3` <a name="metricTotalReadBytesFromS3" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricTotalReadBytesFromS3"></a>

```typescript
public metricTotalReadBytesFromS3(): MathExpression | Metric
```

##### `metricTotalWrittenBytesToS3` <a name="metricTotalWrittenBytesToS3" id="cdk-monitoring-constructs.GlueJobMetricFactory.metricTotalWrittenBytesToS3"></a>

```typescript
public metricTotalWrittenBytesToS3(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.createDataMovementWidget">createDataMovementWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.createErrorCountWidget">createErrorCountWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.createErrorRateWidget">createErrorRateWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.createJobExecutionWidget">createJobExecutionWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.createUtilizationWidget">createUtilizationWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.GlueJobMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.GlueJobMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createDataMovementWidget` <a name="createDataMovementWidget" id="cdk-monitoring-constructs.GlueJobMonitoring.createDataMovementWidget"></a>

```typescript
public createDataMovementWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.GlueJobMonitoring.createDataMovementWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.GlueJobMonitoring.createDataMovementWidget.parameter.height"></a>

- *Type:* number

---

##### `createErrorCountWidget` <a name="createErrorCountWidget" id="cdk-monitoring-constructs.GlueJobMonitoring.createErrorCountWidget"></a>

```typescript
public createErrorCountWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.GlueJobMonitoring.createErrorCountWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.GlueJobMonitoring.createErrorCountWidget.parameter.height"></a>

- *Type:* number

---

##### `createErrorRateWidget` <a name="createErrorRateWidget" id="cdk-monitoring-constructs.GlueJobMonitoring.createErrorRateWidget"></a>

```typescript
public createErrorRateWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.GlueJobMonitoring.createErrorRateWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.GlueJobMonitoring.createErrorRateWidget.parameter.height"></a>

- *Type:* number

---

##### `createJobExecutionWidget` <a name="createJobExecutionWidget" id="cdk-monitoring-constructs.GlueJobMonitoring.createJobExecutionWidget"></a>

```typescript
public createJobExecutionWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.GlueJobMonitoring.createJobExecutionWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.GlueJobMonitoring.createJobExecutionWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.GlueJobMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```

##### `createUtilizationWidget` <a name="createUtilizationWidget" id="cdk-monitoring-constructs.GlueJobMonitoring.createUtilizationWidget"></a>

```typescript
public createUtilizationWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.GlueJobMonitoring.createUtilizationWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.GlueJobMonitoring.createUtilizationWidget.parameter.height"></a>

- *Type:* number

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.activeExecutorsMetric">activeExecutorsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.bytesReadFromS3Metric">bytesReadFromS3Metric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.bytesWrittenToS3Metric">bytesWrittenToS3Metric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.completedStagesMetric">completedStagesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.cpuUsageMetric">cpuUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.failedTaskCountMetric">failedTaskCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.failedTaskRateMetric">failedTaskRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.heapMemoryUsageMetric">heapMemoryUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.killedTaskCountMetric">killedTaskCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.killedTaskRateMetric">killedTaskRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.neededExecutorsMetric">neededExecutorsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GlueJobMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `activeExecutorsMetric`<sup>Required</sup> <a name="activeExecutorsMetric" id="cdk-monitoring-constructs.GlueJobMonitoring.property.activeExecutorsMetric"></a>

```typescript
public readonly activeExecutorsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.GlueJobMonitoring.property.alarmFactory"></a>

```typescript
public readonly alarmFactory: AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

##### `bytesReadFromS3Metric`<sup>Required</sup> <a name="bytesReadFromS3Metric" id="cdk-monitoring-constructs.GlueJobMonitoring.property.bytesReadFromS3Metric"></a>

```typescript
public readonly bytesReadFromS3Metric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `bytesWrittenToS3Metric`<sup>Required</sup> <a name="bytesWrittenToS3Metric" id="cdk-monitoring-constructs.GlueJobMonitoring.property.bytesWrittenToS3Metric"></a>

```typescript
public readonly bytesWrittenToS3Metric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `completedStagesMetric`<sup>Required</sup> <a name="completedStagesMetric" id="cdk-monitoring-constructs.GlueJobMonitoring.property.completedStagesMetric"></a>

```typescript
public readonly completedStagesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cpuUsageMetric`<sup>Required</sup> <a name="cpuUsageMetric" id="cdk-monitoring-constructs.GlueJobMonitoring.property.cpuUsageMetric"></a>

```typescript
public readonly cpuUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.GlueJobMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.GlueJobMonitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.GlueJobMonitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `failedTaskCountMetric`<sup>Required</sup> <a name="failedTaskCountMetric" id="cdk-monitoring-constructs.GlueJobMonitoring.property.failedTaskCountMetric"></a>

```typescript
public readonly failedTaskCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `failedTaskRateMetric`<sup>Required</sup> <a name="failedTaskRateMetric" id="cdk-monitoring-constructs.GlueJobMonitoring.property.failedTaskRateMetric"></a>

```typescript
public readonly failedTaskRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `heapMemoryUsageMetric`<sup>Required</sup> <a name="heapMemoryUsageMetric" id="cdk-monitoring-constructs.GlueJobMonitoring.property.heapMemoryUsageMetric"></a>

```typescript
public readonly heapMemoryUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `killedTaskCountMetric`<sup>Required</sup> <a name="killedTaskCountMetric" id="cdk-monitoring-constructs.GlueJobMonitoring.property.killedTaskCountMetric"></a>

```typescript
public readonly killedTaskCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `killedTaskRateMetric`<sup>Required</sup> <a name="killedTaskRateMetric" id="cdk-monitoring-constructs.GlueJobMonitoring.property.killedTaskRateMetric"></a>

```typescript
public readonly killedTaskRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `neededExecutorsMetric`<sup>Required</sup> <a name="neededExecutorsMetric" id="cdk-monitoring-constructs.GlueJobMonitoring.property.neededExecutorsMetric"></a>

```typescript
public readonly neededExecutorsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.GlueJobMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---


### 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, description?: string, descriptionHeight?: number)
```

| **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.* |
| <code><a href="#cdk-monitoring-constructs.HeaderWidget.Initializer.parameter.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.HeaderWidget.Initializer.parameter.descriptionHeight">descriptionHeight</a></code> | <code>number</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>

---

##### `description`<sup>Optional</sup> <a name="description" id="cdk-monitoring-constructs.HeaderWidget.Initializer.parameter.description"></a>

- *Type:* string

---

##### `descriptionHeight`<sup>Optional</sup> <a name="descriptionHeight" id="cdk-monitoring-constructs.HeaderWidget.Initializer.parameter.descriptionHeight"></a>

- *Type:* number

---

#### 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. |
| <code><a href="#cdk-monitoring-constructs.HeaderWidget.property.warnings">warnings</a></code> | <code>string[]</code> | Any warnings that are produced as a result of putting together this widget. |
| <code><a href="#cdk-monitoring-constructs.HeaderWidget.property.warningsV2">warningsV2</a></code> | <code>{[ key: string ]: string}</code> | Any warnings that are produced as a result of putting together this widget. |

---

##### `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.

---

##### `warnings`<sup>Optional</sup> <a name="warnings" id="cdk-monitoring-constructs.HeaderWidget.property.warnings"></a>

```typescript
public readonly warnings: string[];
```

- *Type:* string[]

Any warnings that are produced as a result of putting together this widget.

---

##### `warningsV2`<sup>Optional</sup> <a name="warningsV2" id="cdk-monitoring-constructs.HeaderWidget.property.warningsV2"></a>

```typescript
public readonly warningsV2: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Any warnings that are produced as a result of putting together this widget.

---


### KeyValueTableWidget <a name="KeyValueTableWidget" id="cdk-monitoring-constructs.KeyValueTableWidget"></a>

A widget that displays key-value pairs in a table format.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.KeyValueTableWidget.Initializer"></a>

```typescript
import { KeyValueTableWidget } from 'cdk-monitoring-constructs'

new KeyValueTableWidget(data: KeyValue[])
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KeyValueTableWidget.Initializer.parameter.data">data</a></code> | <code><a href="#cdk-monitoring-constructs.KeyValue">KeyValue</a>[]</code> | An array of key-value pairs as objects. |

---

##### `data`<sup>Required</sup> <a name="data" id="cdk-monitoring-constructs.KeyValueTableWidget.Initializer.parameter.data"></a>

- *Type:* <a href="#cdk-monitoring-constructs.KeyValue">KeyValue</a>[]

An array of key-value pairs as objects.

---

#### 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. |
| <code><a href="#cdk-monitoring-constructs.KeyValueTableWidget.property.warnings">warnings</a></code> | <code>string[]</code> | Any warnings that are produced as a result of putting together this widget. |
| <code><a href="#cdk-monitoring-constructs.KeyValueTableWidget.property.warningsV2">warningsV2</a></code> | <code>{[ key: string ]: string}</code> | Any warnings that are produced as a result of putting together this widget. |

---

##### `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.

---

##### `warnings`<sup>Optional</sup> <a name="warnings" id="cdk-monitoring-constructs.KeyValueTableWidget.property.warnings"></a>

```typescript
public readonly warnings: string[];
```

- *Type:* string[]

Any warnings that are produced as a result of putting together this widget.

---

##### `warningsV2`<sup>Optional</sup> <a name="warningsV2" id="cdk-monitoring-constructs.KeyValueTableWidget.property.warningsV2"></a>

```typescript
public readonly warningsV2: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Any warnings that are produced as a result of putting together this widget.

---


### 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.addConsumerIteratorMaxAgeAlarm">addConsumerIteratorMaxAgeAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerSubscribeToShardRateExceededAlarm">addConsumerSubscribeToShardRateExceededAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerSubscribeToShardSuccessAlarm">addConsumerSubscribeToShardSuccessAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisAlarmFactory.addFirehoseStreamExceedSafetyThresholdAlarm">addFirehoseStreamExceedSafetyThresholdAlarm</a></code> | *No 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.* |

---

##### `addConsumerIteratorMaxAgeAlarm` <a name="addConsumerIteratorMaxAgeAlarm" id="cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerIteratorMaxAgeAlarm"></a>

```typescript
public addConsumerIteratorMaxAgeAlarm(metric: MathExpression | Metric, props: MaxIteratorAgeThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerIteratorMaxAgeAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerIteratorMaxAgeAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxIteratorAgeThreshold">MaxIteratorAgeThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerIteratorMaxAgeAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addConsumerSubscribeToShardRateExceededAlarm` <a name="addConsumerSubscribeToShardRateExceededAlarm" id="cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerSubscribeToShardRateExceededAlarm"></a>

```typescript
public addConsumerSubscribeToShardRateExceededAlarm(metric: MathExpression | Metric, props: ConsumerRateExceededThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerSubscribeToShardRateExceededAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerSubscribeToShardRateExceededAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ConsumerRateExceededThreshold">ConsumerRateExceededThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerSubscribeToShardRateExceededAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addConsumerSubscribeToShardSuccessAlarm` <a name="addConsumerSubscribeToShardSuccessAlarm" id="cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerSubscribeToShardSuccessAlarm"></a>

```typescript
public addConsumerSubscribeToShardSuccessAlarm(metric: MathExpression | Metric, props: MinConsumerSubscribeToShardSuccessThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerSubscribeToShardSuccessAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerSubscribeToShardSuccessAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MinConsumerSubscribeToShardSuccessThreshold">MinConsumerSubscribeToShardSuccessThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisAlarmFactory.addConsumerSubscribeToShardSuccessAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addFirehoseStreamExceedSafetyThresholdAlarm` <a name="addFirehoseStreamExceedSafetyThresholdAlarm" id="cdk-monitoring-constructs.KinesisAlarmFactory.addFirehoseStreamExceedSafetyThresholdAlarm"></a>

```typescript
public addFirehoseStreamExceedSafetyThresholdAlarm(metric: MathExpression | Metric, metricName: string, quotaName: string, props: FirehoseStreamLimitThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisAlarmFactory.addFirehoseStreamExceedSafetyThresholdAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `metricName`<sup>Required</sup> <a name="metricName" id="cdk-monitoring-constructs.KinesisAlarmFactory.addFirehoseStreamExceedSafetyThresholdAlarm.parameter.metricName"></a>

- *Type:* string

---

###### `quotaName`<sup>Required</sup> <a name="quotaName" id="cdk-monitoring-constructs.KinesisAlarmFactory.addFirehoseStreamExceedSafetyThresholdAlarm.parameter.quotaName"></a>

- *Type:* string

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisAlarmFactory.addFirehoseStreamExceedSafetyThresholdAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.FirehoseStreamLimitThreshold">FirehoseStreamLimitThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisAlarmFactory.addFirehoseStreamExceedSafetyThresholdAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addIteratorMaxAgeAlarm` <a name="addIteratorMaxAgeAlarm" id="cdk-monitoring-constructs.KinesisAlarmFactory.addIteratorMaxAgeAlarm"></a>

```typescript
public addIteratorMaxAgeAlarm(metric: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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.addBackPressuredTimeMsPerSecondAlarm">addBackPressuredTimeMsPerSecondAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addCheckpointFailureCountAlarm">addCheckpointFailureCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addCheckpointFailureRateAlarm">addCheckpointFailureRateAlarm</a></code> | *No 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.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addFullRestartRateAlarm">addFullRestartRateAlarm</a></code> | *No description.* |

---

##### `addBackPressuredTimeMsPerSecondAlarm` <a name="addBackPressuredTimeMsPerSecondAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addBackPressuredTimeMsPerSecondAlarm"></a>

```typescript
public addBackPressuredTimeMsPerSecondAlarm(metric: MathExpression | Metric, props: MaxBackPressuredTimeMsPerSecondThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addBackPressuredTimeMsPerSecondAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addBackPressuredTimeMsPerSecondAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxBackPressuredTimeMsPerSecondThreshold">MaxBackPressuredTimeMsPerSecondThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addBackPressuredTimeMsPerSecondAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addCheckpointFailureCountAlarm` <a name="addCheckpointFailureCountAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addCheckpointFailureCountAlarm"></a>

```typescript
public addCheckpointFailureCountAlarm(metric: MathExpression | Metric, props: ErrorCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addCheckpointFailureCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addCheckpointFailureCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ErrorCountThreshold">ErrorCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addCheckpointFailureCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addCheckpointFailureRateAlarm` <a name="addCheckpointFailureRateAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addCheckpointFailureRateAlarm"></a>

```typescript
public addCheckpointFailureRateAlarm(metric: MathExpression | Metric, props: ErrorRateThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addCheckpointFailureRateAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addCheckpointFailureRateAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addCheckpointFailureRateAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addDowntimeAlarm` <a name="addDowntimeAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addDowntimeAlarm"></a>

```typescript
public addDowntimeAlarm(metric: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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

---

##### `addFullRestartRateAlarm` <a name="addFullRestartRateAlarm" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addFullRestartRateAlarm"></a>

```typescript
public addFullRestartRateAlarm(metric: MathExpression | Metric, props: ErrorRateThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addFullRestartRateAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addFullRestartRateAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ErrorRateThreshold">ErrorRateThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory.addFullRestartRateAlarm.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.metricBackPressuredTimeMsPerSecond">metricBackPressuredTimeMsPerSecond</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricCheckpointFailureRate">metricCheckpointFailureRate</a></code> | *No 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.metricFullRestartRate">metricFullRestartRate</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.* |

---

##### `metricBackPressuredTimeMsPerSecond` <a name="metricBackPressuredTimeMsPerSecond" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricBackPressuredTimeMsPerSecond"></a>

```typescript
public metricBackPressuredTimeMsPerSecond(): MathExpression | Metric
```

##### `metricCheckpointFailureRate` <a name="metricCheckpointFailureRate" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricCheckpointFailureRate"></a>

```typescript
public metricCheckpointFailureRate(): MathExpression | Metric
```

##### `metricCpuUtilizationPercent` <a name="metricCpuUtilizationPercent" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricCpuUtilizationPercent"></a>

```typescript
public metricCpuUtilizationPercent(): MathExpression | Metric
```

##### `metricDowntimeMs` <a name="metricDowntimeMs" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricDowntimeMs"></a>

```typescript
public metricDowntimeMs(): MathExpression | Metric
```

##### `metricFullRestartRate` <a name="metricFullRestartRate" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricFullRestartRate"></a>

```typescript
public metricFullRestartRate(): MathExpression | Metric
```

##### `metricFullRestartsCount` <a name="metricFullRestartsCount" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricFullRestartsCount"></a>

```typescript
public metricFullRestartsCount(): MathExpression | Metric
```

##### `metricHeapMemoryUtilizationPercent` <a name="metricHeapMemoryUtilizationPercent" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricHeapMemoryUtilizationPercent"></a>

```typescript
public metricHeapMemoryUtilizationPercent(): MathExpression | Metric
```

##### `metricKPUsCount` <a name="metricKPUsCount" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricKPUsCount"></a>

```typescript
public metricKPUsCount(): MathExpression | Metric
```

##### `metricLastCheckpointDurationMs` <a name="metricLastCheckpointDurationMs" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricLastCheckpointDurationMs"></a>

```typescript
public metricLastCheckpointDurationMs(): MathExpression | Metric
```

##### `metricLastCheckpointSizeBytes` <a name="metricLastCheckpointSizeBytes" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricLastCheckpointSizeBytes"></a>

```typescript
public metricLastCheckpointSizeBytes(): MathExpression | Metric
```

##### `metricNumberOfFailedCheckpointsCount` <a name="metricNumberOfFailedCheckpointsCount" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricNumberOfFailedCheckpointsCount"></a>

```typescript
public metricNumberOfFailedCheckpointsCount(): MathExpression | Metric
```

##### `metricOldGenerationGCCount` <a name="metricOldGenerationGCCount" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricOldGenerationGCCount"></a>

```typescript
public metricOldGenerationGCCount(): MathExpression | Metric
```

##### `metricOldGenerationGCTimeMs` <a name="metricOldGenerationGCTimeMs" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricOldGenerationGCTimeMs"></a>

```typescript
public metricOldGenerationGCTimeMs(): MathExpression | Metric
```

##### `metricUptimeMs` <a name="metricUptimeMs" id="cdk-monitoring-constructs.KinesisDataAnalyticsMetricFactory.metricUptimeMs"></a>

```typescript
public metricUptimeMs(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createBackPressuredTimeWidget">createBackPressuredTimeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createDownTimeWidget">createDownTimeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createFullRestartsWidget">createFullRestartsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createGarbageCollectionWidget">createGarbageCollectionWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createKPUWidget">createKPUWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createLastCheckpointDurationWidget">createLastCheckpointDurationWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createLastCheckpointSizeWidget">createLastCheckpointSizeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createNumberOfFailedCheckpointsWidget">createNumberOfFailedCheckpointsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createResourceUtilizationWidget">createResourceUtilizationWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createBackPressuredTimeWidget` <a name="createBackPressuredTimeWidget" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createBackPressuredTimeWidget"></a>

```typescript
public createBackPressuredTimeWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createBackPressuredTimeWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createBackPressuredTimeWidget.parameter.height"></a>

- *Type:* number

---

##### `createDownTimeWidget` <a name="createDownTimeWidget" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createDownTimeWidget"></a>

```typescript
public createDownTimeWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createDownTimeWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createDownTimeWidget.parameter.height"></a>

- *Type:* number

---

##### `createFullRestartsWidget` <a name="createFullRestartsWidget" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createFullRestartsWidget"></a>

```typescript
public createFullRestartsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createFullRestartsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createFullRestartsWidget.parameter.height"></a>

- *Type:* number

---

##### `createGarbageCollectionWidget` <a name="createGarbageCollectionWidget" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createGarbageCollectionWidget"></a>

```typescript
public createGarbageCollectionWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createGarbageCollectionWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createGarbageCollectionWidget.parameter.height"></a>

- *Type:* number

---

##### `createKPUWidget` <a name="createKPUWidget" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createKPUWidget"></a>

```typescript
public createKPUWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createKPUWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createKPUWidget.parameter.height"></a>

- *Type:* number

---

##### `createLastCheckpointDurationWidget` <a name="createLastCheckpointDurationWidget" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createLastCheckpointDurationWidget"></a>

```typescript
public createLastCheckpointDurationWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createLastCheckpointDurationWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createLastCheckpointDurationWidget.parameter.height"></a>

- *Type:* number

---

##### `createLastCheckpointSizeWidget` <a name="createLastCheckpointSizeWidget" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createLastCheckpointSizeWidget"></a>

```typescript
public createLastCheckpointSizeWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createLastCheckpointSizeWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createLastCheckpointSizeWidget.parameter.height"></a>

- *Type:* number

---

##### `createNumberOfFailedCheckpointsWidget` <a name="createNumberOfFailedCheckpointsWidget" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createNumberOfFailedCheckpointsWidget"></a>

```typescript
public createNumberOfFailedCheckpointsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createNumberOfFailedCheckpointsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createNumberOfFailedCheckpointsWidget.parameter.height"></a>

- *Type:* number

---

##### `createResourceUtilizationWidget` <a name="createResourceUtilizationWidget" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createResourceUtilizationWidget"></a>

```typescript
public createResourceUtilizationWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createResourceUtilizationWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createResourceUtilizationWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.backPressuredTimeMsPerSecondAnnotations">backPressuredTimeMsPerSecondAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.backPressuredTimeMsPerSecondMetric">backPressuredTimeMsPerSecondMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.checkpointFailureCountAnnotations">checkpointFailureCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.checkpointFailureRateAnnotations">checkpointFailureRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.checkpointFailureRateMetric">checkpointFailureRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.cpuUtilizationPercentMetric">cpuUtilizationPercentMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.downtimeAnnotations">downtimeAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.downtimeMsMetric">downtimeMsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.fullRestartAnnotations">fullRestartAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.fullRestartRateAnnotations">fullRestartRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.fullRestartRateMetric">fullRestartRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.fullRestartsCountMetric">fullRestartsCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.heapMemoryUtilizationPercentMetric">heapMemoryUtilizationPercentMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.kdaAlarmFactory">kdaAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory">KinesisDataAnalyticsAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.kpusCountMetric">kpusCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.lastCheckpointDurationMsMetric">lastCheckpointDurationMsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.lastCheckpointSizeBytesMetric">lastCheckpointSizeBytesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.numberOfFailedCheckpointsCountMetric">numberOfFailedCheckpointsCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.oldGenerationGCCountMetric">oldGenerationGCCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.oldGenerationGCTimeMsMetric">oldGenerationGCTimeMsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.kinesisDataAnalyticsUrl">kinesisDataAnalyticsUrl</a></code> | <code>string</code> | *No description.* |

---

##### `backPressuredTimeMsPerSecondAnnotations`<sup>Required</sup> <a name="backPressuredTimeMsPerSecondAnnotations" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.backPressuredTimeMsPerSecondAnnotations"></a>

```typescript
public readonly backPressuredTimeMsPerSecondAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `backPressuredTimeMsPerSecondMetric`<sup>Required</sup> <a name="backPressuredTimeMsPerSecondMetric" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.backPressuredTimeMsPerSecondMetric"></a>

```typescript
public readonly backPressuredTimeMsPerSecondMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `checkpointFailureCountAnnotations`<sup>Required</sup> <a name="checkpointFailureCountAnnotations" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.checkpointFailureCountAnnotations"></a>

```typescript
public readonly checkpointFailureCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `checkpointFailureRateAnnotations`<sup>Required</sup> <a name="checkpointFailureRateAnnotations" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.checkpointFailureRateAnnotations"></a>

```typescript
public readonly checkpointFailureRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `checkpointFailureRateMetric`<sup>Required</sup> <a name="checkpointFailureRateMetric" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.checkpointFailureRateMetric"></a>

```typescript
public readonly checkpointFailureRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cpuUtilizationPercentMetric`<sup>Required</sup> <a name="cpuUtilizationPercentMetric" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.cpuUtilizationPercentMetric"></a>

```typescript
public readonly cpuUtilizationPercentMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `downtimeAnnotations`<sup>Required</sup> <a name="downtimeAnnotations" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.downtimeAnnotations"></a>

```typescript
public readonly downtimeAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `downtimeMsMetric`<sup>Required</sup> <a name="downtimeMsMetric" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.downtimeMsMetric"></a>

```typescript
public readonly downtimeMsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `fullRestartAnnotations`<sup>Required</sup> <a name="fullRestartAnnotations" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.fullRestartAnnotations"></a>

```typescript
public readonly fullRestartAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `fullRestartRateAnnotations`<sup>Required</sup> <a name="fullRestartRateAnnotations" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.fullRestartRateAnnotations"></a>

```typescript
public readonly fullRestartRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `fullRestartRateMetric`<sup>Required</sup> <a name="fullRestartRateMetric" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.fullRestartRateMetric"></a>

```typescript
public readonly fullRestartRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `fullRestartsCountMetric`<sup>Required</sup> <a name="fullRestartsCountMetric" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.fullRestartsCountMetric"></a>

```typescript
public readonly fullRestartsCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `heapMemoryUtilizationPercentMetric`<sup>Required</sup> <a name="heapMemoryUtilizationPercentMetric" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.heapMemoryUtilizationPercentMetric"></a>

```typescript
public readonly heapMemoryUtilizationPercentMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `kdaAlarmFactory`<sup>Required</sup> <a name="kdaAlarmFactory" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.kdaAlarmFactory"></a>

```typescript
public readonly kdaAlarmFactory: KinesisDataAnalyticsAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataAnalyticsAlarmFactory">KinesisDataAnalyticsAlarmFactory</a>

---

##### `kpusCountMetric`<sup>Required</sup> <a name="kpusCountMetric" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.kpusCountMetric"></a>

```typescript
public readonly kpusCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `lastCheckpointDurationMsMetric`<sup>Required</sup> <a name="lastCheckpointDurationMsMetric" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.lastCheckpointDurationMsMetric"></a>

```typescript
public readonly lastCheckpointDurationMsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `lastCheckpointSizeBytesMetric`<sup>Required</sup> <a name="lastCheckpointSizeBytesMetric" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.lastCheckpointSizeBytesMetric"></a>

```typescript
public readonly lastCheckpointSizeBytesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `numberOfFailedCheckpointsCountMetric`<sup>Required</sup> <a name="numberOfFailedCheckpointsCountMetric" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.numberOfFailedCheckpointsCountMetric"></a>

```typescript
public readonly numberOfFailedCheckpointsCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `oldGenerationGCCountMetric`<sup>Required</sup> <a name="oldGenerationGCCountMetric" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.oldGenerationGCCountMetric"></a>

```typescript
public readonly oldGenerationGCCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `oldGenerationGCTimeMsMetric`<sup>Required</sup> <a name="oldGenerationGCTimeMsMetric" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.oldGenerationGCTimeMsMetric"></a>

```typescript
public readonly oldGenerationGCTimeMsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `kinesisDataAnalyticsUrl`<sup>Optional</sup> <a name="kinesisDataAnalyticsUrl" id="cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring.property.kinesisDataAnalyticsUrl"></a>

```typescript
public readonly kinesisDataAnalyticsUrl: string;
```

- *Type:* string

---


### KinesisDataStreamConsumerMetricFactory <a name="KinesisDataStreamConsumerMetricFactory" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory"></a>

Metrics for a single enhanced fan-out (EFO) consumer of a Kinesis data stream.

Dimensions: {StreamName, ConsumerName}.

> [https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html#kinesis-metrics-consumer](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html#kinesis-metrics-consumer)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.Initializer"></a>

```typescript
import { KinesisDataStreamConsumerMetricFactory } from 'cdk-monitoring-constructs'

new KinesisDataStreamConsumerMetricFactory(metricFactory: MetricFactory, props: KinesisDataStreamConsumerMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactoryProps">KinesisDataStreamConsumerMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactoryProps">KinesisDataStreamConsumerMetricFactoryProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.metricSubscribeToShardEventMillisBehindLatestMaxMs">metricSubscribeToShardEventMillisBehindLatestMaxMs</a></code> | Max lag (ms) for events delivered to this EFO consumer. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.metricSubscribeToShardEventRecordsSumCount">metricSubscribeToShardEventRecordsSumCount</a></code> | Records delivered to this consumer. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.metricSubscribeToShardEventSuccessAverage">metricSubscribeToShardEventSuccessAverage</a></code> | Success rate of individual SubscribeToShardEvent deliveries within an open subscription. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.metricSubscribeToShardEventSumBytes">metricSubscribeToShardEventSumBytes</a></code> | Bytes delivered to this consumer. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.metricSubscribeToShardRateExceededAverage">metricSubscribeToShardRateExceededAverage</a></code> | Rate at which SubscribeToShard calls for this consumer are throttled. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.metricSubscribeToShardSuccessAverage">metricSubscribeToShardSuccessAverage</a></code> | Success rate of SubscribeToShard calls (connect handshake). |

---

##### `metricSubscribeToShardEventMillisBehindLatestMaxMs` <a name="metricSubscribeToShardEventMillisBehindLatestMaxMs" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.metricSubscribeToShardEventMillisBehindLatestMaxMs"></a>

```typescript
public metricSubscribeToShardEventMillisBehindLatestMaxMs(): MathExpression | Metric
```

Max lag (ms) for events delivered to this EFO consumer.

##### `metricSubscribeToShardEventRecordsSumCount` <a name="metricSubscribeToShardEventRecordsSumCount" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.metricSubscribeToShardEventRecordsSumCount"></a>

```typescript
public metricSubscribeToShardEventRecordsSumCount(): MathExpression | Metric
```

Records delivered to this consumer.

##### `metricSubscribeToShardEventSuccessAverage` <a name="metricSubscribeToShardEventSuccessAverage" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.metricSubscribeToShardEventSuccessAverage"></a>

```typescript
public metricSubscribeToShardEventSuccessAverage(): MathExpression | Metric
```

Success rate of individual SubscribeToShardEvent deliveries within an open subscription.

##### `metricSubscribeToShardEventSumBytes` <a name="metricSubscribeToShardEventSumBytes" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.metricSubscribeToShardEventSumBytes"></a>

```typescript
public metricSubscribeToShardEventSumBytes(): MathExpression | Metric
```

Bytes delivered to this consumer.

##### `metricSubscribeToShardRateExceededAverage` <a name="metricSubscribeToShardRateExceededAverage" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.metricSubscribeToShardRateExceededAverage"></a>

```typescript
public metricSubscribeToShardRateExceededAverage(): MathExpression | Metric
```

Rate at which SubscribeToShard calls for this consumer are throttled.

##### `metricSubscribeToShardSuccessAverage` <a name="metricSubscribeToShardSuccessAverage" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMetricFactory.metricSubscribeToShardSuccessAverage"></a>

```typescript
public metricSubscribeToShardSuccessAverage(): MathExpression | Metric
```

Success rate of SubscribeToShard calls (connect handshake).




### KinesisDataStreamConsumerMonitoring <a name="KinesisDataStreamConsumerMonitoring" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.Initializer"></a>

```typescript
import { KinesisDataStreamConsumerMonitoring } from 'cdk-monitoring-constructs'

new KinesisDataStreamConsumerMonitoring(scope: MonitoringScope, props: KinesisDataStreamConsumerMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps">KinesisDataStreamConsumerMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoringProps">KinesisDataStreamConsumerMonitoringProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createBytesWidget">createBytesWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createMillisBehindLatestWidget">createMillisBehindLatestWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createRateExceededWidget">createRateExceededWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createRecordsWidget">createRecordsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createSubscribeSuccessWidget">createSubscribeSuccessWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.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.KinesisDataStreamConsumerMonitoring.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.KinesisDataStreamConsumerMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createBytesWidget` <a name="createBytesWidget" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createBytesWidget"></a>

```typescript
public createBytesWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createBytesWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createBytesWidget.parameter.height"></a>

- *Type:* number

---

##### `createMillisBehindLatestWidget` <a name="createMillisBehindLatestWidget" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createMillisBehindLatestWidget"></a>

```typescript
public createMillisBehindLatestWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createMillisBehindLatestWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createMillisBehindLatestWidget.parameter.height"></a>

- *Type:* number

---

##### `createRateExceededWidget` <a name="createRateExceededWidget" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createRateExceededWidget"></a>

```typescript
public createRateExceededWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createRateExceededWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createRateExceededWidget.parameter.height"></a>

- *Type:* number

---

##### `createRecordsWidget` <a name="createRecordsWidget" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createRecordsWidget"></a>

```typescript
public createRecordsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createRecordsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createRecordsWidget.parameter.height"></a>

- *Type:* number

---

##### `createSubscribeSuccessWidget` <a name="createSubscribeSuccessWidget" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createSubscribeSuccessWidget"></a>

```typescript
public createSubscribeSuccessWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createSubscribeSuccessWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createSubscribeSuccessWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.ageAnnotations">ageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.bytesMetric">bytesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.kinesisAlarmFactory">kinesisAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisAlarmFactory">KinesisAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.millisBehindLatestMetric">millisBehindLatestMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.rateExceededAnnotations">rateExceededAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.rateExceededMetric">rateExceededMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.recordsMetric">recordsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.subscribeSuccessAnnotations">subscribeSuccessAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.subscribeToShardEventSuccessMetric">subscribeToShardEventSuccessMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.subscribeToShardSuccessMetric">subscribeToShardSuccessMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.streamUrl">streamUrl</a></code> | <code>string</code> | *No description.* |

---

##### `ageAnnotations`<sup>Required</sup> <a name="ageAnnotations" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.ageAnnotations"></a>

```typescript
public readonly ageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `bytesMetric`<sup>Required</sup> <a name="bytesMetric" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.bytesMetric"></a>

```typescript
public readonly bytesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `kinesisAlarmFactory`<sup>Required</sup> <a name="kinesisAlarmFactory" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.kinesisAlarmFactory"></a>

```typescript
public readonly kinesisAlarmFactory: KinesisAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.KinesisAlarmFactory">KinesisAlarmFactory</a>

---

##### `millisBehindLatestMetric`<sup>Required</sup> <a name="millisBehindLatestMetric" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.millisBehindLatestMetric"></a>

```typescript
public readonly millisBehindLatestMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `rateExceededAnnotations`<sup>Required</sup> <a name="rateExceededAnnotations" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.rateExceededAnnotations"></a>

```typescript
public readonly rateExceededAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `rateExceededMetric`<sup>Required</sup> <a name="rateExceededMetric" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.rateExceededMetric"></a>

```typescript
public readonly rateExceededMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `recordsMetric`<sup>Required</sup> <a name="recordsMetric" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.recordsMetric"></a>

```typescript
public readonly recordsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `subscribeSuccessAnnotations`<sup>Required</sup> <a name="subscribeSuccessAnnotations" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.subscribeSuccessAnnotations"></a>

```typescript
public readonly subscribeSuccessAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `subscribeToShardEventSuccessMetric`<sup>Required</sup> <a name="subscribeToShardEventSuccessMetric" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.subscribeToShardEventSuccessMetric"></a>

```typescript
public readonly subscribeToShardEventSuccessMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `subscribeToShardSuccessMetric`<sup>Required</sup> <a name="subscribeToShardSuccessMetric" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.subscribeToShardSuccessMetric"></a>

```typescript
public readonly subscribeToShardSuccessMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `streamUrl`<sup>Optional</sup> <a name="streamUrl" id="cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring.property.streamUrl"></a>

```typescript
public readonly streamUrl: string;
```

- *Type:* string

---


### 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.metricReadProvisionedThroughputExceeded">metricReadProvisionedThroughputExceeded</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricReadProvisionedThroughputExceededPercent">metricReadProvisionedThroughputExceededPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricWriteProvisionedThroughputExceeded">metricWriteProvisionedThroughputExceeded</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(): MathExpression | Metric
```

##### `metricGetRecordsLatencyAverageMs` <a name="metricGetRecordsLatencyAverageMs" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsLatencyAverageMs"></a>

```typescript
public metricGetRecordsLatencyAverageMs(): MathExpression | Metric
```

##### `metricGetRecordsSuccessCount` <a name="metricGetRecordsSuccessCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsSuccessCount"></a>

```typescript
public metricGetRecordsSuccessCount(): MathExpression | Metric
```

##### `metricGetRecordsSumBytes` <a name="metricGetRecordsSumBytes" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsSumBytes"></a>

```typescript
public metricGetRecordsSumBytes(): MathExpression | Metric
```

##### `metricGetRecordsSumCount` <a name="metricGetRecordsSumCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricGetRecordsSumCount"></a>

```typescript
public metricGetRecordsSumCount(): MathExpression | Metric
```

##### `metricIncomingDataSumBytes` <a name="metricIncomingDataSumBytes" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricIncomingDataSumBytes"></a>

```typescript
public metricIncomingDataSumBytes(): MathExpression | Metric
```

##### `metricIncomingDataSumCount` <a name="metricIncomingDataSumCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricIncomingDataSumCount"></a>

```typescript
public metricIncomingDataSumCount(): MathExpression | Metric
```

##### `metricPutRecordLatencyAverageMs` <a name="metricPutRecordLatencyAverageMs" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordLatencyAverageMs"></a>

```typescript
public metricPutRecordLatencyAverageMs(): MathExpression | Metric
```

##### `metricPutRecordsFailedRecordsCount` <a name="metricPutRecordsFailedRecordsCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsFailedRecordsCount"></a>

```typescript
public metricPutRecordsFailedRecordsCount(): MathExpression | Metric
```

##### `metricPutRecordsLatencyAverageMs` <a name="metricPutRecordsLatencyAverageMs" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsLatencyAverageMs"></a>

```typescript
public metricPutRecordsLatencyAverageMs(): MathExpression | Metric
```

##### `metricPutRecordsSuccessCount` <a name="metricPutRecordsSuccessCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsSuccessCount"></a>

```typescript
public metricPutRecordsSuccessCount(): MathExpression | Metric
```

##### `metricPutRecordsSuccessfulRecordsCount` <a name="metricPutRecordsSuccessfulRecordsCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsSuccessfulRecordsCount"></a>

```typescript
public metricPutRecordsSuccessfulRecordsCount(): MathExpression | Metric
```

##### `metricPutRecordsSumBytes` <a name="metricPutRecordsSumBytes" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsSumBytes"></a>

```typescript
public metricPutRecordsSumBytes(): MathExpression | Metric
```

##### `metricPutRecordsThrottledRecordsCount` <a name="metricPutRecordsThrottledRecordsCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsThrottledRecordsCount"></a>

```typescript
public metricPutRecordsThrottledRecordsCount(): MathExpression | Metric
```

##### `metricPutRecordsTotalRecordsCount` <a name="metricPutRecordsTotalRecordsCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordsTotalRecordsCount"></a>

```typescript
public metricPutRecordsTotalRecordsCount(): MathExpression | Metric
```

##### `metricPutRecordSuccessCount` <a name="metricPutRecordSuccessCount" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordSuccessCount"></a>

```typescript
public metricPutRecordSuccessCount(): MathExpression | Metric
```

##### `metricPutRecordSumBytes` <a name="metricPutRecordSumBytes" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricPutRecordSumBytes"></a>

```typescript
public metricPutRecordSumBytes(): MathExpression | Metric
```

##### `metricReadProvisionedThroughputExceeded` <a name="metricReadProvisionedThroughputExceeded" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricReadProvisionedThroughputExceeded"></a>

```typescript
public metricReadProvisionedThroughputExceeded(): MathExpression | Metric
```

##### ~~`metricReadProvisionedThroughputExceededPercent`~~ <a name="metricReadProvisionedThroughputExceededPercent" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricReadProvisionedThroughputExceededPercent"></a>

```typescript
public metricReadProvisionedThroughputExceededPercent(): MathExpression | Metric
```

##### `metricWriteProvisionedThroughputExceeded` <a name="metricWriteProvisionedThroughputExceeded" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricWriteProvisionedThroughputExceeded"></a>

```typescript
public metricWriteProvisionedThroughputExceeded(): MathExpression | Metric
```

##### ~~`metricWriteProvisionedThroughputExceededPercent`~~ <a name="metricWriteProvisionedThroughputExceededPercent" id="cdk-monitoring-constructs.KinesisDataStreamMetricFactory.metricWriteProvisionedThroughputExceededPercent"></a>

```typescript
public metricWriteProvisionedThroughputExceededPercent(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.createCapacityWidget">createCapacityWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.createIncomingDataWidget">createIncomingDataWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.createIteratorAgeWidget">createIteratorAgeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.createLatencyWidget">createLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.createOperationWidget">createOperationWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.createRecordNumberWidget">createRecordNumberWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.createRecordSizeWidget">createRecordSizeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.createSecondAdditionalRow">createSecondAdditionalRow</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createCapacityWidget` <a name="createCapacityWidget" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createCapacityWidget"></a>

```typescript
public createCapacityWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createCapacityWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createCapacityWidget.parameter.height"></a>

- *Type:* number

---

##### `createIncomingDataWidget` <a name="createIncomingDataWidget" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createIncomingDataWidget"></a>

```typescript
public createIncomingDataWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createIncomingDataWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createIncomingDataWidget.parameter.height"></a>

- *Type:* number

---

##### `createIteratorAgeWidget` <a name="createIteratorAgeWidget" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createIteratorAgeWidget"></a>

```typescript
public createIteratorAgeWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createIteratorAgeWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createIteratorAgeWidget.parameter.height"></a>

- *Type:* number

---

##### `createLatencyWidget` <a name="createLatencyWidget" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createLatencyWidget"></a>

```typescript
public createLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createOperationWidget` <a name="createOperationWidget" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createOperationWidget"></a>

```typescript
public createOperationWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createOperationWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createOperationWidget.parameter.height"></a>

- *Type:* number

---

##### `createRecordNumberWidget` <a name="createRecordNumberWidget" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createRecordNumberWidget"></a>

```typescript
public createRecordNumberWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createRecordNumberWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createRecordNumberWidget.parameter.height"></a>

- *Type:* number

---

##### `createRecordSizeWidget` <a name="createRecordSizeWidget" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createRecordSizeWidget"></a>

```typescript
public createRecordSizeWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createRecordSizeWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createRecordSizeWidget.parameter.height"></a>

- *Type:* number

---

##### `createSecondAdditionalRow` <a name="createSecondAdditionalRow" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createSecondAdditionalRow"></a>

```typescript
public createSecondAdditionalRow(): Row
```

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.ageAnnotations">ageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.incomingDataSumBytesMetric">incomingDataSumBytesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.incomingDataSumCountMetric">incomingDataSumCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.kinesisAlarmFactory">kinesisAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisAlarmFactory">KinesisAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.metricGetRecordsIteratorAge">metricGetRecordsIteratorAge</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.metricGetRecordsLatencyAverage">metricGetRecordsLatencyAverage</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.metricGetRecordsSuccessCount">metricGetRecordsSuccessCount</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.metricGetRecordsSumCount">metricGetRecordsSumCount</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.metricGetRecordSumBytes">metricGetRecordSumBytes</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.provisionedCapacityAnnotations">provisionedCapacityAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordLatencyAverageMetric">putRecordLatencyAverageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsFailedRecordsCountMetric">putRecordsFailedRecordsCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsLatencyAverageMetric">putRecordsLatencyAverageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsSuccessCountMetric">putRecordsSuccessCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsSuccessfulRecordsCountMetric">putRecordsSuccessfulRecordsCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsSumBytesMetric">putRecordsSumBytesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsThrottledRecordsCountMetric">putRecordsThrottledRecordsCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsTotalRecordsCountMetric">putRecordsTotalRecordsCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordSuccessCountMetric">putRecordSuccessCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordSumBytesMetric">putRecordSumBytesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.readProvisionedThroughputExceededMetric">readProvisionedThroughputExceededMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.recordCountAnnotations">recordCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.writeProvisionedThroughputExceededMetric">writeProvisionedThroughputExceededMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.streamUrl">streamUrl</a></code> | <code>string</code> | *No description.* |

---

##### `ageAnnotations`<sup>Required</sup> <a name="ageAnnotations" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.ageAnnotations"></a>

```typescript
public readonly ageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `incomingDataSumBytesMetric`<sup>Required</sup> <a name="incomingDataSumBytesMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.incomingDataSumBytesMetric"></a>

```typescript
public readonly incomingDataSumBytesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `incomingDataSumCountMetric`<sup>Required</sup> <a name="incomingDataSumCountMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.incomingDataSumCountMetric"></a>

```typescript
public readonly incomingDataSumCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `kinesisAlarmFactory`<sup>Required</sup> <a name="kinesisAlarmFactory" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.kinesisAlarmFactory"></a>

```typescript
public readonly kinesisAlarmFactory: KinesisAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.KinesisAlarmFactory">KinesisAlarmFactory</a>

---

##### `metricGetRecordsIteratorAge`<sup>Required</sup> <a name="metricGetRecordsIteratorAge" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.metricGetRecordsIteratorAge"></a>

```typescript
public readonly metricGetRecordsIteratorAge: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricGetRecordsLatencyAverage`<sup>Required</sup> <a name="metricGetRecordsLatencyAverage" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.metricGetRecordsLatencyAverage"></a>

```typescript
public readonly metricGetRecordsLatencyAverage: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricGetRecordsSuccessCount`<sup>Required</sup> <a name="metricGetRecordsSuccessCount" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.metricGetRecordsSuccessCount"></a>

```typescript
public readonly metricGetRecordsSuccessCount: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricGetRecordsSumCount`<sup>Required</sup> <a name="metricGetRecordsSumCount" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.metricGetRecordsSumCount"></a>

```typescript
public readonly metricGetRecordsSumCount: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricGetRecordSumBytes`<sup>Required</sup> <a name="metricGetRecordSumBytes" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.metricGetRecordSumBytes"></a>

```typescript
public readonly metricGetRecordSumBytes: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `provisionedCapacityAnnotations`<sup>Required</sup> <a name="provisionedCapacityAnnotations" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.provisionedCapacityAnnotations"></a>

```typescript
public readonly provisionedCapacityAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `putRecordLatencyAverageMetric`<sup>Required</sup> <a name="putRecordLatencyAverageMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordLatencyAverageMetric"></a>

```typescript
public readonly putRecordLatencyAverageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `putRecordsFailedRecordsCountMetric`<sup>Required</sup> <a name="putRecordsFailedRecordsCountMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsFailedRecordsCountMetric"></a>

```typescript
public readonly putRecordsFailedRecordsCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `putRecordsLatencyAverageMetric`<sup>Required</sup> <a name="putRecordsLatencyAverageMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsLatencyAverageMetric"></a>

```typescript
public readonly putRecordsLatencyAverageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `putRecordsSuccessCountMetric`<sup>Required</sup> <a name="putRecordsSuccessCountMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsSuccessCountMetric"></a>

```typescript
public readonly putRecordsSuccessCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `putRecordsSuccessfulRecordsCountMetric`<sup>Required</sup> <a name="putRecordsSuccessfulRecordsCountMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsSuccessfulRecordsCountMetric"></a>

```typescript
public readonly putRecordsSuccessfulRecordsCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `putRecordsSumBytesMetric`<sup>Required</sup> <a name="putRecordsSumBytesMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsSumBytesMetric"></a>

```typescript
public readonly putRecordsSumBytesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `putRecordsThrottledRecordsCountMetric`<sup>Required</sup> <a name="putRecordsThrottledRecordsCountMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsThrottledRecordsCountMetric"></a>

```typescript
public readonly putRecordsThrottledRecordsCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `putRecordsTotalRecordsCountMetric`<sup>Required</sup> <a name="putRecordsTotalRecordsCountMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordsTotalRecordsCountMetric"></a>

```typescript
public readonly putRecordsTotalRecordsCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `putRecordSuccessCountMetric`<sup>Required</sup> <a name="putRecordSuccessCountMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordSuccessCountMetric"></a>

```typescript
public readonly putRecordSuccessCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `putRecordSumBytesMetric`<sup>Required</sup> <a name="putRecordSumBytesMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.putRecordSumBytesMetric"></a>

```typescript
public readonly putRecordSumBytesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `readProvisionedThroughputExceededMetric`<sup>Required</sup> <a name="readProvisionedThroughputExceededMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.readProvisionedThroughputExceededMetric"></a>

```typescript
public readonly readProvisionedThroughputExceededMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `recordCountAnnotations`<sup>Required</sup> <a name="recordCountAnnotations" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.recordCountAnnotations"></a>

```typescript
public readonly recordCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `writeProvisionedThroughputExceededMetric`<sup>Required</sup> <a name="writeProvisionedThroughputExceededMetric" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.writeProvisionedThroughputExceededMetric"></a>

```typescript
public readonly writeProvisionedThroughputExceededMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `streamUrl`<sup>Optional</sup> <a name="streamUrl" id="cdk-monitoring-constructs.KinesisDataStreamMonitoring.property.streamUrl"></a>

```typescript
public readonly streamUrl: string;
```

- *Type:* string

---


### 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(): MathExpression | Metric
```

##### `metricFailedConversionCount` <a name="metricFailedConversionCount" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricFailedConversionCount"></a>

```typescript
public metricFailedConversionCount(): MathExpression | Metric
```

##### `metricIncomingBytes` <a name="metricIncomingBytes" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingBytes"></a>

```typescript
public metricIncomingBytes(): MathExpression | Metric
```

##### `metricIncomingBytesToLimitRate` <a name="metricIncomingBytesToLimitRate" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingBytesToLimitRate"></a>

```typescript
public metricIncomingBytesToLimitRate(): MathExpression | Metric
```

##### `metricIncomingPutRequests` <a name="metricIncomingPutRequests" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingPutRequests"></a>

```typescript
public metricIncomingPutRequests(): MathExpression | Metric
```

##### `metricIncomingPutRequestsToLimitRate` <a name="metricIncomingPutRequestsToLimitRate" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingPutRequestsToLimitRate"></a>

```typescript
public metricIncomingPutRequestsToLimitRate(): MathExpression | Metric
```

##### `metricIncomingRecordCount` <a name="metricIncomingRecordCount" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingRecordCount"></a>

```typescript
public metricIncomingRecordCount(): MathExpression | Metric
```

##### `metricIncomingRecordsToLimitRate` <a name="metricIncomingRecordsToLimitRate" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricIncomingRecordsToLimitRate"></a>

```typescript
public metricIncomingRecordsToLimitRate(): MathExpression | Metric
```

##### `metricPutRecordBatchLatencyP90InMillis` <a name="metricPutRecordBatchLatencyP90InMillis" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricPutRecordBatchLatencyP90InMillis"></a>

```typescript
public metricPutRecordBatchLatencyP90InMillis(): MathExpression | Metric
```

##### `metricPutRecordLatencyP90InMillis` <a name="metricPutRecordLatencyP90InMillis" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricPutRecordLatencyP90InMillis"></a>

```typescript
public metricPutRecordLatencyP90InMillis(): MathExpression | Metric
```

##### `metricPutRequestsPerSecondLimit` <a name="metricPutRequestsPerSecondLimit" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricPutRequestsPerSecondLimit"></a>

```typescript
public metricPutRequestsPerSecondLimit(): MathExpression | Metric
```

##### `metricRecordsPerSecondLimit` <a name="metricRecordsPerSecondLimit" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricRecordsPerSecondLimit"></a>

```typescript
public metricRecordsPerSecondLimit(): MathExpression | Metric
```

##### `metricSuccessfulConversionCount` <a name="metricSuccessfulConversionCount" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricSuccessfulConversionCount"></a>

```typescript
public metricSuccessfulConversionCount(): MathExpression | Metric
```

##### `metricThrottledRecordCount` <a name="metricThrottledRecordCount" id="cdk-monitoring-constructs.KinesisFirehoseMetricFactory.metricThrottledRecordCount"></a>

```typescript
public metricThrottledRecordCount(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.createConversionWidget">createConversionWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.createIncomingRecordWidget">createIncomingRecordWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.createLatencyWidget">createLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.createLimitWidget">createLimitWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createConversionWidget` <a name="createConversionWidget" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createConversionWidget"></a>

```typescript
public createConversionWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createConversionWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createConversionWidget.parameter.height"></a>

- *Type:* number

---

##### `createIncomingRecordWidget` <a name="createIncomingRecordWidget" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createIncomingRecordWidget"></a>

```typescript
public createIncomingRecordWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createIncomingRecordWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createIncomingRecordWidget.parameter.height"></a>

- *Type:* number

---

##### `createLatencyWidget` <a name="createLatencyWidget" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createLatencyWidget"></a>

```typescript
public createLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createLimitWidget` <a name="createLimitWidget" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createLimitWidget"></a>

```typescript
public createLimitWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createLimitWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createLimitWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.failedConversionMetric">failedConversionMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.incomingBytesMetric">incomingBytesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.incomingBytesToLimitRate">incomingBytesToLimitRate</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.incomingLimitAnnotations">incomingLimitAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.incomingPutRequestsToLimitRate">incomingPutRequestsToLimitRate</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.incomingRecordsMetric">incomingRecordsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.incomingRecordsToLimitRate">incomingRecordsToLimitRate</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.isDataFormatConversionEnabled">isDataFormatConversionEnabled</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.kinesisAlarmFactory">kinesisAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.KinesisAlarmFactory">KinesisAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.putRecordBatchLatency">putRecordBatchLatency</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.putRecordLatency">putRecordLatency</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.recordCountAnnotations">recordCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.successfulConversionMetric">successfulConversionMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.throttledRecordsMetric">throttledRecordsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.streamUrl">streamUrl</a></code> | <code>string</code> | *No description.* |

---

##### `failedConversionMetric`<sup>Required</sup> <a name="failedConversionMetric" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.failedConversionMetric"></a>

```typescript
public readonly failedConversionMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `incomingBytesMetric`<sup>Required</sup> <a name="incomingBytesMetric" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.incomingBytesMetric"></a>

```typescript
public readonly incomingBytesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `incomingBytesToLimitRate`<sup>Required</sup> <a name="incomingBytesToLimitRate" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.incomingBytesToLimitRate"></a>

```typescript
public readonly incomingBytesToLimitRate: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `incomingLimitAnnotations`<sup>Required</sup> <a name="incomingLimitAnnotations" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.incomingLimitAnnotations"></a>

```typescript
public readonly incomingLimitAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `incomingPutRequestsToLimitRate`<sup>Required</sup> <a name="incomingPutRequestsToLimitRate" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.incomingPutRequestsToLimitRate"></a>

```typescript
public readonly incomingPutRequestsToLimitRate: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `incomingRecordsMetric`<sup>Required</sup> <a name="incomingRecordsMetric" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.incomingRecordsMetric"></a>

```typescript
public readonly incomingRecordsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `incomingRecordsToLimitRate`<sup>Required</sup> <a name="incomingRecordsToLimitRate" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.incomingRecordsToLimitRate"></a>

```typescript
public readonly incomingRecordsToLimitRate: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `isDataFormatConversionEnabled`<sup>Required</sup> <a name="isDataFormatConversionEnabled" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.isDataFormatConversionEnabled"></a>

```typescript
public readonly isDataFormatConversionEnabled: boolean;
```

- *Type:* boolean

---

##### `kinesisAlarmFactory`<sup>Required</sup> <a name="kinesisAlarmFactory" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.kinesisAlarmFactory"></a>

```typescript
public readonly kinesisAlarmFactory: KinesisAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.KinesisAlarmFactory">KinesisAlarmFactory</a>

---

##### `putRecordBatchLatency`<sup>Required</sup> <a name="putRecordBatchLatency" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.putRecordBatchLatency"></a>

```typescript
public readonly putRecordBatchLatency: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `putRecordLatency`<sup>Required</sup> <a name="putRecordLatency" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.putRecordLatency"></a>

```typescript
public readonly putRecordLatency: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `recordCountAnnotations`<sup>Required</sup> <a name="recordCountAnnotations" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.recordCountAnnotations"></a>

```typescript
public readonly recordCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `successfulConversionMetric`<sup>Required</sup> <a name="successfulConversionMetric" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.successfulConversionMetric"></a>

```typescript
public readonly successfulConversionMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `throttledRecordsMetric`<sup>Required</sup> <a name="throttledRecordsMetric" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.throttledRecordsMetric"></a>

```typescript
public readonly throttledRecordsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `streamUrl`<sup>Optional</sup> <a name="streamUrl" id="cdk-monitoring-constructs.KinesisFirehoseMonitoring.property.streamUrl"></a>

```typescript
public readonly streamUrl: string;
```

- *Type:* string

---


### LambdaAlarmActionStrategy <a name="LambdaAlarmActionStrategy" id="cdk-monitoring-constructs.LambdaAlarmActionStrategy"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IAlarmActionStrategy">IAlarmActionStrategy</a>

Alarm action strategy that triggers a Lambda function.

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.LambdaAlarmActionStrategy.Initializer"></a>

```typescript
import { LambdaAlarmActionStrategy } from 'cdk-monitoring-constructs'

new LambdaAlarmActionStrategy(lambdaFunction: IAlias | IFunction | IVersion)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaAlarmActionStrategy.Initializer.parameter.lambdaFunction">lambdaFunction</a></code> | <code>aws-cdk-lib.aws_lambda.IAlias \| aws-cdk-lib.aws_lambda.IFunction \| aws-cdk-lib.aws_lambda.IVersion</code> | *No description.* |

---

##### `lambdaFunction`<sup>Required</sup> <a name="lambdaFunction" id="cdk-monitoring-constructs.LambdaAlarmActionStrategy.Initializer.parameter.lambdaFunction"></a>

- *Type:* aws-cdk-lib.aws_lambda.IAlias | aws-cdk-lib.aws_lambda.IFunction | aws-cdk-lib.aws_lambda.IVersion

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaAlarmActionStrategy.addAlarmActions">addAlarmActions</a></code> | *No description.* |

---

##### `addAlarmActions` <a name="addAlarmActions" id="cdk-monitoring-constructs.LambdaAlarmActionStrategy.addAlarmActions"></a>

```typescript
public addAlarmActions(props: AlarmActionStrategyProps): void
```

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.LambdaAlarmActionStrategy.addAlarmActions.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmActionStrategyProps">AlarmActionStrategyProps</a>

---




### 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, props: LambdaFunctionEnhancedMetricFactoryProps)
```

| **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.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactoryProps">LambdaFunctionEnhancedMetricFactoryProps</a></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>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactoryProps">LambdaFunctionEnhancedMetricFactoryProps</a>

---

#### 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.enhancedMetricAvgInitDuration">enhancedMetricAvgInitDuration</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.enhancedMetricInitDuration">enhancedMetricInitDuration</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricMaxCpuTotalTime">enhancedMetricMaxCpuTotalTime</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricMaxInitDuration">enhancedMetricMaxInitDuration</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricMaxMemoryUtilization">enhancedMetricMaxMemoryUtilization</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricMaxTotalMemory">enhancedMetricMaxTotalMemory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricP90CpuTotalTime">enhancedMetricP90CpuTotalTime</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricP90InitDuration">enhancedMetricP90InitDuration</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(): MathExpression | Metric
```

##### `enhancedMetricAvgInitDuration` <a name="enhancedMetricAvgInitDuration" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricAvgInitDuration"></a>

```typescript
public enhancedMetricAvgInitDuration(): MathExpression | Metric
```

##### `enhancedMetricAvgMemoryUtilization` <a name="enhancedMetricAvgMemoryUtilization" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricAvgMemoryUtilization"></a>

```typescript
public enhancedMetricAvgMemoryUtilization(): MathExpression | Metric
```

##### `enhancedMetricFunctionCost` <a name="enhancedMetricFunctionCost" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricFunctionCost"></a>

```typescript
public enhancedMetricFunctionCost(): MathExpression | Metric
```

##### `enhancedMetricInitDuration` <a name="enhancedMetricInitDuration" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricInitDuration"></a>

```typescript
public enhancedMetricInitDuration(): MathExpression | Metric
```

##### `enhancedMetricMaxCpuTotalTime` <a name="enhancedMetricMaxCpuTotalTime" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricMaxCpuTotalTime"></a>

```typescript
public enhancedMetricMaxCpuTotalTime(): MathExpression | Metric
```

##### `enhancedMetricMaxInitDuration` <a name="enhancedMetricMaxInitDuration" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricMaxInitDuration"></a>

```typescript
public enhancedMetricMaxInitDuration(): MathExpression | Metric
```

##### `enhancedMetricMaxMemoryUtilization` <a name="enhancedMetricMaxMemoryUtilization" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricMaxMemoryUtilization"></a>

```typescript
public enhancedMetricMaxMemoryUtilization(): MathExpression | Metric
```

##### `enhancedMetricMaxTotalMemory` <a name="enhancedMetricMaxTotalMemory" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricMaxTotalMemory"></a>

```typescript
public enhancedMetricMaxTotalMemory(): MathExpression | Metric
```

##### `enhancedMetricP90CpuTotalTime` <a name="enhancedMetricP90CpuTotalTime" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricP90CpuTotalTime"></a>

```typescript
public enhancedMetricP90CpuTotalTime(): MathExpression | Metric
```

##### `enhancedMetricP90InitDuration` <a name="enhancedMetricP90InitDuration" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricP90InitDuration"></a>

```typescript
public enhancedMetricP90InitDuration(): MathExpression | Metric
```

##### `enhancedMetricP90MemoryUtilization` <a name="enhancedMetricP90MemoryUtilization" id="cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory.enhancedMetricP90MemoryUtilization"></a>

```typescript
public enhancedMetricP90MemoryUtilization(): MathExpression | Metric
```




### 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.metricLatencyInMillis">metricLatencyInMillis</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.metricMaxOffsetLagInNumberOfRecords">metricMaxOffsetLagInNumberOfRecords</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(): MathExpression | Metric
```

##### `metricFaultCount` <a name="metricFaultCount" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricFaultCount"></a>

```typescript
public metricFaultCount(): MathExpression | Metric
```

##### `metricFaultRate` <a name="metricFaultRate" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricFaultRate"></a>

```typescript
public metricFaultRate(): MathExpression | Metric
```

##### `metricInvocationCount` <a name="metricInvocationCount" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricInvocationCount"></a>

```typescript
public metricInvocationCount(): MathExpression | Metric
```

##### `metricInvocationRate` <a name="metricInvocationRate" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricInvocationRate"></a>

```typescript
public metricInvocationRate(rateComputationMethod?: RateComputationMethod): MathExpression | Metric
```

###### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricInvocationRate.parameter.rateComputationMethod"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>

---

##### `metricLatencyInMillis` <a name="metricLatencyInMillis" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricLatencyInMillis"></a>

```typescript
public metricLatencyInMillis(latencyType: LatencyType): MathExpression | Metric
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricLatencyInMillis.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### ~~`metricLatencyP50InMillis`~~ <a name="metricLatencyP50InMillis" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricLatencyP50InMillis"></a>

```typescript
public metricLatencyP50InMillis(): MathExpression | Metric
```

##### ~~`metricLatencyP90InMillis`~~ <a name="metricLatencyP90InMillis" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricLatencyP90InMillis"></a>

```typescript
public metricLatencyP90InMillis(): MathExpression | Metric
```

##### ~~`metricLatencyP99InMillis`~~ <a name="metricLatencyP99InMillis" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricLatencyP99InMillis"></a>

```typescript
public metricLatencyP99InMillis(): MathExpression | Metric
```

##### `metricMaxIteratorAgeInMillis` <a name="metricMaxIteratorAgeInMillis" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricMaxIteratorAgeInMillis"></a>

```typescript
public metricMaxIteratorAgeInMillis(): MathExpression | Metric
```

##### `metricMaxOffsetLagInNumberOfRecords` <a name="metricMaxOffsetLagInNumberOfRecords" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricMaxOffsetLagInNumberOfRecords"></a>

```typescript
public metricMaxOffsetLagInNumberOfRecords(): MathExpression | Metric
```

##### `metricProvisionedConcurrencySpilloverInvocations` <a name="metricProvisionedConcurrencySpilloverInvocations" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricProvisionedConcurrencySpilloverInvocations"></a>

```typescript
public metricProvisionedConcurrencySpilloverInvocations(): MathExpression | Metric
```

##### `metricProvisionedConcurrencySpilloverRate` <a name="metricProvisionedConcurrencySpilloverRate" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricProvisionedConcurrencySpilloverRate"></a>

```typescript
public metricProvisionedConcurrencySpilloverRate(): MathExpression | Metric
```

##### `metricThrottlesCount` <a name="metricThrottlesCount" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricThrottlesCount"></a>

```typescript
public metricThrottlesCount(): MathExpression | Metric
```

##### `metricThrottlesRate` <a name="metricThrottlesRate" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricThrottlesRate"></a>

```typescript
public metricThrottlesRate(): MathExpression | Metric
```

##### ~~`metricTps`~~ <a name="metricTps" id="cdk-monitoring-constructs.LambdaFunctionMetricFactory.metricTps"></a>

```typescript
public metricTps(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createErrorCountWidget">createErrorCountWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createErrorRateWidget">createErrorRateWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createInvocationWidget">createInvocationWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createIteratorAgeWidget">createIteratorAgeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsCpuWidget">createLambdaInsightsCpuWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsFunctionCostWidget">createLambdaInsightsFunctionCostWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsInitDurationWidget">createLambdaInsightsInitDurationWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsMemoryWidget">createLambdaInsightsMemoryWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createLatencyWidget">createLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createOffsetLagWidget">createOffsetLagWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createRateWidget">createRateWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.createTpsWidget">createTpsWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createErrorCountWidget` <a name="createErrorCountWidget" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createErrorCountWidget"></a>

```typescript
public createErrorCountWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createErrorCountWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createErrorCountWidget.parameter.height"></a>

- *Type:* number

---

##### `createErrorRateWidget` <a name="createErrorRateWidget" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createErrorRateWidget"></a>

```typescript
public createErrorRateWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createErrorRateWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createErrorRateWidget.parameter.height"></a>

- *Type:* number

---

##### `createInvocationWidget` <a name="createInvocationWidget" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createInvocationWidget"></a>

```typescript
public createInvocationWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createInvocationWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createInvocationWidget.parameter.height"></a>

- *Type:* number

---

##### `createIteratorAgeWidget` <a name="createIteratorAgeWidget" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createIteratorAgeWidget"></a>

```typescript
public createIteratorAgeWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createIteratorAgeWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createIteratorAgeWidget.parameter.height"></a>

- *Type:* number

---

##### `createLambdaInsightsCpuWidget` <a name="createLambdaInsightsCpuWidget" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsCpuWidget"></a>

```typescript
public createLambdaInsightsCpuWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsCpuWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsCpuWidget.parameter.height"></a>

- *Type:* number

---

##### `createLambdaInsightsFunctionCostWidget` <a name="createLambdaInsightsFunctionCostWidget" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsFunctionCostWidget"></a>

```typescript
public createLambdaInsightsFunctionCostWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsFunctionCostWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsFunctionCostWidget.parameter.height"></a>

- *Type:* number

---

##### `createLambdaInsightsInitDurationWidget` <a name="createLambdaInsightsInitDurationWidget" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsInitDurationWidget"></a>

```typescript
public createLambdaInsightsInitDurationWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsInitDurationWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsInitDurationWidget.parameter.height"></a>

- *Type:* number

---

##### `createLambdaInsightsMemoryWidget` <a name="createLambdaInsightsMemoryWidget" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsMemoryWidget"></a>

```typescript
public createLambdaInsightsMemoryWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsMemoryWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLambdaInsightsMemoryWidget.parameter.height"></a>

- *Type:* number

---

##### `createLatencyWidget` <a name="createLatencyWidget" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLatencyWidget"></a>

```typescript
public createLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createOffsetLagWidget` <a name="createOffsetLagWidget" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createOffsetLagWidget"></a>

```typescript
public createOffsetLagWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createOffsetLagWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createOffsetLagWidget.parameter.height"></a>

- *Type:* number

---

##### `createRateWidget` <a name="createRateWidget" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createRateWidget"></a>

```typescript
public createRateWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createRateWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createRateWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```

##### `createTpsWidget` <a name="createTpsWidget" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createTpsWidget"></a>

```typescript
public createTpsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createTpsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.createTpsWidget.parameter.height"></a>

- *Type:* number

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.ageAlarmFactory">ageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AgeAlarmFactory">AgeAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.concurrentExecutionsCountMetric">concurrentExecutionsCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.cpuTotalTimeAnnotations">cpuTotalTimeAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.faultCountMetric">faultCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.faultRateMetric">faultRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.initDurationAnnotations">initDurationAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.invocationCountAnnotations">invocationCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.invocationCountMetric">invocationCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.invocationRateAnnotations">invocationRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.isIterator">isIterator</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.isOffsetLag">isOffsetLag</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.lambdaInsightsEnabled">lambdaInsightsEnabled</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.latencyAlarmFactory">latencyAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.latencyAnnotations">latencyAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.maxIteratorAgeAnnotations">maxIteratorAgeAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.maxIteratorAgeMetric">maxIteratorAgeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.maxLatencyMetric">maxLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.maxOffsetLagAnnotations">maxOffsetLagAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.maxOffsetLagMetric">maxOffsetLagMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.memoryUsageAnnotations">memoryUsageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory">LambdaFunctionMetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.namingStrategy">namingStrategy</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringNamingStrategy">MonitoringNamingStrategy</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.p50LatencyMetric">p50LatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.p90LatencyMetric">p90LatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.p99LatencyMetric">p99LatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.provisionedConcurrencySpilloverInvocationsCountMetric">provisionedConcurrencySpilloverInvocationsCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.provisionedConcurrencySpilloverInvocationsRateMetric">provisionedConcurrencySpilloverInvocationsRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.taskHealthAlarmFactory">taskHealthAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory">TaskHealthAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.throttlesCountMetric">throttlesCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.throttlesRateMetric">throttlesRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.tpsAlarmFactory">tpsAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.TpsAlarmFactory">TpsAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.tpsAnnotations">tpsAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.tpsMetric">tpsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.usageAlarmFactory">usageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMetricFactory">enhancedMetricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory">LambdaFunctionEnhancedMetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMetricFunctionCostMetric">enhancedMetricFunctionCostMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringAvgCpuTotalTimeMetric">enhancedMonitoringAvgCpuTotalTimeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringAvgInitDurationMetric">enhancedMonitoringAvgInitDurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringAvgMemoryUtilizationMetric">enhancedMonitoringAvgMemoryUtilizationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringMaxCpuTotalTimeMetric">enhancedMonitoringMaxCpuTotalTimeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringMaxInitDurationMetric">enhancedMonitoringMaxInitDurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringMaxMemoryUtilizationMetric">enhancedMonitoringMaxMemoryUtilizationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringP90CpuTotalTimeMetric">enhancedMonitoringP90CpuTotalTimeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringP90InitDurationMetric">enhancedMonitoringP90InitDurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringP90MemoryUtilizationMetric">enhancedMonitoringP90MemoryUtilizationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LambdaFunctionMonitoring.property.functionUrl">functionUrl</a></code> | <code>string</code> | *No description.* |

---

##### `ageAlarmFactory`<sup>Required</sup> <a name="ageAlarmFactory" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.ageAlarmFactory"></a>

```typescript
public readonly ageAlarmFactory: AgeAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AgeAlarmFactory">AgeAlarmFactory</a>

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.alarmFactory"></a>

```typescript
public readonly alarmFactory: AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

##### `concurrentExecutionsCountMetric`<sup>Required</sup> <a name="concurrentExecutionsCountMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.concurrentExecutionsCountMetric"></a>

```typescript
public readonly concurrentExecutionsCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cpuTotalTimeAnnotations`<sup>Required</sup> <a name="cpuTotalTimeAnnotations" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.cpuTotalTimeAnnotations"></a>

```typescript
public readonly cpuTotalTimeAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `faultCountMetric`<sup>Required</sup> <a name="faultCountMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.faultCountMetric"></a>

```typescript
public readonly faultCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `faultRateMetric`<sup>Required</sup> <a name="faultRateMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.faultRateMetric"></a>

```typescript
public readonly faultRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `initDurationAnnotations`<sup>Required</sup> <a name="initDurationAnnotations" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.initDurationAnnotations"></a>

```typescript
public readonly initDurationAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `invocationCountAnnotations`<sup>Required</sup> <a name="invocationCountAnnotations" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.invocationCountAnnotations"></a>

```typescript
public readonly invocationCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `invocationCountMetric`<sup>Required</sup> <a name="invocationCountMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.invocationCountMetric"></a>

```typescript
public readonly invocationCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `invocationRateAnnotations`<sup>Required</sup> <a name="invocationRateAnnotations" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.invocationRateAnnotations"></a>

```typescript
public readonly invocationRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `isIterator`<sup>Required</sup> <a name="isIterator" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.isIterator"></a>

```typescript
public readonly isIterator: boolean;
```

- *Type:* boolean

---

##### `isOffsetLag`<sup>Required</sup> <a name="isOffsetLag" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.isOffsetLag"></a>

```typescript
public readonly isOffsetLag: boolean;
```

- *Type:* boolean

---

##### `lambdaInsightsEnabled`<sup>Required</sup> <a name="lambdaInsightsEnabled" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.lambdaInsightsEnabled"></a>

```typescript
public readonly lambdaInsightsEnabled: boolean;
```

- *Type:* boolean

---

##### `latencyAlarmFactory`<sup>Required</sup> <a name="latencyAlarmFactory" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.latencyAlarmFactory"></a>

```typescript
public readonly latencyAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `latencyAnnotations`<sup>Required</sup> <a name="latencyAnnotations" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.latencyAnnotations"></a>

```typescript
public readonly latencyAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `maxIteratorAgeAnnotations`<sup>Required</sup> <a name="maxIteratorAgeAnnotations" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.maxIteratorAgeAnnotations"></a>

```typescript
public readonly maxIteratorAgeAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `maxIteratorAgeMetric`<sup>Required</sup> <a name="maxIteratorAgeMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.maxIteratorAgeMetric"></a>

```typescript
public readonly maxIteratorAgeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `maxLatencyMetric`<sup>Required</sup> <a name="maxLatencyMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.maxLatencyMetric"></a>

```typescript
public readonly maxLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `maxOffsetLagAnnotations`<sup>Required</sup> <a name="maxOffsetLagAnnotations" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.maxOffsetLagAnnotations"></a>

```typescript
public readonly maxOffsetLagAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `maxOffsetLagMetric`<sup>Required</sup> <a name="maxOffsetLagMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.maxOffsetLagMetric"></a>

```typescript
public readonly maxOffsetLagMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `memoryUsageAnnotations`<sup>Required</sup> <a name="memoryUsageAnnotations" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.memoryUsageAnnotations"></a>

```typescript
public readonly memoryUsageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.metricFactory"></a>

```typescript
public readonly metricFactory: LambdaFunctionMetricFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LambdaFunctionMetricFactory">LambdaFunctionMetricFactory</a>

---

##### `namingStrategy`<sup>Required</sup> <a name="namingStrategy" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.namingStrategy"></a>

```typescript
public readonly namingStrategy: MonitoringNamingStrategy;
```

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringNamingStrategy">MonitoringNamingStrategy</a>

---

##### `p50LatencyMetric`<sup>Required</sup> <a name="p50LatencyMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.p50LatencyMetric"></a>

```typescript
public readonly p50LatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p90LatencyMetric`<sup>Required</sup> <a name="p90LatencyMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.p90LatencyMetric"></a>

```typescript
public readonly p90LatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p99LatencyMetric`<sup>Required</sup> <a name="p99LatencyMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.p99LatencyMetric"></a>

```typescript
public readonly p99LatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `provisionedConcurrencySpilloverInvocationsCountMetric`<sup>Required</sup> <a name="provisionedConcurrencySpilloverInvocationsCountMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.provisionedConcurrencySpilloverInvocationsCountMetric"></a>

```typescript
public readonly provisionedConcurrencySpilloverInvocationsCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `provisionedConcurrencySpilloverInvocationsRateMetric`<sup>Required</sup> <a name="provisionedConcurrencySpilloverInvocationsRateMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.provisionedConcurrencySpilloverInvocationsRateMetric"></a>

```typescript
public readonly provisionedConcurrencySpilloverInvocationsRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `taskHealthAlarmFactory`<sup>Required</sup> <a name="taskHealthAlarmFactory" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.taskHealthAlarmFactory"></a>

```typescript
public readonly taskHealthAlarmFactory: TaskHealthAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory">TaskHealthAlarmFactory</a>

---

##### `throttlesCountMetric`<sup>Required</sup> <a name="throttlesCountMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.throttlesCountMetric"></a>

```typescript
public readonly throttlesCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `throttlesRateMetric`<sup>Required</sup> <a name="throttlesRateMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.throttlesRateMetric"></a>

```typescript
public readonly throttlesRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `tpsAlarmFactory`<sup>Required</sup> <a name="tpsAlarmFactory" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.tpsAlarmFactory"></a>

```typescript
public readonly tpsAlarmFactory: TpsAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.TpsAlarmFactory">TpsAlarmFactory</a>

---

##### `tpsAnnotations`<sup>Required</sup> <a name="tpsAnnotations" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.tpsAnnotations"></a>

```typescript
public readonly tpsAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `tpsMetric`<sup>Required</sup> <a name="tpsMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.tpsMetric"></a>

```typescript
public readonly tpsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `usageAlarmFactory`<sup>Required</sup> <a name="usageAlarmFactory" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.usageAlarmFactory"></a>

```typescript
public readonly usageAlarmFactory: UsageAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a>

---

##### `enhancedMetricFactory`<sup>Optional</sup> <a name="enhancedMetricFactory" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMetricFactory"></a>

```typescript
public readonly enhancedMetricFactory: LambdaFunctionEnhancedMetricFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LambdaFunctionEnhancedMetricFactory">LambdaFunctionEnhancedMetricFactory</a>

---

##### `enhancedMetricFunctionCostMetric`<sup>Optional</sup> <a name="enhancedMetricFunctionCostMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMetricFunctionCostMetric"></a>

```typescript
public readonly enhancedMetricFunctionCostMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `enhancedMonitoringAvgCpuTotalTimeMetric`<sup>Optional</sup> <a name="enhancedMonitoringAvgCpuTotalTimeMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringAvgCpuTotalTimeMetric"></a>

```typescript
public readonly enhancedMonitoringAvgCpuTotalTimeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `enhancedMonitoringAvgInitDurationMetric`<sup>Optional</sup> <a name="enhancedMonitoringAvgInitDurationMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringAvgInitDurationMetric"></a>

```typescript
public readonly enhancedMonitoringAvgInitDurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `enhancedMonitoringAvgMemoryUtilizationMetric`<sup>Optional</sup> <a name="enhancedMonitoringAvgMemoryUtilizationMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringAvgMemoryUtilizationMetric"></a>

```typescript
public readonly enhancedMonitoringAvgMemoryUtilizationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `enhancedMonitoringMaxCpuTotalTimeMetric`<sup>Optional</sup> <a name="enhancedMonitoringMaxCpuTotalTimeMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringMaxCpuTotalTimeMetric"></a>

```typescript
public readonly enhancedMonitoringMaxCpuTotalTimeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `enhancedMonitoringMaxInitDurationMetric`<sup>Optional</sup> <a name="enhancedMonitoringMaxInitDurationMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringMaxInitDurationMetric"></a>

```typescript
public readonly enhancedMonitoringMaxInitDurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `enhancedMonitoringMaxMemoryUtilizationMetric`<sup>Optional</sup> <a name="enhancedMonitoringMaxMemoryUtilizationMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringMaxMemoryUtilizationMetric"></a>

```typescript
public readonly enhancedMonitoringMaxMemoryUtilizationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `enhancedMonitoringP90CpuTotalTimeMetric`<sup>Optional</sup> <a name="enhancedMonitoringP90CpuTotalTimeMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringP90CpuTotalTimeMetric"></a>

```typescript
public readonly enhancedMonitoringP90CpuTotalTimeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `enhancedMonitoringP90InitDurationMetric`<sup>Optional</sup> <a name="enhancedMonitoringP90InitDurationMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringP90InitDurationMetric"></a>

```typescript
public readonly enhancedMonitoringP90InitDurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `enhancedMonitoringP90MemoryUtilizationMetric`<sup>Optional</sup> <a name="enhancedMonitoringP90MemoryUtilizationMetric" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.enhancedMonitoringP90MemoryUtilizationMetric"></a>

```typescript
public readonly enhancedMonitoringP90MemoryUtilizationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `functionUrl`<sup>Optional</sup> <a name="functionUrl" id="cdk-monitoring-constructs.LambdaFunctionMonitoring.property.functionUrl"></a>

```typescript
public readonly functionUrl: string;
```

- *Type:* string

---


### 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.addCustomDurationAlarm">addCustomDurationAlarm</a></code> | *No 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.* |

---

##### `addCustomDurationAlarm` <a name="addCustomDurationAlarm" id="cdk-monitoring-constructs.LatencyAlarmFactory.addCustomDurationAlarm"></a>

```typescript
public addCustomDurationAlarm(metric: MathExpression | Metric, latencyType: LatencyType, props: DurationThreshold, durationName: string, disambiguator?: string, additionalAlarmNameSuffix?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.LatencyAlarmFactory.addCustomDurationAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.LatencyAlarmFactory.addCustomDurationAlarm.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.LatencyAlarmFactory.addCustomDurationAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.DurationThreshold">DurationThreshold</a>

---

###### `durationName`<sup>Required</sup> <a name="durationName" id="cdk-monitoring-constructs.LatencyAlarmFactory.addCustomDurationAlarm.parameter.durationName"></a>

- *Type:* string

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.LatencyAlarmFactory.addCustomDurationAlarm.parameter.disambiguator"></a>

- *Type:* string

---

###### `additionalAlarmNameSuffix`<sup>Optional</sup> <a name="additionalAlarmNameSuffix" id="cdk-monitoring-constructs.LatencyAlarmFactory.addCustomDurationAlarm.parameter.additionalAlarmNameSuffix"></a>

- *Type:* string

---

##### `addDurationAlarm` <a name="addDurationAlarm" id="cdk-monitoring-constructs.LatencyAlarmFactory.addDurationAlarm"></a>

```typescript
public addDurationAlarm(metric: MathExpression | Metric, latencyType: LatencyType, props: DurationThreshold, disambiguator?: string, additionalAlarmNameSuffix?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.LatencyAlarmFactory.addDurationAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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

---

###### `additionalAlarmNameSuffix`<sup>Optional</sup> <a name="additionalAlarmNameSuffix" id="cdk-monitoring-constructs.LatencyAlarmFactory.addDurationAlarm.parameter.additionalAlarmNameSuffix"></a>

- *Type:* string

---

##### `addIntegrationLatencyAlarm` <a name="addIntegrationLatencyAlarm" id="cdk-monitoring-constructs.LatencyAlarmFactory.addIntegrationLatencyAlarm"></a>

```typescript
public addIntegrationLatencyAlarm(metric: MathExpression | Metric, latencyType: LatencyType, props: LatencyThreshold, disambiguator?: string, additionalAlarmNameSuffix?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.LatencyAlarmFactory.addIntegrationLatencyAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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

---

###### `additionalAlarmNameSuffix`<sup>Optional</sup> <a name="additionalAlarmNameSuffix" id="cdk-monitoring-constructs.LatencyAlarmFactory.addIntegrationLatencyAlarm.parameter.additionalAlarmNameSuffix"></a>

- *Type:* string

---

##### `addJvmGarbageCollectionDurationAlarm` <a name="addJvmGarbageCollectionDurationAlarm" id="cdk-monitoring-constructs.LatencyAlarmFactory.addJvmGarbageCollectionDurationAlarm"></a>

```typescript
public addJvmGarbageCollectionDurationAlarm(metric: MathExpression | Metric, latencyType: LatencyType, props: DurationThreshold, disambiguator?: string, additionalAlarmNameSuffix?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.LatencyAlarmFactory.addJvmGarbageCollectionDurationAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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

---

###### `additionalAlarmNameSuffix`<sup>Optional</sup> <a name="additionalAlarmNameSuffix" id="cdk-monitoring-constructs.LatencyAlarmFactory.addJvmGarbageCollectionDurationAlarm.parameter.additionalAlarmNameSuffix"></a>

- *Type:* string

---

##### `addLatencyAlarm` <a name="addLatencyAlarm" id="cdk-monitoring-constructs.LatencyAlarmFactory.addLatencyAlarm"></a>

```typescript
public addLatencyAlarm(metric: MathExpression | Metric, latencyType: LatencyType, props: LatencyThreshold, disambiguator?: string, additionalAlarmNameSuffix?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.LatencyAlarmFactory.addLatencyAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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

---

###### `additionalAlarmNameSuffix`<sup>Optional</sup> <a name="additionalAlarmNameSuffix" id="cdk-monitoring-constructs.LatencyAlarmFactory.addLatencyAlarm.parameter.additionalAlarmNameSuffix"></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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.createIncomingLogsWidget">createIncomingLogsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.LogMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.LogMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createIncomingLogsWidget` <a name="createIncomingLogsWidget" id="cdk-monitoring-constructs.LogMonitoring.createIncomingLogsWidget"></a>

```typescript
public createIncomingLogsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.LogMonitoring.createIncomingLogsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.LogMonitoring.createIncomingLogsWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.LogMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.property.incomingLogEventsMetric">incomingLogEventsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.property.limit">limit</a></code> | <code>number</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.property.logGroupName">logGroupName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.property.usageAlarmFactory">usageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.property.usageAnnotations">usageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.property.filterExpressions">filterExpressions</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.property.logGroupUrl">logGroupUrl</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.property.pattern">pattern</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LogMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.LogMonitoring.property.alarmFactory"></a>

```typescript
public readonly alarmFactory: AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

##### `incomingLogEventsMetric`<sup>Required</sup> <a name="incomingLogEventsMetric" id="cdk-monitoring-constructs.LogMonitoring.property.incomingLogEventsMetric"></a>

```typescript
public readonly incomingLogEventsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `limit`<sup>Required</sup> <a name="limit" id="cdk-monitoring-constructs.LogMonitoring.property.limit"></a>

```typescript
public readonly limit: number;
```

- *Type:* number

---

##### `logGroupName`<sup>Required</sup> <a name="logGroupName" id="cdk-monitoring-constructs.LogMonitoring.property.logGroupName"></a>

```typescript
public readonly logGroupName: string;
```

- *Type:* string

---

##### `usageAlarmFactory`<sup>Required</sup> <a name="usageAlarmFactory" id="cdk-monitoring-constructs.LogMonitoring.property.usageAlarmFactory"></a>

```typescript
public readonly usageAlarmFactory: UsageAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a>

---

##### `usageAnnotations`<sup>Required</sup> <a name="usageAnnotations" id="cdk-monitoring-constructs.LogMonitoring.property.usageAnnotations"></a>

```typescript
public readonly usageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `filterExpressions`<sup>Optional</sup> <a name="filterExpressions" id="cdk-monitoring-constructs.LogMonitoring.property.filterExpressions"></a>

```typescript
public readonly filterExpressions: string[];
```

- *Type:* string[]

---

##### `logGroupUrl`<sup>Optional</sup> <a name="logGroupUrl" id="cdk-monitoring-constructs.LogMonitoring.property.logGroupUrl"></a>

```typescript
public readonly logGroupUrl: string;
```

- *Type:* string

---

##### `pattern`<sup>Optional</sup> <a name="pattern" id="cdk-monitoring-constructs.LogMonitoring.property.pattern"></a>

```typescript
public readonly pattern: string;
```

- *Type:* string

---

##### `title`<sup>Optional</sup> <a name="title" id="cdk-monitoring-constructs.LogMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---


### 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(scope: Construct, props?: MetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.MetricFactory.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No 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.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.MetricFactory.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `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: MathExpression | Metric): MathExpression | Metric
```

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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

metric to be adapted.

---

##### `adaptMetricPreservingPeriod` <a name="adaptMetricPreservingPeriod" id="cdk-monitoring-constructs.MetricFactory.adaptMetricPreservingPeriod"></a>

```typescript
public adaptMetricPreservingPeriod(metric: MathExpression | Metric): MathExpression | Metric
```

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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

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, region?: string, account?: string): MathExpression | Metric
```

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

---

###### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.MetricFactory.createMetric.parameter.region"></a>

- *Type:* string

specify a custom region;

if undefined, uses the global default

---

###### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.MetricFactory.createMetric.parameter.account"></a>

- *Type:* string

specify a custom account;

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, region?: string, account?: string): MathExpression | Metric
```

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

---

###### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.MetricFactory.createMetricAnomalyDetection.parameter.region"></a>

- *Type:* string

specify a custom region;

if undefined, uses the global default

---

###### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.MetricFactory.createMetricAnomalyDetection.parameter.account"></a>

- *Type:* string

specify a custom account;

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, region?: string, account?: string): MathExpression | Metric
```

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

---

###### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.MetricFactory.createMetricMath.parameter.region"></a>

- *Type:* string

- Deprecated: Use createSearchMetric if doing cross region search.

---

###### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.MetricFactory.createMetricMath.parameter.account"></a>

- *Type:* string

- Deprecated: Use createSearchMetric if doing cross region search.

---

##### `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, region?: string, account?: string): MathExpression
```

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

---

###### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.MetricFactory.createMetricSearch.parameter.region"></a>

- *Type:* string

specify a custom region;

if undefined, uses the global default

---

###### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.MetricFactory.createMetricSearch.parameter.account"></a>

- *Type:* string

specify a custom account;

if undefined, uses the global default

---

##### `divideMetric` <a name="divideMetric" id="cdk-monitoring-constructs.MetricFactory.divideMetric"></a>

```typescript
public divideMetric(metric: MathExpression | Metric, divisor: number, label: string, expressionId?: string): MathExpression | Metric
```

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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

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: MathExpression | Metric, multiplier: number, label: string, expressionId?: string): MathExpression | Metric
```

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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

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: MathExpression | Metric, method: RateComputationMethod, addStatsToLabel?: boolean, expressionId?: string, fillWithZeroes?: boolean): MathExpression | Metric
```

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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

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>, <a href="#cdk-monitoring-constructs.IDynamicDashboardSegment">IDynamicDashboardSegment</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. |
| <code><a href="#cdk-monitoring-constructs.Monitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.Monitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.Monitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---




### 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. |
| <code><a href="#cdk-monitoring-constructs.MonitoringHeaderWidget.property.warnings">warnings</a></code> | <code>string[]</code> | Any warnings that are produced as a result of putting together this widget. |
| <code><a href="#cdk-monitoring-constructs.MonitoringHeaderWidget.property.warningsV2">warningsV2</a></code> | <code>{[ key: string ]: string}</code> | Any warnings that are produced as a result of putting together this widget. |

---

##### `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.

---

##### `warnings`<sup>Optional</sup> <a name="warnings" id="cdk-monitoring-constructs.MonitoringHeaderWidget.property.warnings"></a>

```typescript
public readonly warnings: string[];
```

- *Type:* string[]

Any warnings that are produced as a result of putting together this widget.

---

##### `warningsV2`<sup>Optional</sup> <a name="warningsV2" id="cdk-monitoring-constructs.MonitoringHeaderWidget.property.warningsV2"></a>

```typescript
public readonly warningsV2: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Any warnings that are produced as a result of putting together this widget.

---


### 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.* |
| <code><a href="#cdk-monitoring-constructs.MultipleAlarmActionStrategy.flattenedAlarmActions">flattenedAlarmActions</a></code> | Returns list of alarm actions where any nested instances of MultipleAlarmActionStrategy are flattened. |

---

##### `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>

---

##### `flattenedAlarmActions` <a name="flattenedAlarmActions" id="cdk-monitoring-constructs.MultipleAlarmActionStrategy.flattenedAlarmActions"></a>

```typescript
public flattenedAlarmActions(): IAlarmActionStrategy[]
```

Returns list of alarm actions where any nested instances of MultipleAlarmActionStrategy are flattened.


#### 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.metricClientResetCount">metricClientResetCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricElbResetCount">metricElbResetCount</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.metricTargetResetCount">metricTargetResetCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricUnhealthyRoutingCount">metricUnhealthyRoutingCount</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(): MathExpression | Metric
```

##### `metricClientResetCount` <a name="metricClientResetCount" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricClientResetCount"></a>

```typescript
public metricClientResetCount(): MathExpression | Metric
```

##### `metricElbResetCount` <a name="metricElbResetCount" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricElbResetCount"></a>

```typescript
public metricElbResetCount(): MathExpression | Metric
```

##### `metricHealthyTaskCount` <a name="metricHealthyTaskCount" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricHealthyTaskCount"></a>

```typescript
public metricHealthyTaskCount(): MathExpression | Metric
```

##### `metricHealthyTaskInPercent` <a name="metricHealthyTaskInPercent" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricHealthyTaskInPercent"></a>

```typescript
public metricHealthyTaskInPercent(): MathExpression | Metric
```

##### `metricNewConnectionCount` <a name="metricNewConnectionCount" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricNewConnectionCount"></a>

```typescript
public metricNewConnectionCount(): MathExpression | Metric
```

##### `metricProcessedBytesMin` <a name="metricProcessedBytesMin" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricProcessedBytesMin"></a>

```typescript
public metricProcessedBytesMin(): MathExpression | Metric
```

##### `metricTargetResetCount` <a name="metricTargetResetCount" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricTargetResetCount"></a>

```typescript
public metricTargetResetCount(): MathExpression | Metric
```

##### `metricUnhealthyRoutingCount` <a name="metricUnhealthyRoutingCount" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricUnhealthyRoutingCount"></a>

```typescript
public metricUnhealthyRoutingCount(): MathExpression | Metric
```

##### `metricUnhealthyTaskCount` <a name="metricUnhealthyTaskCount" id="cdk-monitoring-constructs.NetworkLoadBalancerMetricFactory.metricUnhealthyTaskCount"></a>

```typescript
public metricUnhealthyTaskCount(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.NetworkLoadBalancerMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---




### 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.

> [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: CfnDomain | IDomain | CfnDomain | IDomain)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchBackportedMetrics.Initializer.parameter.domain">domain</a></code> | <code>aws-cdk-lib.aws_opensearchservice.CfnDomain \| aws-cdk-lib.aws_opensearchservice.IDomain \| aws-cdk-lib.aws_elasticsearch.CfnDomain \| aws-cdk-lib.aws_elasticsearch.IDomain</code> | *No description.* |

---

##### `domain`<sup>Required</sup> <a name="domain" id="cdk-monitoring-constructs.OpenSearchBackportedMetrics.Initializer.parameter.domain"></a>

- *Type:* aws-cdk-lib.aws_opensearchservice.CfnDomain | aws-cdk-lib.aws_opensearchservice.IDomain | aws-cdk-lib.aws_elasticsearch.CfnDomain | aws-cdk-lib.aws_elasticsearch.IDomain

---

#### 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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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(): MathExpression | Metric
```

##### ~~`metricClusterIndexWriteBlocked`~~ <a name="metricClusterIndexWriteBlocked" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricClusterIndexWriteBlocked"></a>

```typescript
public metricClusterIndexWriteBlocked(): MathExpression | Metric
```

##### `metricClusterIndexWritesBlocked` <a name="metricClusterIndexWritesBlocked" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricClusterIndexWritesBlocked"></a>

```typescript
public metricClusterIndexWritesBlocked(): MathExpression | Metric
```

##### `metricClusterStatusRed` <a name="metricClusterStatusRed" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricClusterStatusRed"></a>

```typescript
public metricClusterStatusRed(): MathExpression | Metric
```

##### `metricClusterStatusYellow` <a name="metricClusterStatusYellow" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricClusterStatusYellow"></a>

```typescript
public metricClusterStatusYellow(): MathExpression | Metric
```

##### `metricCpuUsage` <a name="metricCpuUsage" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricCpuUsage"></a>

```typescript
public metricCpuUsage(): MathExpression | Metric
```

##### `metricDiskSpaceUsageInPercent` <a name="metricDiskSpaceUsageInPercent" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricDiskSpaceUsageInPercent"></a>

```typescript
public metricDiskSpaceUsageInPercent(): MathExpression | Metric
```

##### `metricIndexingLatencyP50InMillis` <a name="metricIndexingLatencyP50InMillis" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricIndexingLatencyP50InMillis"></a>

```typescript
public metricIndexingLatencyP50InMillis(): MathExpression | Metric
```

##### `metricIndexingLatencyP90InMillis` <a name="metricIndexingLatencyP90InMillis" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricIndexingLatencyP90InMillis"></a>

```typescript
public metricIndexingLatencyP90InMillis(): MathExpression | Metric
```

##### `metricIndexingLatencyP99InMillis` <a name="metricIndexingLatencyP99InMillis" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricIndexingLatencyP99InMillis"></a>

```typescript
public metricIndexingLatencyP99InMillis(): MathExpression | Metric
```

##### `metricJvmMemoryPressure` <a name="metricJvmMemoryPressure" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricJvmMemoryPressure"></a>

```typescript
public metricJvmMemoryPressure(): MathExpression | Metric
```

##### `metricKmsKeyError` <a name="metricKmsKeyError" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricKmsKeyError"></a>

```typescript
public metricKmsKeyError(): MathExpression | Metric
```

##### `metricKmsKeyInaccessible` <a name="metricKmsKeyInaccessible" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricKmsKeyInaccessible"></a>

```typescript
public metricKmsKeyInaccessible(): MathExpression | Metric
```

##### `metricMasterCpuUsage` <a name="metricMasterCpuUsage" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricMasterCpuUsage"></a>

```typescript
public metricMasterCpuUsage(): MathExpression | Metric
```

##### `metricMasterJvmMemoryPressure` <a name="metricMasterJvmMemoryPressure" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricMasterJvmMemoryPressure"></a>

```typescript
public metricMasterJvmMemoryPressure(): MathExpression | Metric
```

##### `metricNodes` <a name="metricNodes" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricNodes"></a>

```typescript
public metricNodes(): MathExpression | Metric
```

##### `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(): MathExpression | Metric
```

##### `metricSearchLatencyP90InMillis` <a name="metricSearchLatencyP90InMillis" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchLatencyP90InMillis"></a>

```typescript
public metricSearchLatencyP90InMillis(): MathExpression | Metric
```

##### `metricSearchLatencyP99InMillis` <a name="metricSearchLatencyP99InMillis" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchLatencyP99InMillis"></a>

```typescript
public metricSearchLatencyP99InMillis(): MathExpression | Metric
```

##### `metricSearchRate` <a name="metricSearchRate" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchRate"></a>

```typescript
public metricSearchRate(rateComputationMethod?: RateComputationMethod): MathExpression | Metric
```

###### `rateComputationMethod`<sup>Optional</sup> <a name="rateComputationMethod" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricSearchRate.parameter.rateComputationMethod"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RateComputationMethod">RateComputationMethod</a>

---

##### ~~`metricTps`~~ <a name="metricTps" id="cdk-monitoring-constructs.OpenSearchClusterMetricFactory.metricTps"></a>

```typescript
public metricTps(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.automatedSnapshotFailureMetric">automatedSnapshotFailureMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.clusterAlarmFactory">clusterAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.OpenSearchClusterAlarmFactory">OpenSearchClusterAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.clusterAnnotations">clusterAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.clusterStatusRedMetric">clusterStatusRedMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.clusterStatusYellowMetric">clusterStatusYellowMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.cpuUsageMetric">cpuUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.diskSpaceUsageMetric">diskSpaceUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.indexingLatencyAlarmFactory">indexingLatencyAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.indexingLatencyAnnotations">indexingLatencyAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.indexWriteBlockedMetric">indexWriteBlockedMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.jvmMemoryPressureMetric">jvmMemoryPressureMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.kmsKeyErrorMetric">kmsKeyErrorMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.kmsKeyInaccessibleMetric">kmsKeyInaccessibleMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.masterCpuUsageMetric">masterCpuUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.masterJvmMemoryPressureMetric">masterJvmMemoryPressureMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.masterUsageAnnotations">masterUsageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.nodeAnnotations">nodeAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.nodesMetric">nodesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.p50IndexingLatencyMetric">p50IndexingLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.p50SearchLatencyMetric">p50SearchLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.p90IndexingLatencyMetric">p90IndexingLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.p90SearchLatencyMetric">p90SearchLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.p99IndexingLatencyMetric">p99IndexingLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.p99SearchLatencyMetric">p99SearchLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.searchLatencyAlarmFactory">searchLatencyAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.searchLatencyAnnotations">searchLatencyAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.tpsMetric">tpsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.usageAlarmFactory">usageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.usageAnnotations">usageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.url">url</a></code> | <code>string</code> | *No description.* |

---

##### `automatedSnapshotFailureMetric`<sup>Required</sup> <a name="automatedSnapshotFailureMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.automatedSnapshotFailureMetric"></a>

```typescript
public readonly automatedSnapshotFailureMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `clusterAlarmFactory`<sup>Required</sup> <a name="clusterAlarmFactory" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.clusterAlarmFactory"></a>

```typescript
public readonly clusterAlarmFactory: OpenSearchClusterAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchClusterAlarmFactory">OpenSearchClusterAlarmFactory</a>

---

##### `clusterAnnotations`<sup>Required</sup> <a name="clusterAnnotations" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.clusterAnnotations"></a>

```typescript
public readonly clusterAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `clusterStatusRedMetric`<sup>Required</sup> <a name="clusterStatusRedMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.clusterStatusRedMetric"></a>

```typescript
public readonly clusterStatusRedMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `clusterStatusYellowMetric`<sup>Required</sup> <a name="clusterStatusYellowMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.clusterStatusYellowMetric"></a>

```typescript
public readonly clusterStatusYellowMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cpuUsageMetric`<sup>Required</sup> <a name="cpuUsageMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.cpuUsageMetric"></a>

```typescript
public readonly cpuUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `diskSpaceUsageMetric`<sup>Required</sup> <a name="diskSpaceUsageMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.diskSpaceUsageMetric"></a>

```typescript
public readonly diskSpaceUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `indexingLatencyAlarmFactory`<sup>Required</sup> <a name="indexingLatencyAlarmFactory" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.indexingLatencyAlarmFactory"></a>

```typescript
public readonly indexingLatencyAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `indexingLatencyAnnotations`<sup>Required</sup> <a name="indexingLatencyAnnotations" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.indexingLatencyAnnotations"></a>

```typescript
public readonly indexingLatencyAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `indexWriteBlockedMetric`<sup>Required</sup> <a name="indexWriteBlockedMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.indexWriteBlockedMetric"></a>

```typescript
public readonly indexWriteBlockedMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `jvmMemoryPressureMetric`<sup>Required</sup> <a name="jvmMemoryPressureMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.jvmMemoryPressureMetric"></a>

```typescript
public readonly jvmMemoryPressureMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `kmsKeyErrorMetric`<sup>Required</sup> <a name="kmsKeyErrorMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.kmsKeyErrorMetric"></a>

```typescript
public readonly kmsKeyErrorMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `kmsKeyInaccessibleMetric`<sup>Required</sup> <a name="kmsKeyInaccessibleMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.kmsKeyInaccessibleMetric"></a>

```typescript
public readonly kmsKeyInaccessibleMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `masterCpuUsageMetric`<sup>Required</sup> <a name="masterCpuUsageMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.masterCpuUsageMetric"></a>

```typescript
public readonly masterCpuUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `masterJvmMemoryPressureMetric`<sup>Required</sup> <a name="masterJvmMemoryPressureMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.masterJvmMemoryPressureMetric"></a>

```typescript
public readonly masterJvmMemoryPressureMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `masterUsageAnnotations`<sup>Required</sup> <a name="masterUsageAnnotations" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.masterUsageAnnotations"></a>

```typescript
public readonly masterUsageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `nodeAnnotations`<sup>Required</sup> <a name="nodeAnnotations" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.nodeAnnotations"></a>

```typescript
public readonly nodeAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `nodesMetric`<sup>Required</sup> <a name="nodesMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.nodesMetric"></a>

```typescript
public readonly nodesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p50IndexingLatencyMetric`<sup>Required</sup> <a name="p50IndexingLatencyMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.p50IndexingLatencyMetric"></a>

```typescript
public readonly p50IndexingLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p50SearchLatencyMetric`<sup>Required</sup> <a name="p50SearchLatencyMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.p50SearchLatencyMetric"></a>

```typescript
public readonly p50SearchLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p90IndexingLatencyMetric`<sup>Required</sup> <a name="p90IndexingLatencyMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.p90IndexingLatencyMetric"></a>

```typescript
public readonly p90IndexingLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p90SearchLatencyMetric`<sup>Required</sup> <a name="p90SearchLatencyMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.p90SearchLatencyMetric"></a>

```typescript
public readonly p90SearchLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p99IndexingLatencyMetric`<sup>Required</sup> <a name="p99IndexingLatencyMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.p99IndexingLatencyMetric"></a>

```typescript
public readonly p99IndexingLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p99SearchLatencyMetric`<sup>Required</sup> <a name="p99SearchLatencyMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.p99SearchLatencyMetric"></a>

```typescript
public readonly p99SearchLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `searchLatencyAlarmFactory`<sup>Required</sup> <a name="searchLatencyAlarmFactory" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.searchLatencyAlarmFactory"></a>

```typescript
public readonly searchLatencyAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `searchLatencyAnnotations`<sup>Required</sup> <a name="searchLatencyAnnotations" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.searchLatencyAnnotations"></a>

```typescript
public readonly searchLatencyAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `tpsMetric`<sup>Required</sup> <a name="tpsMetric" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.tpsMetric"></a>

```typescript
public readonly tpsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `usageAlarmFactory`<sup>Required</sup> <a name="usageAlarmFactory" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.usageAlarmFactory"></a>

```typescript
public readonly usageAlarmFactory: UsageAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a>

---

##### `usageAnnotations`<sup>Required</sup> <a name="usageAnnotations" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.usageAnnotations"></a>

```typescript
public readonly usageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `url`<sup>Optional</sup> <a name="url" id="cdk-monitoring-constructs.OpenSearchClusterMonitoring.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

---


### OpenSearchIngestionPipelineMetricFactory <a name="OpenSearchIngestionPipelineMetricFactory" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory"></a>

> [https://docs.aws.amazon.com/opensearch-service/latest/developerguide/monitoring-pipeline-metrics.html](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/monitoring-pipeline-metrics.html)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.Initializer"></a>

```typescript
import { OpenSearchIngestionPipelineMetricFactory } from 'cdk-monitoring-constructs'

new OpenSearchIngestionPipelineMetricFactory(metricFactory: MetricFactory, props: OpenSearchIngestionPipelineMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps">OpenSearchIngestionPipelineMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactoryProps">OpenSearchIngestionPipelineMetricFactoryProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricDlqS3RecordsCount">metricDlqS3RecordsCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricDlqS3RecordsFailedCount">metricDlqS3RecordsFailedCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricDlqS3RecordsSuccessCount">metricDlqS3RecordsSuccessCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricRecordsProcessedCount">metricRecordsProcessedCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricSinkBulkPipelineLatencyMax">metricSinkBulkPipelineLatencyMax</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricSinkBulkRequestLatencyMax">metricSinkBulkRequestLatencyMax</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricSinkRecordsInCount">metricSinkRecordsInCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricSourceBytesReceivedSum">metricSourceBytesReceivedSum</a></code> | *No description.* |

---

##### `metricDlqS3RecordsCount` <a name="metricDlqS3RecordsCount" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricDlqS3RecordsCount"></a>

```typescript
public metricDlqS3RecordsCount(): MathExpression | Metric
```

##### `metricDlqS3RecordsFailedCount` <a name="metricDlqS3RecordsFailedCount" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricDlqS3RecordsFailedCount"></a>

```typescript
public metricDlqS3RecordsFailedCount(): MathExpression | Metric
```

##### `metricDlqS3RecordsSuccessCount` <a name="metricDlqS3RecordsSuccessCount" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricDlqS3RecordsSuccessCount"></a>

```typescript
public metricDlqS3RecordsSuccessCount(): MathExpression | Metric
```

##### `metricRecordsProcessedCount` <a name="metricRecordsProcessedCount" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricRecordsProcessedCount"></a>

```typescript
public metricRecordsProcessedCount(): MathExpression | Metric
```

##### `metricSinkBulkPipelineLatencyMax` <a name="metricSinkBulkPipelineLatencyMax" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricSinkBulkPipelineLatencyMax"></a>

```typescript
public metricSinkBulkPipelineLatencyMax(): MathExpression | Metric
```

##### `metricSinkBulkRequestLatencyMax` <a name="metricSinkBulkRequestLatencyMax" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricSinkBulkRequestLatencyMax"></a>

```typescript
public metricSinkBulkRequestLatencyMax(): MathExpression | Metric
```

##### `metricSinkRecordsInCount` <a name="metricSinkRecordsInCount" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricSinkRecordsInCount"></a>

```typescript
public metricSinkRecordsInCount(): MathExpression | Metric
```

##### `metricSourceBytesReceivedSum` <a name="metricSourceBytesReceivedSum" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory.metricSourceBytesReceivedSum"></a>

```typescript
public metricSourceBytesReceivedSum(): MathExpression | Metric
```




### OpenSearchIngestionPipelineMonitoring <a name="OpenSearchIngestionPipelineMonitoring" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.Initializer"></a>

```typescript
import { OpenSearchIngestionPipelineMonitoring } from 'cdk-monitoring-constructs'

new OpenSearchIngestionPipelineMonitoring(scope: MonitoringScope, props: OpenSearchIngestionPipelineMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps">OpenSearchIngestionPipelineMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoringProps">OpenSearchIngestionPipelineMonitoringProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.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.OpenSearchIngestionPipelineMonitoring.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.OpenSearchIngestionPipelineMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.metricDlqS3RecordsCount">metricDlqS3RecordsCount</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.metricSinkBulkPipelineLatencyMax">metricSinkBulkPipelineLatencyMax</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.metricSinkBulkRequestLatencyMax">metricSinkBulkRequestLatencyMax</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.metricSinkRecordsInCount">metricSinkRecordsInCount</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.metricSourceBytesReceivedSum">metricSourceBytesReceivedSum</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.usageAlarmFactory">usageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.usageAnnotations">usageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.pipelineUrl">pipelineUrl</a></code> | <code>string</code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.alarmFactory"></a>

```typescript
public readonly alarmFactory: AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

##### `metricDlqS3RecordsCount`<sup>Required</sup> <a name="metricDlqS3RecordsCount" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.metricDlqS3RecordsCount"></a>

```typescript
public readonly metricDlqS3RecordsCount: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricSinkBulkPipelineLatencyMax`<sup>Required</sup> <a name="metricSinkBulkPipelineLatencyMax" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.metricSinkBulkPipelineLatencyMax"></a>

```typescript
public readonly metricSinkBulkPipelineLatencyMax: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricSinkBulkRequestLatencyMax`<sup>Required</sup> <a name="metricSinkBulkRequestLatencyMax" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.metricSinkBulkRequestLatencyMax"></a>

```typescript
public readonly metricSinkBulkRequestLatencyMax: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricSinkRecordsInCount`<sup>Required</sup> <a name="metricSinkRecordsInCount" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.metricSinkRecordsInCount"></a>

```typescript
public readonly metricSinkRecordsInCount: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricSourceBytesReceivedSum`<sup>Required</sup> <a name="metricSourceBytesReceivedSum" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.metricSourceBytesReceivedSum"></a>

```typescript
public readonly metricSourceBytesReceivedSum: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `usageAlarmFactory`<sup>Required</sup> <a name="usageAlarmFactory" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.usageAlarmFactory"></a>

```typescript
public readonly usageAlarmFactory: UsageAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a>

---

##### `usageAnnotations`<sup>Required</sup> <a name="usageAnnotations" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.usageAnnotations"></a>

```typescript
public readonly usageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `pipelineUrl`<sup>Optional</sup> <a name="pipelineUrl" id="cdk-monitoring-constructs.OpenSearchIngestionPipelineMonitoring.property.pipelineUrl"></a>

```typescript
public readonly pipelineUrl: string;
```

- *Type:* string

---


### OpenSearchServerlessIndexMetricFactory <a name="OpenSearchServerlessIndexMetricFactory" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactory"></a>

> [https://docs.aws.amazon.com/opensearch-service/latest/developerguide/monitoring-cloudwatch.html](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/monitoring-cloudwatch.html)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactory.Initializer"></a>

```typescript
import { OpenSearchServerlessIndexMetricFactory } from 'cdk-monitoring-constructs'

new OpenSearchServerlessIndexMetricFactory(metricFactory: MetricFactory, props: OpenSearchServerlessIndexMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps">OpenSearchServerlessIndexMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactoryProps">OpenSearchServerlessIndexMetricFactoryProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactory.metricIndexSearchableDocuments">metricIndexSearchableDocuments</a></code> | *No description.* |

---

##### `metricIndexSearchableDocuments` <a name="metricIndexSearchableDocuments" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMetricFactory.metricIndexSearchableDocuments"></a>

```typescript
public metricIndexSearchableDocuments(): MathExpression | Metric
```




### OpenSearchServerlessIndexMonitoring <a name="OpenSearchServerlessIndexMonitoring" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.Initializer"></a>

```typescript
import { OpenSearchServerlessIndexMonitoring } from 'cdk-monitoring-constructs'

new OpenSearchServerlessIndexMonitoring(scope: MonitoringScope, props: OpenSearchServerlessIndexMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps">OpenSearchServerlessIndexMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoringProps">OpenSearchServerlessIndexMonitoringProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.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.OpenSearchServerlessIndexMonitoring.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.OpenSearchServerlessIndexMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.property.metricIndexSearchableDocuments">metricIndexSearchableDocuments</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `metricIndexSearchableDocuments`<sup>Required</sup> <a name="metricIndexSearchableDocuments" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.property.metricIndexSearchableDocuments"></a>

```typescript
public readonly metricIndexSearchableDocuments: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---


### OpenSearchServerlessMetricFactory <a name="OpenSearchServerlessMetricFactory" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory"></a>

> [https://docs.aws.amazon.com/opensearch-service/latest/developerguide/monitoring-cloudwatch.html](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/monitoring-cloudwatch.html)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.Initializer"></a>

```typescript
import { OpenSearchServerlessMetricFactory } from 'cdk-monitoring-constructs'

new OpenSearchServerlessMetricFactory(metricFactory: MetricFactory, props: OpenSearchServerlessMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactoryProps">OpenSearchServerlessMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactoryProps">OpenSearchServerlessMetricFactoryProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metric4xxCount">metric4xxCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metric4xxRate">metric4xxRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metric5xxCount">metric5xxCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metric5xxRate">metric5xxRate</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metricIngestionRequestErrors">metricIngestionRequestErrors</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metricIngestionRequestLatency">metricIngestionRequestLatency</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metricIngestionRequestSuccess">metricIngestionRequestSuccess</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metricSearchRequestErrors">metricSearchRequestErrors</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metricSearchRequestLatency">metricSearchRequestLatency</a></code> | *No description.* |

---

##### `metric4xxCount` <a name="metric4xxCount" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metric4xxCount"></a>

```typescript
public metric4xxCount(): MathExpression | Metric
```

##### `metric4xxRate` <a name="metric4xxRate" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metric4xxRate"></a>

```typescript
public metric4xxRate(): MathExpression | Metric
```

##### `metric5xxCount` <a name="metric5xxCount" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metric5xxCount"></a>

```typescript
public metric5xxCount(): MathExpression | Metric
```

##### `metric5xxRate` <a name="metric5xxRate" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metric5xxRate"></a>

```typescript
public metric5xxRate(): MathExpression | Metric
```

##### `metricIngestionRequestErrors` <a name="metricIngestionRequestErrors" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metricIngestionRequestErrors"></a>

```typescript
public metricIngestionRequestErrors(): MathExpression | Metric
```

##### `metricIngestionRequestLatency` <a name="metricIngestionRequestLatency" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metricIngestionRequestLatency"></a>

```typescript
public metricIngestionRequestLatency(statistic: LatencyType): MathExpression | Metric
```

###### `statistic`<sup>Required</sup> <a name="statistic" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metricIngestionRequestLatency.parameter.statistic"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### `metricIngestionRequestSuccess` <a name="metricIngestionRequestSuccess" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metricIngestionRequestSuccess"></a>

```typescript
public metricIngestionRequestSuccess(): MathExpression | Metric
```

##### `metricSearchRequestErrors` <a name="metricSearchRequestErrors" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metricSearchRequestErrors"></a>

```typescript
public metricSearchRequestErrors(): MathExpression | Metric
```

##### `metricSearchRequestLatency` <a name="metricSearchRequestLatency" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metricSearchRequestLatency"></a>

```typescript
public metricSearchRequestLatency(statistic: LatencyType): MathExpression | Metric
```

###### `statistic`<sup>Required</sup> <a name="statistic" id="cdk-monitoring-constructs.OpenSearchServerlessMetricFactory.metricSearchRequestLatency.parameter.statistic"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---




### OpenSearchServerlessMonitoring <a name="OpenSearchServerlessMonitoring" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.Initializer"></a>

```typescript
import { OpenSearchServerlessMonitoring } from 'cdk-monitoring-constructs'

new OpenSearchServerlessMonitoring(scope: MonitoringScope, props: OpenSearchServerlessMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps">OpenSearchServerlessMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoringProps">OpenSearchServerlessMonitoringProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.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.OpenSearchServerlessMonitoring.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.OpenSearchServerlessMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.latencyAlarmFactory">latencyAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metric4xxErrorCount">metric4xxErrorCount</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metric4xxErrorRate">metric4xxErrorRate</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metric5xxErrorCount">metric5xxErrorCount</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metric5xxErrorRate">metric5xxErrorRate</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricIngestionRequestErrorsCount">metricIngestionRequestErrorsCount</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricIngestionRequestLatencyAvg">metricIngestionRequestLatencyAvg</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricIngestionRequestLatencyMax">metricIngestionRequestLatencyMax</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricIngestionRequestSuccessCount">metricIngestionRequestSuccessCount</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricSearchRequestErrorsCount">metricSearchRequestErrorsCount</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricSearchRequestLatencyAvg">metricSearchRequestLatencyAvg</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricSearchRequestLatencyMax">metricSearchRequestLatencyMax</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.searchLatencyAnnotations">searchLatencyAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.collectionUrl">collectionUrl</a></code> | <code>string</code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.alarmFactory"></a>

```typescript
public readonly alarmFactory: AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `latencyAlarmFactory`<sup>Required</sup> <a name="latencyAlarmFactory" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.latencyAlarmFactory"></a>

```typescript
public readonly latencyAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `metric4xxErrorCount`<sup>Required</sup> <a name="metric4xxErrorCount" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metric4xxErrorCount"></a>

```typescript
public readonly metric4xxErrorCount: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metric4xxErrorRate`<sup>Required</sup> <a name="metric4xxErrorRate" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metric4xxErrorRate"></a>

```typescript
public readonly metric4xxErrorRate: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metric5xxErrorCount`<sup>Required</sup> <a name="metric5xxErrorCount" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metric5xxErrorCount"></a>

```typescript
public readonly metric5xxErrorCount: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metric5xxErrorRate`<sup>Required</sup> <a name="metric5xxErrorRate" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metric5xxErrorRate"></a>

```typescript
public readonly metric5xxErrorRate: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricIngestionRequestErrorsCount`<sup>Required</sup> <a name="metricIngestionRequestErrorsCount" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricIngestionRequestErrorsCount"></a>

```typescript
public readonly metricIngestionRequestErrorsCount: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricIngestionRequestLatencyAvg`<sup>Required</sup> <a name="metricIngestionRequestLatencyAvg" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricIngestionRequestLatencyAvg"></a>

```typescript
public readonly metricIngestionRequestLatencyAvg: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricIngestionRequestLatencyMax`<sup>Required</sup> <a name="metricIngestionRequestLatencyMax" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricIngestionRequestLatencyMax"></a>

```typescript
public readonly metricIngestionRequestLatencyMax: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricIngestionRequestSuccessCount`<sup>Required</sup> <a name="metricIngestionRequestSuccessCount" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricIngestionRequestSuccessCount"></a>

```typescript
public readonly metricIngestionRequestSuccessCount: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricSearchRequestErrorsCount`<sup>Required</sup> <a name="metricSearchRequestErrorsCount" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricSearchRequestErrorsCount"></a>

```typescript
public readonly metricSearchRequestErrorsCount: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricSearchRequestLatencyAvg`<sup>Required</sup> <a name="metricSearchRequestLatencyAvg" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricSearchRequestLatencyAvg"></a>

```typescript
public readonly metricSearchRequestLatencyAvg: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `metricSearchRequestLatencyMax`<sup>Required</sup> <a name="metricSearchRequestLatencyMax" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.metricSearchRequestLatencyMax"></a>

```typescript
public readonly metricSearchRequestLatencyMax: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `searchLatencyAnnotations`<sup>Required</sup> <a name="searchLatencyAnnotations" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.searchLatencyAnnotations"></a>

```typescript
public readonly searchLatencyAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `collectionUrl`<sup>Optional</sup> <a name="collectionUrl" id="cdk-monitoring-constructs.OpenSearchServerlessMonitoring.property.collectionUrl"></a>

```typescript
public readonly collectionUrl: string;
```

- *Type:* string

---


### 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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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.metricCommitLatencyInMillis">metricCommitLatencyInMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricCommitLatencyP90InMillis">metricCommitLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricDeleteLatencyInMillis">metricDeleteLatencyInMillis</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.metricInsertLatencyInMillis">metricInsertLatencyInMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricInsertLatencyP90InMillis">metricInsertLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricReadIOPS">metricReadIOPS</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricSelectLatencyInMillis">metricSelectLatencyInMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricSelectLatencyP90InMillis">metricSelectLatencyP90InMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricServerlessDatabaseCapacity">metricServerlessDatabaseCapacity</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricTotalConnectionCount">metricTotalConnectionCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricUpdateLatencyInMillis">metricUpdateLatencyInMillis</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.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.metricWriteIOPS">metricWriteIOPS</a></code> | *No description.* |

---

##### `metricAverageCpuUsageInPercent` <a name="metricAverageCpuUsageInPercent" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricAverageCpuUsageInPercent"></a>

```typescript
public metricAverageCpuUsageInPercent(): MathExpression | Metric
```

##### `metricCommitLatencyInMillis` <a name="metricCommitLatencyInMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricCommitLatencyInMillis"></a>

```typescript
public metricCommitLatencyInMillis(latencyType: LatencyType): MathExpression | Metric
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricCommitLatencyInMillis.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### `metricCommitLatencyP90InMillis` <a name="metricCommitLatencyP90InMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricCommitLatencyP90InMillis"></a>

```typescript
public metricCommitLatencyP90InMillis(): MathExpression | Metric
```

##### `metricDeleteLatencyInMillis` <a name="metricDeleteLatencyInMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricDeleteLatencyInMillis"></a>

```typescript
public metricDeleteLatencyInMillis(latencyType: LatencyType): MathExpression | Metric
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricDeleteLatencyInMillis.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### `metricDeleteLatencyP90InMillis` <a name="metricDeleteLatencyP90InMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricDeleteLatencyP90InMillis"></a>

```typescript
public metricDeleteLatencyP90InMillis(): MathExpression | Metric
```

##### `metricDiskSpaceUsageInPercent` <a name="metricDiskSpaceUsageInPercent" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricDiskSpaceUsageInPercent"></a>

```typescript
public metricDiskSpaceUsageInPercent(): MathExpression | Metric
```

##### `metricFreeStorageInBytes` <a name="metricFreeStorageInBytes" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricFreeStorageInBytes"></a>

```typescript
public metricFreeStorageInBytes(): MathExpression | Metric
```

##### `metricInsertLatencyInMillis` <a name="metricInsertLatencyInMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricInsertLatencyInMillis"></a>

```typescript
public metricInsertLatencyInMillis(latencyType: LatencyType): MathExpression | Metric
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricInsertLatencyInMillis.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### `metricInsertLatencyP90InMillis` <a name="metricInsertLatencyP90InMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricInsertLatencyP90InMillis"></a>

```typescript
public metricInsertLatencyP90InMillis(): MathExpression | Metric
```

##### `metricReadIOPS` <a name="metricReadIOPS" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricReadIOPS"></a>

```typescript
public metricReadIOPS(): MathExpression | Metric
```

##### `metricSelectLatencyInMillis` <a name="metricSelectLatencyInMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricSelectLatencyInMillis"></a>

```typescript
public metricSelectLatencyInMillis(latencyType: LatencyType): MathExpression | Metric
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricSelectLatencyInMillis.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### `metricSelectLatencyP90InMillis` <a name="metricSelectLatencyP90InMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricSelectLatencyP90InMillis"></a>

```typescript
public metricSelectLatencyP90InMillis(): MathExpression | Metric
```

##### `metricServerlessDatabaseCapacity` <a name="metricServerlessDatabaseCapacity" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricServerlessDatabaseCapacity"></a>

```typescript
public metricServerlessDatabaseCapacity(): MathExpression | Metric
```

##### `metricTotalConnectionCount` <a name="metricTotalConnectionCount" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricTotalConnectionCount"></a>

```typescript
public metricTotalConnectionCount(): MathExpression | Metric
```

##### `metricUpdateLatencyInMillis` <a name="metricUpdateLatencyInMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricUpdateLatencyInMillis"></a>

```typescript
public metricUpdateLatencyInMillis(latencyType: LatencyType): MathExpression | Metric
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricUpdateLatencyInMillis.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### `metricUpdateLatencyP90InMillis` <a name="metricUpdateLatencyP90InMillis" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricUpdateLatencyP90InMillis"></a>

```typescript
public metricUpdateLatencyP90InMillis(): MathExpression | Metric
```

##### `metricUsedStorageInBytes` <a name="metricUsedStorageInBytes" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricUsedStorageInBytes"></a>

```typescript
public metricUsedStorageInBytes(): MathExpression | Metric
```

##### `metricWriteIOPS` <a name="metricWriteIOPS" id="cdk-monitoring-constructs.RdsClusterMetricFactory.metricWriteIOPS"></a>

```typescript
public metricWriteIOPS(): MathExpression | Metric
```


#### 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.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMetricFactory.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_rds.IDatabaseCluster \| aws-cdk-lib.aws_rds.ServerlessCluster</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

---

##### `cluster`<sup>Optional</sup> <a name="cluster" id="cdk-monitoring-constructs.RdsClusterMetricFactory.property.cluster"></a>

```typescript
public readonly cluster: IDatabaseCluster | ServerlessCluster;
```

- *Type:* aws-cdk-lib.aws_rds.IDatabaseCluster | aws-cdk-lib.aws_rds.ServerlessCluster

---


### 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. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.createConnectionsWidget">createConnectionsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.createCpuAndDiskUsageWidget">createCpuAndDiskUsageWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.createIOPSWidget">createIOPSWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.createLatencyWidget">createLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.RdsClusterMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.RdsClusterMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createConnectionsWidget` <a name="createConnectionsWidget" id="cdk-monitoring-constructs.RdsClusterMonitoring.createConnectionsWidget"></a>

```typescript
public createConnectionsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.RdsClusterMonitoring.createConnectionsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.RdsClusterMonitoring.createConnectionsWidget.parameter.height"></a>

- *Type:* number

---

##### `createCpuAndDiskUsageWidget` <a name="createCpuAndDiskUsageWidget" id="cdk-monitoring-constructs.RdsClusterMonitoring.createCpuAndDiskUsageWidget"></a>

```typescript
public createCpuAndDiskUsageWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.RdsClusterMonitoring.createCpuAndDiskUsageWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.RdsClusterMonitoring.createCpuAndDiskUsageWidget.parameter.height"></a>

- *Type:* number

---

##### `createIOPSWidget` <a name="createIOPSWidget" id="cdk-monitoring-constructs.RdsClusterMonitoring.createIOPSWidget"></a>

```typescript
public createIOPSWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.RdsClusterMonitoring.createIOPSWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.RdsClusterMonitoring.createIOPSWidget.parameter.height"></a>

- *Type:* number

---

##### `createLatencyWidget` <a name="createLatencyWidget" id="cdk-monitoring-constructs.RdsClusterMonitoring.createLatencyWidget"></a>

```typescript
public createLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.RdsClusterMonitoring.createLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.RdsClusterMonitoring.createLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.RdsClusterMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.commitLatencyMetrics">commitLatencyMetrics</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.connectionAlarmFactory">connectionAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ConnectionAlarmFactory">ConnectionAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.connectionAnnotations">connectionAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.connectionsMetric">connectionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.cpuUsageMetric">cpuUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.deleteLatencyMetrics">deleteLatencyMetrics</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.diskSpaceUsageMetric">diskSpaceUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.insertLatencyMetrics">insertLatencyMetrics</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.iopsAnnotations">iopsAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.latencyAlarmFactory">latencyAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.latencyTypesToRender">latencyTypesToRender</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.readIopsMetric">readIopsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.readLatencyAnnotations">readLatencyAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.selectLatencyMetrics">selectLatencyMetrics</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.updateLatencyMetrics">updateLatencyMetrics</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric}</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.usageAlarmFactory">usageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.usageAnnotations">usageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.writeIopsMetric">writeIopsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.writeLatencyAnnotations">writeLatencyAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsClusterMonitoring.property.url">url</a></code> | <code>string</code> | *No description.* |

---

##### `commitLatencyMetrics`<sup>Required</sup> <a name="commitLatencyMetrics" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.commitLatencyMetrics"></a>

```typescript
public readonly commitLatencyMetrics: {[ key: string ]: MathExpression | Metric};
```

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric}

---

##### `connectionAlarmFactory`<sup>Required</sup> <a name="connectionAlarmFactory" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.connectionAlarmFactory"></a>

```typescript
public readonly connectionAlarmFactory: ConnectionAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ConnectionAlarmFactory">ConnectionAlarmFactory</a>

---

##### `connectionAnnotations`<sup>Required</sup> <a name="connectionAnnotations" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.connectionAnnotations"></a>

```typescript
public readonly connectionAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `connectionsMetric`<sup>Required</sup> <a name="connectionsMetric" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.connectionsMetric"></a>

```typescript
public readonly connectionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cpuUsageMetric`<sup>Required</sup> <a name="cpuUsageMetric" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.cpuUsageMetric"></a>

```typescript
public readonly cpuUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `deleteLatencyMetrics`<sup>Required</sup> <a name="deleteLatencyMetrics" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.deleteLatencyMetrics"></a>

```typescript
public readonly deleteLatencyMetrics: {[ key: string ]: MathExpression | Metric};
```

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric}

---

##### `diskSpaceUsageMetric`<sup>Required</sup> <a name="diskSpaceUsageMetric" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.diskSpaceUsageMetric"></a>

```typescript
public readonly diskSpaceUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `insertLatencyMetrics`<sup>Required</sup> <a name="insertLatencyMetrics" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.insertLatencyMetrics"></a>

```typescript
public readonly insertLatencyMetrics: {[ key: string ]: MathExpression | Metric};
```

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric}

---

##### `iopsAnnotations`<sup>Required</sup> <a name="iopsAnnotations" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.iopsAnnotations"></a>

```typescript
public readonly iopsAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `latencyAlarmFactory`<sup>Required</sup> <a name="latencyAlarmFactory" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.latencyAlarmFactory"></a>

```typescript
public readonly latencyAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `latencyTypesToRender`<sup>Required</sup> <a name="latencyTypesToRender" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.latencyTypesToRender"></a>

```typescript
public readonly latencyTypesToRender: string[];
```

- *Type:* string[]

---

##### `readIopsMetric`<sup>Required</sup> <a name="readIopsMetric" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.readIopsMetric"></a>

```typescript
public readonly readIopsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `readLatencyAnnotations`<sup>Required</sup> <a name="readLatencyAnnotations" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.readLatencyAnnotations"></a>

```typescript
public readonly readLatencyAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `selectLatencyMetrics`<sup>Required</sup> <a name="selectLatencyMetrics" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.selectLatencyMetrics"></a>

```typescript
public readonly selectLatencyMetrics: {[ key: string ]: MathExpression | Metric};
```

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric}

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `updateLatencyMetrics`<sup>Required</sup> <a name="updateLatencyMetrics" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.updateLatencyMetrics"></a>

```typescript
public readonly updateLatencyMetrics: {[ key: string ]: MathExpression | Metric};
```

- *Type:* {[ key: string ]: aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric}

---

##### `usageAlarmFactory`<sup>Required</sup> <a name="usageAlarmFactory" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.usageAlarmFactory"></a>

```typescript
public readonly usageAlarmFactory: UsageAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a>

---

##### `usageAnnotations`<sup>Required</sup> <a name="usageAnnotations" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.usageAnnotations"></a>

```typescript
public readonly usageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `writeIopsMetric`<sup>Required</sup> <a name="writeIopsMetric" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.writeIopsMetric"></a>

```typescript
public readonly writeIopsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `writeLatencyAnnotations`<sup>Required</sup> <a name="writeLatencyAnnotations" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.writeLatencyAnnotations"></a>

```typescript
public readonly writeLatencyAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `url`<sup>Optional</sup> <a name="url" id="cdk-monitoring-constructs.RdsClusterMonitoring.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

---


### RdsInstanceMetricFactory <a name="RdsInstanceMetricFactory" id="cdk-monitoring-constructs.RdsInstanceMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.Initializer"></a>

```typescript
import { RdsInstanceMetricFactory } from 'cdk-monitoring-constructs'

new RdsInstanceMetricFactory(metricFactory: MetricFactory, props: RdsInstanceMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactoryProps">RdsInstanceMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RdsInstanceMetricFactoryProps">RdsInstanceMetricFactoryProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.metricAverageCpuUsageInPercent">metricAverageCpuUsageInPercent</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.metricAverageFreeableMemory">metricAverageFreeableMemory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.metricMaxFreeStorageSpace">metricMaxFreeStorageSpace</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.metricReadIops">metricReadIops</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.metricReadLatencyInMillis">metricReadLatencyInMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.metricReadThroughput">metricReadThroughput</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.metricTotalConnectionCount">metricTotalConnectionCount</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.metricWriteIops">metricWriteIops</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.metricWriteLatencyInMillis">metricWriteLatencyInMillis</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.metricWriteThroughput">metricWriteThroughput</a></code> | *No description.* |

---

##### `metricAverageCpuUsageInPercent` <a name="metricAverageCpuUsageInPercent" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.metricAverageCpuUsageInPercent"></a>

```typescript
public metricAverageCpuUsageInPercent(): MathExpression | Metric
```

##### `metricAverageFreeableMemory` <a name="metricAverageFreeableMemory" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.metricAverageFreeableMemory"></a>

```typescript
public metricAverageFreeableMemory(): MathExpression | Metric
```

##### `metricMaxFreeStorageSpace` <a name="metricMaxFreeStorageSpace" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.metricMaxFreeStorageSpace"></a>

```typescript
public metricMaxFreeStorageSpace(): MathExpression | Metric
```

##### `metricReadIops` <a name="metricReadIops" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.metricReadIops"></a>

```typescript
public metricReadIops(): MathExpression | Metric
```

##### `metricReadLatencyInMillis` <a name="metricReadLatencyInMillis" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.metricReadLatencyInMillis"></a>

```typescript
public metricReadLatencyInMillis(latencyType: LatencyType): MathExpression | Metric
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.metricReadLatencyInMillis.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### `metricReadThroughput` <a name="metricReadThroughput" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.metricReadThroughput"></a>

```typescript
public metricReadThroughput(): MathExpression | Metric
```

##### `metricTotalConnectionCount` <a name="metricTotalConnectionCount" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.metricTotalConnectionCount"></a>

```typescript
public metricTotalConnectionCount(): MathExpression | Metric
```

##### `metricWriteIops` <a name="metricWriteIops" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.metricWriteIops"></a>

```typescript
public metricWriteIops(): MathExpression | Metric
```

##### `metricWriteLatencyInMillis` <a name="metricWriteLatencyInMillis" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.metricWriteLatencyInMillis"></a>

```typescript
public metricWriteLatencyInMillis(latencyType: LatencyType): MathExpression | Metric
```

###### `latencyType`<sup>Required</sup> <a name="latencyType" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.metricWriteLatencyInMillis.parameter.latencyType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.LatencyType">LatencyType</a>

---

##### `metricWriteThroughput` <a name="metricWriteThroughput" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.metricWriteThroughput"></a>

```typescript
public metricWriteThroughput(): MathExpression | Metric
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.property.instance">instance</a></code> | <code>aws-cdk-lib.aws_rds.IDatabaseInstance</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMetricFactory.property.instanceIdentifier">instanceIdentifier</a></code> | <code>string</code> | *No description.* |

---

##### `instance`<sup>Required</sup> <a name="instance" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.property.instance"></a>

```typescript
public readonly instance: IDatabaseInstance;
```

- *Type:* aws-cdk-lib.aws_rds.IDatabaseInstance

---

##### `instanceIdentifier`<sup>Required</sup> <a name="instanceIdentifier" id="cdk-monitoring-constructs.RdsInstanceMetricFactory.property.instanceIdentifier"></a>

```typescript
public readonly instanceIdentifier: string;
```

- *Type:* string

---


### RdsInstanceMonitoring <a name="RdsInstanceMonitoring" id="cdk-monitoring-constructs.RdsInstanceMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.RdsInstanceMonitoring.Initializer"></a>

```typescript
import { RdsInstanceMonitoring } from 'cdk-monitoring-constructs'

new RdsInstanceMonitoring(scope: MonitoringScope, props: RdsInstanceMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoringProps">RdsInstanceMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.RdsInstanceMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.RdsInstanceMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.RdsInstanceMonitoringProps">RdsInstanceMonitoringProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.createConnectionsWidget">createConnectionsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.createCpuAndDiskUsageWidget">createCpuAndDiskUsageWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.createLatencyWidget">createLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.RdsInstanceMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.RdsInstanceMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.RdsInstanceMonitoring.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.RdsInstanceMonitoring.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.RdsInstanceMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.RdsInstanceMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.RdsInstanceMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.RdsInstanceMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.RdsInstanceMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.RdsInstanceMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.RdsInstanceMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.RdsInstanceMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createConnectionsWidget` <a name="createConnectionsWidget" id="cdk-monitoring-constructs.RdsInstanceMonitoring.createConnectionsWidget"></a>

```typescript
public createConnectionsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.RdsInstanceMonitoring.createConnectionsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.RdsInstanceMonitoring.createConnectionsWidget.parameter.height"></a>

- *Type:* number

---

##### `createCpuAndDiskUsageWidget` <a name="createCpuAndDiskUsageWidget" id="cdk-monitoring-constructs.RdsInstanceMonitoring.createCpuAndDiskUsageWidget"></a>

```typescript
public createCpuAndDiskUsageWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.RdsInstanceMonitoring.createCpuAndDiskUsageWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.RdsInstanceMonitoring.createCpuAndDiskUsageWidget.parameter.height"></a>

- *Type:* number

---

##### `createLatencyWidget` <a name="createLatencyWidget" id="cdk-monitoring-constructs.RdsInstanceMonitoring.createLatencyWidget"></a>

```typescript
public createLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.RdsInstanceMonitoring.createLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.RdsInstanceMonitoring.createLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.RdsInstanceMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.connectionAlarmFactory">connectionAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ConnectionAlarmFactory">ConnectionAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.connectionAnnotations">connectionAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.connectionsMetric">connectionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.cpuUsageMetric">cpuUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.freeableMemoryMetric">freeableMemoryMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.freeStorageSpaceMetric">freeStorageSpaceMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.readIopsMetric">readIopsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.readLatencyMetric">readLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.readThroughputMetric">readThroughputMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.usageAlarmFactory">usageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.usageAnnotations">usageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.writeIopsMetric">writeIopsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.writeLatencyMetric">writeLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.writeThroughputMetric">writeThroughputMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RdsInstanceMonitoring.property.url">url</a></code> | <code>string</code> | *No description.* |

---

##### `connectionAlarmFactory`<sup>Required</sup> <a name="connectionAlarmFactory" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.connectionAlarmFactory"></a>

```typescript
public readonly connectionAlarmFactory: ConnectionAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ConnectionAlarmFactory">ConnectionAlarmFactory</a>

---

##### `connectionAnnotations`<sup>Required</sup> <a name="connectionAnnotations" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.connectionAnnotations"></a>

```typescript
public readonly connectionAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `connectionsMetric`<sup>Required</sup> <a name="connectionsMetric" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.connectionsMetric"></a>

```typescript
public readonly connectionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cpuUsageMetric`<sup>Required</sup> <a name="cpuUsageMetric" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.cpuUsageMetric"></a>

```typescript
public readonly cpuUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `freeableMemoryMetric`<sup>Required</sup> <a name="freeableMemoryMetric" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.freeableMemoryMetric"></a>

```typescript
public readonly freeableMemoryMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `freeStorageSpaceMetric`<sup>Required</sup> <a name="freeStorageSpaceMetric" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.freeStorageSpaceMetric"></a>

```typescript
public readonly freeStorageSpaceMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `readIopsMetric`<sup>Required</sup> <a name="readIopsMetric" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.readIopsMetric"></a>

```typescript
public readonly readIopsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `readLatencyMetric`<sup>Required</sup> <a name="readLatencyMetric" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.readLatencyMetric"></a>

```typescript
public readonly readLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `readThroughputMetric`<sup>Required</sup> <a name="readThroughputMetric" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.readThroughputMetric"></a>

```typescript
public readonly readThroughputMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `usageAlarmFactory`<sup>Required</sup> <a name="usageAlarmFactory" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.usageAlarmFactory"></a>

```typescript
public readonly usageAlarmFactory: UsageAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a>

---

##### `usageAnnotations`<sup>Required</sup> <a name="usageAnnotations" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.usageAnnotations"></a>

```typescript
public readonly usageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `writeIopsMetric`<sup>Required</sup> <a name="writeIopsMetric" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.writeIopsMetric"></a>

```typescript
public readonly writeIopsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `writeLatencyMetric`<sup>Required</sup> <a name="writeLatencyMetric" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.writeLatencyMetric"></a>

```typescript
public readonly writeLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `writeThroughputMetric`<sup>Required</sup> <a name="writeThroughputMetric" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.writeThroughputMetric"></a>

```typescript
public readonly writeThroughputMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `url`<sup>Optional</sup> <a name="url" id="cdk-monitoring-constructs.RdsInstanceMonitoring.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

---


### 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(): MathExpression | Metric
```

##### `metricAverageDiskSpaceUsageInPercent` <a name="metricAverageDiskSpaceUsageInPercent" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricAverageDiskSpaceUsageInPercent"></a>

```typescript
public metricAverageDiskSpaceUsageInPercent(): MathExpression | Metric
```

##### `metricLongQueryDurationP90InMillis` <a name="metricLongQueryDurationP90InMillis" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricLongQueryDurationP90InMillis"></a>

```typescript
public metricLongQueryDurationP90InMillis(): MathExpression | Metric
```

##### `metricMaintenanceModeEnabled` <a name="metricMaintenanceModeEnabled" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricMaintenanceModeEnabled"></a>

```typescript
public metricMaintenanceModeEnabled(): MathExpression | Metric
```

##### `metricMediumQueryDurationP90InMillis` <a name="metricMediumQueryDurationP90InMillis" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricMediumQueryDurationP90InMillis"></a>

```typescript
public metricMediumQueryDurationP90InMillis(): MathExpression | Metric
```

##### `metricReadLatencyP90InMillis` <a name="metricReadLatencyP90InMillis" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricReadLatencyP90InMillis"></a>

```typescript
public metricReadLatencyP90InMillis(): MathExpression | Metric
```

##### `metricShortQueryDurationP90InMillis` <a name="metricShortQueryDurationP90InMillis" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricShortQueryDurationP90InMillis"></a>

```typescript
public metricShortQueryDurationP90InMillis(): MathExpression | Metric
```

##### `metricTotalConnectionCount` <a name="metricTotalConnectionCount" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricTotalConnectionCount"></a>

```typescript
public metricTotalConnectionCount(): MathExpression | Metric
```

##### `metricWriteLatencyP90InMillis` <a name="metricWriteLatencyP90InMillis" id="cdk-monitoring-constructs.RedshiftClusterMetricFactory.metricWriteLatencyP90InMillis"></a>

```typescript
public metricWriteLatencyP90InMillis(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.createConnectionsWidget">createConnectionsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.createCpuAndDiskUsageWidget">createCpuAndDiskUsageWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.createLatencyWidget">createLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.createMaintenanceWidget">createMaintenanceWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.createQueryDurationWidget">createQueryDurationWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createConnectionsWidget` <a name="createConnectionsWidget" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createConnectionsWidget"></a>

```typescript
public createConnectionsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createConnectionsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createConnectionsWidget.parameter.height"></a>

- *Type:* number

---

##### `createCpuAndDiskUsageWidget` <a name="createCpuAndDiskUsageWidget" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createCpuAndDiskUsageWidget"></a>

```typescript
public createCpuAndDiskUsageWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createCpuAndDiskUsageWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createCpuAndDiskUsageWidget.parameter.height"></a>

- *Type:* number

---

##### `createLatencyWidget` <a name="createLatencyWidget" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createLatencyWidget"></a>

```typescript
public createLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createMaintenanceWidget` <a name="createMaintenanceWidget" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createMaintenanceWidget"></a>

```typescript
public createMaintenanceWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createMaintenanceWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createMaintenanceWidget.parameter.height"></a>

- *Type:* number

---

##### `createQueryDurationWidget` <a name="createQueryDurationWidget" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createQueryDurationWidget"></a>

```typescript
public createQueryDurationWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createQueryDurationWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createQueryDurationWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.connectionAlarmFactory">connectionAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ConnectionAlarmFactory">ConnectionAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.connectionAnnotations">connectionAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.connectionsMetric">connectionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.cpuUsageMetric">cpuUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.diskSpaceUsageMetric">diskSpaceUsageMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.latencyAlarmFactory">latencyAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.longQueryDurationMetric">longQueryDurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.maintenanceModeMetric">maintenanceModeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.mediumQueryDurationMetric">mediumQueryDurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.queryDurationAnnotations">queryDurationAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.readLatencyMetric">readLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.shortQueryDurationMetric">shortQueryDurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.usageAlarmFactory">usageAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.usageAnnotations">usageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.writeLatencyMetric">writeLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring.property.url">url</a></code> | <code>string</code> | *No description.* |

---

##### `connectionAlarmFactory`<sup>Required</sup> <a name="connectionAlarmFactory" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.connectionAlarmFactory"></a>

```typescript
public readonly connectionAlarmFactory: ConnectionAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ConnectionAlarmFactory">ConnectionAlarmFactory</a>

---

##### `connectionAnnotations`<sup>Required</sup> <a name="connectionAnnotations" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.connectionAnnotations"></a>

```typescript
public readonly connectionAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `connectionsMetric`<sup>Required</sup> <a name="connectionsMetric" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.connectionsMetric"></a>

```typescript
public readonly connectionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `cpuUsageMetric`<sup>Required</sup> <a name="cpuUsageMetric" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.cpuUsageMetric"></a>

```typescript
public readonly cpuUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `diskSpaceUsageMetric`<sup>Required</sup> <a name="diskSpaceUsageMetric" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.diskSpaceUsageMetric"></a>

```typescript
public readonly diskSpaceUsageMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `latencyAlarmFactory`<sup>Required</sup> <a name="latencyAlarmFactory" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.latencyAlarmFactory"></a>

```typescript
public readonly latencyAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `longQueryDurationMetric`<sup>Required</sup> <a name="longQueryDurationMetric" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.longQueryDurationMetric"></a>

```typescript
public readonly longQueryDurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `maintenanceModeMetric`<sup>Required</sup> <a name="maintenanceModeMetric" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.maintenanceModeMetric"></a>

```typescript
public readonly maintenanceModeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `mediumQueryDurationMetric`<sup>Required</sup> <a name="mediumQueryDurationMetric" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.mediumQueryDurationMetric"></a>

```typescript
public readonly mediumQueryDurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `queryDurationAnnotations`<sup>Required</sup> <a name="queryDurationAnnotations" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.queryDurationAnnotations"></a>

```typescript
public readonly queryDurationAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `readLatencyMetric`<sup>Required</sup> <a name="readLatencyMetric" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.readLatencyMetric"></a>

```typescript
public readonly readLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `shortQueryDurationMetric`<sup>Required</sup> <a name="shortQueryDurationMetric" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.shortQueryDurationMetric"></a>

```typescript
public readonly shortQueryDurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `usageAlarmFactory`<sup>Required</sup> <a name="usageAlarmFactory" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.usageAlarmFactory"></a>

```typescript
public readonly usageAlarmFactory: UsageAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.UsageAlarmFactory">UsageAlarmFactory</a>

---

##### `usageAnnotations`<sup>Required</sup> <a name="usageAnnotations" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.usageAnnotations"></a>

```typescript
public readonly usageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `writeLatencyMetric`<sup>Required</sup> <a name="writeLatencyMetric" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.writeLatencyMetric"></a>

```typescript
public readonly writeLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `url`<sup>Optional</sup> <a name="url" id="cdk-monitoring-constructs.RedshiftClusterMonitoring.property.url"></a>

```typescript
public readonly url: string;
```

- *Type:* string

---


### Route53HealthCheckMetricAdjuster <a name="Route53HealthCheckMetricAdjuster" id="cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>

Adjusts a metric so that alarms created from it can be used in Route53 Health Checks.

The metric will be validated to ensure it satisfies Route53 Health Check alarm requirements, otherwise it will throw an {@link Error}.

> [https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-types.html](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-types.html)

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster.Initializer"></a>

```typescript
import { Route53HealthCheckMetricAdjuster } from 'cdk-monitoring-constructs'

new Route53HealthCheckMetricAdjuster()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster.adjustMetric">adjustMetric</a></code> | Adjusts a metric. |

---

##### `adjustMetric` <a name="adjustMetric" id="cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster.adjustMetric"></a>

```typescript
public adjustMetric(metric: MathExpression | Metric, alarmScope: Construct, props: AddAlarmProps): MathExpression | Metric
```

Adjusts a metric.

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster.adjustMetric.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `alarmScope`<sup>Required</sup> <a name="alarmScope" id="cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster.adjustMetric.parameter.alarmScope"></a>

- *Type:* constructs.Construct

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster.adjustMetric.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AddAlarmProps">AddAlarmProps</a>

---



#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster.property.INSTANCE">INSTANCE</a></code> | <code><a href="#cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster">Route53HealthCheckMetricAdjuster</a></code> | *No description.* |

---

##### `INSTANCE`<sup>Required</sup> <a name="INSTANCE" id="cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster.property.INSTANCE"></a>

```typescript
public readonly INSTANCE: Route53HealthCheckMetricAdjuster;
```

- *Type:* <a href="#cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster">Route53HealthCheckMetricAdjuster</a>

---

### 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(): MathExpression | Metric
```

##### `metricNumberOfObjects` <a name="metricNumberOfObjects" id="cdk-monitoring-constructs.S3BucketMetricFactory.metricNumberOfObjects"></a>

```typescript
public metricNumberOfObjects(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.S3BucketMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.S3BucketMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.S3BucketMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---




### SecretsManagerAlarmFactory <a name="SecretsManagerAlarmFactory" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory.Initializer"></a>

```typescript
import { SecretsManagerAlarmFactory } from 'cdk-monitoring-constructs'

new SecretsManagerAlarmFactory(alarmFactory: AlarmFactory)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerAlarmFactory.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.SecretsManagerAlarmFactory.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.SecretsManagerAlarmFactory.addChangeInSecretCountAlarm">addChangeInSecretCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerAlarmFactory.addMaxSecretCountAlarm">addMaxSecretCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerAlarmFactory.addMinSecretCountAlarm">addMinSecretCountAlarm</a></code> | *No description.* |

---

##### `addChangeInSecretCountAlarm` <a name="addChangeInSecretCountAlarm" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory.addChangeInSecretCountAlarm"></a>

```typescript
public addChangeInSecretCountAlarm(metric: MathExpression | Metric, props: ChangeInSecretCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory.addChangeInSecretCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory.addChangeInSecretCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.ChangeInSecretCountThreshold">ChangeInSecretCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory.addChangeInSecretCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxSecretCountAlarm` <a name="addMaxSecretCountAlarm" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory.addMaxSecretCountAlarm"></a>

```typescript
public addMaxSecretCountAlarm(metric: MathExpression | Metric, props: MaxSecretCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory.addMaxSecretCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory.addMaxSecretCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxSecretCountThreshold">MaxSecretCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory.addMaxSecretCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMinSecretCountAlarm` <a name="addMinSecretCountAlarm" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory.addMinSecretCountAlarm"></a>

```typescript
public addMinSecretCountAlarm(metric: MathExpression | Metric, props: MinSecretCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory.addMinSecretCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory.addMinSecretCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MinSecretCountThreshold">MinSecretCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.SecretsManagerAlarmFactory.addMinSecretCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---




### SecretsManagerMetricFactory <a name="SecretsManagerMetricFactory" id="cdk-monitoring-constructs.SecretsManagerMetricFactory"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SecretsManagerMetricFactory.Initializer"></a>

```typescript
import { SecretsManagerMetricFactory } from 'cdk-monitoring-constructs'

new SecretsManagerMetricFactory(metricFactory: MetricFactory, props: BaseMetricFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMetricFactory.Initializer.parameter.metricFactory">metricFactory</a></code> | <code><a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMetricFactory.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.BaseMetricFactoryProps">BaseMetricFactoryProps</a></code> | *No description.* |

---

##### `metricFactory`<sup>Required</sup> <a name="metricFactory" id="cdk-monitoring-constructs.SecretsManagerMetricFactory.Initializer.parameter.metricFactory"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MetricFactory">MetricFactory</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SecretsManagerMetricFactory.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.BaseMetricFactoryProps">BaseMetricFactoryProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMetricFactory.metricSecretCount">metricSecretCount</a></code> | *No description.* |

---

##### `metricSecretCount` <a name="metricSecretCount" id="cdk-monitoring-constructs.SecretsManagerMetricFactory.metricSecretCount"></a>

```typescript
public metricSecretCount(): MathExpression | Metric
```




### SecretsManagerMonitoring <a name="SecretsManagerMonitoring" id="cdk-monitoring-constructs.SecretsManagerMonitoring"></a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SecretsManagerMonitoring.Initializer"></a>

```typescript
import { SecretsManagerMonitoring } from 'cdk-monitoring-constructs'

new SecretsManagerMonitoring(scope: MonitoringScope, props: SecretsManagerMonitoringProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.Initializer.parameter.scope">scope</a></code> | <code><a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoringProps">SecretsManagerMonitoringProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="cdk-monitoring-constructs.SecretsManagerMonitoring.Initializer.parameter.scope"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MonitoringScope">MonitoringScope</a>

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.SecretsManagerMonitoring.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.SecretsManagerMonitoringProps">SecretsManagerMonitoringProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.addAlarm">addAlarm</a></code> | Adds an alarm. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.alarmWidgets">alarmWidgets</a></code> | Returns widgets for all alarms. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.createAlarmFactory">createAlarmFactory</a></code> | Creates a new alarm factory. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.createdAlarms">createdAlarms</a></code> | Returns all the alarms created. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.createMetricFactory">createMetricFactory</a></code> | Creates a new metric factory. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.createWidgetFactory">createWidgetFactory</a></code> | Creates a new widget factory. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.summaryWidgets">summaryWidgets</a></code> | Returns widgets to be placed on the summary dashboard. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.widgets">widgets</a></code> | Returns widgets to be placed on the main dashboard. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.createSecretsCountWidget">createSecretsCountWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `addAlarm` <a name="addAlarm" id="cdk-monitoring-constructs.SecretsManagerMonitoring.addAlarm"></a>

```typescript
public addAlarm(alarm: AlarmWithAnnotation): void
```

Adds an alarm.

###### `alarm`<sup>Required</sup> <a name="alarm" id="cdk-monitoring-constructs.SecretsManagerMonitoring.addAlarm.parameter.alarm"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmWithAnnotation">AlarmWithAnnotation</a>

alarm to add.

---

##### `alarmWidgets` <a name="alarmWidgets" id="cdk-monitoring-constructs.SecretsManagerMonitoring.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.SecretsManagerMonitoring.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.SecretsManagerMonitoring.createAlarmFactory.parameter.alarmNamePrefix"></a>

- *Type:* string

alarm name prefix.

---

##### `createdAlarms` <a name="createdAlarms" id="cdk-monitoring-constructs.SecretsManagerMonitoring.createdAlarms"></a>

```typescript
public createdAlarms(): AlarmWithAnnotation[]
```

Returns all the alarms created.

##### `createMetricFactory` <a name="createMetricFactory" id="cdk-monitoring-constructs.SecretsManagerMonitoring.createMetricFactory"></a>

```typescript
public createMetricFactory(): MetricFactory
```

Creates a new metric factory.

##### `createWidgetFactory` <a name="createWidgetFactory" id="cdk-monitoring-constructs.SecretsManagerMonitoring.createWidgetFactory"></a>

```typescript
public createWidgetFactory(): IWidgetFactory
```

Creates a new widget factory.

##### `summaryWidgets` <a name="summaryWidgets" id="cdk-monitoring-constructs.SecretsManagerMonitoring.summaryWidgets"></a>

```typescript
public summaryWidgets(): IWidget[]
```

Returns widgets to be placed on the summary dashboard.

##### `widgets` <a name="widgets" id="cdk-monitoring-constructs.SecretsManagerMonitoring.widgets"></a>

```typescript
public widgets(): IWidget[]
```

Returns widgets to be placed on the main dashboard.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.SecretsManagerMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.SecretsManagerMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createSecretsCountWidget` <a name="createSecretsCountWidget" id="cdk-monitoring-constructs.SecretsManagerMonitoring.createSecretsCountWidget"></a>

```typescript
public createSecretsCountWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SecretsManagerMonitoring.createSecretsCountWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SecretsManagerMonitoring.createSecretsCountWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.SecretsManagerMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.property.secretsCountAnnotation">secretsCountAnnotation</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.property.secretsCountMetric">secretsCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.property.secretsManagerAlarmFactory">secretsManagerAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.SecretsManagerAlarmFactory">SecretsManagerAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `secretsCountAnnotation`<sup>Required</sup> <a name="secretsCountAnnotation" id="cdk-monitoring-constructs.SecretsManagerMonitoring.property.secretsCountAnnotation"></a>

```typescript
public readonly secretsCountAnnotation: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `secretsCountMetric`<sup>Required</sup> <a name="secretsCountMetric" id="cdk-monitoring-constructs.SecretsManagerMonitoring.property.secretsCountMetric"></a>

```typescript
public readonly secretsCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `secretsManagerAlarmFactory`<sup>Required</sup> <a name="secretsManagerAlarmFactory" id="cdk-monitoring-constructs.SecretsManagerMonitoring.property.secretsManagerAlarmFactory"></a>

```typescript
public readonly secretsManagerAlarmFactory: SecretsManagerAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.SecretsManagerAlarmFactory">SecretsManagerAlarmFactory</a>

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.SecretsManagerMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---


### 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(): MathExpression | Metric
```

##### `metricDaysSinceLastRotation` <a name="metricDaysSinceLastRotation" id="cdk-monitoring-constructs.SecretsManagerSecretMetricFactory.metricDaysSinceLastRotation"></a>

```typescript
public metricDaysSinceLastRotation(): MathExpression | Metric
```



#### 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. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createDaysSinceLastChangeWidget">createDaysSinceLastChangeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createDaysSinceLastRotationWidget">createDaysSinceLastRotationWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createDaysSinceLastChangeWidget` <a name="createDaysSinceLastChangeWidget" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createDaysSinceLastChangeWidget"></a>

```typescript
public createDaysSinceLastChangeWidget(): GraphWidget
```

##### `createDaysSinceLastRotationWidget` <a name="createDaysSinceLastRotationWidget" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createDaysSinceLastRotationWidget"></a>

```typescript
public createDaysSinceLastRotationWidget(): GraphWidget
```

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.daysSinceLastChangeAnnotations">daysSinceLastChangeAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.daysSinceLastChangeMetric">daysSinceLastChangeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.daysSinceLastRotationAnnotations">daysSinceLastRotationAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.daysSinceLastRotationMetric">daysSinceLastRotationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.showLastRotationWidget">showLastRotationWidget</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.alarmFactory"></a>

```typescript
public readonly alarmFactory: AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

##### `daysSinceLastChangeAnnotations`<sup>Required</sup> <a name="daysSinceLastChangeAnnotations" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.daysSinceLastChangeAnnotations"></a>

```typescript
public readonly daysSinceLastChangeAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `daysSinceLastChangeMetric`<sup>Required</sup> <a name="daysSinceLastChangeMetric" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.daysSinceLastChangeMetric"></a>

```typescript
public readonly daysSinceLastChangeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `daysSinceLastRotationAnnotations`<sup>Required</sup> <a name="daysSinceLastRotationAnnotations" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.daysSinceLastRotationAnnotations"></a>

```typescript
public readonly daysSinceLastRotationAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `daysSinceLastRotationMetric`<sup>Required</sup> <a name="daysSinceLastRotationMetric" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.daysSinceLastRotationMetric"></a>

```typescript
public readonly daysSinceLastRotationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `showLastRotationWidget`<sup>Required</sup> <a name="showLastRotationWidget" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.showLastRotationWidget"></a>

```typescript
public readonly showLastRotationWidget: boolean;
```

- *Type:* boolean

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.SecretsManagerSecretMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---


### 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. |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidget.property.warnings">warnings</a></code> | <code>string[]</code> | Any warnings that are produced as a result of putting together this widget. |
| <code><a href="#cdk-monitoring-constructs.SingleAxisGraphWidget.property.warningsV2">warningsV2</a></code> | <code>{[ key: string ]: string}</code> | Any warnings that are produced as a result of putting together this widget. |

---

##### `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.

---

##### `warnings`<sup>Optional</sup> <a name="warnings" id="cdk-monitoring-constructs.SingleAxisGraphWidget.property.warnings"></a>

```typescript
public readonly warnings: string[];
```

- *Type:* string[]

Any warnings that are produced as a result of putting together this widget.

---

##### `warningsV2`<sup>Optional</sup> <a name="warningsV2" id="cdk-monitoring-constructs.SingleAxisGraphWidget.property.warningsV2"></a>

```typescript
public readonly warningsV2: {[ key: string ]: string};
```

- *Type:* {[ key: string ]: string}

Any warnings that are produced as a result of putting together this widget.

---


### SingleWidgetDashboardSegment <a name="SingleWidgetDashboardSegment" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IDashboardSegment">IDashboardSegment</a>, <a href="#cdk-monitoring-constructs.IDynamicDashboardSegment">IDynamicDashboardSegment</a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment.Initializer"></a>

```typescript
import { SingleWidgetDashboardSegment } from 'cdk-monitoring-constructs'

new SingleWidgetDashboardSegment(widget: IWidget, dashboardsToInclude?: string[])
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SingleWidgetDashboardSegment.Initializer.parameter.widget">widget</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IWidget</code> | widget to add. |
| <code><a href="#cdk-monitoring-constructs.SingleWidgetDashboardSegment.Initializer.parameter.dashboardsToInclude">dashboardsToInclude</a></code> | <code>string[]</code> | list of dashboard names which to show this widget on. |

---

##### `widget`<sup>Required</sup> <a name="widget" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment.Initializer.parameter.widget"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.IWidget

widget to add.

---

##### `dashboardsToInclude`<sup>Optional</sup> <a name="dashboardsToInclude" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment.Initializer.parameter.dashboardsToInclude"></a>

- *Type:* string[]

list of dashboard names which to show this widget on.

Defaults to the default dashboards.

---

#### 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. |
| <code><a href="#cdk-monitoring-constructs.SingleWidgetDashboardSegment.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.SingleWidgetDashboardSegment.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---




### 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(): MathExpression | Metric
```

##### `metricIncomingMessageCount` <a name="metricIncomingMessageCount" id="cdk-monitoring-constructs.SnsTopicMetricFactory.metricIncomingMessageCount"></a>

```typescript
public metricIncomingMessageCount(): MathExpression | Metric
```

##### `metricNumberOfNotificationsFailed` <a name="metricNumberOfNotificationsFailed" id="cdk-monitoring-constructs.SnsTopicMetricFactory.metricNumberOfNotificationsFailed"></a>

```typescript
public metricNumberOfNotificationsFailed(): MathExpression | Metric
```

##### `metricOutgoingMessageCount` <a name="metricOutgoingMessageCount" id="cdk-monitoring-constructs.SnsTopicMetricFactory.metricOutgoingMessageCount"></a>

```typescript
public metricOutgoingMessageCount(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.createMessageCountWidget">createMessageCountWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.createMessageFailedWidget">createMessageFailedWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.createMessageSizeWidget">createMessageSizeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.SnsTopicMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.SnsTopicMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createMessageCountWidget` <a name="createMessageCountWidget" id="cdk-monitoring-constructs.SnsTopicMonitoring.createMessageCountWidget"></a>

```typescript
public createMessageCountWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SnsTopicMonitoring.createMessageCountWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SnsTopicMonitoring.createMessageCountWidget.parameter.height"></a>

- *Type:* number

---

##### `createMessageFailedWidget` <a name="createMessageFailedWidget" id="cdk-monitoring-constructs.SnsTopicMonitoring.createMessageFailedWidget"></a>

```typescript
public createMessageFailedWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SnsTopicMonitoring.createMessageFailedWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SnsTopicMonitoring.createMessageFailedWidget.parameter.height"></a>

- *Type:* number

---

##### `createMessageSizeWidget` <a name="createMessageSizeWidget" id="cdk-monitoring-constructs.SnsTopicMonitoring.createMessageSizeWidget"></a>

```typescript
public createMessageSizeWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SnsTopicMonitoring.createMessageSizeWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SnsTopicMonitoring.createMessageSizeWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.SnsTopicMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.property.failedDeliveryAnnotations">failedDeliveryAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.property.incomingMessagesAnnotations">incomingMessagesAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.property.incomingMessagesMetric">incomingMessagesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.property.messagesFailedMetric">messagesFailedMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.property.messageSizeMetric">messageSizeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.property.outgoingMessagesMetric">outgoingMessagesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.property.topicAlarmFactory">topicAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.TopicAlarmFactory">TopicAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SnsTopicMonitoring.property.topicUrl">topicUrl</a></code> | <code>string</code> | *No description.* |

---

##### `failedDeliveryAnnotations`<sup>Required</sup> <a name="failedDeliveryAnnotations" id="cdk-monitoring-constructs.SnsTopicMonitoring.property.failedDeliveryAnnotations"></a>

```typescript
public readonly failedDeliveryAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `incomingMessagesAnnotations`<sup>Required</sup> <a name="incomingMessagesAnnotations" id="cdk-monitoring-constructs.SnsTopicMonitoring.property.incomingMessagesAnnotations"></a>

```typescript
public readonly incomingMessagesAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `incomingMessagesMetric`<sup>Required</sup> <a name="incomingMessagesMetric" id="cdk-monitoring-constructs.SnsTopicMonitoring.property.incomingMessagesMetric"></a>

```typescript
public readonly incomingMessagesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `messagesFailedMetric`<sup>Required</sup> <a name="messagesFailedMetric" id="cdk-monitoring-constructs.SnsTopicMonitoring.property.messagesFailedMetric"></a>

```typescript
public readonly messagesFailedMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `messageSizeMetric`<sup>Required</sup> <a name="messageSizeMetric" id="cdk-monitoring-constructs.SnsTopicMonitoring.property.messageSizeMetric"></a>

```typescript
public readonly messageSizeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `outgoingMessagesMetric`<sup>Required</sup> <a name="outgoingMessagesMetric" id="cdk-monitoring-constructs.SnsTopicMonitoring.property.outgoingMessagesMetric"></a>

```typescript
public readonly outgoingMessagesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.SnsTopicMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `topicAlarmFactory`<sup>Required</sup> <a name="topicAlarmFactory" id="cdk-monitoring-constructs.SnsTopicMonitoring.property.topicAlarmFactory"></a>

```typescript
public readonly topicAlarmFactory: TopicAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.TopicAlarmFactory">TopicAlarmFactory</a>

---

##### `topicUrl`<sup>Optional</sup> <a name="topicUrl" id="cdk-monitoring-constructs.SnsTopicMonitoring.property.topicUrl"></a>

```typescript
public readonly topicUrl: string;
```

- *Type:* string

---


### 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(): MathExpression | Metric
```

##### `metricApproximateVisibleMessageCount` <a name="metricApproximateVisibleMessageCount" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricApproximateVisibleMessageCount"></a>

```typescript
public metricApproximateVisibleMessageCount(): MathExpression | Metric
```

##### `metricAverageMessageSizeInBytes` <a name="metricAverageMessageSizeInBytes" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricAverageMessageSizeInBytes"></a>

```typescript
public metricAverageMessageSizeInBytes(): MathExpression | Metric
```

##### `metricConsumptionRate` <a name="metricConsumptionRate" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricConsumptionRate"></a>

```typescript
public metricConsumptionRate(): MathExpression | Metric
```

##### `metricDeletedMessageCount` <a name="metricDeletedMessageCount" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricDeletedMessageCount"></a>

```typescript
public metricDeletedMessageCount(): MathExpression | Metric
```

##### `metricIncomingMessageCount` <a name="metricIncomingMessageCount" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricIncomingMessageCount"></a>

```typescript
public metricIncomingMessageCount(): MathExpression | Metric
```

##### `metricProductionRate` <a name="metricProductionRate" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricProductionRate"></a>

```typescript
public metricProductionRate(): MathExpression | Metric
```

##### `metricTimeToDrain` <a name="metricTimeToDrain" id="cdk-monitoring-constructs.SqsQueueMetricFactory.metricTimeToDrain"></a>

```typescript
public metricTimeToDrain(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.createMessageAgeWidget">createMessageAgeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.createMessageCountWidget">createMessageCountWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.createMessageSizeWidget">createMessageSizeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.createProducerAndConsumerRateWidget">createProducerAndConsumerRateWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.createTimeToDrainWidget">createTimeToDrainWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.SqsQueueMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.SqsQueueMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createMessageAgeWidget` <a name="createMessageAgeWidget" id="cdk-monitoring-constructs.SqsQueueMonitoring.createMessageAgeWidget"></a>

```typescript
public createMessageAgeWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SqsQueueMonitoring.createMessageAgeWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SqsQueueMonitoring.createMessageAgeWidget.parameter.height"></a>

- *Type:* number

---

##### `createMessageCountWidget` <a name="createMessageCountWidget" id="cdk-monitoring-constructs.SqsQueueMonitoring.createMessageCountWidget"></a>

```typescript
public createMessageCountWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SqsQueueMonitoring.createMessageCountWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SqsQueueMonitoring.createMessageCountWidget.parameter.height"></a>

- *Type:* number

---

##### `createMessageSizeWidget` <a name="createMessageSizeWidget" id="cdk-monitoring-constructs.SqsQueueMonitoring.createMessageSizeWidget"></a>

```typescript
public createMessageSizeWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SqsQueueMonitoring.createMessageSizeWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SqsQueueMonitoring.createMessageSizeWidget.parameter.height"></a>

- *Type:* number

---

##### `createProducerAndConsumerRateWidget` <a name="createProducerAndConsumerRateWidget" id="cdk-monitoring-constructs.SqsQueueMonitoring.createProducerAndConsumerRateWidget"></a>

```typescript
public createProducerAndConsumerRateWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SqsQueueMonitoring.createProducerAndConsumerRateWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SqsQueueMonitoring.createProducerAndConsumerRateWidget.parameter.height"></a>

- *Type:* number

---

##### `createTimeToDrainWidget` <a name="createTimeToDrainWidget" id="cdk-monitoring-constructs.SqsQueueMonitoring.createTimeToDrainWidget"></a>

```typescript
public createTimeToDrainWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SqsQueueMonitoring.createTimeToDrainWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SqsQueueMonitoring.createTimeToDrainWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.SqsQueueMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.ageAnnotations">ageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.consumptionRateMetric">consumptionRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.countAnnotations">countAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.deletedMessagesMetric">deletedMessagesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.incomingMessagesMetric">incomingMessagesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.messageSizeMetric">messageSizeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.oldestMessageAgeMetric">oldestMessageAgeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.productionRateMetric">productionRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.queueAlarmFactory">queueAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.QueueAlarmFactory">QueueAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.timeToDrainAnnotations">timeToDrainAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.timeToDrainMetric">timeToDrainMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.visibleMessagesMetric">visibleMessagesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoring.property.queueUrl">queueUrl</a></code> | <code>string</code> | *No description.* |

---

##### `ageAnnotations`<sup>Required</sup> <a name="ageAnnotations" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.ageAnnotations"></a>

```typescript
public readonly ageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `consumptionRateMetric`<sup>Required</sup> <a name="consumptionRateMetric" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.consumptionRateMetric"></a>

```typescript
public readonly consumptionRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `countAnnotations`<sup>Required</sup> <a name="countAnnotations" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.countAnnotations"></a>

```typescript
public readonly countAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `deletedMessagesMetric`<sup>Required</sup> <a name="deletedMessagesMetric" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.deletedMessagesMetric"></a>

```typescript
public readonly deletedMessagesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `incomingMessagesMetric`<sup>Required</sup> <a name="incomingMessagesMetric" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.incomingMessagesMetric"></a>

```typescript
public readonly incomingMessagesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `messageSizeMetric`<sup>Required</sup> <a name="messageSizeMetric" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.messageSizeMetric"></a>

```typescript
public readonly messageSizeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `oldestMessageAgeMetric`<sup>Required</sup> <a name="oldestMessageAgeMetric" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.oldestMessageAgeMetric"></a>

```typescript
public readonly oldestMessageAgeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `productionRateMetric`<sup>Required</sup> <a name="productionRateMetric" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.productionRateMetric"></a>

```typescript
public readonly productionRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `queueAlarmFactory`<sup>Required</sup> <a name="queueAlarmFactory" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.queueAlarmFactory"></a>

```typescript
public readonly queueAlarmFactory: QueueAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.QueueAlarmFactory">QueueAlarmFactory</a>

---

##### `timeToDrainAnnotations`<sup>Required</sup> <a name="timeToDrainAnnotations" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.timeToDrainAnnotations"></a>

```typescript
public readonly timeToDrainAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `timeToDrainMetric`<sup>Required</sup> <a name="timeToDrainMetric" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.timeToDrainMetric"></a>

```typescript
public readonly timeToDrainMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `visibleMessagesMetric`<sup>Required</sup> <a name="visibleMessagesMetric" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.visibleMessagesMetric"></a>

```typescript
public readonly visibleMessagesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `queueUrl`<sup>Optional</sup> <a name="queueUrl" id="cdk-monitoring-constructs.SqsQueueMonitoring.property.queueUrl"></a>

```typescript
public readonly queueUrl: string;
```

- *Type:* string

---


### 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. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMessageAgeWidget">createMessageAgeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMessageCountWidget">createMessageCountWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMessageSizeWidget">createMessageSizeWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createProducerAndConsumerRateWidget">createProducerAndConsumerRateWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createTimeToDrainWidget">createTimeToDrainWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createMessageAgeWidget` <a name="createMessageAgeWidget" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMessageAgeWidget"></a>

```typescript
public createMessageAgeWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMessageAgeWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMessageAgeWidget.parameter.height"></a>

- *Type:* number

---

##### `createMessageCountWidget` <a name="createMessageCountWidget" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMessageCountWidget"></a>

```typescript
public createMessageCountWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMessageCountWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMessageCountWidget.parameter.height"></a>

- *Type:* number

---

##### `createMessageSizeWidget` <a name="createMessageSizeWidget" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMessageSizeWidget"></a>

```typescript
public createMessageSizeWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMessageSizeWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createMessageSizeWidget.parameter.height"></a>

- *Type:* number

---

##### `createProducerAndConsumerRateWidget` <a name="createProducerAndConsumerRateWidget" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createProducerAndConsumerRateWidget"></a>

```typescript
public createProducerAndConsumerRateWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createProducerAndConsumerRateWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createProducerAndConsumerRateWidget.parameter.height"></a>

- *Type:* number

---

##### `createTimeToDrainWidget` <a name="createTimeToDrainWidget" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createTimeToDrainWidget"></a>

```typescript
public createTimeToDrainWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createTimeToDrainWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createTimeToDrainWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.ageAnnotations">ageAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.consumptionRateMetric">consumptionRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.countAnnotations">countAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.deletedMessagesMetric">deletedMessagesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.incomingMessagesMetric">incomingMessagesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.messageSizeMetric">messageSizeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.oldestMessageAgeMetric">oldestMessageAgeMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.productionRateMetric">productionRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.queueAlarmFactory">queueAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.QueueAlarmFactory">QueueAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.timeToDrainAnnotations">timeToDrainAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.timeToDrainMetric">timeToDrainMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.visibleMessagesMetric">visibleMessagesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.queueUrl">queueUrl</a></code> | <code>string</code> | *No description.* |

---

##### `ageAnnotations`<sup>Required</sup> <a name="ageAnnotations" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.ageAnnotations"></a>

```typescript
public readonly ageAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `consumptionRateMetric`<sup>Required</sup> <a name="consumptionRateMetric" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.consumptionRateMetric"></a>

```typescript
public readonly consumptionRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `countAnnotations`<sup>Required</sup> <a name="countAnnotations" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.countAnnotations"></a>

```typescript
public readonly countAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `deletedMessagesMetric`<sup>Required</sup> <a name="deletedMessagesMetric" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.deletedMessagesMetric"></a>

```typescript
public readonly deletedMessagesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `incomingMessagesMetric`<sup>Required</sup> <a name="incomingMessagesMetric" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.incomingMessagesMetric"></a>

```typescript
public readonly incomingMessagesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `messageSizeMetric`<sup>Required</sup> <a name="messageSizeMetric" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.messageSizeMetric"></a>

```typescript
public readonly messageSizeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `oldestMessageAgeMetric`<sup>Required</sup> <a name="oldestMessageAgeMetric" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.oldestMessageAgeMetric"></a>

```typescript
public readonly oldestMessageAgeMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `productionRateMetric`<sup>Required</sup> <a name="productionRateMetric" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.productionRateMetric"></a>

```typescript
public readonly productionRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `queueAlarmFactory`<sup>Required</sup> <a name="queueAlarmFactory" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.queueAlarmFactory"></a>

```typescript
public readonly queueAlarmFactory: QueueAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.QueueAlarmFactory">QueueAlarmFactory</a>

---

##### `timeToDrainAnnotations`<sup>Required</sup> <a name="timeToDrainAnnotations" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.timeToDrainAnnotations"></a>

```typescript
public readonly timeToDrainAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `timeToDrainMetric`<sup>Required</sup> <a name="timeToDrainMetric" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.timeToDrainMetric"></a>

```typescript
public readonly timeToDrainMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `visibleMessagesMetric`<sup>Required</sup> <a name="visibleMessagesMetric" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.visibleMessagesMetric"></a>

```typescript
public readonly visibleMessagesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `queueUrl`<sup>Optional</sup> <a name="queueUrl" id="cdk-monitoring-constructs.SqsQueueMonitoringWithDlq.property.queueUrl"></a>

```typescript
public readonly queueUrl: string;
```

- *Type:* string

---


### StaticSegmentDynamicAdapter <a name="StaticSegmentDynamicAdapter" id="cdk-monitoring-constructs.StaticSegmentDynamicAdapter"></a>

- *Implements:* <a href="#cdk-monitoring-constructs.IDynamicDashboardSegment">IDynamicDashboardSegment</a>

#### Initializers <a name="Initializers" id="cdk-monitoring-constructs.StaticSegmentDynamicAdapter.Initializer"></a>

```typescript
import { StaticSegmentDynamicAdapter } from 'cdk-monitoring-constructs'

new StaticSegmentDynamicAdapter(props: IDashboardFactoryProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StaticSegmentDynamicAdapter.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-monitoring-constructs.IDashboardFactoryProps">IDashboardFactoryProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.StaticSegmentDynamicAdapter.Initializer.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.IDashboardFactoryProps">IDashboardFactoryProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.StaticSegmentDynamicAdapter.widgetsForDashboard">widgetsForDashboard</a></code> | Adapts an IDashboardSegment to the IDynamicDashboardSegment interface by using overrideProps to determine if a segment should be shown on a specific dashboard. |

---

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.StaticSegmentDynamicAdapter.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Adapts an IDashboardSegment to the IDynamicDashboardSegment interface by using overrideProps to determine if a segment should be shown on a specific dashboard.

The default values are true, so consumers must set these to false if they would
like to hide these items from dashboards

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.StaticSegmentDynamicAdapter.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---




### 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(): MathExpression | Metric
```

##### `metricActivitiesFailedRate` <a name="metricActivitiesFailedRate" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesFailedRate"></a>

```typescript
public metricActivitiesFailedRate(): MathExpression | Metric
```

##### `metricActivitiesHeartbeatTimedOut` <a name="metricActivitiesHeartbeatTimedOut" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesHeartbeatTimedOut"></a>

```typescript
public metricActivitiesHeartbeatTimedOut(): MathExpression | Metric
```

##### `metricActivitiesScheduled` <a name="metricActivitiesScheduled" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesScheduled"></a>

```typescript
public metricActivitiesScheduled(): MathExpression | Metric
```

##### `metricActivitiesStarted` <a name="metricActivitiesStarted" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesStarted"></a>

```typescript
public metricActivitiesStarted(): MathExpression | Metric
```

##### `metricActivitiesSucceeded` <a name="metricActivitiesSucceeded" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesSucceeded"></a>

```typescript
public metricActivitiesSucceeded(): MathExpression | Metric
```

##### `metricActivitiesTimedOut` <a name="metricActivitiesTimedOut" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivitiesTimedOut"></a>

```typescript
public metricActivitiesTimedOut(): MathExpression | Metric
```

##### `metricActivityRunTimeP50InMillis` <a name="metricActivityRunTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityRunTimeP50InMillis"></a>

```typescript
public metricActivityRunTimeP50InMillis(): MathExpression | Metric
```

##### `metricActivityRunTimeP90InMillis` <a name="metricActivityRunTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityRunTimeP90InMillis"></a>

```typescript
public metricActivityRunTimeP90InMillis(): MathExpression | Metric
```

##### `metricActivityRunTimeP99InMillis` <a name="metricActivityRunTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityRunTimeP99InMillis"></a>

```typescript
public metricActivityRunTimeP99InMillis(): MathExpression | Metric
```

##### `metricActivityScheduleTimeP50InMillis` <a name="metricActivityScheduleTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityScheduleTimeP50InMillis"></a>

```typescript
public metricActivityScheduleTimeP50InMillis(): MathExpression | Metric
```

##### `metricActivityScheduleTimeP90InMillis` <a name="metricActivityScheduleTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityScheduleTimeP90InMillis"></a>

```typescript
public metricActivityScheduleTimeP90InMillis(): MathExpression | Metric
```

##### `metricActivityScheduleTimeP99InMillis` <a name="metricActivityScheduleTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityScheduleTimeP99InMillis"></a>

```typescript
public metricActivityScheduleTimeP99InMillis(): MathExpression | Metric
```

##### `metricActivityTimeP50InMillis` <a name="metricActivityTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityTimeP50InMillis"></a>

```typescript
public metricActivityTimeP50InMillis(): MathExpression | Metric
```

##### `metricActivityTimeP90InMillis` <a name="metricActivityTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityTimeP90InMillis"></a>

```typescript
public metricActivityTimeP90InMillis(): MathExpression | Metric
```

##### `metricActivityTimeP99InMillis` <a name="metricActivityTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionActivityMetricFactory.metricActivityTimeP99InMillis"></a>

```typescript
public metricActivityTimeP99InMillis(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.durationAlarmFactory">durationAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.durationAnnotations">durationAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.failedActivitiesMetric">failedActivitiesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.failedActivitiesRateMetric">failedActivitiesRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.heartbeatTimedOutActivitiesMetrics">heartbeatTimedOutActivitiesMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.p50DurationMetric">p50DurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.p90DurationMetric">p90DurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.p99DurationMetric">p99DurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.scheduledActivitiesMetric">scheduledActivitiesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.startedActivitiesMetric">startedActivitiesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.succeededActivitiesMetric">succeededActivitiesMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.timedOutActivitiesMetrics">timedOutActivitiesMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `durationAlarmFactory`<sup>Required</sup> <a name="durationAlarmFactory" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.durationAlarmFactory"></a>

```typescript
public readonly durationAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `durationAnnotations`<sup>Required</sup> <a name="durationAnnotations" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.durationAnnotations"></a>

```typescript
public readonly durationAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `failedActivitiesMetric`<sup>Required</sup> <a name="failedActivitiesMetric" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.failedActivitiesMetric"></a>

```typescript
public readonly failedActivitiesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `failedActivitiesRateMetric`<sup>Required</sup> <a name="failedActivitiesRateMetric" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.failedActivitiesRateMetric"></a>

```typescript
public readonly failedActivitiesRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `heartbeatTimedOutActivitiesMetrics`<sup>Required</sup> <a name="heartbeatTimedOutActivitiesMetrics" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.heartbeatTimedOutActivitiesMetrics"></a>

```typescript
public readonly heartbeatTimedOutActivitiesMetrics: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p50DurationMetric`<sup>Required</sup> <a name="p50DurationMetric" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.p50DurationMetric"></a>

```typescript
public readonly p50DurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p90DurationMetric`<sup>Required</sup> <a name="p90DurationMetric" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.p90DurationMetric"></a>

```typescript
public readonly p90DurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p99DurationMetric`<sup>Required</sup> <a name="p99DurationMetric" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.p99DurationMetric"></a>

```typescript
public readonly p99DurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `scheduledActivitiesMetric`<sup>Required</sup> <a name="scheduledActivitiesMetric" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.scheduledActivitiesMetric"></a>

```typescript
public readonly scheduledActivitiesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `startedActivitiesMetric`<sup>Required</sup> <a name="startedActivitiesMetric" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.startedActivitiesMetric"></a>

```typescript
public readonly startedActivitiesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `succeededActivitiesMetric`<sup>Required</sup> <a name="succeededActivitiesMetric" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.succeededActivitiesMetric"></a>

```typescript
public readonly succeededActivitiesMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `timedOutActivitiesMetrics`<sup>Required</sup> <a name="timedOutActivitiesMetrics" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.timedOutActivitiesMetrics"></a>

```typescript
public readonly timedOutActivitiesMetrics: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.StepFunctionActivityMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---


### 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(): MathExpression | Metric
```

##### `metricFunctionRunTimeP90InMillis` <a name="metricFunctionRunTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionRunTimeP90InMillis"></a>

```typescript
public metricFunctionRunTimeP90InMillis(): MathExpression | Metric
```

##### `metricFunctionRunTimeP99InMillis` <a name="metricFunctionRunTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionRunTimeP99InMillis"></a>

```typescript
public metricFunctionRunTimeP99InMillis(): MathExpression | Metric
```

##### `metricFunctionScheduleTimeP50InMillis` <a name="metricFunctionScheduleTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionScheduleTimeP50InMillis"></a>

```typescript
public metricFunctionScheduleTimeP50InMillis(): MathExpression | Metric
```

##### `metricFunctionScheduleTimeP90InMillis` <a name="metricFunctionScheduleTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionScheduleTimeP90InMillis"></a>

```typescript
public metricFunctionScheduleTimeP90InMillis(): MathExpression | Metric
```

##### `metricFunctionScheduleTimeP99InMillis` <a name="metricFunctionScheduleTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionScheduleTimeP99InMillis"></a>

```typescript
public metricFunctionScheduleTimeP99InMillis(): MathExpression | Metric
```

##### `metricFunctionsFailed` <a name="metricFunctionsFailed" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsFailed"></a>

```typescript
public metricFunctionsFailed(): MathExpression | Metric
```

##### `metricFunctionsFailedRate` <a name="metricFunctionsFailedRate" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsFailedRate"></a>

```typescript
public metricFunctionsFailedRate(): MathExpression | Metric
```

##### `metricFunctionsScheduled` <a name="metricFunctionsScheduled" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsScheduled"></a>

```typescript
public metricFunctionsScheduled(): MathExpression | Metric
```

##### `metricFunctionsStarted` <a name="metricFunctionsStarted" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsStarted"></a>

```typescript
public metricFunctionsStarted(): MathExpression | Metric
```

##### `metricFunctionsSucceeded` <a name="metricFunctionsSucceeded" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsSucceeded"></a>

```typescript
public metricFunctionsSucceeded(): MathExpression | Metric
```

##### `metricFunctionsTimedOut` <a name="metricFunctionsTimedOut" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionsTimedOut"></a>

```typescript
public metricFunctionsTimedOut(): MathExpression | Metric
```

##### `metricFunctionTimeP50InMillis` <a name="metricFunctionTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionTimeP50InMillis"></a>

```typescript
public metricFunctionTimeP50InMillis(): MathExpression | Metric
```

##### `metricFunctionTimeP90InMillis` <a name="metricFunctionTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionTimeP90InMillis"></a>

```typescript
public metricFunctionTimeP90InMillis(): MathExpression | Metric
```

##### `metricFunctionTimeP99InMillis` <a name="metricFunctionTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMetricFactory.metricFunctionTimeP99InMillis"></a>

```typescript
public metricFunctionTimeP99InMillis(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.durationAlarmFactory">durationAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.durationAnnotations">durationAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.failedFunctionRateMetric">failedFunctionRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.failedFunctionsMetric">failedFunctionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.p50DurationMetric">p50DurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.p90DurationMetric">p90DurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.p99DurationMetric">p99DurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.scheduledFunctionsMetric">scheduledFunctionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.startedFunctionsMetric">startedFunctionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.succeededFunctionsMetric">succeededFunctionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.timedOutFunctionsMetrics">timedOutFunctionsMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.functionUrl">functionUrl</a></code> | <code>string</code> | *No description.* |

---

##### `durationAlarmFactory`<sup>Required</sup> <a name="durationAlarmFactory" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.durationAlarmFactory"></a>

```typescript
public readonly durationAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `durationAnnotations`<sup>Required</sup> <a name="durationAnnotations" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.durationAnnotations"></a>

```typescript
public readonly durationAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `failedFunctionRateMetric`<sup>Required</sup> <a name="failedFunctionRateMetric" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.failedFunctionRateMetric"></a>

```typescript
public readonly failedFunctionRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `failedFunctionsMetric`<sup>Required</sup> <a name="failedFunctionsMetric" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.failedFunctionsMetric"></a>

```typescript
public readonly failedFunctionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p50DurationMetric`<sup>Required</sup> <a name="p50DurationMetric" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.p50DurationMetric"></a>

```typescript
public readonly p50DurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p90DurationMetric`<sup>Required</sup> <a name="p90DurationMetric" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.p90DurationMetric"></a>

```typescript
public readonly p90DurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p99DurationMetric`<sup>Required</sup> <a name="p99DurationMetric" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.p99DurationMetric"></a>

```typescript
public readonly p99DurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `scheduledFunctionsMetric`<sup>Required</sup> <a name="scheduledFunctionsMetric" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.scheduledFunctionsMetric"></a>

```typescript
public readonly scheduledFunctionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `startedFunctionsMetric`<sup>Required</sup> <a name="startedFunctionsMetric" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.startedFunctionsMetric"></a>

```typescript
public readonly startedFunctionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `succeededFunctionsMetric`<sup>Required</sup> <a name="succeededFunctionsMetric" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.succeededFunctionsMetric"></a>

```typescript
public readonly succeededFunctionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `timedOutFunctionsMetrics`<sup>Required</sup> <a name="timedOutFunctionsMetrics" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.timedOutFunctionsMetrics"></a>

```typescript
public readonly timedOutFunctionsMetrics: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `functionUrl`<sup>Optional</sup> <a name="functionUrl" id="cdk-monitoring-constructs.StepFunctionLambdaIntegrationMonitoring.property.functionUrl"></a>

```typescript
public readonly functionUrl: string;
```

- *Type:* string

---


### 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(): MathExpression | Metric
```

##### `metricExecutionsFailed` <a name="metricExecutionsFailed" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsFailed"></a>

```typescript
public metricExecutionsFailed(): MathExpression | Metric
```

##### `metricExecutionsFailedRate` <a name="metricExecutionsFailedRate" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsFailedRate"></a>

```typescript
public metricExecutionsFailedRate(): MathExpression | Metric
```

##### `metricExecutionsStarted` <a name="metricExecutionsStarted" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsStarted"></a>

```typescript
public metricExecutionsStarted(): MathExpression | Metric
```

##### `metricExecutionsSucceeded` <a name="metricExecutionsSucceeded" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsSucceeded"></a>

```typescript
public metricExecutionsSucceeded(): MathExpression | Metric
```

##### `metricExecutionsTimedOut` <a name="metricExecutionsTimedOut" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionsTimedOut"></a>

```typescript
public metricExecutionsTimedOut(): MathExpression | Metric
```

##### `metricExecutionThrottled` <a name="metricExecutionThrottled" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionThrottled"></a>

```typescript
public metricExecutionThrottled(): MathExpression | Metric
```

##### `metricExecutionTimeP50InMillis` <a name="metricExecutionTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionTimeP50InMillis"></a>

```typescript
public metricExecutionTimeP50InMillis(): MathExpression | Metric
```

##### `metricExecutionTimeP90InMillis` <a name="metricExecutionTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionTimeP90InMillis"></a>

```typescript
public metricExecutionTimeP90InMillis(): MathExpression | Metric
```

##### `metricExecutionTimeP99InMillis` <a name="metricExecutionTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionMetricFactory.metricExecutionTimeP99InMillis"></a>

```typescript
public metricExecutionTimeP99InMillis(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.StepFunctionMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.StepFunctionMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.abortedExecutionsMetric">abortedExecutionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.durationAlarmFactory">durationAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.durationAnnotations">durationAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.failedExecutionRateMetric">failedExecutionRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.failedExecutionsMetric">failedExecutionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.p50DurationMetric">p50DurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.p90DurationMetric">p90DurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.p99DurationMetric">p99DurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.startedExecutionsMetric">startedExecutionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.succeededExecutionsMetric">succeededExecutionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.taskHealthAlarmFactory">taskHealthAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory">TaskHealthAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.throttledExecutionsMetric">throttledExecutionsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.timedOutExecutionsMetrics">timedOutExecutionsMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionMonitoring.property.stateMachineUrl">stateMachineUrl</a></code> | <code>string</code> | *No description.* |

---

##### `abortedExecutionsMetric`<sup>Required</sup> <a name="abortedExecutionsMetric" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.abortedExecutionsMetric"></a>

```typescript
public readonly abortedExecutionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `durationAlarmFactory`<sup>Required</sup> <a name="durationAlarmFactory" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.durationAlarmFactory"></a>

```typescript
public readonly durationAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `durationAnnotations`<sup>Required</sup> <a name="durationAnnotations" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.durationAnnotations"></a>

```typescript
public readonly durationAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `failedExecutionRateMetric`<sup>Required</sup> <a name="failedExecutionRateMetric" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.failedExecutionRateMetric"></a>

```typescript
public readonly failedExecutionRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `failedExecutionsMetric`<sup>Required</sup> <a name="failedExecutionsMetric" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.failedExecutionsMetric"></a>

```typescript
public readonly failedExecutionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p50DurationMetric`<sup>Required</sup> <a name="p50DurationMetric" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.p50DurationMetric"></a>

```typescript
public readonly p50DurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p90DurationMetric`<sup>Required</sup> <a name="p90DurationMetric" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.p90DurationMetric"></a>

```typescript
public readonly p90DurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p99DurationMetric`<sup>Required</sup> <a name="p99DurationMetric" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.p99DurationMetric"></a>

```typescript
public readonly p99DurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `startedExecutionsMetric`<sup>Required</sup> <a name="startedExecutionsMetric" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.startedExecutionsMetric"></a>

```typescript
public readonly startedExecutionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `succeededExecutionsMetric`<sup>Required</sup> <a name="succeededExecutionsMetric" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.succeededExecutionsMetric"></a>

```typescript
public readonly succeededExecutionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `taskHealthAlarmFactory`<sup>Required</sup> <a name="taskHealthAlarmFactory" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.taskHealthAlarmFactory"></a>

```typescript
public readonly taskHealthAlarmFactory: TaskHealthAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.TaskHealthAlarmFactory">TaskHealthAlarmFactory</a>

---

##### `throttledExecutionsMetric`<sup>Required</sup> <a name="throttledExecutionsMetric" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.throttledExecutionsMetric"></a>

```typescript
public readonly throttledExecutionsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `timedOutExecutionsMetrics`<sup>Required</sup> <a name="timedOutExecutionsMetrics" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.timedOutExecutionsMetrics"></a>

```typescript
public readonly timedOutExecutionsMetrics: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---

##### `stateMachineUrl`<sup>Optional</sup> <a name="stateMachineUrl" id="cdk-monitoring-constructs.StepFunctionMonitoring.property.stateMachineUrl"></a>

```typescript
public readonly stateMachineUrl: string;
```

- *Type:* string

---


### 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(): MathExpression | Metric
```

##### `metricServiceIntegrationRunTimeP90InMillis` <a name="metricServiceIntegrationRunTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationRunTimeP90InMillis"></a>

```typescript
public metricServiceIntegrationRunTimeP90InMillis(): MathExpression | Metric
```

##### `metricServiceIntegrationRunTimeP99InMillis` <a name="metricServiceIntegrationRunTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationRunTimeP99InMillis"></a>

```typescript
public metricServiceIntegrationRunTimeP99InMillis(): MathExpression | Metric
```

##### `metricServiceIntegrationScheduleTimeP50InMillis` <a name="metricServiceIntegrationScheduleTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationScheduleTimeP50InMillis"></a>

```typescript
public metricServiceIntegrationScheduleTimeP50InMillis(): MathExpression | Metric
```

##### `metricServiceIntegrationScheduleTimeP90InMillis` <a name="metricServiceIntegrationScheduleTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationScheduleTimeP90InMillis"></a>

```typescript
public metricServiceIntegrationScheduleTimeP90InMillis(): MathExpression | Metric
```

##### `metricServiceIntegrationScheduleTimeP99InMillis` <a name="metricServiceIntegrationScheduleTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationScheduleTimeP99InMillis"></a>

```typescript
public metricServiceIntegrationScheduleTimeP99InMillis(): MathExpression | Metric
```

##### `metricServiceIntegrationsFailed` <a name="metricServiceIntegrationsFailed" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsFailed"></a>

```typescript
public metricServiceIntegrationsFailed(): MathExpression | Metric
```

##### `metricServiceIntegrationsFailedRate` <a name="metricServiceIntegrationsFailedRate" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsFailedRate"></a>

```typescript
public metricServiceIntegrationsFailedRate(): MathExpression | Metric
```

##### `metricServiceIntegrationsScheduled` <a name="metricServiceIntegrationsScheduled" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsScheduled"></a>

```typescript
public metricServiceIntegrationsScheduled(): MathExpression | Metric
```

##### `metricServiceIntegrationsStarted` <a name="metricServiceIntegrationsStarted" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsStarted"></a>

```typescript
public metricServiceIntegrationsStarted(): MathExpression | Metric
```

##### `metricServiceIntegrationsSucceeded` <a name="metricServiceIntegrationsSucceeded" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsSucceeded"></a>

```typescript
public metricServiceIntegrationsSucceeded(): MathExpression | Metric
```

##### `metricServiceIntegrationsTimedOut` <a name="metricServiceIntegrationsTimedOut" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationsTimedOut"></a>

```typescript
public metricServiceIntegrationsTimedOut(): MathExpression | Metric
```

##### `metricServiceIntegrationTimeP50InMillis` <a name="metricServiceIntegrationTimeP50InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationTimeP50InMillis"></a>

```typescript
public metricServiceIntegrationTimeP50InMillis(): MathExpression | Metric
```

##### `metricServiceIntegrationTimeP90InMillis` <a name="metricServiceIntegrationTimeP90InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationTimeP90InMillis"></a>

```typescript
public metricServiceIntegrationTimeP90InMillis(): MathExpression | Metric
```

##### `metricServiceIntegrationTimeP99InMillis` <a name="metricServiceIntegrationTimeP99InMillis" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMetricFactory.metricServiceIntegrationTimeP99InMillis"></a>

```typescript
public metricServiceIntegrationTimeP99InMillis(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.durationAlarmFactory">durationAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.durationAnnotations">durationAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.failedServiceIntegrationRateMetric">failedServiceIntegrationRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.failedServiceIntegrationsMetric">failedServiceIntegrationsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.p50DurationMetric">p50DurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.p90DurationMetric">p90DurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.p99DurationMetric">p99DurationMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.scheduledServiceIntegrationsMetric">scheduledServiceIntegrationsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.startedServiceIntegrationsMetric">startedServiceIntegrationsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.succeededServiceIntegrationsMetric">succeededServiceIntegrationsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.timedOutServiceIntegrationsMetrics">timedOutServiceIntegrationsMetrics</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.title">title</a></code> | <code>string</code> | *No description.* |

---

##### `durationAlarmFactory`<sup>Required</sup> <a name="durationAlarmFactory" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.durationAlarmFactory"></a>

```typescript
public readonly durationAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `durationAnnotations`<sup>Required</sup> <a name="durationAnnotations" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.durationAnnotations"></a>

```typescript
public readonly durationAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `failedServiceIntegrationRateMetric`<sup>Required</sup> <a name="failedServiceIntegrationRateMetric" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.failedServiceIntegrationRateMetric"></a>

```typescript
public readonly failedServiceIntegrationRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `failedServiceIntegrationsMetric`<sup>Required</sup> <a name="failedServiceIntegrationsMetric" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.failedServiceIntegrationsMetric"></a>

```typescript
public readonly failedServiceIntegrationsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p50DurationMetric`<sup>Required</sup> <a name="p50DurationMetric" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.p50DurationMetric"></a>

```typescript
public readonly p50DurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p90DurationMetric`<sup>Required</sup> <a name="p90DurationMetric" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.p90DurationMetric"></a>

```typescript
public readonly p90DurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `p99DurationMetric`<sup>Required</sup> <a name="p99DurationMetric" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.p99DurationMetric"></a>

```typescript
public readonly p99DurationMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `scheduledServiceIntegrationsMetric`<sup>Required</sup> <a name="scheduledServiceIntegrationsMetric" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.scheduledServiceIntegrationsMetric"></a>

```typescript
public readonly scheduledServiceIntegrationsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `startedServiceIntegrationsMetric`<sup>Required</sup> <a name="startedServiceIntegrationsMetric" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.startedServiceIntegrationsMetric"></a>

```typescript
public readonly startedServiceIntegrationsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `succeededServiceIntegrationsMetric`<sup>Required</sup> <a name="succeededServiceIntegrationsMetric" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.succeededServiceIntegrationsMetric"></a>

```typescript
public readonly succeededServiceIntegrationsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `timedOutServiceIntegrationsMetrics`<sup>Required</sup> <a name="timedOutServiceIntegrationsMetrics" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.timedOutServiceIntegrationsMetrics"></a>

```typescript
public readonly timedOutServiceIntegrationsMetrics: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `title`<sup>Required</sup> <a name="title" id="cdk-monitoring-constructs.StepFunctionServiceIntegrationMonitoring.property.title"></a>

```typescript
public readonly title: string;
```

- *Type:* string

---


### 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(): MathExpression | Metric
```

##### `metric4xxErrorRate` <a name="metric4xxErrorRate" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metric4xxErrorRate"></a>

```typescript
public metric4xxErrorRate(): MathExpression | Metric
```

##### `metric5xxFaultCount` <a name="metric5xxFaultCount" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metric5xxFaultCount"></a>

```typescript
public metric5xxFaultCount(): MathExpression | Metric
```

##### `metric5xxFaultRate` <a name="metric5xxFaultRate" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metric5xxFaultRate"></a>

```typescript
public metric5xxFaultRate(): MathExpression | Metric
```

##### `metricLatencyAverageInMillis` <a name="metricLatencyAverageInMillis" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metricLatencyAverageInMillis"></a>

```typescript
public metricLatencyAverageInMillis(): MathExpression | Metric
```

##### `metricSuccessInPercent` <a name="metricSuccessInPercent" id="cdk-monitoring-constructs.SyntheticsCanaryMetricFactory.metricSuccessInPercent"></a>

```typescript
public metricSuccessInPercent(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createErrorCountWidget">createErrorCountWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createErrorRateWidget">createErrorRateWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createLatencyWidget">createLatencyWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createErrorCountWidget` <a name="createErrorCountWidget" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createErrorCountWidget"></a>

```typescript
public createErrorCountWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createErrorCountWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createErrorCountWidget.parameter.height"></a>

- *Type:* number

---

##### `createErrorRateWidget` <a name="createErrorRateWidget" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createErrorRateWidget"></a>

```typescript
public createErrorRateWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createErrorRateWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createErrorRateWidget.parameter.height"></a>

- *Type:* number

---

##### `createLatencyWidget` <a name="createLatencyWidget" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createLatencyWidget"></a>

```typescript
public createLatencyWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createLatencyWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createLatencyWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.averageLatencyMetric">averageLatencyMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.errorCountMetric">errorCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.errorRateMetric">errorRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.faultCountMetric">faultCountMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.faultRateMetric">faultRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.latencyAlarmFactory">latencyAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.latencyAnnotations">latencyAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |

---

##### `averageLatencyMetric`<sup>Required</sup> <a name="averageLatencyMetric" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.averageLatencyMetric"></a>

```typescript
public readonly averageLatencyMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorCountMetric`<sup>Required</sup> <a name="errorCountMetric" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.errorCountMetric"></a>

```typescript
public readonly errorCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorRateMetric`<sup>Required</sup> <a name="errorRateMetric" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.errorRateMetric"></a>

```typescript
public readonly errorRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `faultCountMetric`<sup>Required</sup> <a name="faultCountMetric" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.faultCountMetric"></a>

```typescript
public readonly faultCountMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `faultRateMetric`<sup>Required</sup> <a name="faultRateMetric" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.faultRateMetric"></a>

```typescript
public readonly faultRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `humanReadableName`<sup>Required</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string

---

##### `latencyAlarmFactory`<sup>Required</sup> <a name="latencyAlarmFactory" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.latencyAlarmFactory"></a>

```typescript
public readonly latencyAlarmFactory: LatencyAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.LatencyAlarmFactory">LatencyAlarmFactory</a>

---

##### `latencyAnnotations`<sup>Required</sup> <a name="latencyAnnotations" id="cdk-monitoring-constructs.SyntheticsCanaryMonitoring.property.latencyAnnotations"></a>

```typescript
public readonly latencyAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---


### 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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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.addMaxCountAlarm">addMaxCountAlarm</a></code> | *No 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.addMaxReadIOPSAlarm">addMaxReadIOPSAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMaxThreadCountUsageAlarm">addMaxThreadCountUsageAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMaxUsageCountAlarm">addMaxUsageCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMaxWriteIOPSAlarm">addMaxWriteIOPSAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMemoryUsagePercentAlarm">addMemoryUsagePercentAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMinCountAlarm">addMinCountAlarm</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.UsageAlarmFactory.addMinUsageCountAlarm">addMinUsageCountAlarm</a></code> | *No description.* |

---

##### `addMaxCountAlarm` <a name="addMaxCountAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxCountAlarm"></a>

```typescript
public addMaxCountAlarm(metric: MathExpression | Metric, props: MaxUsageCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxCpuUsagePercentAlarm` <a name="addMaxCpuUsagePercentAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxCpuUsagePercentAlarm"></a>

```typescript
public addMaxCpuUsagePercentAlarm(percentMetric: MathExpression | Metric, props: UsageThreshold, disambiguator?: string, usageType?: UsageType, additionalAlarmNameSuffix?: string): AlarmWithAnnotation
```

###### `percentMetric`<sup>Required</sup> <a name="percentMetric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxCpuUsagePercentAlarm.parameter.percentMetric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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

---

###### `usageType`<sup>Optional</sup> <a name="usageType" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxCpuUsagePercentAlarm.parameter.usageType"></a>

- *Type:* <a href="#cdk-monitoring-constructs.UsageType">UsageType</a>

---

###### `additionalAlarmNameSuffix`<sup>Optional</sup> <a name="additionalAlarmNameSuffix" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxCpuUsagePercentAlarm.parameter.additionalAlarmNameSuffix"></a>

- *Type:* string

---

##### `addMaxDiskUsagePercentAlarm` <a name="addMaxDiskUsagePercentAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxDiskUsagePercentAlarm"></a>

```typescript
public addMaxDiskUsagePercentAlarm(percentMetric: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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

---

##### `addMaxReadIOPSAlarm` <a name="addMaxReadIOPSAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxReadIOPSAlarm"></a>

```typescript
public addMaxReadIOPSAlarm(metric: MathExpression | Metric, props: MaxUsageCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxReadIOPSAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxReadIOPSAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxReadIOPSAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxThreadCountUsageAlarm` <a name="addMaxThreadCountUsageAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxThreadCountUsageAlarm"></a>

```typescript
public addMaxThreadCountUsageAlarm(percentMetric: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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

---

##### ~~`addMaxUsageCountAlarm`~~ <a name="addMaxUsageCountAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxUsageCountAlarm"></a>

```typescript
public addMaxUsageCountAlarm(metric: MathExpression | Metric, props: UsageCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxUsageCountAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxUsageCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.UsageCountThreshold">UsageCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxUsageCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMaxWriteIOPSAlarm` <a name="addMaxWriteIOPSAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxWriteIOPSAlarm"></a>

```typescript
public addMaxWriteIOPSAlarm(metric: MathExpression | Metric, props: MaxUsageCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxWriteIOPSAlarm.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxWriteIOPSAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MaxUsageCountThreshold">MaxUsageCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMaxWriteIOPSAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### `addMemoryUsagePercentAlarm` <a name="addMemoryUsagePercentAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMemoryUsagePercentAlarm"></a>

```typescript
public addMemoryUsagePercentAlarm(percentMetric: MathExpression | Metric, 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.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `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

---

##### `addMinCountAlarm` <a name="addMinCountAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMinCountAlarm"></a>

```typescript
public addMinCountAlarm(percentMetric: MathExpression | Metric, props: MinUsageCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `percentMetric`<sup>Required</sup> <a name="percentMetric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMinCountAlarm.parameter.percentMetric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMinCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMinCountAlarm.parameter.disambiguator"></a>

- *Type:* string

---

##### ~~`addMinUsageCountAlarm`~~ <a name="addMinUsageCountAlarm" id="cdk-monitoring-constructs.UsageAlarmFactory.addMinUsageCountAlarm"></a>

```typescript
public addMinUsageCountAlarm(percentMetric: MathExpression | Metric, props: MinUsageCountThreshold, disambiguator?: string): AlarmWithAnnotation
```

###### `percentMetric`<sup>Required</sup> <a name="percentMetric" id="cdk-monitoring-constructs.UsageAlarmFactory.addMinUsageCountAlarm.parameter.percentMetric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.UsageAlarmFactory.addMinUsageCountAlarm.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.MinUsageCountThreshold">MinUsageCountThreshold</a>

---

###### `disambiguator`<sup>Optional</sup> <a name="disambiguator" id="cdk-monitoring-constructs.UsageAlarmFactory.addMinUsageCountAlarm.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(): MathExpression | Metric
```

##### `metricBlockedRequests` <a name="metricBlockedRequests" id="cdk-monitoring-constructs.WafV2MetricFactory.metricBlockedRequests"></a>

```typescript
public metricBlockedRequests(): MathExpression | Metric
```

##### `metricBlockedRequestsRate` <a name="metricBlockedRequestsRate" id="cdk-monitoring-constructs.WafV2MetricFactory.metricBlockedRequestsRate"></a>

```typescript
public metricBlockedRequestsRate(): MathExpression | Metric
```




### 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. |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.createAllowedRequestsWidget">createAllowedRequestsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.createBlockedRequestsRateWidget">createBlockedRequestsRateWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.createBlockedRequestsWidget">createBlockedRequestsWidget</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.createTitleWidget">createTitleWidget</a></code> | *No description.* |

---

##### `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.

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.WafV2Monitoring.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.WafV2Monitoring.widgetsForDashboard.parameter.name"></a>

- *Type:* string

---

##### `createAllowedRequestsWidget` <a name="createAllowedRequestsWidget" id="cdk-monitoring-constructs.WafV2Monitoring.createAllowedRequestsWidget"></a>

```typescript
public createAllowedRequestsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.WafV2Monitoring.createAllowedRequestsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.WafV2Monitoring.createAllowedRequestsWidget.parameter.height"></a>

- *Type:* number

---

##### `createBlockedRequestsRateWidget` <a name="createBlockedRequestsRateWidget" id="cdk-monitoring-constructs.WafV2Monitoring.createBlockedRequestsRateWidget"></a>

```typescript
public createBlockedRequestsRateWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.WafV2Monitoring.createBlockedRequestsRateWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.WafV2Monitoring.createBlockedRequestsRateWidget.parameter.height"></a>

- *Type:* number

---

##### `createBlockedRequestsWidget` <a name="createBlockedRequestsWidget" id="cdk-monitoring-constructs.WafV2Monitoring.createBlockedRequestsWidget"></a>

```typescript
public createBlockedRequestsWidget(width: number, height: number): GraphWidget
```

###### `width`<sup>Required</sup> <a name="width" id="cdk-monitoring-constructs.WafV2Monitoring.createBlockedRequestsWidget.parameter.width"></a>

- *Type:* number

---

###### `height`<sup>Required</sup> <a name="height" id="cdk-monitoring-constructs.WafV2Monitoring.createBlockedRequestsWidget.parameter.height"></a>

- *Type:* number

---

##### `createTitleWidget` <a name="createTitleWidget" id="cdk-monitoring-constructs.WafV2Monitoring.createTitleWidget"></a>

```typescript
public createTitleWidget(): MonitoringHeaderWidget
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.property.alarmFactory">alarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.property.allowedRequestsMetric">allowedRequestsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.property.blockedRequestsMetric">blockedRequestsMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.property.blockedRequestsRateMetric">blockedRequestsRateMetric</a></code> | <code>aws-cdk-lib.aws_cloudwatch.MathExpression \| aws-cdk-lib.aws_cloudwatch.Metric</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.property.errorAlarmFactory">errorAlarmFactory</a></code> | <code><a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.property.errorCountAnnotations">errorCountAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.property.errorRateAnnotations">errorRateAnnotations</a></code> | <code>aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]</code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.WafV2Monitoring.property.humanReadableName">humanReadableName</a></code> | <code>string</code> | *No description.* |

---

##### `alarmFactory`<sup>Required</sup> <a name="alarmFactory" id="cdk-monitoring-constructs.WafV2Monitoring.property.alarmFactory"></a>

```typescript
public readonly alarmFactory: AlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.AlarmFactory">AlarmFactory</a>

---

##### `allowedRequestsMetric`<sup>Required</sup> <a name="allowedRequestsMetric" id="cdk-monitoring-constructs.WafV2Monitoring.property.allowedRequestsMetric"></a>

```typescript
public readonly allowedRequestsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `blockedRequestsMetric`<sup>Required</sup> <a name="blockedRequestsMetric" id="cdk-monitoring-constructs.WafV2Monitoring.property.blockedRequestsMetric"></a>

```typescript
public readonly blockedRequestsMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `blockedRequestsRateMetric`<sup>Required</sup> <a name="blockedRequestsRateMetric" id="cdk-monitoring-constructs.WafV2Monitoring.property.blockedRequestsRateMetric"></a>

```typescript
public readonly blockedRequestsRateMetric: MathExpression | Metric;
```

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

---

##### `errorAlarmFactory`<sup>Required</sup> <a name="errorAlarmFactory" id="cdk-monitoring-constructs.WafV2Monitoring.property.errorAlarmFactory"></a>

```typescript
public readonly errorAlarmFactory: ErrorAlarmFactory;
```

- *Type:* <a href="#cdk-monitoring-constructs.ErrorAlarmFactory">ErrorAlarmFactory</a>

---

##### `errorCountAnnotations`<sup>Required</sup> <a name="errorCountAnnotations" id="cdk-monitoring-constructs.WafV2Monitoring.property.errorCountAnnotations"></a>

```typescript
public readonly errorCountAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `errorRateAnnotations`<sup>Required</sup> <a name="errorRateAnnotations" id="cdk-monitoring-constructs.WafV2Monitoring.property.errorRateAnnotations"></a>

```typescript
public readonly errorRateAnnotations: HorizontalAnnotation[];
```

- *Type:* aws-cdk-lib.aws_cloudwatch.HorizontalAnnotation[]

---

##### `humanReadableName`<sup>Required</sup> <a name="humanReadableName" id="cdk-monitoring-constructs.WafV2Monitoring.property.humanReadableName"></a>

```typescript
public readonly humanReadableName: string;
```

- *Type:* string

---


## Protocols <a name="Protocols" id="Protocols"></a>

### IAlarmActionStrategy <a name="IAlarmActionStrategy" id="cdk-monitoring-constructs.IAlarmActionStrategy"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.LambdaAlarmActionStrategy">LambdaAlarmActionStrategy</a>, <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

---


### IAlarmNamingStrategy <a name="IAlarmNamingStrategy" id="cdk-monitoring-constructs.IAlarmNamingStrategy"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.AlarmNamingStrategy">AlarmNamingStrategy</a>, <a href="#cdk-monitoring-constructs.IAlarmNamingStrategy">IAlarmNamingStrategy</a>

Strategy used to name alarms, their widgets, and their dedupe strings.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.IAlarmNamingStrategy.getDedupeString">getDedupeString</a></code> | How to generate the deduplication string for an alarm. |
| <code><a href="#cdk-monitoring-constructs.IAlarmNamingStrategy.getName">getName</a></code> | How to generate the name of an alarm. |
| <code><a href="#cdk-monitoring-constructs.IAlarmNamingStrategy.getWidgetLabel">getWidgetLabel</a></code> | How to generate the label for the alarm displayed on a widget. |

---

##### `getDedupeString` <a name="getDedupeString" id="cdk-monitoring-constructs.IAlarmNamingStrategy.getDedupeString"></a>

```typescript
public getDedupeString(props: AlarmNamingInput): string
```

How to generate the deduplication string for an alarm.

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.IAlarmNamingStrategy.getDedupeString.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmNamingInput">AlarmNamingInput</a>

---

##### `getName` <a name="getName" id="cdk-monitoring-constructs.IAlarmNamingStrategy.getName"></a>

```typescript
public getName(props: AlarmNamingInput): string
```

How to generate the name of an alarm.

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.IAlarmNamingStrategy.getName.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmNamingInput">AlarmNamingInput</a>

AlarmNamingInput.

---

##### `getWidgetLabel` <a name="getWidgetLabel" id="cdk-monitoring-constructs.IAlarmNamingStrategy.getWidgetLabel"></a>

```typescript
public getWidgetLabel(props: AlarmNamingInput): string
```

How to generate the label for the alarm displayed on a widget.

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.IAlarmNamingStrategy.getWidgetLabel.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AlarmNamingInput">AlarmNamingInput</a>

AlarmNamingInput.

---


### 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.AuroraClusterMonitoring">AuroraClusterMonitoring</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.ElastiCacheServerlessMonitoring">ElastiCacheServerlessMonitoring</a>, <a href="#cdk-monitoring-constructs.FargateServiceMonitoring">FargateServiceMonitoring</a>, <a href="#cdk-monitoring-constructs.FluentBitMonitoring">FluentBitMonitoring</a>, <a href="#cdk-monitoring-constructs.GlueJobMonitoring">GlueJobMonitoring</a>, <a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring">KinesisDataAnalyticsMonitoring</a>, <a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring">KinesisDataStreamConsumerMonitoring</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.OpenSearchIngestionPipelineMonitoring">OpenSearchIngestionPipelineMonitoring</a>, <a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring">OpenSearchServerlessIndexMonitoring</a>, <a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring">OpenSearchServerlessMonitoring</a>, <a href="#cdk-monitoring-constructs.RdsClusterMonitoring">RdsClusterMonitoring</a>, <a href="#cdk-monitoring-constructs.RdsInstanceMonitoring">RdsInstanceMonitoring</a>, <a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring">RedshiftClusterMonitoring</a>, <a href="#cdk-monitoring-constructs.S3BucketMonitoring">S3BucketMonitoring</a>, <a href="#cdk-monitoring-constructs.SecretsManagerMonitoring">SecretsManagerMonitoring</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.


### IDynamicDashboardFactory <a name="IDynamicDashboardFactory" id="cdk-monitoring-constructs.IDynamicDashboardFactory"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.DefaultDashboardFactory">DefaultDashboardFactory</a>, <a href="#cdk-monitoring-constructs.DynamicDashboardFactory">DynamicDashboardFactory</a>, <a href="#cdk-monitoring-constructs.IDynamicDashboardFactory">IDynamicDashboardFactory</a>

This dashboard factory interface provides for dynamic dashboard generation through IDynamicDashboard segments which will return different content depending on the dashboard type.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.IDynamicDashboardFactory.addDynamicSegment">addDynamicSegment</a></code> | Adds a dynamic dashboard segment. |
| <code><a href="#cdk-monitoring-constructs.IDynamicDashboardFactory.getDashboard">getDashboard</a></code> | Gets the dashboard for the requested dashboard type. |

---

##### `addDynamicSegment` <a name="addDynamicSegment" id="cdk-monitoring-constructs.IDynamicDashboardFactory.addDynamicSegment"></a>

```typescript
public addDynamicSegment(segment: IDynamicDashboardSegment): void
```

Adds a dynamic dashboard segment.

###### `segment`<sup>Required</sup> <a name="segment" id="cdk-monitoring-constructs.IDynamicDashboardFactory.addDynamicSegment.parameter.segment"></a>

- *Type:* <a href="#cdk-monitoring-constructs.IDynamicDashboardSegment">IDynamicDashboardSegment</a>

IDynamicDashboardSegment.

---

##### `getDashboard` <a name="getDashboard" id="cdk-monitoring-constructs.IDynamicDashboardFactory.getDashboard"></a>

```typescript
public getDashboard(type: string): Dashboard
```

Gets the dashboard for the requested dashboard type.

###### `type`<sup>Required</sup> <a name="type" id="cdk-monitoring-constructs.IDynamicDashboardFactory.getDashboard.parameter.type"></a>

- *Type:* string

---


### IDynamicDashboardSegment <a name="IDynamicDashboardSegment" id="cdk-monitoring-constructs.IDynamicDashboardSegment"></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.AuroraClusterMonitoring">AuroraClusterMonitoring</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.ElastiCacheServerlessMonitoring">ElastiCacheServerlessMonitoring</a>, <a href="#cdk-monitoring-constructs.FargateServiceMonitoring">FargateServiceMonitoring</a>, <a href="#cdk-monitoring-constructs.FluentBitMonitoring">FluentBitMonitoring</a>, <a href="#cdk-monitoring-constructs.GlueJobMonitoring">GlueJobMonitoring</a>, <a href="#cdk-monitoring-constructs.KinesisDataAnalyticsMonitoring">KinesisDataAnalyticsMonitoring</a>, <a href="#cdk-monitoring-constructs.KinesisDataStreamConsumerMonitoring">KinesisDataStreamConsumerMonitoring</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.OpenSearchIngestionPipelineMonitoring">OpenSearchIngestionPipelineMonitoring</a>, <a href="#cdk-monitoring-constructs.OpenSearchServerlessIndexMonitoring">OpenSearchServerlessIndexMonitoring</a>, <a href="#cdk-monitoring-constructs.OpenSearchServerlessMonitoring">OpenSearchServerlessMonitoring</a>, <a href="#cdk-monitoring-constructs.RdsClusterMonitoring">RdsClusterMonitoring</a>, <a href="#cdk-monitoring-constructs.RdsInstanceMonitoring">RdsInstanceMonitoring</a>, <a href="#cdk-monitoring-constructs.RedshiftClusterMonitoring">RedshiftClusterMonitoring</a>, <a href="#cdk-monitoring-constructs.S3BucketMonitoring">S3BucketMonitoring</a>, <a href="#cdk-monitoring-constructs.SecretsManagerMonitoring">SecretsManagerMonitoring</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.StaticSegmentDynamicAdapter">StaticSegmentDynamicAdapter</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.IDynamicDashboardSegment">IDynamicDashboardSegment</a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.IDynamicDashboardSegment.widgetsForDashboard">widgetsForDashboard</a></code> | Returns widgets for the requested dashboard type. |

---

##### `widgetsForDashboard` <a name="widgetsForDashboard" id="cdk-monitoring-constructs.IDynamicDashboardSegment.widgetsForDashboard"></a>

```typescript
public widgetsForDashboard(name: string): IWidget[]
```

Returns widgets for the requested dashboard type.

###### `name`<sup>Required</sup> <a name="name" id="cdk-monitoring-constructs.IDynamicDashboardSegment.widgetsForDashboard.parameter.name"></a>

- *Type:* string

name of dashboard for which widgets are generated.

---


### 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, region?: string, account?: string, label?: string): (MathExpression | Metric)[]
```

###### `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>

---

###### `region`<sup>Optional</sup> <a name="region" id="cdk-monitoring-constructs.IEC2MetricFactoryStrategy.createMetrics.parameter.region"></a>

- *Type:* string

---

###### `account`<sup>Optional</sup> <a name="account" id="cdk-monitoring-constructs.IEC2MetricFactoryStrategy.createMetrics.parameter.account"></a>

- *Type:* string

---

###### `label`<sup>Optional</sup> <a name="label" id="cdk-monitoring-constructs.IEC2MetricFactoryStrategy.createMetrics.parameter.label"></a>

- *Type:* string

---


### 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.metricUnhealthyRoutingCount">metricUnhealthyRoutingCount</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(): MathExpression | Metric
```

##### `metricHealthyTaskCount` <a name="metricHealthyTaskCount" id="cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricHealthyTaskCount"></a>

```typescript
public metricHealthyTaskCount(): MathExpression | Metric
```

##### `metricHealthyTaskInPercent` <a name="metricHealthyTaskInPercent" id="cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricHealthyTaskInPercent"></a>

```typescript
public metricHealthyTaskInPercent(): MathExpression | Metric
```

##### `metricNewConnectionCount` <a name="metricNewConnectionCount" id="cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricNewConnectionCount"></a>

```typescript
public metricNewConnectionCount(): MathExpression | Metric
```

##### `metricProcessedBytesMin` <a name="metricProcessedBytesMin" id="cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricProcessedBytesMin"></a>

```typescript
public metricProcessedBytesMin(): MathExpression | Metric
```

##### `metricUnhealthyRoutingCount` <a name="metricUnhealthyRoutingCount" id="cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricUnhealthyRoutingCount"></a>

```typescript
public metricUnhealthyRoutingCount(): MathExpression | Metric
```

##### `metricUnhealthyTaskCount` <a name="metricUnhealthyTaskCount" id="cdk-monitoring-constructs.ILoadBalancerMetricFactory.metricUnhealthyTaskCount"></a>

```typescript
public metricUnhealthyTaskCount(): MathExpression | Metric
```


### IMetricAdjuster <a name="IMetricAdjuster" id="cdk-monitoring-constructs.IMetricAdjuster"></a>

- *Implemented By:* <a href="#cdk-monitoring-constructs.CompositeMetricAdjuster">CompositeMetricAdjuster</a>, <a href="#cdk-monitoring-constructs.DefaultMetricAdjuster">DefaultMetricAdjuster</a>, <a href="#cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster">Route53HealthCheckMetricAdjuster</a>, <a href="#cdk-monitoring-constructs.IMetricAdjuster">IMetricAdjuster</a>

Adjusts a metric before creating adding an alarm to it.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.IMetricAdjuster.adjustMetric">adjustMetric</a></code> | Adjusts a metric. |

---

##### `adjustMetric` <a name="adjustMetric" id="cdk-monitoring-constructs.IMetricAdjuster.adjustMetric"></a>

```typescript
public adjustMetric(metric: MathExpression | Metric, alarmScope: Construct, props: AddAlarmProps): MathExpression | Metric
```

Adjusts a metric.

###### `metric`<sup>Required</sup> <a name="metric" id="cdk-monitoring-constructs.IMetricAdjuster.adjustMetric.parameter.metric"></a>

- *Type:* aws-cdk-lib.aws_cloudwatch.MathExpression | aws-cdk-lib.aws_cloudwatch.Metric

The metric to adjust.

---

###### `alarmScope`<sup>Required</sup> <a name="alarmScope" id="cdk-monitoring-constructs.IMetricAdjuster.adjustMetric.parameter.alarmScope"></a>

- *Type:* constructs.Construct

The alarm scope.

---

###### `props`<sup>Required</sup> <a name="props" id="cdk-monitoring-constructs.IMetricAdjuster.adjustMetric.parameter.props"></a>

- *Type:* <a href="#cdk-monitoring-constructs.AddAlarmProps">AddAlarmProps</a>

The props specified for adding the alarm.

---


### 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 dashboard 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).

---


### DefaultDashboards <a name="DefaultDashboards" id="cdk-monitoring-constructs.DefaultDashboards"></a>

#### Members <a name="Members" id="Members"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboards.SUMMARY">SUMMARY</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboards.DETAIL">DETAIL</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.DefaultDashboards.ALARMS">ALARMS</a></code> | *No description.* |

---

##### `SUMMARY` <a name="SUMMARY" id="cdk-monitoring-constructs.DefaultDashboards.SUMMARY"></a>

---


##### `DETAIL` <a name="DETAIL" id="cdk-monitoring-constructs.DefaultDashboards.DETAIL"></a>

---


##### `ALARMS` <a name="ALARMS" id="cdk-monitoring-constructs.DefaultDashboards.ALARMS"></a>

---


### 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.* |
| <code><a href="#cdk-monitoring-constructs.ErrorType.BLOCKED">BLOCKED</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>

---


##### `BLOCKED` <a name="BLOCKED" id="cdk-monitoring-constructs.ErrorType.BLOCKED"></a>

---


### FluentBitFilterMetricTag <a name="FluentBitFilterMetricTag" id="cdk-monitoring-constructs.FluentBitFilterMetricTag"></a>

#### Members <a name="Members" id="Members"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.FluentBitFilterMetricTag.FILTER_EMIT_RECORDS">FILTER_EMIT_RECORDS</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitFilterMetricTag.FILTER_DROP_RECORDS">FILTER_DROP_RECORDS</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitFilterMetricTag.FILTER_ADD_RECORDS">FILTER_ADD_RECORDS</a></code> | *No description.* |

---

##### `FILTER_EMIT_RECORDS` <a name="FILTER_EMIT_RECORDS" id="cdk-monitoring-constructs.FluentBitFilterMetricTag.FILTER_EMIT_RECORDS"></a>

---


##### `FILTER_DROP_RECORDS` <a name="FILTER_DROP_RECORDS" id="cdk-monitoring-constructs.FluentBitFilterMetricTag.FILTER_DROP_RECORDS"></a>

---


##### `FILTER_ADD_RECORDS` <a name="FILTER_ADD_RECORDS" id="cdk-monitoring-constructs.FluentBitFilterMetricTag.FILTER_ADD_RECORDS"></a>

---


### FluentBitInputMetricTag <a name="FluentBitInputMetricTag" id="cdk-monitoring-constructs.FluentBitInputMetricTag"></a>

#### Members <a name="Members" id="Members"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.FluentBitInputMetricTag.INPUT_RECORDS">INPUT_RECORDS</a></code> | *No description.* |

---

##### `INPUT_RECORDS` <a name="INPUT_RECORDS" id="cdk-monitoring-constructs.FluentBitInputMetricTag.INPUT_RECORDS"></a>

---


### FluentBitMetricsWithoutWidget <a name="FluentBitMetricsWithoutWidget" id="cdk-monitoring-constructs.FluentBitMetricsWithoutWidget"></a>

#### Members <a name="Members" id="Members"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.FluentBitMetricsWithoutWidget.INPUT_BYTES">INPUT_BYTES</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitMetricsWithoutWidget.OUTPUT_PROC_RECORDS">OUTPUT_PROC_RECORDS</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitMetricsWithoutWidget.OUTPUT_PROC_BYTES">OUTPUT_PROC_BYTES</a></code> | *No description.* |

---

##### `INPUT_BYTES` <a name="INPUT_BYTES" id="cdk-monitoring-constructs.FluentBitMetricsWithoutWidget.INPUT_BYTES"></a>

---


##### `OUTPUT_PROC_RECORDS` <a name="OUTPUT_PROC_RECORDS" id="cdk-monitoring-constructs.FluentBitMetricsWithoutWidget.OUTPUT_PROC_RECORDS"></a>

---


##### `OUTPUT_PROC_BYTES` <a name="OUTPUT_PROC_BYTES" id="cdk-monitoring-constructs.FluentBitMetricsWithoutWidget.OUTPUT_PROC_BYTES"></a>

---


### FluentBitOutputMetricTag <a name="FluentBitOutputMetricTag" id="cdk-monitoring-constructs.FluentBitOutputMetricTag"></a>

#### Members <a name="Members" id="Members"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.FluentBitOutputMetricTag.OUTPUT_RETRIES">OUTPUT_RETRIES</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitOutputMetricTag.OUTPUT_RETRIES_FAILED">OUTPUT_RETRIES_FAILED</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitOutputMetricTag.OUTPUT_ERRORS">OUTPUT_ERRORS</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitOutputMetricTag.OUTPUT_DROPPED_RECORDS">OUTPUT_DROPPED_RECORDS</a></code> | *No description.* |

---

##### `OUTPUT_RETRIES` <a name="OUTPUT_RETRIES" id="cdk-monitoring-constructs.FluentBitOutputMetricTag.OUTPUT_RETRIES"></a>

---


##### `OUTPUT_RETRIES_FAILED` <a name="OUTPUT_RETRIES_FAILED" id="cdk-monitoring-constructs.FluentBitOutputMetricTag.OUTPUT_RETRIES_FAILED"></a>

---


##### `OUTPUT_ERRORS` <a name="OUTPUT_ERRORS" id="cdk-monitoring-constructs.FluentBitOutputMetricTag.OUTPUT_ERRORS"></a>

---


##### `OUTPUT_DROPPED_RECORDS` <a name="OUTPUT_DROPPED_RECORDS" id="cdk-monitoring-constructs.FluentBitOutputMetricTag.OUTPUT_DROPPED_RECORDS"></a>

---


### FluentBitStorageMetricTag <a name="FluentBitStorageMetricTag" id="cdk-monitoring-constructs.FluentBitStorageMetricTag"></a>

#### Members <a name="Members" id="Members"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-monitoring-constructs.FluentBitStorageMetricTag.TOTAL_CHUNKS">TOTAL_CHUNKS</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitStorageMetricTag.MEM_CHUNKS">MEM_CHUNKS</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitStorageMetricTag.FS_CHUNKS">FS_CHUNKS</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitStorageMetricTag.FS_CHUNKS_UP">FS_CHUNKS_UP</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.FluentBitStorageMetricTag.FS_CHUNKS_DOWN">FS_CHUNKS_DOWN</a></code> | *No description.* |

---

##### `TOTAL_CHUNKS` <a name="TOTAL_CHUNKS" id="cdk-monitoring-constructs.FluentBitStorageMetricTag.TOTAL_CHUNKS"></a>

---


##### `MEM_CHUNKS` <a name="MEM_CHUNKS" id="cdk-monitoring-constructs.FluentBitStorageMetricTag.MEM_CHUNKS"></a>

---


##### `FS_CHUNKS` <a name="FS_CHUNKS" id="cdk-monitoring-constructs.FluentBitStorageMetricTag.FS_CHUNKS"></a>

---


##### `FS_CHUNKS_UP` <a name="FS_CHUNKS_UP" id="cdk-monitoring-constructs.FluentBitStorageMetricTag.FS_CHUNKS_UP"></a>

---


##### `FS_CHUNKS_DOWN` <a name="FS_CHUNKS_DOWN" id="cdk-monitoring-constructs.FluentBitStorageMetricTag.FS_CHUNKS_DOWN"></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.BAR">BAR</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GraphWidgetType.LINE">LINE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GraphWidgetType.PIE">PIE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.GraphWidgetType.SINGLE_VALUE">SINGLE_VALUE</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.TABLE">TABLE</a></code> | *No description.* |

---

##### `BAR` <a name="BAR" id="cdk-monitoring-constructs.GraphWidgetType.BAR"></a>

---


##### `LINE` <a name="LINE" id="cdk-monitoring-constructs.GraphWidgetType.LINE"></a>

---


##### `PIE` <a name="PIE" id="cdk-monitoring-constructs.GraphWidgetType.PIE"></a>

---


##### `SINGLE_VALUE` <a name="SINGLE_VALUE" id="cdk-monitoring-constructs.GraphWidgetType.SINGLE_VALUE"></a>

---


##### `STACKED_AREA` <a name="STACKED_AREA" id="cdk-monitoring-constructs.GraphWidgetType.STACKED_AREA"></a>

---


##### `TABLE` <a name="TABLE" id="cdk-monitoring-constructs.GraphWidgetType.TABLE"></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.TM95_TOP">TM95_TOP</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.TM99_TOP">TM99_TOP</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.TM999_TOP">TM999_TOP</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.TM9999_TOP">TM9999_TOP</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.AVERAGE">AVERAGE</a></code> | *No description.* |
| <code><a href="#cdk-monitoring-constructs.LatencyType.MAX">MAX</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>

---


##### `TM95_TOP` <a name="TM95_TOP" id="cdk-monitoring-constructs.LatencyType.TM95_TOP"></a>

---


##### `TM99_TOP` <a name="TM99_TOP" id="cdk-monitoring-constructs.LatencyType.TM99_TOP"></a>

---


##### `TM999_TOP` <a name="TM999_TOP" id="cdk-monitoring-constructs.LatencyType.TM999_TOP"></a>

---


##### `TM9999_TOP` <a name="TM9999_TOP" id="cdk-monitoring-constructs.LatencyType.TM9999_TOP"></a>

---


##### `AVERAGE` <a name="AVERAGE" id="cdk-monitoring-constructs.LatencyType.AVERAGE"></a>

---


##### `MAX` <a name="MAX" id="cdk-monitoring-constructs.LatencyType.MAX"></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.TM95_TOP">TM95_TOP</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM99_TOP">TM99_TOP</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM999_TOP">TM999_TOP</a></code> | trimmed mean; |
| <code><a href="#cdk-monitoring-constructs.MetricStatistic.TM9999_TOP">TM9999_TOP</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

---


##### `TM95_TOP` <a name="TM95_TOP" id="cdk-monitoring-constructs.MetricStatistic.TM95_TOP"></a>

trimmed mean;

calculates the average after removing the 95% lowest data points

---


##### `TM99_TOP` <a name="TM99_TOP" id="cdk-monitoring-constructs.MetricStatistic.TM99_TOP"></a>

trimmed mean;

calculates the average after removing the 99% lowest data points

---


##### `TM999_TOP` <a name="TM999_TOP" id="cdk-monitoring-constructs.MetricStatistic.TM999_TOP"></a>

trimmed mean;

calculates the average after removing the 99.9% lowest data points

---


##### `TM9999_TOP` <a name="TM9999_TOP" id="cdk-monitoring-constructs.MetricStatistic.TM9999_TOP"></a>

trimmed mean;

calculates the average after removing the 99.99% lowest 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>

---

