cdk-nag
Version:
Check CDK v2 applications for best practices using a combination on available rule packs.
1,590 lines (971 loc) • 86.2 kB
Markdown
# API Reference <a name="API Reference" id="api-reference"></a>
## Structs <a name="Structs" id="Structs"></a>
### AnnotationLoggerProps <a name="AnnotationLoggerProps" id="cdk-nag.AnnotationLoggerProps"></a>
Props for the AnnotationLogger.
#### Initializer <a name="Initializer" id="cdk-nag.AnnotationLoggerProps.Initializer"></a>
```typescript
import { AnnotationLoggerProps } from 'cdk-nag'
const annotationLoggerProps: AnnotationLoggerProps = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.AnnotationLoggerProps.property.logIgnores">logIgnores</a></code> | <code>boolean</code> | Whether or not to log suppressed rule violations as informational messages (default: false). |
| <code><a href="#cdk-nag.AnnotationLoggerProps.property.verbose">verbose</a></code> | <code>boolean</code> | Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages. |
---
##### `logIgnores`<sup>Optional</sup> <a name="logIgnores" id="cdk-nag.AnnotationLoggerProps.property.logIgnores"></a>
```typescript
public readonly logIgnores: boolean;
```
- *Type:* boolean
Whether or not to log suppressed rule violations as informational messages (default: false).
---
##### `verbose`<sup>Optional</sup> <a name="verbose" id="cdk-nag.AnnotationLoggerProps.property.verbose"></a>
```typescript
public readonly verbose: boolean;
```
- *Type:* boolean
Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages.
---
### NagLoggerBaseData <a name="NagLoggerBaseData" id="cdk-nag.NagLoggerBaseData"></a>
Shared data for all INagLogger methods.
#### Initializer <a name="Initializer" id="cdk-nag.NagLoggerBaseData.Initializer"></a>
```typescript
import { NagLoggerBaseData } from 'cdk-nag'
const nagLoggerBaseData: NagLoggerBaseData = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagLoggerBaseData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerBaseData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerBaseData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerBaseData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerBaseData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerBaseData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerBaseData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
---
##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerBaseData.property.nagPackName"></a>
```typescript
public readonly nagPackName: string;
```
- *Type:* string
---
##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerBaseData.property.resource"></a>
```typescript
public readonly resource: CfnResource;
```
- *Type:* aws-cdk-lib.CfnResource
---
##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerBaseData.property.ruleExplanation"></a>
```typescript
public readonly ruleExplanation: string;
```
- *Type:* string
---
##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerBaseData.property.ruleId"></a>
```typescript
public readonly ruleId: string;
```
- *Type:* string
---
##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerBaseData.property.ruleInfo"></a>
```typescript
public readonly ruleInfo: string;
```
- *Type:* string
---
##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerBaseData.property.ruleLevel"></a>
```typescript
public readonly ruleLevel: NagMessageLevel;
```
- *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
---
##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerBaseData.property.ruleOriginalName"></a>
```typescript
public readonly ruleOriginalName: string;
```
- *Type:* string
---
### NagLoggerComplianceData <a name="NagLoggerComplianceData" id="cdk-nag.NagLoggerComplianceData"></a>
Data for onCompliance method of an INagLogger.
#### Initializer <a name="Initializer" id="cdk-nag.NagLoggerComplianceData.Initializer"></a>
```typescript
import { NagLoggerComplianceData } from 'cdk-nag'
const nagLoggerComplianceData: NagLoggerComplianceData = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagLoggerComplianceData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerComplianceData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerComplianceData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerComplianceData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerComplianceData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerComplianceData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerComplianceData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
---
##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerComplianceData.property.nagPackName"></a>
```typescript
public readonly nagPackName: string;
```
- *Type:* string
---
##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerComplianceData.property.resource"></a>
```typescript
public readonly resource: CfnResource;
```
- *Type:* aws-cdk-lib.CfnResource
---
##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerComplianceData.property.ruleExplanation"></a>
```typescript
public readonly ruleExplanation: string;
```
- *Type:* string
---
##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerComplianceData.property.ruleId"></a>
```typescript
public readonly ruleId: string;
```
- *Type:* string
---
##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerComplianceData.property.ruleInfo"></a>
```typescript
public readonly ruleInfo: string;
```
- *Type:* string
---
##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerComplianceData.property.ruleLevel"></a>
```typescript
public readonly ruleLevel: NagMessageLevel;
```
- *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
---
##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerComplianceData.property.ruleOriginalName"></a>
```typescript
public readonly ruleOriginalName: string;
```
- *Type:* string
---
### NagLoggerErrorData <a name="NagLoggerErrorData" id="cdk-nag.NagLoggerErrorData"></a>
Data for onError method of an INagLogger.
#### Initializer <a name="Initializer" id="cdk-nag.NagLoggerErrorData.Initializer"></a>
```typescript
import { NagLoggerErrorData } from 'cdk-nag'
const nagLoggerErrorData: NagLoggerErrorData = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagLoggerErrorData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerErrorData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerErrorData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerErrorData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerErrorData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerErrorData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerErrorData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerErrorData.property.errorMessage">errorMessage</a></code> | <code>string</code> | *No description.* |
---
##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerErrorData.property.nagPackName"></a>
```typescript
public readonly nagPackName: string;
```
- *Type:* string
---
##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerErrorData.property.resource"></a>
```typescript
public readonly resource: CfnResource;
```
- *Type:* aws-cdk-lib.CfnResource
---
##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerErrorData.property.ruleExplanation"></a>
```typescript
public readonly ruleExplanation: string;
```
- *Type:* string
---
##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerErrorData.property.ruleId"></a>
```typescript
public readonly ruleId: string;
```
- *Type:* string
---
##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerErrorData.property.ruleInfo"></a>
```typescript
public readonly ruleInfo: string;
```
- *Type:* string
---
##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerErrorData.property.ruleLevel"></a>
```typescript
public readonly ruleLevel: NagMessageLevel;
```
- *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
---
##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerErrorData.property.ruleOriginalName"></a>
```typescript
public readonly ruleOriginalName: string;
```
- *Type:* string
---
##### `errorMessage`<sup>Required</sup> <a name="errorMessage" id="cdk-nag.NagLoggerErrorData.property.errorMessage"></a>
```typescript
public readonly errorMessage: string;
```
- *Type:* string
---
### NagLoggerNonComplianceData <a name="NagLoggerNonComplianceData" id="cdk-nag.NagLoggerNonComplianceData"></a>
Data for onNonCompliance method of an INagLogger.
#### Initializer <a name="Initializer" id="cdk-nag.NagLoggerNonComplianceData.Initializer"></a>
```typescript
import { NagLoggerNonComplianceData } from 'cdk-nag'
const nagLoggerNonComplianceData: NagLoggerNonComplianceData = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.findingId">findingId</a></code> | <code>string</code> | *No description.* |
---
##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerNonComplianceData.property.nagPackName"></a>
```typescript
public readonly nagPackName: string;
```
- *Type:* string
---
##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerNonComplianceData.property.resource"></a>
```typescript
public readonly resource: CfnResource;
```
- *Type:* aws-cdk-lib.CfnResource
---
##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerNonComplianceData.property.ruleExplanation"></a>
```typescript
public readonly ruleExplanation: string;
```
- *Type:* string
---
##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerNonComplianceData.property.ruleId"></a>
```typescript
public readonly ruleId: string;
```
- *Type:* string
---
##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerNonComplianceData.property.ruleInfo"></a>
```typescript
public readonly ruleInfo: string;
```
- *Type:* string
---
##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerNonComplianceData.property.ruleLevel"></a>
```typescript
public readonly ruleLevel: NagMessageLevel;
```
- *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
---
##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerNonComplianceData.property.ruleOriginalName"></a>
```typescript
public readonly ruleOriginalName: string;
```
- *Type:* string
---
##### `findingId`<sup>Required</sup> <a name="findingId" id="cdk-nag.NagLoggerNonComplianceData.property.findingId"></a>
```typescript
public readonly findingId: string;
```
- *Type:* string
---
### NagLoggerNotApplicableData <a name="NagLoggerNotApplicableData" id="cdk-nag.NagLoggerNotApplicableData"></a>
Data for onNotApplicable method of an INagLogger.
#### Initializer <a name="Initializer" id="cdk-nag.NagLoggerNotApplicableData.Initializer"></a>
```typescript
import { NagLoggerNotApplicableData } from 'cdk-nag'
const nagLoggerNotApplicableData: NagLoggerNotApplicableData = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
---
##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerNotApplicableData.property.nagPackName"></a>
```typescript
public readonly nagPackName: string;
```
- *Type:* string
---
##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerNotApplicableData.property.resource"></a>
```typescript
public readonly resource: CfnResource;
```
- *Type:* aws-cdk-lib.CfnResource
---
##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerNotApplicableData.property.ruleExplanation"></a>
```typescript
public readonly ruleExplanation: string;
```
- *Type:* string
---
##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerNotApplicableData.property.ruleId"></a>
```typescript
public readonly ruleId: string;
```
- *Type:* string
---
##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerNotApplicableData.property.ruleInfo"></a>
```typescript
public readonly ruleInfo: string;
```
- *Type:* string
---
##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerNotApplicableData.property.ruleLevel"></a>
```typescript
public readonly ruleLevel: NagMessageLevel;
```
- *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
---
##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerNotApplicableData.property.ruleOriginalName"></a>
```typescript
public readonly ruleOriginalName: string;
```
- *Type:* string
---
### NagLoggerSuppressedData <a name="NagLoggerSuppressedData" id="cdk-nag.NagLoggerSuppressedData"></a>
Data for onSuppressed method of an INagLogger.
#### Initializer <a name="Initializer" id="cdk-nag.NagLoggerSuppressedData.Initializer"></a>
```typescript
import { NagLoggerSuppressedData } from 'cdk-nag'
const nagLoggerSuppressedData: NagLoggerSuppressedData = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagLoggerSuppressedData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedData.property.findingId">findingId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedData.property.suppressionReason">suppressionReason</a></code> | <code>string</code> | *No description.* |
---
##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerSuppressedData.property.nagPackName"></a>
```typescript
public readonly nagPackName: string;
```
- *Type:* string
---
##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerSuppressedData.property.resource"></a>
```typescript
public readonly resource: CfnResource;
```
- *Type:* aws-cdk-lib.CfnResource
---
##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerSuppressedData.property.ruleExplanation"></a>
```typescript
public readonly ruleExplanation: string;
```
- *Type:* string
---
##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerSuppressedData.property.ruleId"></a>
```typescript
public readonly ruleId: string;
```
- *Type:* string
---
##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerSuppressedData.property.ruleInfo"></a>
```typescript
public readonly ruleInfo: string;
```
- *Type:* string
---
##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerSuppressedData.property.ruleLevel"></a>
```typescript
public readonly ruleLevel: NagMessageLevel;
```
- *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
---
##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerSuppressedData.property.ruleOriginalName"></a>
```typescript
public readonly ruleOriginalName: string;
```
- *Type:* string
---
##### `findingId`<sup>Required</sup> <a name="findingId" id="cdk-nag.NagLoggerSuppressedData.property.findingId"></a>
```typescript
public readonly findingId: string;
```
- *Type:* string
---
##### `suppressionReason`<sup>Required</sup> <a name="suppressionReason" id="cdk-nag.NagLoggerSuppressedData.property.suppressionReason"></a>
```typescript
public readonly suppressionReason: string;
```
- *Type:* string
---
### NagLoggerSuppressedErrorData <a name="NagLoggerSuppressedErrorData" id="cdk-nag.NagLoggerSuppressedErrorData"></a>
Data for onSuppressedError method of an INagLogger.
#### Initializer <a name="Initializer" id="cdk-nag.NagLoggerSuppressedErrorData.Initializer"></a>
```typescript
import { NagLoggerSuppressedErrorData } from 'cdk-nag'
const nagLoggerSuppressedErrorData: NagLoggerSuppressedErrorData = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.errorMessage">errorMessage</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.errorSuppressionReason">errorSuppressionReason</a></code> | <code>string</code> | *No description.* |
---
##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerSuppressedErrorData.property.nagPackName"></a>
```typescript
public readonly nagPackName: string;
```
- *Type:* string
---
##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerSuppressedErrorData.property.resource"></a>
```typescript
public readonly resource: CfnResource;
```
- *Type:* aws-cdk-lib.CfnResource
---
##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerSuppressedErrorData.property.ruleExplanation"></a>
```typescript
public readonly ruleExplanation: string;
```
- *Type:* string
---
##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerSuppressedErrorData.property.ruleId"></a>
```typescript
public readonly ruleId: string;
```
- *Type:* string
---
##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerSuppressedErrorData.property.ruleInfo"></a>
```typescript
public readonly ruleInfo: string;
```
- *Type:* string
---
##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerSuppressedErrorData.property.ruleLevel"></a>
```typescript
public readonly ruleLevel: NagMessageLevel;
```
- *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
---
##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerSuppressedErrorData.property.ruleOriginalName"></a>
```typescript
public readonly ruleOriginalName: string;
```
- *Type:* string
---
##### `errorMessage`<sup>Required</sup> <a name="errorMessage" id="cdk-nag.NagLoggerSuppressedErrorData.property.errorMessage"></a>
```typescript
public readonly errorMessage: string;
```
- *Type:* string
---
##### `errorSuppressionReason`<sup>Required</sup> <a name="errorSuppressionReason" id="cdk-nag.NagLoggerSuppressedErrorData.property.errorSuppressionReason"></a>
```typescript
public readonly errorSuppressionReason: string;
```
- *Type:* string
---
### NagPackProps <a name="NagPackProps" id="cdk-nag.NagPackProps"></a>
Interface for creating a NagPack.
#### Initializer <a name="Initializer" id="cdk-nag.NagPackProps.Initializer"></a>
```typescript
import { NagPackProps } from 'cdk-nag'
const nagPackProps: NagPackProps = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagPackProps.property.additionalLoggers">additionalLoggers</a></code> | <code><a href="#cdk-nag.INagLogger">INagLogger</a>[]</code> | Additional NagLoggers for logging rule validation outputs. |
| <code><a href="#cdk-nag.NagPackProps.property.logIgnores">logIgnores</a></code> | <code>boolean</code> | Whether or not to log suppressed rule violations as informational messages (default: false). |
| <code><a href="#cdk-nag.NagPackProps.property.reportFormats">reportFormats</a></code> | <code><a href="#cdk-nag.NagReportFormat">NagReportFormat</a>[]</code> | If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). |
| <code><a href="#cdk-nag.NagPackProps.property.reports">reports</a></code> | <code>boolean</code> | Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). |
| <code><a href="#cdk-nag.NagPackProps.property.suppressionIgnoreCondition">suppressionIgnoreCondition</a></code> | <code><a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a></code> | Conditionally prevent rules from being suppressed (default: no user provided condition). |
| <code><a href="#cdk-nag.NagPackProps.property.verbose">verbose</a></code> | <code>boolean</code> | Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). |
---
##### `additionalLoggers`<sup>Optional</sup> <a name="additionalLoggers" id="cdk-nag.NagPackProps.property.additionalLoggers"></a>
```typescript
public readonly additionalLoggers: INagLogger[];
```
- *Type:* <a href="#cdk-nag.INagLogger">INagLogger</a>[]
Additional NagLoggers for logging rule validation outputs.
---
##### `logIgnores`<sup>Optional</sup> <a name="logIgnores" id="cdk-nag.NagPackProps.property.logIgnores"></a>
```typescript
public readonly logIgnores: boolean;
```
- *Type:* boolean
Whether or not to log suppressed rule violations as informational messages (default: false).
---
##### `reportFormats`<sup>Optional</sup> <a name="reportFormats" id="cdk-nag.NagPackProps.property.reportFormats"></a>
```typescript
public readonly reportFormats: NagReportFormat[];
```
- *Type:* <a href="#cdk-nag.NagReportFormat">NagReportFormat</a>[]
If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV).
---
##### `reports`<sup>Optional</sup> <a name="reports" id="cdk-nag.NagPackProps.property.reports"></a>
```typescript
public readonly reports: boolean;
```
- *Type:* boolean
Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true).
---
##### `suppressionIgnoreCondition`<sup>Optional</sup> <a name="suppressionIgnoreCondition" id="cdk-nag.NagPackProps.property.suppressionIgnoreCondition"></a>
```typescript
public readonly suppressionIgnoreCondition: INagSuppressionIgnore;
```
- *Type:* <a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a>
Conditionally prevent rules from being suppressed (default: no user provided condition).
---
##### `verbose`<sup>Optional</sup> <a name="verbose" id="cdk-nag.NagPackProps.property.verbose"></a>
```typescript
public readonly verbose: boolean;
```
- *Type:* boolean
Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false).
---
### NagPackSuppression <a name="NagPackSuppression" id="cdk-nag.NagPackSuppression"></a>
Interface for creating a rule suppression.
#### Initializer <a name="Initializer" id="cdk-nag.NagPackSuppression.Initializer"></a>
```typescript
import { NagPackSuppression } from 'cdk-nag'
const nagPackSuppression: NagPackSuppression = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagPackSuppression.property.id">id</a></code> | <code>string</code> | The id of the rule to ignore. |
| <code><a href="#cdk-nag.NagPackSuppression.property.reason">reason</a></code> | <code>string</code> | The reason to ignore the rule (minimum 10 characters). |
| <code><a href="#cdk-nag.NagPackSuppression.property.appliesTo">appliesTo</a></code> | <code>string \| <a href="#cdk-nag.RegexAppliesTo">RegexAppliesTo</a>[]</code> | Rule specific granular suppressions. |
---
##### `id`<sup>Required</sup> <a name="id" id="cdk-nag.NagPackSuppression.property.id"></a>
```typescript
public readonly id: string;
```
- *Type:* string
The id of the rule to ignore.
---
##### `reason`<sup>Required</sup> <a name="reason" id="cdk-nag.NagPackSuppression.property.reason"></a>
```typescript
public readonly reason: string;
```
- *Type:* string
The reason to ignore the rule (minimum 10 characters).
---
##### `appliesTo`<sup>Optional</sup> <a name="appliesTo" id="cdk-nag.NagPackSuppression.property.appliesTo"></a>
```typescript
public readonly appliesTo: string | RegexAppliesTo[];
```
- *Type:* string | <a href="#cdk-nag.RegexAppliesTo">RegexAppliesTo</a>[]
Rule specific granular suppressions.
---
### NagReportLine <a name="NagReportLine" id="cdk-nag.NagReportLine"></a>
#### Initializer <a name="Initializer" id="cdk-nag.NagReportLine.Initializer"></a>
```typescript
import { NagReportLine } from 'cdk-nag'
const nagReportLine: NagReportLine = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagReportLine.property.compliance">compliance</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagReportLine.property.exceptionReason">exceptionReason</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagReportLine.property.resourceId">resourceId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagReportLine.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagReportLine.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.NagReportLine.property.ruleLevel">ruleLevel</a></code> | <code>string</code> | *No description.* |
---
##### `compliance`<sup>Required</sup> <a name="compliance" id="cdk-nag.NagReportLine.property.compliance"></a>
```typescript
public readonly compliance: string;
```
- *Type:* string
---
##### `exceptionReason`<sup>Required</sup> <a name="exceptionReason" id="cdk-nag.NagReportLine.property.exceptionReason"></a>
```typescript
public readonly exceptionReason: string;
```
- *Type:* string
---
##### `resourceId`<sup>Required</sup> <a name="resourceId" id="cdk-nag.NagReportLine.property.resourceId"></a>
```typescript
public readonly resourceId: string;
```
- *Type:* string
---
##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagReportLine.property.ruleId"></a>
```typescript
public readonly ruleId: string;
```
- *Type:* string
---
##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagReportLine.property.ruleInfo"></a>
```typescript
public readonly ruleInfo: string;
```
- *Type:* string
---
##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagReportLine.property.ruleLevel"></a>
```typescript
public readonly ruleLevel: string;
```
- *Type:* string
---
### NagReportLoggerProps <a name="NagReportLoggerProps" id="cdk-nag.NagReportLoggerProps"></a>
Props for the NagReportLogger.
#### Initializer <a name="Initializer" id="cdk-nag.NagReportLoggerProps.Initializer"></a>
```typescript
import { NagReportLoggerProps } from 'cdk-nag'
const nagReportLoggerProps: NagReportLoggerProps = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagReportLoggerProps.property.formats">formats</a></code> | <code><a href="#cdk-nag.NagReportFormat">NagReportFormat</a>[]</code> | *No description.* |
---
##### `formats`<sup>Required</sup> <a name="formats" id="cdk-nag.NagReportLoggerProps.property.formats"></a>
```typescript
public readonly formats: NagReportFormat[];
```
- *Type:* <a href="#cdk-nag.NagReportFormat">NagReportFormat</a>[]
---
### NagReportSchema <a name="NagReportSchema" id="cdk-nag.NagReportSchema"></a>
#### Initializer <a name="Initializer" id="cdk-nag.NagReportSchema.Initializer"></a>
```typescript
import { NagReportSchema } from 'cdk-nag'
const nagReportSchema: NagReportSchema = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagReportSchema.property.lines">lines</a></code> | <code><a href="#cdk-nag.NagReportLine">NagReportLine</a>[]</code> | *No description.* |
---
##### `lines`<sup>Required</sup> <a name="lines" id="cdk-nag.NagReportSchema.property.lines"></a>
```typescript
public readonly lines: NagReportLine[];
```
- *Type:* <a href="#cdk-nag.NagReportLine">NagReportLine</a>[]
---
### RegexAppliesTo <a name="RegexAppliesTo" id="cdk-nag.RegexAppliesTo"></a>
A regular expression to apply to matching findings.
#### Initializer <a name="Initializer" id="cdk-nag.RegexAppliesTo.Initializer"></a>
```typescript
import { RegexAppliesTo } from 'cdk-nag'
const regexAppliesTo: RegexAppliesTo = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.RegexAppliesTo.property.regex">regex</a></code> | <code>string</code> | An ECMA-262 regex string. |
---
##### `regex`<sup>Required</sup> <a name="regex" id="cdk-nag.RegexAppliesTo.property.regex"></a>
```typescript
public readonly regex: string;
```
- *Type:* string
An ECMA-262 regex string.
---
### SuppressionIgnoreInput <a name="SuppressionIgnoreInput" id="cdk-nag.SuppressionIgnoreInput"></a>
Information about the NagRule and the relevant NagSuppression for the INagSuppressionIgnore.
#### Initializer <a name="Initializer" id="cdk-nag.SuppressionIgnoreInput.Initializer"></a>
```typescript
import { SuppressionIgnoreInput } from 'cdk-nag'
const suppressionIgnoreInput: SuppressionIgnoreInput = { ... }
```
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.SuppressionIgnoreInput.property.findingId">findingId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.SuppressionIgnoreInput.property.reason">reason</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.SuppressionIgnoreInput.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
| <code><a href="#cdk-nag.SuppressionIgnoreInput.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#cdk-nag.SuppressionIgnoreInput.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
---
##### `findingId`<sup>Required</sup> <a name="findingId" id="cdk-nag.SuppressionIgnoreInput.property.findingId"></a>
```typescript
public readonly findingId: string;
```
- *Type:* string
---
##### `reason`<sup>Required</sup> <a name="reason" id="cdk-nag.SuppressionIgnoreInput.property.reason"></a>
```typescript
public readonly reason: string;
```
- *Type:* string
---
##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.SuppressionIgnoreInput.property.resource"></a>
```typescript
public readonly resource: CfnResource;
```
- *Type:* aws-cdk-lib.CfnResource
---
##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.SuppressionIgnoreInput.property.ruleId"></a>
```typescript
public readonly ruleId: string;
```
- *Type:* string
---
##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.SuppressionIgnoreInput.property.ruleLevel"></a>
```typescript
public readonly ruleLevel: NagMessageLevel;
```
- *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
---
## Classes <a name="Classes" id="Classes"></a>
### AnnotationLogger <a name="AnnotationLogger" id="cdk-nag.AnnotationLogger"></a>
- *Implements:* <a href="#cdk-nag.INagLogger">INagLogger</a>
A NagLogger that outputs to the CDK Annotations system.
#### Initializers <a name="Initializers" id="cdk-nag.AnnotationLogger.Initializer"></a>
```typescript
import { AnnotationLogger } from 'cdk-nag'
new AnnotationLogger(props?: AnnotationLoggerProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.AnnotationLogger.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-nag.AnnotationLoggerProps">AnnotationLoggerProps</a></code> | *No description.* |
---
##### `props`<sup>Optional</sup> <a name="props" id="cdk-nag.AnnotationLogger.Initializer.parameter.props"></a>
- *Type:* <a href="#cdk-nag.AnnotationLoggerProps">AnnotationLoggerProps</a>
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-nag.AnnotationLogger.onCompliance">onCompliance</a></code> | Called when a CfnResource passes the compliance check for a given rule. |
| <code><a href="#cdk-nag.AnnotationLogger.onError">onError</a></code> | Called when a rule throws an error during while validating a CfnResource for compliance. |
| <code><a href="#cdk-nag.AnnotationLogger.onNonCompliance">onNonCompliance</a></code> | Called when a CfnResource does not pass the compliance check for a given rule and the the rule violation is not suppressed by the user. |
| <code><a href="#cdk-nag.AnnotationLogger.onNotApplicable">onNotApplicable</a></code> | Called when a rule does not apply to the given CfnResource. |
| <code><a href="#cdk-nag.AnnotationLogger.onSuppressed">onSuppressed</a></code> | Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user. |
| <code><a href="#cdk-nag.AnnotationLogger.onSuppressedError">onSuppressedError</a></code> | Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed. |
---
##### `onCompliance` <a name="onCompliance" id="cdk-nag.AnnotationLogger.onCompliance"></a>
```typescript
public onCompliance(_data: NagLoggerComplianceData): void
```
Called when a CfnResource passes the compliance check for a given rule.
###### `_data`<sup>Required</sup> <a name="_data" id="cdk-nag.AnnotationLogger.onCompliance.parameter._data"></a>
- *Type:* <a href="#cdk-nag.NagLoggerComplianceData">NagLoggerComplianceData</a>
---
##### `onError` <a name="onError" id="cdk-nag.AnnotationLogger.onError"></a>
```typescript
public onError(data: NagLoggerErrorData): void
```
Called when a rule throws an error during while validating a CfnResource for compliance.
###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.AnnotationLogger.onError.parameter.data"></a>
- *Type:* <a href="#cdk-nag.NagLoggerErrorData">NagLoggerErrorData</a>
---
##### `onNonCompliance` <a name="onNonCompliance" id="cdk-nag.AnnotationLogger.onNonCompliance"></a>
```typescript
public onNonCompliance(data: NagLoggerNonComplianceData): void
```
Called when a CfnResource does not pass the compliance check for a given rule and the the rule violation is not suppressed by the user.
###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.AnnotationLogger.onNonCompliance.parameter.data"></a>
- *Type:* <a href="#cdk-nag.NagLoggerNonComplianceData">NagLoggerNonComplianceData</a>
---
##### `onNotApplicable` <a name="onNotApplicable" id="cdk-nag.AnnotationLogger.onNotApplicable"></a>
```typescript
public onNotApplicable(_data: NagLoggerNotApplicableData): void
```
Called when a rule does not apply to the given CfnResource.
###### `_data`<sup>Required</sup> <a name="_data" id="cdk-nag.AnnotationLogger.onNotApplicable.parameter._data"></a>
- *Type:* <a href="#cdk-nag.NagLoggerNotApplicableData">NagLoggerNotApplicableData</a>
---
##### `onSuppressed` <a name="onSuppressed" id="cdk-nag.AnnotationLogger.onSuppressed"></a>
```typescript
public onSuppressed(data: NagLoggerSuppressedData): void
```
Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user.
###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.AnnotationLogger.onSuppressed.parameter.data"></a>
- *Type:* <a href="#cdk-nag.NagLoggerSuppressedData">NagLoggerSuppressedData</a>
---
##### `onSuppressedError` <a name="onSuppressedError" id="cdk-nag.AnnotationLogger.onSuppressedError"></a>
```typescript
public onSuppressedError(data: NagLoggerSuppressedErrorData): void
```
Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed.
###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.AnnotationLogger.onSuppressedError.parameter.data"></a>
- *Type:* <a href="#cdk-nag.NagLoggerSuppressedErrorData">NagLoggerSuppressedErrorData</a>
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.AnnotationLogger.property.logIgnores">logIgnores</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-nag.AnnotationLogger.property.verbose">verbose</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#cdk-nag.AnnotationLogger.property.suppressionId">suppressionId</a></code> | <code>string</code> | *No description.* |
---
##### `logIgnores`<sup>Required</sup> <a name="logIgnores" id="cdk-nag.AnnotationLogger.property.logIgnores"></a>
```typescript
public readonly logIgnores: boolean;
```
- *Type:* boolean
---
##### `verbose`<sup>Required</sup> <a name="verbose" id="cdk-nag.AnnotationLogger.property.verbose"></a>
```typescript
public readonly verbose: boolean;
```
- *Type:* boolean
---
##### `suppressionId`<sup>Required</sup> <a name="suppressionId" id="cdk-nag.AnnotationLogger.property.suppressionId"></a>
```typescript
public readonly suppressionId: string;
```
- *Type:* string
---
### AwsSolutionsChecks <a name="AwsSolutionsChecks" id="cdk-nag.AwsSolutionsChecks"></a>
Check Best practices based on AWS Solutions Security Matrix.
#### Initializers <a name="Initializers" id="cdk-nag.AwsSolutionsChecks.Initializer"></a>
```typescript
import { AwsSolutionsChecks } from 'cdk-nag'
new AwsSolutionsChecks(props?: NagPackProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.AwsSolutionsChecks.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-nag.NagPackProps">NagPackProps</a></code> | *No description.* |
---
##### `props`<sup>Optional</sup> <a name="props" id="cdk-nag.AwsSolutionsChecks.Initializer.parameter.props"></a>
- *Type:* <a href="#cdk-nag.NagPackProps">NagPackProps</a>
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-nag.AwsSolutionsChecks.visit">visit</a></code> | All aspects can visit an IConstruct. |
---
##### `visit` <a name="visit" id="cdk-nag.AwsSolutionsChecks.visit"></a>
```typescript
public visit(node: IConstruct): void
```
All aspects can visit an IConstruct.
###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.AwsSolutionsChecks.visit.parameter.node"></a>
- *Type:* constructs.IConstruct
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.AwsSolutionsChecks.property.readPackName">readPackName</a></code> | <code>string</code> | *No description.* |
---
##### `readPackName`<sup>Required</sup> <a name="readPackName" id="cdk-nag.AwsSolutionsChecks.property.readPackName"></a>
```typescript
public readonly readPackName: string;
```
- *Type:* string
---
### HIPAASecurityChecks <a name="HIPAASecurityChecks" id="cdk-nag.HIPAASecurityChecks"></a>
Check for HIPAA Security compliance.
Based on the HIPAA Security AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-hipaa_security.html
#### Initializers <a name="Initializers" id="cdk-nag.HIPAASecurityChecks.Initializer"></a>
```typescript
import { HIPAASecurityChecks } from 'cdk-nag'
new HIPAASecurityChecks(props?: NagPackProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.HIPAASecurityChecks.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-nag.NagPackProps">NagPackProps</a></code> | *No description.* |
---
##### `props`<sup>Optional</sup> <a name="props" id="cdk-nag.HIPAASecurityChecks.Initializer.parameter.props"></a>
- *Type:* <a href="#cdk-nag.NagPackProps">NagPackProps</a>
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-nag.HIPAASecurityChecks.visit">visit</a></code> | All aspects can visit an IConstruct. |
---
##### `visit` <a name="visit" id="cdk-nag.HIPAASecurityChecks.visit"></a>
```typescript
public visit(node: IConstruct): void
```
All aspects can visit an IConstruct.
###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.HIPAASecurityChecks.visit.parameter.node"></a>
- *Type:* constructs.IConstruct
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.HIPAASecurityChecks.property.readPackName">readPackName</a></code> | <code>string</code> | *No description.* |
---
##### `readPackName`<sup>Required</sup> <a name="readPackName" id="cdk-nag.HIPAASecurityChecks.property.readPackName"></a>
```typescript
public readonly readPackName: string;
```
- *Type:* string
---
### NagPack <a name="NagPack" id="cdk-nag.NagPack"></a>
- *Implements:* aws-cdk-lib.IAspect
Base class for all rule packs.
#### Initializers <a name="Initializers" id="cdk-nag.NagPack.Initializer"></a>
```typescript
import { NagPack } from 'cdk-nag'
new NagPack(props?: NagPackProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagPack.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-nag.NagPackProps">NagPackProps</a></code> | *No description.* |
---
##### `props`<sup>Optional</sup> <a name="props" id="cdk-nag.NagPack.Initializer.parameter.props"></a>
- *Type:* <a href="#cdk-nag.NagPackProps">NagPackProps</a>
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-nag.NagPack.visit">visit</a></code> | All aspects can visit an IConstruct. |
---
##### `visit` <a name="visit" id="cdk-nag.NagPack.visit"></a>
```typescript
public visit(node: IConstruct): void
```
All aspects can visit an IConstruct.
###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.NagPack.visit.parameter.node"></a>
- *Type:* constructs.IConstruct
---
#### Properties <a name="Properties" id="Properties"></a>
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagPack.property.readPackName">readPackName</a></code> | <code>string</code> | *No description.* |
---
##### `readPackName`<sup>Required</sup> <a name="readPackName" id="cdk-nag.NagPack.property.readPackName"></a>
```typescript
public readonly readPackName: string;
```
- *Type:* string
---
### NagReportLogger <a name="NagReportLogger" id="cdk-nag.NagReportLogger"></a>
- *Implements:* <a href="#cdk-nag.INagLogger">INagLogger</a>
A NagLogger that creates compliance reports.
#### Initializers <a name="Initializers" id="cdk-nag.NagReportLogger.Initializer"></a>
```typescript
import { NagReportLogger } from 'cdk-nag'
new NagReportLogger(props: NagReportLoggerProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#cdk-nag.NagReportLogger.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-nag.NagReportLoggerProps">NagReportLoggerProps</a></code> | *No description.* |
---
##### `props`<sup>Required</sup> <a name="props" id="cdk-nag.NagReportLogger.Initializer.parameter.props"></a>
- *Type:* <a href="#cdk-nag.NagReportLoggerProps">NagReportLoggerProps</a>
---
#### Methods <a name="Methods" id="Methods"></a>
| **Name** | **Description** |
| --- | --- |
| <code><a href="#cdk-nag.NagReportLogge