UNPKG

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