@mavogel/awscdk-rootmail 0.0.135 → 0.0.136

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1575 +1,2718 @@
1
- # API Reference
2
-
3
- **Classes**
4
-
5
- Name|Description
6
- ----|-----------
7
- [AnnotationLogger](#cdk-nag-annotationlogger)|A NagLogger that outputs to the CDK Annotations system.
8
- [AwsSolutionsChecks](#cdk-nag-awssolutionschecks)|Check Best practices based on AWS Solutions Security Matrix.
9
- [HIPAASecurityChecks](#cdk-nag-hipaasecuritychecks)|Check for HIPAA Security compliance.
10
- [NIST80053R4Checks](#cdk-nag-nist80053r4checks)|Check for NIST 800-53 rev 4 compliance.
11
- [NIST80053R5Checks](#cdk-nag-nist80053r5checks)|Check for NIST 800-53 rev 5 compliance.
12
- [NagPack](#cdk-nag-nagpack)|Base class for all rule packs.
13
- [NagReportLogger](#cdk-nag-nagreportlogger)|A NagLogger that creates compliance reports.
14
- [NagRules](#cdk-nag-nagrules)|Helper class with methods for rule creation.
15
- [NagSuppressions](#cdk-nag-nagsuppressions)|Helper class with methods to add cdk-nag suppressions to cdk resources.
16
- [PCIDSS321Checks](#cdk-nag-pcidss321checks)|Check for PCI DSS 3.2.1 compliance. Based on the PCI DSS 3.2.1 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-pci-dss.html.
17
- [SuppressionIgnoreAlways](#cdk-nag-suppressionignorealways)|Always ignore the suppression.
18
- [SuppressionIgnoreAnd](#cdk-nag-suppressionignoreand)|Ignore the suppression if all of the given INagSuppressionIgnore return a non-empty message.
19
- [SuppressionIgnoreErrors](#cdk-nag-suppressionignoreerrors)|Ignore Suppressions for Rules with a NagMessageLevel.ERROR.
20
- [SuppressionIgnoreNever](#cdk-nag-suppressionignorenever)|Don't ignore the suppression.
21
- [SuppressionIgnoreOr](#cdk-nag-suppressionignoreor)|Ignore the suppression if any of the given INagSuppressionIgnore return a non-empty message.
22
-
23
-
24
- **Structs**
25
-
26
- Name|Description
27
- ----|-----------
28
- [AnnotationLoggerProps](#cdk-nag-annotationloggerprops)|Props for the AnnotationLogger.
29
- [NagLoggerBaseData](#cdk-nag-nagloggerbasedata)|Shared data for all INagLogger methods.
30
- [NagLoggerComplianceData](#cdk-nag-nagloggercompliancedata)|Data for onCompliance method of an INagLogger.
31
- [NagLoggerErrorData](#cdk-nag-nagloggererrordata)|Data for onError method of an INagLogger.
32
- [NagLoggerNonComplianceData](#cdk-nag-nagloggernoncompliancedata)|Data for onNonCompliance method of an INagLogger.
33
- [NagLoggerNotApplicableData](#cdk-nag-nagloggernotapplicabledata)|Data for onNotApplicable method of an INagLogger.
34
- [NagLoggerSuppressedData](#cdk-nag-nagloggersuppresseddata)|Data for onSuppressed method of an INagLogger.
35
- [NagLoggerSuppressedErrorData](#cdk-nag-nagloggersuppressederrordata)|Data for onSuppressedError method of an INagLogger.
36
- [NagPackProps](#cdk-nag-nagpackprops)|Interface for creating a NagPack.
37
- [NagPackSuppression](#cdk-nag-nagpacksuppression)|Interface for creating a rule suppression.
38
- [NagReportLine](#cdk-nag-nagreportline)|*No description*
39
- [NagReportLoggerProps](#cdk-nag-nagreportloggerprops)|Props for the NagReportLogger.
40
- [NagReportSchema](#cdk-nag-nagreportschema)|*No description*
41
- [RegexAppliesTo](#cdk-nag-regexappliesto)|A regular expression to apply to matching findings.
42
- [SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)|Information about the NagRule and the relevant NagSuppression for the INagSuppressionIgnore.
43
-
44
-
45
- **Interfaces**
46
-
47
- Name|Description
48
- ----|-----------
49
- [IApplyRule](#cdk-nag-iapplyrule)|Interface for JSII interoperability for passing parameters and the Rule Callback to @applyRule method.
50
- [INagLogger](#cdk-nag-inaglogger)|Interface for creating NagSuppression Ignores.
51
- [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)|Interface for creating NagSuppression Ignores.
52
-
53
-
54
- **Enums**
55
-
56
- Name|Description
57
- ----|-----------
58
- [NagMessageLevel](#cdk-nag-nagmessagelevel)|The severity level of the rule.
59
- [NagReportFormat](#cdk-nag-nagreportformat)|Possible output formats of the NagReport.
60
- [NagRuleCompliance](#cdk-nag-nagrulecompliance)|The compliance level of a resource in relation to a rule.
61
- [NagRulePostValidationStates](#cdk-nag-nagrulepostvalidationstates)|Additional states a rule can be in post compliance validation.
62
-
63
-
64
-
65
- ## class AnnotationLogger <a id="cdk-nag-annotationlogger"></a>
1
+ # API Reference <a name="API Reference" id="api-reference"></a>
66
2
 
67
- A NagLogger that outputs to the CDK Annotations system.
68
3
 
69
- __Implements__: [INagLogger](#cdk-nag-inaglogger)
4
+ ## Structs <a name="Structs" id="Structs"></a>
70
5
 
71
- ### Initializer
6
+ ### AnnotationLoggerProps <a name="AnnotationLoggerProps" id="cdk-nag.AnnotationLoggerProps"></a>
72
7
 
8
+ Props for the AnnotationLogger.
73
9
 
10
+ #### Initializer <a name="Initializer" id="cdk-nag.AnnotationLoggerProps.Initializer"></a>
74
11
 
12
+ ```typescript
13
+ import { AnnotationLoggerProps } from 'cdk-nag'
75
14
 
76
- ```ts
77
- new AnnotationLogger(props?: AnnotationLoggerProps)
15
+ const annotationLoggerProps: AnnotationLoggerProps = { ... }
78
16
  ```
79
17
 
80
- * **props** (<code>[AnnotationLoggerProps](#cdk-nag-annotationloggerprops)</code>) *No description*
81
- * **logIgnores** (<code>boolean</code>) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
82
- * **verbose** (<code>boolean</code>) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages. __*Optional*__
83
-
18
+ #### Properties <a name="Properties" id="Properties"></a>
84
19
 
20
+ | **Name** | **Type** | **Description** |
21
+ | --- | --- | --- |
22
+ | <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). |
23
+ | <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. |
85
24
 
86
- ### Properties
25
+ ---
87
26
 
27
+ ##### `logIgnores`<sup>Optional</sup> <a name="logIgnores" id="cdk-nag.AnnotationLoggerProps.property.logIgnores"></a>
88
28
 
89
- Name | Type | Description
90
- -----|------|-------------
91
- **logIgnores** | <code>boolean</code> | <span></span>
92
- **suppressionId** | <code>string</code> | <span></span>
93
- **verbose** | <code>boolean</code> | <span></span>
29
+ ```typescript
30
+ public readonly logIgnores: boolean;
31
+ ```
94
32
 
95
- ### Methods
33
+ - *Type:* boolean
96
34
 
35
+ Whether or not to log suppressed rule violations as informational messages (default: false).
97
36
 
98
- #### onCompliance(_data) <a id="cdk-nag-annotationlogger-oncompliance"></a>
37
+ ---
99
38
 
100
- Called when a CfnResource passes the compliance check for a given rule.
39
+ ##### `verbose`<sup>Optional</sup> <a name="verbose" id="cdk-nag.AnnotationLoggerProps.property.verbose"></a>
101
40
 
102
- ```ts
103
- onCompliance(_data: NagLoggerComplianceData): void
41
+ ```typescript
42
+ public readonly verbose: boolean;
104
43
  ```
105
44
 
106
- * **_data** (<code>[NagLoggerComplianceData](#cdk-nag-nagloggercompliancedata)</code>) *No description*
107
- * **nagPackName** (<code>string</code>) *No description*
108
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
109
- * **ruleExplanation** (<code>string</code>) *No description*
110
- * **ruleId** (<code>string</code>) *No description*
111
- * **ruleInfo** (<code>string</code>) *No description*
112
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
113
- * **ruleOriginalName** (<code>string</code>) *No description*
45
+ - *Type:* boolean
114
46
 
47
+ Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages.
115
48
 
49
+ ---
116
50
 
51
+ ### NagLoggerBaseData <a name="NagLoggerBaseData" id="cdk-nag.NagLoggerBaseData"></a>
117
52
 
118
- #### onError(data) <a id="cdk-nag-annotationlogger-onerror"></a>
119
-
120
- Called when a rule throws an error during while validating a CfnResource for compliance.
53
+ Shared data for all INagLogger methods.
121
54
 
122
- ```ts
123
- onError(data: NagLoggerErrorData): void
124
- ```
55
+ #### Initializer <a name="Initializer" id="cdk-nag.NagLoggerBaseData.Initializer"></a>
125
56
 
126
- * **data** (<code>[NagLoggerErrorData](#cdk-nag-nagloggererrordata)</code>) *No description*
127
- * **nagPackName** (<code>string</code>) *No description*
128
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
129
- * **ruleExplanation** (<code>string</code>) *No description*
130
- * **ruleId** (<code>string</code>) *No description*
131
- * **ruleInfo** (<code>string</code>) *No description*
132
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
133
- * **ruleOriginalName** (<code>string</code>) *No description*
134
- * **errorMessage** (<code>string</code>) *No description*
57
+ ```typescript
58
+ import { NagLoggerBaseData } from 'cdk-nag'
135
59
 
60
+ const nagLoggerBaseData: NagLoggerBaseData = { ... }
61
+ ```
136
62
 
63
+ #### Properties <a name="Properties" id="Properties"></a>
137
64
 
65
+ | **Name** | **Type** | **Description** |
66
+ | --- | --- | --- |
67
+ | <code><a href="#cdk-nag.NagLoggerBaseData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
68
+ | <code><a href="#cdk-nag.NagLoggerBaseData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
69
+ | <code><a href="#cdk-nag.NagLoggerBaseData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
70
+ | <code><a href="#cdk-nag.NagLoggerBaseData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
71
+ | <code><a href="#cdk-nag.NagLoggerBaseData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
72
+ | <code><a href="#cdk-nag.NagLoggerBaseData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
73
+ | <code><a href="#cdk-nag.NagLoggerBaseData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
138
74
 
139
- #### onNonCompliance(data) <a id="cdk-nag-annotationlogger-onnoncompliance"></a>
75
+ ---
140
76
 
141
- 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.
77
+ ##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerBaseData.property.nagPackName"></a>
142
78
 
143
- ```ts
144
- onNonCompliance(data: NagLoggerNonComplianceData): void
79
+ ```typescript
80
+ public readonly nagPackName: string;
145
81
  ```
146
82
 
147
- * **data** (<code>[NagLoggerNonComplianceData](#cdk-nag-nagloggernoncompliancedata)</code>) *No description*
148
- * **nagPackName** (<code>string</code>) *No description*
149
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
150
- * **ruleExplanation** (<code>string</code>) *No description*
151
- * **ruleId** (<code>string</code>) *No description*
152
- * **ruleInfo** (<code>string</code>) *No description*
153
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
154
- * **ruleOriginalName** (<code>string</code>) *No description*
155
- * **findingId** (<code>string</code>) *No description*
83
+ - *Type:* string
156
84
 
85
+ ---
157
86
 
87
+ ##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerBaseData.property.resource"></a>
158
88
 
89
+ ```typescript
90
+ public readonly resource: CfnResource;
91
+ ```
159
92
 
160
- #### onNotApplicable(_data) <a id="cdk-nag-annotationlogger-onnotapplicable"></a>
93
+ - *Type:* aws-cdk-lib.CfnResource
161
94
 
162
- Called when a rule does not apply to the given CfnResource.
95
+ ---
163
96
 
164
- ```ts
165
- onNotApplicable(_data: NagLoggerNotApplicableData): void
97
+ ##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerBaseData.property.ruleExplanation"></a>
98
+
99
+ ```typescript
100
+ public readonly ruleExplanation: string;
166
101
  ```
167
102
 
168
- * **_data** (<code>[NagLoggerNotApplicableData](#cdk-nag-nagloggernotapplicabledata)</code>) *No description*
169
- * **nagPackName** (<code>string</code>) *No description*
170
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
171
- * **ruleExplanation** (<code>string</code>) *No description*
172
- * **ruleId** (<code>string</code>) *No description*
173
- * **ruleInfo** (<code>string</code>) *No description*
174
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
175
- * **ruleOriginalName** (<code>string</code>) *No description*
103
+ - *Type:* string
104
+
105
+ ---
176
106
 
107
+ ##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerBaseData.property.ruleId"></a>
177
108
 
109
+ ```typescript
110
+ public readonly ruleId: string;
111
+ ```
178
112
 
113
+ - *Type:* string
179
114
 
180
- #### onSuppressed(data) <a id="cdk-nag-annotationlogger-onsuppressed"></a>
115
+ ---
181
116
 
182
- Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user.
117
+ ##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerBaseData.property.ruleInfo"></a>
183
118
 
184
- ```ts
185
- onSuppressed(data: NagLoggerSuppressedData): void
119
+ ```typescript
120
+ public readonly ruleInfo: string;
186
121
  ```
187
122
 
188
- * **data** (<code>[NagLoggerSuppressedData](#cdk-nag-nagloggersuppresseddata)</code>) *No description*
189
- * **nagPackName** (<code>string</code>) *No description*
190
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
191
- * **ruleExplanation** (<code>string</code>) *No description*
192
- * **ruleId** (<code>string</code>) *No description*
193
- * **ruleInfo** (<code>string</code>) *No description*
194
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
195
- * **ruleOriginalName** (<code>string</code>) *No description*
196
- * **findingId** (<code>string</code>) *No description*
197
- * **suppressionReason** (<code>string</code>) *No description*
123
+ - *Type:* string
198
124
 
125
+ ---
199
126
 
127
+ ##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerBaseData.property.ruleLevel"></a>
200
128
 
129
+ ```typescript
130
+ public readonly ruleLevel: NagMessageLevel;
131
+ ```
201
132
 
202
- #### onSuppressedError(data) <a id="cdk-nag-annotationlogger-onsuppressederror"></a>
133
+ - *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
203
134
 
204
- Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed.
135
+ ---
205
136
 
206
- ```ts
207
- onSuppressedError(data: NagLoggerSuppressedErrorData): void
208
- ```
137
+ ##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerBaseData.property.ruleOriginalName"></a>
209
138
 
210
- * **data** (<code>[NagLoggerSuppressedErrorData](#cdk-nag-nagloggersuppressederrordata)</code>) *No description*
211
- * **nagPackName** (<code>string</code>) *No description*
212
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
213
- * **ruleExplanation** (<code>string</code>) *No description*
214
- * **ruleId** (<code>string</code>) *No description*
215
- * **ruleInfo** (<code>string</code>) *No description*
216
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
217
- * **ruleOriginalName** (<code>string</code>) *No description*
218
- * **errorMessage** (<code>string</code>) *No description*
219
- * **errorSuppressionReason** (<code>string</code>) *No description*
139
+ ```typescript
140
+ public readonly ruleOriginalName: string;
141
+ ```
220
142
 
143
+ - *Type:* string
221
144
 
145
+ ---
222
146
 
147
+ ### NagLoggerComplianceData <a name="NagLoggerComplianceData" id="cdk-nag.NagLoggerComplianceData"></a>
223
148
 
224
- #### protected createMessage(ruleId, findingId, ruleInfo, ruleExplanation, verbose) <a id="cdk-nag-annotationlogger-createmessage"></a>
149
+ Data for onCompliance method of an INagLogger.
225
150
 
151
+ #### Initializer <a name="Initializer" id="cdk-nag.NagLoggerComplianceData.Initializer"></a>
226
152
 
153
+ ```typescript
154
+ import { NagLoggerComplianceData } from 'cdk-nag'
227
155
 
228
- ```ts
229
- protected createMessage(ruleId: string, findingId: string, ruleInfo: string, ruleExplanation: string, verbose: boolean): string
156
+ const nagLoggerComplianceData: NagLoggerComplianceData = { ... }
230
157
  ```
231
158
 
232
- * **ruleId** (<code>string</code>) *No description*
233
- * **findingId** (<code>string</code>) *No description*
234
- * **ruleInfo** (<code>string</code>) *No description*
235
- * **ruleExplanation** (<code>string</code>) *No description*
236
- * **verbose** (<code>boolean</code>) *No description*
159
+ #### Properties <a name="Properties" id="Properties"></a>
160
+
161
+ | **Name** | **Type** | **Description** |
162
+ | --- | --- | --- |
163
+ | <code><a href="#cdk-nag.NagLoggerComplianceData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
164
+ | <code><a href="#cdk-nag.NagLoggerComplianceData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
165
+ | <code><a href="#cdk-nag.NagLoggerComplianceData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
166
+ | <code><a href="#cdk-nag.NagLoggerComplianceData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
167
+ | <code><a href="#cdk-nag.NagLoggerComplianceData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
168
+ | <code><a href="#cdk-nag.NagLoggerComplianceData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
169
+ | <code><a href="#cdk-nag.NagLoggerComplianceData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
237
170
 
238
- __Returns__:
239
- * <code>string</code>
171
+ ---
240
172
 
173
+ ##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerComplianceData.property.nagPackName"></a>
241
174
 
175
+ ```typescript
176
+ public readonly nagPackName: string;
177
+ ```
242
178
 
243
- ## class AwsSolutionsChecks <a id="cdk-nag-awssolutionschecks"></a>
179
+ - *Type:* string
244
180
 
245
- Check Best practices based on AWS Solutions Security Matrix.
181
+ ---
246
182
 
247
- __Implements__: [IAspect](#aws-cdk-lib-iaspect)
248
- __Extends__: [NagPack](#cdk-nag-nagpack)
183
+ ##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerComplianceData.property.resource"></a>
249
184
 
250
- ### Initializer
185
+ ```typescript
186
+ public readonly resource: CfnResource;
187
+ ```
251
188
 
189
+ - *Type:* aws-cdk-lib.CfnResource
252
190
 
191
+ ---
253
192
 
193
+ ##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerComplianceData.property.ruleExplanation"></a>
254
194
 
255
- ```ts
256
- new AwsSolutionsChecks(props?: NagPackProps)
195
+ ```typescript
196
+ public readonly ruleExplanation: string;
257
197
  ```
258
198
 
259
- * **props** (<code>[NagPackProps](#cdk-nag-nagpackprops)</code>) *No description*
260
- * **additionalLoggers** (<code>Array<[INagLogger](#cdk-nag-inaglogger)></code>) Additional NagLoggers for logging rule validation outputs. __*Optional*__
261
- * **logIgnores** (<code>boolean</code>) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
262
- * **reportFormats** (<code>Array<[NagReportFormat](#cdk-nag-nagreportformat)></code>) If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). __*Optional*__
263
- * **reports** (<code>boolean</code>) Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). __*Optional*__
264
- * **suppressionIgnoreCondition** (<code>[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)</code>) Conditionally prevent rules from being suppressed (default: no user provided condition). __*Optional*__
265
- * **verbose** (<code>boolean</code>) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). __*Optional*__
199
+ - *Type:* string
266
200
 
201
+ ---
267
202
 
268
- ### Methods
203
+ ##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerComplianceData.property.ruleId"></a>
269
204
 
205
+ ```typescript
206
+ public readonly ruleId: string;
207
+ ```
270
208
 
271
- #### visit(node) <a id="cdk-nag-awssolutionschecks-visit"></a>
209
+ - *Type:* string
272
210
 
273
- All aspects can visit an IConstruct.
211
+ ---
274
212
 
275
- ```ts
276
- visit(node: IConstruct): void
213
+ ##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerComplianceData.property.ruleInfo"></a>
214
+
215
+ ```typescript
216
+ public readonly ruleInfo: string;
277
217
  ```
278
218
 
279
- * **node** (<code>[IConstruct](#constructs-iconstruct)</code>) *No description*
219
+ - *Type:* string
280
220
 
221
+ ---
281
222
 
223
+ ##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerComplianceData.property.ruleLevel"></a>
282
224
 
225
+ ```typescript
226
+ public readonly ruleLevel: NagMessageLevel;
227
+ ```
283
228
 
229
+ - *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
284
230
 
231
+ ---
285
232
 
286
- ## class HIPAASecurityChecks <a id="cdk-nag-hipaasecuritychecks"></a>
233
+ ##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerComplianceData.property.ruleOriginalName"></a>
287
234
 
288
- Check for HIPAA Security compliance.
235
+ ```typescript
236
+ public readonly ruleOriginalName: string;
237
+ ```
289
238
 
290
- Based on the HIPAA Security AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-hipaa_security.html
239
+ - *Type:* string
291
240
 
292
- __Implements__: [IAspect](#aws-cdk-lib-iaspect)
293
- __Extends__: [NagPack](#cdk-nag-nagpack)
241
+ ---
294
242
 
295
- ### Initializer
243
+ ### NagLoggerErrorData <a name="NagLoggerErrorData" id="cdk-nag.NagLoggerErrorData"></a>
296
244
 
245
+ Data for onError method of an INagLogger.
297
246
 
247
+ #### Initializer <a name="Initializer" id="cdk-nag.NagLoggerErrorData.Initializer"></a>
298
248
 
249
+ ```typescript
250
+ import { NagLoggerErrorData } from 'cdk-nag'
299
251
 
300
- ```ts
301
- new HIPAASecurityChecks(props?: NagPackProps)
252
+ const nagLoggerErrorData: NagLoggerErrorData = { ... }
302
253
  ```
303
254
 
304
- * **props** (<code>[NagPackProps](#cdk-nag-nagpackprops)</code>) *No description*
305
- * **additionalLoggers** (<code>Array<[INagLogger](#cdk-nag-inaglogger)></code>) Additional NagLoggers for logging rule validation outputs. __*Optional*__
306
- * **logIgnores** (<code>boolean</code>) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
307
- * **reportFormats** (<code>Array<[NagReportFormat](#cdk-nag-nagreportformat)></code>) If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). __*Optional*__
308
- * **reports** (<code>boolean</code>) Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). __*Optional*__
309
- * **suppressionIgnoreCondition** (<code>[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)</code>) Conditionally prevent rules from being suppressed (default: no user provided condition). __*Optional*__
310
- * **verbose** (<code>boolean</code>) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). __*Optional*__
311
-
255
+ #### Properties <a name="Properties" id="Properties"></a>
312
256
 
313
- ### Methods
257
+ | **Name** | **Type** | **Description** |
258
+ | --- | --- | --- |
259
+ | <code><a href="#cdk-nag.NagLoggerErrorData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
260
+ | <code><a href="#cdk-nag.NagLoggerErrorData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
261
+ | <code><a href="#cdk-nag.NagLoggerErrorData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
262
+ | <code><a href="#cdk-nag.NagLoggerErrorData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
263
+ | <code><a href="#cdk-nag.NagLoggerErrorData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
264
+ | <code><a href="#cdk-nag.NagLoggerErrorData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
265
+ | <code><a href="#cdk-nag.NagLoggerErrorData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
266
+ | <code><a href="#cdk-nag.NagLoggerErrorData.property.errorMessage">errorMessage</a></code> | <code>string</code> | *No description.* |
314
267
 
268
+ ---
315
269
 
316
- #### visit(node) <a id="cdk-nag-hipaasecuritychecks-visit"></a>
317
-
318
- All aspects can visit an IConstruct.
270
+ ##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerErrorData.property.nagPackName"></a>
319
271
 
320
- ```ts
321
- visit(node: IConstruct): void
272
+ ```typescript
273
+ public readonly nagPackName: string;
322
274
  ```
323
275
 
324
- * **node** (<code>[IConstruct](#constructs-iconstruct)</code>) *No description*
276
+ - *Type:* string
325
277
 
278
+ ---
326
279
 
280
+ ##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerErrorData.property.resource"></a>
327
281
 
282
+ ```typescript
283
+ public readonly resource: CfnResource;
284
+ ```
328
285
 
286
+ - *Type:* aws-cdk-lib.CfnResource
329
287
 
288
+ ---
330
289
 
331
- ## class NIST80053R4Checks <a id="cdk-nag-nist80053r4checks"></a>
290
+ ##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerErrorData.property.ruleExplanation"></a>
332
291
 
333
- Check for NIST 800-53 rev 4 compliance.
292
+ ```typescript
293
+ public readonly ruleExplanation: string;
294
+ ```
334
295
 
335
- Based on the NIST 800-53 rev 4 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-nist-800-53_rev_4.html
296
+ - *Type:* string
336
297
 
337
- __Implements__: [IAspect](#aws-cdk-lib-iaspect)
338
- __Extends__: [NagPack](#cdk-nag-nagpack)
298
+ ---
339
299
 
340
- ### Initializer
300
+ ##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerErrorData.property.ruleId"></a>
341
301
 
302
+ ```typescript
303
+ public readonly ruleId: string;
304
+ ```
342
305
 
306
+ - *Type:* string
343
307
 
308
+ ---
344
309
 
345
- ```ts
346
- new NIST80053R4Checks(props?: NagPackProps)
310
+ ##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerErrorData.property.ruleInfo"></a>
311
+
312
+ ```typescript
313
+ public readonly ruleInfo: string;
347
314
  ```
348
315
 
349
- * **props** (<code>[NagPackProps](#cdk-nag-nagpackprops)</code>) *No description*
350
- * **additionalLoggers** (<code>Array<[INagLogger](#cdk-nag-inaglogger)></code>) Additional NagLoggers for logging rule validation outputs. __*Optional*__
351
- * **logIgnores** (<code>boolean</code>) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
352
- * **reportFormats** (<code>Array<[NagReportFormat](#cdk-nag-nagreportformat)></code>) If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). __*Optional*__
353
- * **reports** (<code>boolean</code>) Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). __*Optional*__
354
- * **suppressionIgnoreCondition** (<code>[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)</code>) Conditionally prevent rules from being suppressed (default: no user provided condition). __*Optional*__
355
- * **verbose** (<code>boolean</code>) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). __*Optional*__
316
+ - *Type:* string
317
+
318
+ ---
356
319
 
320
+ ##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerErrorData.property.ruleLevel"></a>
357
321
 
358
- ### Methods
322
+ ```typescript
323
+ public readonly ruleLevel: NagMessageLevel;
324
+ ```
359
325
 
326
+ - *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
360
327
 
361
- #### visit(node) <a id="cdk-nag-nist80053r4checks-visit"></a>
328
+ ---
362
329
 
363
- All aspects can visit an IConstruct.
330
+ ##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerErrorData.property.ruleOriginalName"></a>
364
331
 
365
- ```ts
366
- visit(node: IConstruct): void
332
+ ```typescript
333
+ public readonly ruleOriginalName: string;
367
334
  ```
368
335
 
369
- * **node** (<code>[IConstruct](#constructs-iconstruct)</code>) *No description*
336
+ - *Type:* string
370
337
 
338
+ ---
371
339
 
340
+ ##### `errorMessage`<sup>Required</sup> <a name="errorMessage" id="cdk-nag.NagLoggerErrorData.property.errorMessage"></a>
372
341
 
342
+ ```typescript
343
+ public readonly errorMessage: string;
344
+ ```
373
345
 
346
+ - *Type:* string
374
347
 
348
+ ---
375
349
 
376
- ## class NIST80053R5Checks <a id="cdk-nag-nist80053r5checks"></a>
350
+ ### NagLoggerNonComplianceData <a name="NagLoggerNonComplianceData" id="cdk-nag.NagLoggerNonComplianceData"></a>
377
351
 
378
- Check for NIST 800-53 rev 5 compliance.
352
+ Data for onNonCompliance method of an INagLogger.
379
353
 
380
- Based on the NIST 800-53 rev 5 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-nist-800-53_rev_5.html
354
+ #### Initializer <a name="Initializer" id="cdk-nag.NagLoggerNonComplianceData.Initializer"></a>
381
355
 
382
- __Implements__: [IAspect](#aws-cdk-lib-iaspect)
383
- __Extends__: [NagPack](#cdk-nag-nagpack)
356
+ ```typescript
357
+ import { NagLoggerNonComplianceData } from 'cdk-nag'
384
358
 
385
- ### Initializer
359
+ const nagLoggerNonComplianceData: NagLoggerNonComplianceData = { ... }
360
+ ```
386
361
 
362
+ #### Properties <a name="Properties" id="Properties"></a>
387
363
 
364
+ | **Name** | **Type** | **Description** |
365
+ | --- | --- | --- |
366
+ | <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
367
+ | <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
368
+ | <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
369
+ | <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
370
+ | <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
371
+ | <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
372
+ | <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
373
+ | <code><a href="#cdk-nag.NagLoggerNonComplianceData.property.findingId">findingId</a></code> | <code>string</code> | *No description.* |
388
374
 
375
+ ---
389
376
 
390
- ```ts
391
- new NIST80053R5Checks(props?: NagPackProps)
377
+ ##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerNonComplianceData.property.nagPackName"></a>
378
+
379
+ ```typescript
380
+ public readonly nagPackName: string;
392
381
  ```
393
382
 
394
- * **props** (<code>[NagPackProps](#cdk-nag-nagpackprops)</code>) *No description*
395
- * **additionalLoggers** (<code>Array<[INagLogger](#cdk-nag-inaglogger)></code>) Additional NagLoggers for logging rule validation outputs. __*Optional*__
396
- * **logIgnores** (<code>boolean</code>) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
397
- * **reportFormats** (<code>Array<[NagReportFormat](#cdk-nag-nagreportformat)></code>) If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). __*Optional*__
398
- * **reports** (<code>boolean</code>) Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). __*Optional*__
399
- * **suppressionIgnoreCondition** (<code>[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)</code>) Conditionally prevent rules from being suppressed (default: no user provided condition). __*Optional*__
400
- * **verbose** (<code>boolean</code>) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). __*Optional*__
383
+ - *Type:* string
384
+
385
+ ---
401
386
 
387
+ ##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerNonComplianceData.property.resource"></a>
402
388
 
403
- ### Methods
389
+ ```typescript
390
+ public readonly resource: CfnResource;
391
+ ```
404
392
 
393
+ - *Type:* aws-cdk-lib.CfnResource
405
394
 
406
- #### visit(node) <a id="cdk-nag-nist80053r5checks-visit"></a>
395
+ ---
407
396
 
408
- All aspects can visit an IConstruct.
397
+ ##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerNonComplianceData.property.ruleExplanation"></a>
409
398
 
410
- ```ts
411
- visit(node: IConstruct): void
399
+ ```typescript
400
+ public readonly ruleExplanation: string;
412
401
  ```
413
402
 
414
- * **node** (<code>[IConstruct](#constructs-iconstruct)</code>) *No description*
403
+ - *Type:* string
415
404
 
405
+ ---
416
406
 
407
+ ##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerNonComplianceData.property.ruleId"></a>
417
408
 
409
+ ```typescript
410
+ public readonly ruleId: string;
411
+ ```
418
412
 
413
+ - *Type:* string
419
414
 
415
+ ---
420
416
 
421
- ## class NagPack <a id="cdk-nag-nagpack"></a>
417
+ ##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerNonComplianceData.property.ruleInfo"></a>
422
418
 
423
- Base class for all rule packs.
419
+ ```typescript
420
+ public readonly ruleInfo: string;
421
+ ```
422
+
423
+ - *Type:* string
424
424
 
425
- __Implements__: [IAspect](#aws-cdk-lib-iaspect)
426
- __Implemented by__: [AwsSolutionsChecks](#cdk-nag-awssolutionschecks), [HIPAASecurityChecks](#cdk-nag-hipaasecuritychecks), [NIST80053R4Checks](#cdk-nag-nist80053r4checks), [NIST80053R5Checks](#cdk-nag-nist80053r5checks), [PCIDSS321Checks](#cdk-nag-pcidss321checks)
425
+ ---
427
426
 
428
- ### Initializer
427
+ ##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerNonComplianceData.property.ruleLevel"></a>
429
428
 
429
+ ```typescript
430
+ public readonly ruleLevel: NagMessageLevel;
431
+ ```
430
432
 
433
+ - *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
431
434
 
435
+ ---
432
436
 
433
- ```ts
434
- new NagPack(props?: NagPackProps)
437
+ ##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerNonComplianceData.property.ruleOriginalName"></a>
438
+
439
+ ```typescript
440
+ public readonly ruleOriginalName: string;
435
441
  ```
436
442
 
437
- * **props** (<code>[NagPackProps](#cdk-nag-nagpackprops)</code>) *No description*
438
- * **additionalLoggers** (<code>Array<[INagLogger](#cdk-nag-inaglogger)></code>) Additional NagLoggers for logging rule validation outputs. __*Optional*__
439
- * **logIgnores** (<code>boolean</code>) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
440
- * **reportFormats** (<code>Array<[NagReportFormat](#cdk-nag-nagreportformat)></code>) If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). __*Optional*__
441
- * **reports** (<code>boolean</code>) Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). __*Optional*__
442
- * **suppressionIgnoreCondition** (<code>[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)</code>) Conditionally prevent rules from being suppressed (default: no user provided condition). __*Optional*__
443
- * **verbose** (<code>boolean</code>) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). __*Optional*__
443
+ - *Type:* string
444
444
 
445
+ ---
445
446
 
447
+ ##### `findingId`<sup>Required</sup> <a name="findingId" id="cdk-nag.NagLoggerNonComplianceData.property.findingId"></a>
446
448
 
447
- ### Properties
449
+ ```typescript
450
+ public readonly findingId: string;
451
+ ```
448
452
 
453
+ - *Type:* string
449
454
 
450
- Name | Type | Description
451
- -----|------|-------------
452
- **loggers** | <code>Array<[INagLogger](#cdk-nag-inaglogger)></code> | <span></span>
453
- **packName** | <code>string</code> | <span></span>
454
- **readPackName** | <code>string</code> | <span></span>
455
- **packGlobalSuppressionIgnore**? | <code>[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)</code> | __*Optional*__
456
- **userGlobalSuppressionIgnore**? | <code>[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)</code> | __*Optional*__
455
+ ---
457
456
 
458
- ### Methods
457
+ ### NagLoggerNotApplicableData <a name="NagLoggerNotApplicableData" id="cdk-nag.NagLoggerNotApplicableData"></a>
459
458
 
459
+ Data for onNotApplicable method of an INagLogger.
460
460
 
461
- #### visit(node) <a id="cdk-nag-nagpack-visit"></a>
461
+ #### Initializer <a name="Initializer" id="cdk-nag.NagLoggerNotApplicableData.Initializer"></a>
462
462
 
463
- All aspects can visit an IConstruct.
463
+ ```typescript
464
+ import { NagLoggerNotApplicableData } from 'cdk-nag'
464
465
 
465
- ```ts
466
- visit(node: IConstruct): void
466
+ const nagLoggerNotApplicableData: NagLoggerNotApplicableData = { ... }
467
467
  ```
468
468
 
469
- * **node** (<code>[IConstruct](#constructs-iconstruct)</code>) *No description*
470
-
471
-
469
+ #### Properties <a name="Properties" id="Properties"></a>
472
470
 
471
+ | **Name** | **Type** | **Description** |
472
+ | --- | --- | --- |
473
+ | <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
474
+ | <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
475
+ | <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
476
+ | <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
477
+ | <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
478
+ | <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
479
+ | <code><a href="#cdk-nag.NagLoggerNotApplicableData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
473
480
 
474
- #### protected applyRule(params) <a id="cdk-nag-nagpack-applyrule"></a>
481
+ ---
475
482
 
476
- Create a rule to be used in the NagPack.
483
+ ##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerNotApplicableData.property.nagPackName"></a>
477
484
 
478
- ```ts
479
- protected applyRule(params: IApplyRule): void
485
+ ```typescript
486
+ public readonly nagPackName: string;
480
487
  ```
481
488
 
482
- * **params** (<code>[IApplyRule](#cdk-nag-iapplyrule)</code>) The.
489
+ - *Type:* string
483
490
 
491
+ ---
484
492
 
493
+ ##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerNotApplicableData.property.resource"></a>
485
494
 
495
+ ```typescript
496
+ public readonly resource: CfnResource;
497
+ ```
498
+
499
+ - *Type:* aws-cdk-lib.CfnResource
486
500
 
487
- #### protected ignoreRule(suppressions, ruleId, findingId, resource, level, ignoreSuppressionCondition?) <a id="cdk-nag-nagpack-ignorerule"></a>
501
+ ---
488
502
 
489
- Check whether a specific rule should be ignored.
503
+ ##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerNotApplicableData.property.ruleExplanation"></a>
490
504
 
491
- ```ts
492
- protected ignoreRule(suppressions: Array<NagPackSuppression>, ruleId: string, findingId: string, resource: CfnResource, level: NagMessageLevel, ignoreSuppressionCondition?: INagSuppressionIgnore): string
505
+ ```typescript
506
+ public readonly ruleExplanation: string;
493
507
  ```
494
508
 
495
- * **suppressions** (<code>Array<[NagPackSuppression](#cdk-nag-nagpacksuppression)></code>) The suppressions listed in the cdk-nag metadata.
496
- * **ruleId** (<code>string</code>) The id of the rule to ignore.
497
- * **findingId** (<code>string</code>) The id of the finding that is being checked.
498
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) The resource being evaluated.
499
- * **level** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
500
- * **ignoreSuppressionCondition** (<code>[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)</code>) *No description*
509
+ - *Type:* string
501
510
 
502
- __Returns__:
503
- * <code>string</code>
511
+ ---
504
512
 
513
+ ##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerNotApplicableData.property.ruleId"></a>
505
514
 
515
+ ```typescript
516
+ public readonly ruleId: string;
517
+ ```
506
518
 
507
- ## class NagReportLogger <a id="cdk-nag-nagreportlogger"></a>
519
+ - *Type:* string
508
520
 
509
- A NagLogger that creates compliance reports.
521
+ ---
510
522
 
511
- __Implements__: [INagLogger](#cdk-nag-inaglogger)
523
+ ##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerNotApplicableData.property.ruleInfo"></a>
512
524
 
513
- ### Initializer
525
+ ```typescript
526
+ public readonly ruleInfo: string;
527
+ ```
514
528
 
529
+ - *Type:* string
515
530
 
531
+ ---
516
532
 
533
+ ##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerNotApplicableData.property.ruleLevel"></a>
517
534
 
518
- ```ts
519
- new NagReportLogger(props: NagReportLoggerProps)
535
+ ```typescript
536
+ public readonly ruleLevel: NagMessageLevel;
520
537
  ```
521
538
 
522
- * **props** (<code>[NagReportLoggerProps](#cdk-nag-nagreportloggerprops)</code>) *No description*
523
- * **formats** (<code>Array<[NagReportFormat](#cdk-nag-nagreportformat)></code>) *No description*
539
+ - *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
524
540
 
541
+ ---
525
542
 
543
+ ##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerNotApplicableData.property.ruleOriginalName"></a>
526
544
 
527
- ### Properties
528
-
545
+ ```typescript
546
+ public readonly ruleOriginalName: string;
547
+ ```
529
548
 
530
- Name | Type | Description
531
- -----|------|-------------
532
- **formats** | <code>Array<[NagReportFormat](#cdk-nag-nagreportformat)></code> | <span></span>
549
+ - *Type:* string
533
550
 
534
- ### Methods
551
+ ---
535
552
 
553
+ ### NagLoggerSuppressedData <a name="NagLoggerSuppressedData" id="cdk-nag.NagLoggerSuppressedData"></a>
536
554
 
537
- #### getFormatStacks(format) <a id="cdk-nag-nagreportlogger-getformatstacks"></a>
555
+ Data for onSuppressed method of an INagLogger.
538
556
 
557
+ #### Initializer <a name="Initializer" id="cdk-nag.NagLoggerSuppressedData.Initializer"></a>
539
558
 
559
+ ```typescript
560
+ import { NagLoggerSuppressedData } from 'cdk-nag'
540
561
 
541
- ```ts
542
- getFormatStacks(format: NagReportFormat): Array<string>
562
+ const nagLoggerSuppressedData: NagLoggerSuppressedData = { ... }
543
563
  ```
544
564
 
545
- * **format** (<code>[NagReportFormat](#cdk-nag-nagreportformat)</code>) *No description*
565
+ #### Properties <a name="Properties" id="Properties"></a>
546
566
 
547
- __Returns__:
548
- * <code>Array<string></code>
567
+ | **Name** | **Type** | **Description** |
568
+ | --- | --- | --- |
569
+ | <code><a href="#cdk-nag.NagLoggerSuppressedData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
570
+ | <code><a href="#cdk-nag.NagLoggerSuppressedData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
571
+ | <code><a href="#cdk-nag.NagLoggerSuppressedData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
572
+ | <code><a href="#cdk-nag.NagLoggerSuppressedData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
573
+ | <code><a href="#cdk-nag.NagLoggerSuppressedData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
574
+ | <code><a href="#cdk-nag.NagLoggerSuppressedData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
575
+ | <code><a href="#cdk-nag.NagLoggerSuppressedData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
576
+ | <code><a href="#cdk-nag.NagLoggerSuppressedData.property.findingId">findingId</a></code> | <code>string</code> | *No description.* |
577
+ | <code><a href="#cdk-nag.NagLoggerSuppressedData.property.suppressionReason">suppressionReason</a></code> | <code>string</code> | *No description.* |
549
578
 
550
- #### onCompliance(data) <a id="cdk-nag-nagreportlogger-oncompliance"></a>
579
+ ---
551
580
 
552
- Called when a CfnResource passes the compliance check for a given rule.
581
+ ##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerSuppressedData.property.nagPackName"></a>
553
582
 
554
- ```ts
555
- onCompliance(data: NagLoggerComplianceData): void
583
+ ```typescript
584
+ public readonly nagPackName: string;
556
585
  ```
557
586
 
558
- * **data** (<code>[NagLoggerComplianceData](#cdk-nag-nagloggercompliancedata)</code>) *No description*
559
- * **nagPackName** (<code>string</code>) *No description*
560
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
561
- * **ruleExplanation** (<code>string</code>) *No description*
562
- * **ruleId** (<code>string</code>) *No description*
563
- * **ruleInfo** (<code>string</code>) *No description*
564
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
565
- * **ruleOriginalName** (<code>string</code>) *No description*
587
+ - *Type:* string
566
588
 
589
+ ---
567
590
 
591
+ ##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerSuppressedData.property.resource"></a>
568
592
 
593
+ ```typescript
594
+ public readonly resource: CfnResource;
595
+ ```
569
596
 
570
- #### onError(data) <a id="cdk-nag-nagreportlogger-onerror"></a>
597
+ - *Type:* aws-cdk-lib.CfnResource
571
598
 
572
- Called when a rule throws an error during while validating a CfnResource for compliance.
599
+ ---
573
600
 
574
- ```ts
575
- onError(data: NagLoggerErrorData): void
601
+ ##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerSuppressedData.property.ruleExplanation"></a>
602
+
603
+ ```typescript
604
+ public readonly ruleExplanation: string;
576
605
  ```
577
606
 
578
- * **data** (<code>[NagLoggerErrorData](#cdk-nag-nagloggererrordata)</code>) *No description*
579
- * **nagPackName** (<code>string</code>) *No description*
580
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
581
- * **ruleExplanation** (<code>string</code>) *No description*
582
- * **ruleId** (<code>string</code>) *No description*
583
- * **ruleInfo** (<code>string</code>) *No description*
584
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
585
- * **ruleOriginalName** (<code>string</code>) *No description*
586
- * **errorMessage** (<code>string</code>) *No description*
607
+ - *Type:* string
608
+
609
+ ---
587
610
 
611
+ ##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerSuppressedData.property.ruleId"></a>
588
612
 
613
+ ```typescript
614
+ public readonly ruleId: string;
615
+ ```
589
616
 
617
+ - *Type:* string
590
618
 
591
- #### onNonCompliance(data) <a id="cdk-nag-nagreportlogger-onnoncompliance"></a>
619
+ ---
592
620
 
593
- 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.
621
+ ##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerSuppressedData.property.ruleInfo"></a>
594
622
 
595
- ```ts
596
- onNonCompliance(data: NagLoggerNonComplianceData): void
623
+ ```typescript
624
+ public readonly ruleInfo: string;
597
625
  ```
598
626
 
599
- * **data** (<code>[NagLoggerNonComplianceData](#cdk-nag-nagloggernoncompliancedata)</code>) *No description*
600
- * **nagPackName** (<code>string</code>) *No description*
601
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
602
- * **ruleExplanation** (<code>string</code>) *No description*
603
- * **ruleId** (<code>string</code>) *No description*
604
- * **ruleInfo** (<code>string</code>) *No description*
605
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
606
- * **ruleOriginalName** (<code>string</code>) *No description*
607
- * **findingId** (<code>string</code>) *No description*
627
+ - *Type:* string
608
628
 
629
+ ---
609
630
 
631
+ ##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerSuppressedData.property.ruleLevel"></a>
610
632
 
633
+ ```typescript
634
+ public readonly ruleLevel: NagMessageLevel;
635
+ ```
611
636
 
612
- #### onNotApplicable(data) <a id="cdk-nag-nagreportlogger-onnotapplicable"></a>
637
+ - *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
613
638
 
614
- Called when a rule does not apply to the given CfnResource.
639
+ ---
615
640
 
616
- ```ts
617
- onNotApplicable(data: NagLoggerNotApplicableData): void
641
+ ##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerSuppressedData.property.ruleOriginalName"></a>
642
+
643
+ ```typescript
644
+ public readonly ruleOriginalName: string;
618
645
  ```
619
646
 
620
- * **data** (<code>[NagLoggerNotApplicableData](#cdk-nag-nagloggernotapplicabledata)</code>) *No description*
621
- * **nagPackName** (<code>string</code>) *No description*
622
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
623
- * **ruleExplanation** (<code>string</code>) *No description*
624
- * **ruleId** (<code>string</code>) *No description*
625
- * **ruleInfo** (<code>string</code>) *No description*
626
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
627
- * **ruleOriginalName** (<code>string</code>) *No description*
647
+ - *Type:* string
648
+
649
+ ---
628
650
 
651
+ ##### `findingId`<sup>Required</sup> <a name="findingId" id="cdk-nag.NagLoggerSuppressedData.property.findingId"></a>
629
652
 
653
+ ```typescript
654
+ public readonly findingId: string;
655
+ ```
630
656
 
657
+ - *Type:* string
631
658
 
632
- #### onSuppressed(data) <a id="cdk-nag-nagreportlogger-onsuppressed"></a>
659
+ ---
633
660
 
634
- Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user.
661
+ ##### `suppressionReason`<sup>Required</sup> <a name="suppressionReason" id="cdk-nag.NagLoggerSuppressedData.property.suppressionReason"></a>
635
662
 
636
- ```ts
637
- onSuppressed(data: NagLoggerSuppressedData): void
663
+ ```typescript
664
+ public readonly suppressionReason: string;
638
665
  ```
639
666
 
640
- * **data** (<code>[NagLoggerSuppressedData](#cdk-nag-nagloggersuppresseddata)</code>) *No description*
641
- * **nagPackName** (<code>string</code>) *No description*
642
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
643
- * **ruleExplanation** (<code>string</code>) *No description*
644
- * **ruleId** (<code>string</code>) *No description*
645
- * **ruleInfo** (<code>string</code>) *No description*
646
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
647
- * **ruleOriginalName** (<code>string</code>) *No description*
648
- * **findingId** (<code>string</code>) *No description*
649
- * **suppressionReason** (<code>string</code>) *No description*
667
+ - *Type:* string
650
668
 
669
+ ---
651
670
 
671
+ ### NagLoggerSuppressedErrorData <a name="NagLoggerSuppressedErrorData" id="cdk-nag.NagLoggerSuppressedErrorData"></a>
652
672
 
673
+ Data for onSuppressedError method of an INagLogger.
653
674
 
654
- #### onSuppressedError(data) <a id="cdk-nag-nagreportlogger-onsuppressederror"></a>
675
+ #### Initializer <a name="Initializer" id="cdk-nag.NagLoggerSuppressedErrorData.Initializer"></a>
655
676
 
656
- Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed.
677
+ ```typescript
678
+ import { NagLoggerSuppressedErrorData } from 'cdk-nag'
657
679
 
658
- ```ts
659
- onSuppressedError(data: NagLoggerSuppressedErrorData): void
680
+ const nagLoggerSuppressedErrorData: NagLoggerSuppressedErrorData = { ... }
660
681
  ```
661
682
 
662
- * **data** (<code>[NagLoggerSuppressedErrorData](#cdk-nag-nagloggersuppressederrordata)</code>) *No description*
663
- * **nagPackName** (<code>string</code>) *No description*
664
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
665
- * **ruleExplanation** (<code>string</code>) *No description*
666
- * **ruleId** (<code>string</code>) *No description*
667
- * **ruleInfo** (<code>string</code>) *No description*
668
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
669
- * **ruleOriginalName** (<code>string</code>) *No description*
670
- * **errorMessage** (<code>string</code>) *No description*
671
- * **errorSuppressionReason** (<code>string</code>) *No description*
683
+ #### Properties <a name="Properties" id="Properties"></a>
672
684
 
685
+ | **Name** | **Type** | **Description** |
686
+ | --- | --- | --- |
687
+ | <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.nagPackName">nagPackName</a></code> | <code>string</code> | *No description.* |
688
+ | <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
689
+ | <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.ruleExplanation">ruleExplanation</a></code> | <code>string</code> | *No description.* |
690
+ | <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
691
+ | <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
692
+ | <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
693
+ | <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.ruleOriginalName">ruleOriginalName</a></code> | <code>string</code> | *No description.* |
694
+ | <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.errorMessage">errorMessage</a></code> | <code>string</code> | *No description.* |
695
+ | <code><a href="#cdk-nag.NagLoggerSuppressedErrorData.property.errorSuppressionReason">errorSuppressionReason</a></code> | <code>string</code> | *No description.* |
673
696
 
697
+ ---
674
698
 
699
+ ##### `nagPackName`<sup>Required</sup> <a name="nagPackName" id="cdk-nag.NagLoggerSuppressedErrorData.property.nagPackName"></a>
675
700
 
676
- #### protected initializeStackReport(data) <a id="cdk-nag-nagreportlogger-initializestackreport"></a>
677
-
678
- Initialize the report for the rule pack's compliance report for the resource's Stack if it doesn't exist.
679
-
680
- ```ts
681
- protected initializeStackReport(data: NagLoggerBaseData): void
701
+ ```typescript
702
+ public readonly nagPackName: string;
682
703
  ```
683
704
 
684
- * **data** (<code>[NagLoggerBaseData](#cdk-nag-nagloggerbasedata)</code>) *No description*
685
- * **nagPackName** (<code>string</code>) *No description*
686
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
687
- * **ruleExplanation** (<code>string</code>) *No description*
688
- * **ruleId** (<code>string</code>) *No description*
689
- * **ruleInfo** (<code>string</code>) *No description*
690
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
691
- * **ruleOriginalName** (<code>string</code>) *No description*
705
+ - *Type:* string
692
706
 
707
+ ---
693
708
 
709
+ ##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.NagLoggerSuppressedErrorData.property.resource"></a>
694
710
 
711
+ ```typescript
712
+ public readonly resource: CfnResource;
713
+ ```
695
714
 
696
- #### protected writeToStackComplianceReport(data, compliance) <a id="cdk-nag-nagreportlogger-writetostackcompliancereport"></a>
715
+ - *Type:* aws-cdk-lib.CfnResource
697
716
 
717
+ ---
698
718
 
719
+ ##### `ruleExplanation`<sup>Required</sup> <a name="ruleExplanation" id="cdk-nag.NagLoggerSuppressedErrorData.property.ruleExplanation"></a>
699
720
 
700
- ```ts
701
- protected writeToStackComplianceReport(data: NagLoggerBaseData, compliance: NagRuleCompliance &#124; NagRulePostValidationStates): void
721
+ ```typescript
722
+ public readonly ruleExplanation: string;
702
723
  ```
703
724
 
704
- * **data** (<code>[NagLoggerBaseData](#cdk-nag-nagloggerbasedata)</code>) *No description*
705
- * **compliance** (<code>[NagRuleCompliance](#cdk-nag-nagrulecompliance) &#124; [NagRulePostValidationStates](#cdk-nag-nagrulepostvalidationstates)</code>) *No description*
725
+ - *Type:* string
706
726
 
727
+ ---
707
728
 
729
+ ##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagLoggerSuppressedErrorData.property.ruleId"></a>
708
730
 
731
+ ```typescript
732
+ public readonly ruleId: string;
733
+ ```
709
734
 
735
+ - *Type:* string
710
736
 
737
+ ---
711
738
 
712
- ## class NagRules <a id="cdk-nag-nagrules"></a>
739
+ ##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagLoggerSuppressedErrorData.property.ruleInfo"></a>
713
740
 
714
- Helper class with methods for rule creation.
741
+ ```typescript
742
+ public readonly ruleInfo: string;
743
+ ```
715
744
 
745
+ - *Type:* string
716
746
 
717
- ### Initializer
747
+ ---
718
748
 
749
+ ##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagLoggerSuppressedErrorData.property.ruleLevel"></a>
719
750
 
751
+ ```typescript
752
+ public readonly ruleLevel: NagMessageLevel;
753
+ ```
720
754
 
755
+ - *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
721
756
 
722
- ```ts
723
- new NagRules()
757
+ ---
758
+
759
+ ##### `ruleOriginalName`<sup>Required</sup> <a name="ruleOriginalName" id="cdk-nag.NagLoggerSuppressedErrorData.property.ruleOriginalName"></a>
760
+
761
+ ```typescript
762
+ public readonly ruleOriginalName: string;
724
763
  ```
725
764
 
765
+ - *Type:* string
726
766
 
767
+ ---
727
768
 
728
- ### Methods
769
+ ##### `errorMessage`<sup>Required</sup> <a name="errorMessage" id="cdk-nag.NagLoggerSuppressedErrorData.property.errorMessage"></a>
729
770
 
771
+ ```typescript
772
+ public readonly errorMessage: string;
773
+ ```
730
774
 
731
- #### *static* resolveIfPrimitive(node, parameter) <a id="cdk-nag-nagrules-resolveifprimitive"></a>
775
+ - *Type:* string
732
776
 
733
- Use in cases where a primitive value must be known to pass a rule.
777
+ ---
734
778
 
735
- https://developer.mozilla.org/en-US/docs/Glossary/Primitive
779
+ ##### `errorSuppressionReason`<sup>Required</sup> <a name="errorSuppressionReason" id="cdk-nag.NagLoggerSuppressedErrorData.property.errorSuppressionReason"></a>
736
780
 
737
- ```ts
738
- static resolveIfPrimitive(node: CfnResource, parameter: any): any
781
+ ```typescript
782
+ public readonly errorSuppressionReason: string;
739
783
  ```
740
784
 
741
- * **node** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) The CfnResource to check.
742
- * **parameter** (<code>any</code>) The value to attempt to resolve.
785
+ - *Type:* string
743
786
 
744
- __Returns__:
745
- * <code>any</code>
787
+ ---
746
788
 
747
- #### *static* resolveResourceFromInstrinsic(node, parameter) <a id="cdk-nag-nagrules-resolveresourcefrominstrinsic"></a>
789
+ ### NagPackProps <a name="NagPackProps" id="cdk-nag.NagPackProps"></a>
748
790
 
749
- Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
791
+ Interface for creating a NagPack.
750
792
 
751
- ```ts
752
- static resolveResourceFromInstrinsic(node: CfnResource, parameter: any): any
753
- ```
793
+ #### Initializer <a name="Initializer" id="cdk-nag.NagPackProps.Initializer"></a>
754
794
 
755
- * **node** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) The CfnResource to check.
756
- * **parameter** (<code>any</code>) The value to attempt to resolve.
795
+ ```typescript
796
+ import { NagPackProps } from 'cdk-nag'
757
797
 
758
- __Returns__:
759
- * <code>any</code>
798
+ const nagPackProps: NagPackProps = { ... }
799
+ ```
760
800
 
801
+ #### Properties <a name="Properties" id="Properties"></a>
761
802
 
803
+ | **Name** | **Type** | **Description** |
804
+ | --- | --- | --- |
805
+ | <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. |
806
+ | <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). |
807
+ | <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). |
808
+ | <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). |
809
+ | <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). |
810
+ | <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). |
762
811
 
763
- ## class NagSuppressions <a id="cdk-nag-nagsuppressions"></a>
812
+ ---
764
813
 
765
- Helper class with methods to add cdk-nag suppressions to cdk resources.
814
+ ##### `additionalLoggers`<sup>Optional</sup> <a name="additionalLoggers" id="cdk-nag.NagPackProps.property.additionalLoggers"></a>
766
815
 
816
+ ```typescript
817
+ public readonly additionalLoggers: INagLogger[];
818
+ ```
767
819
 
768
- ### Initializer
820
+ - *Type:* <a href="#cdk-nag.INagLogger">INagLogger</a>[]
769
821
 
822
+ Additional NagLoggers for logging rule validation outputs.
770
823
 
824
+ ---
771
825
 
826
+ ##### `logIgnores`<sup>Optional</sup> <a name="logIgnores" id="cdk-nag.NagPackProps.property.logIgnores"></a>
772
827
 
773
- ```ts
774
- new NagSuppressions()
828
+ ```typescript
829
+ public readonly logIgnores: boolean;
775
830
  ```
776
831
 
832
+ - *Type:* boolean
777
833
 
834
+ Whether or not to log suppressed rule violations as informational messages (default: false).
778
835
 
779
- ### Methods
836
+ ---
780
837
 
838
+ ##### `reportFormats`<sup>Optional</sup> <a name="reportFormats" id="cdk-nag.NagPackProps.property.reportFormats"></a>
781
839
 
782
- #### *static* addResourceSuppressions(construct, suppressions, applyToChildren?) <a id="cdk-nag-nagsuppressions-addresourcesuppressions"></a>
840
+ ```typescript
841
+ public readonly reportFormats: NagReportFormat[];
842
+ ```
783
843
 
784
- Add cdk-nag suppressions to a CfnResource and optionally its children.
844
+ - *Type:* <a href="#cdk-nag.NagReportFormat">NagReportFormat</a>[]
845
+
846
+ If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV).
847
+
848
+ ---
785
849
 
786
- ```ts
787
- static addResourceSuppressions(construct: IConstruct &#124; Array<IConstruct>, suppressions: Array<NagPackSuppression>, applyToChildren?: boolean): void
850
+ ##### `reports`<sup>Optional</sup> <a name="reports" id="cdk-nag.NagPackProps.property.reports"></a>
851
+
852
+ ```typescript
853
+ public readonly reports: boolean;
788
854
  ```
789
855
 
790
- * **construct** (<code>[IConstruct](#constructs-iconstruct) &#124; Array<[IConstruct](#constructs-iconstruct)></code>) The IConstruct(s) to apply the suppression to.
791
- * **suppressions** (<code>Array<[NagPackSuppression](#cdk-nag-nagpacksuppression)></code>) A list of suppressions to apply to the resource.
792
- * **applyToChildren** (<code>boolean</code>) Apply the suppressions to children CfnResources (default:false).
856
+ - *Type:* boolean
857
+
858
+ Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true).
793
859
 
860
+ ---
794
861
 
862
+ ##### `suppressionIgnoreCondition`<sup>Optional</sup> <a name="suppressionIgnoreCondition" id="cdk-nag.NagPackProps.property.suppressionIgnoreCondition"></a>
795
863
 
864
+ ```typescript
865
+ public readonly suppressionIgnoreCondition: INagSuppressionIgnore;
866
+ ```
796
867
 
797
- #### *static* addResourceSuppressionsByPath(stack, path, suppressions, applyToChildren?) <a id="cdk-nag-nagsuppressions-addresourcesuppressionsbypath"></a>
868
+ - *Type:* <a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a>
798
869
 
799
- Add cdk-nag suppressions to a CfnResource and optionally its children via its path.
870
+ Conditionally prevent rules from being suppressed (default: no user provided condition).
800
871
 
801
- ```ts
802
- static addResourceSuppressionsByPath(stack: Stack, path: string &#124; Array<string>, suppressions: Array<NagPackSuppression>, applyToChildren?: boolean): void
872
+ ---
873
+
874
+ ##### `verbose`<sup>Optional</sup> <a name="verbose" id="cdk-nag.NagPackProps.property.verbose"></a>
875
+
876
+ ```typescript
877
+ public readonly verbose: boolean;
803
878
  ```
804
879
 
805
- * **stack** (<code>[Stack](#aws-cdk-lib-stack)</code>) The Stack the construct belongs to.
806
- * **path** (<code>string &#124; Array<string></code>) The path(s) to the construct in the provided stack.
807
- * **suppressions** (<code>Array<[NagPackSuppression](#cdk-nag-nagpacksuppression)></code>) A list of suppressions to apply to the resource.
808
- * **applyToChildren** (<code>boolean</code>) Apply the suppressions to children CfnResources (default:false).
880
+ - *Type:* boolean
809
881
 
882
+ Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false).
810
883
 
884
+ ---
811
885
 
886
+ ### NagPackSuppression <a name="NagPackSuppression" id="cdk-nag.NagPackSuppression"></a>
812
887
 
813
- #### *static* addStackSuppressions(stack, suppressions, applyToNestedStacks?) <a id="cdk-nag-nagsuppressions-addstacksuppressions"></a>
888
+ Interface for creating a rule suppression.
814
889
 
815
- Apply cdk-nag suppressions to a Stack and optionally nested stacks.
890
+ #### Initializer <a name="Initializer" id="cdk-nag.NagPackSuppression.Initializer"></a>
816
891
 
817
- ```ts
818
- static addStackSuppressions(stack: Stack, suppressions: Array<NagPackSuppression>, applyToNestedStacks?: boolean): void
892
+ ```typescript
893
+ import { NagPackSuppression } from 'cdk-nag'
894
+
895
+ const nagPackSuppression: NagPackSuppression = { ... }
819
896
  ```
820
897
 
821
- * **stack** (<code>[Stack](#aws-cdk-lib-stack)</code>) The Stack to apply the suppression to.
822
- * **suppressions** (<code>Array<[NagPackSuppression](#cdk-nag-nagpacksuppression)></code>) A list of suppressions to apply to the stack.
823
- * **applyToNestedStacks** (<code>boolean</code>) Apply the suppressions to children stacks (default:false).
898
+ #### Properties <a name="Properties" id="Properties"></a>
899
+
900
+ | **Name** | **Type** | **Description** |
901
+ | --- | --- | --- |
902
+ | <code><a href="#cdk-nag.NagPackSuppression.property.id">id</a></code> | <code>string</code> | The id of the rule to ignore. |
903
+ | <code><a href="#cdk-nag.NagPackSuppression.property.reason">reason</a></code> | <code>string</code> | The reason to ignore the rule (minimum 10 characters). |
904
+ | <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. |
824
905
 
906
+ ---
825
907
 
908
+ ##### `id`<sup>Required</sup> <a name="id" id="cdk-nag.NagPackSuppression.property.id"></a>
826
909
 
910
+ ```typescript
911
+ public readonly id: string;
912
+ ```
827
913
 
914
+ - *Type:* string
828
915
 
916
+ The id of the rule to ignore.
829
917
 
830
- ## class PCIDSS321Checks <a id="cdk-nag-pcidss321checks"></a>
918
+ ---
831
919
 
832
- Check for PCI DSS 3.2.1 compliance. Based on the PCI DSS 3.2.1 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-pci-dss.html.
920
+ ##### `reason`<sup>Required</sup> <a name="reason" id="cdk-nag.NagPackSuppression.property.reason"></a>
833
921
 
834
- __Implements__: [IAspect](#aws-cdk-lib-iaspect)
835
- __Extends__: [NagPack](#cdk-nag-nagpack)
922
+ ```typescript
923
+ public readonly reason: string;
924
+ ```
836
925
 
837
- ### Initializer
926
+ - *Type:* string
838
927
 
928
+ The reason to ignore the rule (minimum 10 characters).
839
929
 
930
+ ---
840
931
 
932
+ ##### `appliesTo`<sup>Optional</sup> <a name="appliesTo" id="cdk-nag.NagPackSuppression.property.appliesTo"></a>
841
933
 
842
- ```ts
843
- new PCIDSS321Checks(props?: NagPackProps)
934
+ ```typescript
935
+ public readonly appliesTo: string | RegexAppliesTo[];
844
936
  ```
845
937
 
846
- * **props** (<code>[NagPackProps](#cdk-nag-nagpackprops)</code>) *No description*
847
- * **additionalLoggers** (<code>Array<[INagLogger](#cdk-nag-inaglogger)></code>) Additional NagLoggers for logging rule validation outputs. __*Optional*__
848
- * **logIgnores** (<code>boolean</code>) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
849
- * **reportFormats** (<code>Array<[NagReportFormat](#cdk-nag-nagreportformat)></code>) If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). __*Optional*__
850
- * **reports** (<code>boolean</code>) Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). __*Optional*__
851
- * **suppressionIgnoreCondition** (<code>[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)</code>) Conditionally prevent rules from being suppressed (default: no user provided condition). __*Optional*__
852
- * **verbose** (<code>boolean</code>) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). __*Optional*__
938
+ - *Type:* string | <a href="#cdk-nag.RegexAppliesTo">RegexAppliesTo</a>[]
853
939
 
940
+ Rule specific granular suppressions.
854
941
 
855
- ### Methods
942
+ ---
856
943
 
944
+ ### NagReportLine <a name="NagReportLine" id="cdk-nag.NagReportLine"></a>
857
945
 
858
- #### visit(node) <a id="cdk-nag-pcidss321checks-visit"></a>
946
+ #### Initializer <a name="Initializer" id="cdk-nag.NagReportLine.Initializer"></a>
859
947
 
860
- All aspects can visit an IConstruct.
948
+ ```typescript
949
+ import { NagReportLine } from 'cdk-nag'
861
950
 
862
- ```ts
863
- visit(node: IConstruct): void
951
+ const nagReportLine: NagReportLine = { ... }
864
952
  ```
865
953
 
866
- * **node** (<code>[IConstruct](#constructs-iconstruct)</code>) *No description*
954
+ #### Properties <a name="Properties" id="Properties"></a>
955
+
956
+ | **Name** | **Type** | **Description** |
957
+ | --- | --- | --- |
958
+ | <code><a href="#cdk-nag.NagReportLine.property.compliance">compliance</a></code> | <code>string</code> | *No description.* |
959
+ | <code><a href="#cdk-nag.NagReportLine.property.exceptionReason">exceptionReason</a></code> | <code>string</code> | *No description.* |
960
+ | <code><a href="#cdk-nag.NagReportLine.property.resourceId">resourceId</a></code> | <code>string</code> | *No description.* |
961
+ | <code><a href="#cdk-nag.NagReportLine.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
962
+ | <code><a href="#cdk-nag.NagReportLine.property.ruleInfo">ruleInfo</a></code> | <code>string</code> | *No description.* |
963
+ | <code><a href="#cdk-nag.NagReportLine.property.ruleLevel">ruleLevel</a></code> | <code>string</code> | *No description.* |
867
964
 
965
+ ---
868
966
 
967
+ ##### `compliance`<sup>Required</sup> <a name="compliance" id="cdk-nag.NagReportLine.property.compliance"></a>
869
968
 
969
+ ```typescript
970
+ public readonly compliance: string;
971
+ ```
870
972
 
973
+ - *Type:* string
871
974
 
975
+ ---
872
976
 
873
- ## class SuppressionIgnoreAlways <a id="cdk-nag-suppressionignorealways"></a>
977
+ ##### `exceptionReason`<sup>Required</sup> <a name="exceptionReason" id="cdk-nag.NagReportLine.property.exceptionReason"></a>
874
978
 
875
- Always ignore the suppression.
979
+ ```typescript
980
+ public readonly exceptionReason: string;
981
+ ```
982
+
983
+ - *Type:* string
876
984
 
877
- __Implements__: [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
985
+ ---
878
986
 
879
- ### Initializer
987
+ ##### `resourceId`<sup>Required</sup> <a name="resourceId" id="cdk-nag.NagReportLine.property.resourceId"></a>
880
988
 
989
+ ```typescript
990
+ public readonly resourceId: string;
991
+ ```
881
992
 
993
+ - *Type:* string
882
994
 
995
+ ---
883
996
 
884
- ```ts
885
- new SuppressionIgnoreAlways(triggerMessage: string)
997
+ ##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.NagReportLine.property.ruleId"></a>
998
+
999
+ ```typescript
1000
+ public readonly ruleId: string;
886
1001
  ```
887
1002
 
888
- * **triggerMessage** (<code>string</code>) *No description*
1003
+ - *Type:* string
889
1004
 
1005
+ ---
890
1006
 
891
- ### Methods
1007
+ ##### `ruleInfo`<sup>Required</sup> <a name="ruleInfo" id="cdk-nag.NagReportLine.property.ruleInfo"></a>
892
1008
 
1009
+ ```typescript
1010
+ public readonly ruleInfo: string;
1011
+ ```
893
1012
 
894
- #### createMessage(_input) <a id="cdk-nag-suppressionignorealways-createmessage"></a>
1013
+ - *Type:* string
895
1014
 
1015
+ ---
896
1016
 
1017
+ ##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.NagReportLine.property.ruleLevel"></a>
897
1018
 
898
- ```ts
899
- createMessage(_input: SuppressionIgnoreInput): string
1019
+ ```typescript
1020
+ public readonly ruleLevel: string;
900
1021
  ```
901
1022
 
902
- * **_input** (<code>[SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)</code>) *No description*
903
- * **findingId** (<code>string</code>) *No description*
904
- * **reason** (<code>string</code>) *No description*
905
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
906
- * **ruleId** (<code>string</code>) *No description*
907
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
1023
+ - *Type:* string
908
1024
 
909
- __Returns__:
910
- * <code>string</code>
1025
+ ---
911
1026
 
1027
+ ### NagReportLoggerProps <a name="NagReportLoggerProps" id="cdk-nag.NagReportLoggerProps"></a>
912
1028
 
1029
+ Props for the NagReportLogger.
913
1030
 
914
- ## class SuppressionIgnoreAnd <a id="cdk-nag-suppressionignoreand"></a>
1031
+ #### Initializer <a name="Initializer" id="cdk-nag.NagReportLoggerProps.Initializer"></a>
915
1032
 
916
- Ignore the suppression if all of the given INagSuppressionIgnore return a non-empty message.
1033
+ ```typescript
1034
+ import { NagReportLoggerProps } from 'cdk-nag'
917
1035
 
918
- __Implements__: [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
1036
+ const nagReportLoggerProps: NagReportLoggerProps = { ... }
1037
+ ```
919
1038
 
920
- ### Initializer
1039
+ #### Properties <a name="Properties" id="Properties"></a>
921
1040
 
1041
+ | **Name** | **Type** | **Description** |
1042
+ | --- | --- | --- |
1043
+ | <code><a href="#cdk-nag.NagReportLoggerProps.property.formats">formats</a></code> | <code><a href="#cdk-nag.NagReportFormat">NagReportFormat</a>[]</code> | *No description.* |
922
1044
 
1045
+ ---
923
1046
 
1047
+ ##### `formats`<sup>Required</sup> <a name="formats" id="cdk-nag.NagReportLoggerProps.property.formats"></a>
924
1048
 
925
- ```ts
926
- new SuppressionIgnoreAnd(...SuppressionIgnoreAnds: INagSuppressionIgnore[])
1049
+ ```typescript
1050
+ public readonly formats: NagReportFormat[];
927
1051
  ```
928
1052
 
929
- * **SuppressionIgnoreAnds** (<code>[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)</code>) *No description*
1053
+ - *Type:* <a href="#cdk-nag.NagReportFormat">NagReportFormat</a>[]
1054
+
1055
+ ---
930
1056
 
1057
+ ### NagReportSchema <a name="NagReportSchema" id="cdk-nag.NagReportSchema"></a>
931
1058
 
932
- ### Methods
1059
+ #### Initializer <a name="Initializer" id="cdk-nag.NagReportSchema.Initializer"></a>
933
1060
 
1061
+ ```typescript
1062
+ import { NagReportSchema } from 'cdk-nag'
934
1063
 
935
- #### createMessage(input) <a id="cdk-nag-suppressionignoreand-createmessage"></a>
1064
+ const nagReportSchema: NagReportSchema = { ... }
1065
+ ```
1066
+
1067
+ #### Properties <a name="Properties" id="Properties"></a>
936
1068
 
1069
+ | **Name** | **Type** | **Description** |
1070
+ | --- | --- | --- |
1071
+ | <code><a href="#cdk-nag.NagReportSchema.property.lines">lines</a></code> | <code><a href="#cdk-nag.NagReportLine">NagReportLine</a>[]</code> | *No description.* |
937
1072
 
1073
+ ---
938
1074
 
939
- ```ts
940
- createMessage(input: SuppressionIgnoreInput): string
1075
+ ##### `lines`<sup>Required</sup> <a name="lines" id="cdk-nag.NagReportSchema.property.lines"></a>
1076
+
1077
+ ```typescript
1078
+ public readonly lines: NagReportLine[];
941
1079
  ```
942
1080
 
943
- * **input** (<code>[SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)</code>) *No description*
944
- * **findingId** (<code>string</code>) *No description*
945
- * **reason** (<code>string</code>) *No description*
946
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
947
- * **ruleId** (<code>string</code>) *No description*
948
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
1081
+ - *Type:* <a href="#cdk-nag.NagReportLine">NagReportLine</a>[]
949
1082
 
950
- __Returns__:
951
- * <code>string</code>
1083
+ ---
952
1084
 
1085
+ ### RegexAppliesTo <a name="RegexAppliesTo" id="cdk-nag.RegexAppliesTo"></a>
953
1086
 
1087
+ A regular expression to apply to matching findings.
954
1088
 
955
- ## class SuppressionIgnoreErrors <a id="cdk-nag-suppressionignoreerrors"></a>
1089
+ #### Initializer <a name="Initializer" id="cdk-nag.RegexAppliesTo.Initializer"></a>
956
1090
 
957
- Ignore Suppressions for Rules with a NagMessageLevel.ERROR.
1091
+ ```typescript
1092
+ import { RegexAppliesTo } from 'cdk-nag'
958
1093
 
959
- __Implements__: [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
1094
+ const regexAppliesTo: RegexAppliesTo = { ... }
1095
+ ```
960
1096
 
961
- ### Initializer
1097
+ #### Properties <a name="Properties" id="Properties"></a>
962
1098
 
1099
+ | **Name** | **Type** | **Description** |
1100
+ | --- | --- | --- |
1101
+ | <code><a href="#cdk-nag.RegexAppliesTo.property.regex">regex</a></code> | <code>string</code> | An ECMA-262 regex string. |
963
1102
 
1103
+ ---
964
1104
 
1105
+ ##### `regex`<sup>Required</sup> <a name="regex" id="cdk-nag.RegexAppliesTo.property.regex"></a>
965
1106
 
966
- ```ts
967
- new SuppressionIgnoreErrors()
1107
+ ```typescript
1108
+ public readonly regex: string;
968
1109
  ```
969
1110
 
1111
+ - *Type:* string
970
1112
 
1113
+ An ECMA-262 regex string.
971
1114
 
972
- ### Methods
1115
+ ---
973
1116
 
1117
+ ### SuppressionIgnoreInput <a name="SuppressionIgnoreInput" id="cdk-nag.SuppressionIgnoreInput"></a>
974
1118
 
975
- #### createMessage(input) <a id="cdk-nag-suppressionignoreerrors-createmessage"></a>
1119
+ Information about the NagRule and the relevant NagSuppression for the INagSuppressionIgnore.
976
1120
 
1121
+ #### Initializer <a name="Initializer" id="cdk-nag.SuppressionIgnoreInput.Initializer"></a>
977
1122
 
1123
+ ```typescript
1124
+ import { SuppressionIgnoreInput } from 'cdk-nag'
978
1125
 
979
- ```ts
980
- createMessage(input: SuppressionIgnoreInput): string
1126
+ const suppressionIgnoreInput: SuppressionIgnoreInput = { ... }
981
1127
  ```
982
1128
 
983
- * **input** (<code>[SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)</code>) *No description*
984
- * **findingId** (<code>string</code>) *No description*
985
- * **reason** (<code>string</code>) *No description*
986
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
987
- * **ruleId** (<code>string</code>) *No description*
988
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
1129
+ #### Properties <a name="Properties" id="Properties"></a>
989
1130
 
990
- __Returns__:
991
- * <code>string</code>
1131
+ | **Name** | **Type** | **Description** |
1132
+ | --- | --- | --- |
1133
+ | <code><a href="#cdk-nag.SuppressionIgnoreInput.property.findingId">findingId</a></code> | <code>string</code> | *No description.* |
1134
+ | <code><a href="#cdk-nag.SuppressionIgnoreInput.property.reason">reason</a></code> | <code>string</code> | *No description.* |
1135
+ | <code><a href="#cdk-nag.SuppressionIgnoreInput.property.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | *No description.* |
1136
+ | <code><a href="#cdk-nag.SuppressionIgnoreInput.property.ruleId">ruleId</a></code> | <code>string</code> | *No description.* |
1137
+ | <code><a href="#cdk-nag.SuppressionIgnoreInput.property.ruleLevel">ruleLevel</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | *No description.* |
992
1138
 
1139
+ ---
993
1140
 
1141
+ ##### `findingId`<sup>Required</sup> <a name="findingId" id="cdk-nag.SuppressionIgnoreInput.property.findingId"></a>
994
1142
 
995
- ## class SuppressionIgnoreNever <a id="cdk-nag-suppressionignorenever"></a>
1143
+ ```typescript
1144
+ public readonly findingId: string;
1145
+ ```
996
1146
 
997
- Don't ignore the suppression.
1147
+ - *Type:* string
998
1148
 
999
- __Implements__: [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
1149
+ ---
1000
1150
 
1001
- ### Initializer
1151
+ ##### `reason`<sup>Required</sup> <a name="reason" id="cdk-nag.SuppressionIgnoreInput.property.reason"></a>
1002
1152
 
1153
+ ```typescript
1154
+ public readonly reason: string;
1155
+ ```
1003
1156
 
1157
+ - *Type:* string
1004
1158
 
1159
+ ---
1005
1160
 
1006
- ```ts
1007
- new SuppressionIgnoreNever()
1161
+ ##### `resource`<sup>Required</sup> <a name="resource" id="cdk-nag.SuppressionIgnoreInput.property.resource"></a>
1162
+
1163
+ ```typescript
1164
+ public readonly resource: CfnResource;
1008
1165
  ```
1009
1166
 
1167
+ - *Type:* aws-cdk-lib.CfnResource
1010
1168
 
1169
+ ---
1011
1170
 
1012
- ### Methods
1171
+ ##### `ruleId`<sup>Required</sup> <a name="ruleId" id="cdk-nag.SuppressionIgnoreInput.property.ruleId"></a>
1013
1172
 
1173
+ ```typescript
1174
+ public readonly ruleId: string;
1175
+ ```
1014
1176
 
1015
- #### createMessage(_input) <a id="cdk-nag-suppressionignorenever-createmessage"></a>
1177
+ - *Type:* string
1016
1178
 
1179
+ ---
1017
1180
 
1181
+ ##### `ruleLevel`<sup>Required</sup> <a name="ruleLevel" id="cdk-nag.SuppressionIgnoreInput.property.ruleLevel"></a>
1018
1182
 
1019
- ```ts
1020
- createMessage(_input: SuppressionIgnoreInput): string
1183
+ ```typescript
1184
+ public readonly ruleLevel: NagMessageLevel;
1021
1185
  ```
1022
1186
 
1023
- * **_input** (<code>[SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)</code>) *No description*
1024
- * **findingId** (<code>string</code>) *No description*
1025
- * **reason** (<code>string</code>) *No description*
1026
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
1027
- * **ruleId** (<code>string</code>) *No description*
1028
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
1187
+ - *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
1029
1188
 
1030
- __Returns__:
1031
- * <code>string</code>
1189
+ ---
1032
1190
 
1191
+ ## Classes <a name="Classes" id="Classes"></a>
1033
1192
 
1193
+ ### AnnotationLogger <a name="AnnotationLogger" id="cdk-nag.AnnotationLogger"></a>
1034
1194
 
1035
- ## class SuppressionIgnoreOr <a id="cdk-nag-suppressionignoreor"></a>
1036
-
1037
- Ignore the suppression if any of the given INagSuppressionIgnore return a non-empty message.
1195
+ - *Implements:* <a href="#cdk-nag.INagLogger">INagLogger</a>
1038
1196
 
1039
- __Implements__: [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
1197
+ A NagLogger that outputs to the CDK Annotations system.
1040
1198
 
1041
- ### Initializer
1199
+ #### Initializers <a name="Initializers" id="cdk-nag.AnnotationLogger.Initializer"></a>
1042
1200
 
1201
+ ```typescript
1202
+ import { AnnotationLogger } from 'cdk-nag'
1043
1203
 
1204
+ new AnnotationLogger(props?: AnnotationLoggerProps)
1205
+ ```
1044
1206
 
1207
+ | **Name** | **Type** | **Description** |
1208
+ | --- | --- | --- |
1209
+ | <code><a href="#cdk-nag.AnnotationLogger.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-nag.AnnotationLoggerProps">AnnotationLoggerProps</a></code> | *No description.* |
1045
1210
 
1046
- ```ts
1047
- new SuppressionIgnoreOr(...orSuppressionIgnores: INagSuppressionIgnore[])
1048
- ```
1211
+ ---
1049
1212
 
1050
- * **orSuppressionIgnores** (<code>[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)</code>) *No description*
1213
+ ##### `props`<sup>Optional</sup> <a name="props" id="cdk-nag.AnnotationLogger.Initializer.parameter.props"></a>
1051
1214
 
1215
+ - *Type:* <a href="#cdk-nag.AnnotationLoggerProps">AnnotationLoggerProps</a>
1052
1216
 
1053
- ### Methods
1217
+ ---
1054
1218
 
1219
+ #### Methods <a name="Methods" id="Methods"></a>
1055
1220
 
1056
- #### createMessage(input) <a id="cdk-nag-suppressionignoreor-createmessage"></a>
1221
+ | **Name** | **Description** |
1222
+ | --- | --- |
1223
+ | <code><a href="#cdk-nag.AnnotationLogger.onCompliance">onCompliance</a></code> | Called when a CfnResource passes the compliance check for a given rule. |
1224
+ | <code><a href="#cdk-nag.AnnotationLogger.onError">onError</a></code> | Called when a rule throws an error during while validating a CfnResource for compliance. |
1225
+ | <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. |
1226
+ | <code><a href="#cdk-nag.AnnotationLogger.onNotApplicable">onNotApplicable</a></code> | Called when a rule does not apply to the given CfnResource. |
1227
+ | <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. |
1228
+ | <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. |
1057
1229
 
1230
+ ---
1058
1231
 
1232
+ ##### `onCompliance` <a name="onCompliance" id="cdk-nag.AnnotationLogger.onCompliance"></a>
1059
1233
 
1060
- ```ts
1061
- createMessage(input: SuppressionIgnoreInput): string
1234
+ ```typescript
1235
+ public onCompliance(_data: NagLoggerComplianceData): void
1062
1236
  ```
1063
1237
 
1064
- * **input** (<code>[SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)</code>) *No description*
1065
- * **findingId** (<code>string</code>) *No description*
1066
- * **reason** (<code>string</code>) *No description*
1067
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
1068
- * **ruleId** (<code>string</code>) *No description*
1069
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
1070
-
1071
- __Returns__:
1072
- * <code>string</code>
1238
+ Called when a CfnResource passes the compliance check for a given rule.
1073
1239
 
1240
+ ###### `_data`<sup>Required</sup> <a name="_data" id="cdk-nag.AnnotationLogger.onCompliance.parameter._data"></a>
1074
1241
 
1242
+ - *Type:* <a href="#cdk-nag.NagLoggerComplianceData">NagLoggerComplianceData</a>
1075
1243
 
1076
- ## struct AnnotationLoggerProps <a id="cdk-nag-annotationloggerprops"></a>
1244
+ ---
1077
1245
 
1246
+ ##### `onError` <a name="onError" id="cdk-nag.AnnotationLogger.onError"></a>
1078
1247
 
1079
- Props for the AnnotationLogger.
1248
+ ```typescript
1249
+ public onError(data: NagLoggerErrorData): void
1250
+ ```
1080
1251
 
1252
+ Called when a rule throws an error during while validating a CfnResource for compliance.
1081
1253
 
1254
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.AnnotationLogger.onError.parameter.data"></a>
1082
1255
 
1083
- Name | Type | Description
1084
- -----|------|-------------
1085
- **logIgnores**? | <code>boolean</code> | Whether or not to log suppressed rule violations as informational messages (default: false).<br/>__*Optional*__
1086
- **verbose**? | <code>boolean</code> | Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages.<br/>__*Optional*__
1256
+ - *Type:* <a href="#cdk-nag.NagLoggerErrorData">NagLoggerErrorData</a>
1087
1257
 
1258
+ ---
1088
1259
 
1260
+ ##### `onNonCompliance` <a name="onNonCompliance" id="cdk-nag.AnnotationLogger.onNonCompliance"></a>
1089
1261
 
1090
- ## interface IApplyRule <a id="cdk-nag-iapplyrule"></a>
1262
+ ```typescript
1263
+ public onNonCompliance(data: NagLoggerNonComplianceData): void
1264
+ ```
1091
1265
 
1266
+ 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.
1092
1267
 
1093
- Interface for JSII interoperability for passing parameters and the Rule Callback to @applyRule method.
1268
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.AnnotationLogger.onNonCompliance.parameter.data"></a>
1094
1269
 
1095
- ### Properties
1270
+ - *Type:* <a href="#cdk-nag.NagLoggerNonComplianceData">NagLoggerNonComplianceData</a>
1096
1271
 
1272
+ ---
1097
1273
 
1098
- Name | Type | Description
1099
- -----|------|-------------
1100
- **explanation** | <code>string</code> | Why the rule exists.
1101
- **info** | <code>string</code> | Why the rule was triggered.
1102
- **level** | <code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code> | The annotations message level to apply to the rule if triggered.
1103
- **node** | <code>[CfnResource](#aws-cdk-lib-cfnresource)</code> | The CfnResource to check.
1104
- **ignoreSuppressionCondition**? | <code>[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)</code> | A condition in which a suppression should be ignored.<br/>__*Optional*__
1105
- **ruleSuffixOverride**? | <code>string</code> | Override for the suffix of the Rule ID for this rule.<br/>__*Optional*__
1274
+ ##### `onNotApplicable` <a name="onNotApplicable" id="cdk-nag.AnnotationLogger.onNotApplicable"></a>
1106
1275
 
1107
- ### Methods
1276
+ ```typescript
1277
+ public onNotApplicable(_data: NagLoggerNotApplicableData): void
1278
+ ```
1108
1279
 
1280
+ Called when a rule does not apply to the given CfnResource.
1109
1281
 
1110
- #### rule(node) <a id="cdk-nag-iapplyrule-rule"></a>
1282
+ ###### `_data`<sup>Required</sup> <a name="_data" id="cdk-nag.AnnotationLogger.onNotApplicable.parameter._data"></a>
1111
1283
 
1112
- The callback to the rule.
1284
+ - *Type:* <a href="#cdk-nag.NagLoggerNotApplicableData">NagLoggerNotApplicableData</a>
1113
1285
 
1114
- ```ts
1115
- rule(node: CfnResource): NagRuleCompliance &#124; Array<string>
1116
- ```
1286
+ ---
1117
1287
 
1118
- * **node** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) The CfnResource to check.
1288
+ ##### `onSuppressed` <a name="onSuppressed" id="cdk-nag.AnnotationLogger.onSuppressed"></a>
1119
1289
 
1120
- __Returns__:
1121
- * <code>[NagRuleCompliance](#cdk-nag-nagrulecompliance) &#124; Array<string></code>
1290
+ ```typescript
1291
+ public onSuppressed(data: NagLoggerSuppressedData): void
1292
+ ```
1122
1293
 
1294
+ Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user.
1123
1295
 
1296
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.AnnotationLogger.onSuppressed.parameter.data"></a>
1124
1297
 
1125
- ## interface INagLogger <a id="cdk-nag-inaglogger"></a>
1298
+ - *Type:* <a href="#cdk-nag.NagLoggerSuppressedData">NagLoggerSuppressedData</a>
1126
1299
 
1127
- __Implemented by__: [AnnotationLogger](#cdk-nag-annotationlogger), [NagReportLogger](#cdk-nag-nagreportlogger)
1300
+ ---
1128
1301
 
1129
- Interface for creating NagSuppression Ignores.
1130
- ### Methods
1302
+ ##### `onSuppressedError` <a name="onSuppressedError" id="cdk-nag.AnnotationLogger.onSuppressedError"></a>
1131
1303
 
1304
+ ```typescript
1305
+ public onSuppressedError(data: NagLoggerSuppressedErrorData): void
1306
+ ```
1132
1307
 
1133
- #### onCompliance(data) <a id="cdk-nag-inaglogger-oncompliance"></a>
1308
+ Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed.
1134
1309
 
1135
- Called when a CfnResource passes the compliance check for a given rule.
1310
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.AnnotationLogger.onSuppressedError.parameter.data"></a>
1136
1311
 
1137
- ```ts
1138
- onCompliance(data: NagLoggerComplianceData): void
1139
- ```
1312
+ - *Type:* <a href="#cdk-nag.NagLoggerSuppressedErrorData">NagLoggerSuppressedErrorData</a>
1140
1313
 
1141
- * **data** (<code>[NagLoggerComplianceData](#cdk-nag-nagloggercompliancedata)</code>) *No description*
1142
- * **nagPackName** (<code>string</code>) *No description*
1143
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
1144
- * **ruleExplanation** (<code>string</code>) *No description*
1145
- * **ruleId** (<code>string</code>) *No description*
1146
- * **ruleInfo** (<code>string</code>) *No description*
1147
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
1148
- * **ruleOriginalName** (<code>string</code>) *No description*
1314
+ ---
1149
1315
 
1150
1316
 
1317
+ #### Properties <a name="Properties" id="Properties"></a>
1151
1318
 
1319
+ | **Name** | **Type** | **Description** |
1320
+ | --- | --- | --- |
1321
+ | <code><a href="#cdk-nag.AnnotationLogger.property.logIgnores">logIgnores</a></code> | <code>boolean</code> | *No description.* |
1322
+ | <code><a href="#cdk-nag.AnnotationLogger.property.verbose">verbose</a></code> | <code>boolean</code> | *No description.* |
1323
+ | <code><a href="#cdk-nag.AnnotationLogger.property.suppressionId">suppressionId</a></code> | <code>string</code> | *No description.* |
1152
1324
 
1153
- #### onError(data) <a id="cdk-nag-inaglogger-onerror"></a>
1325
+ ---
1154
1326
 
1155
- Called when a rule throws an error during while validating a CfnResource for compliance.
1327
+ ##### `logIgnores`<sup>Required</sup> <a name="logIgnores" id="cdk-nag.AnnotationLogger.property.logIgnores"></a>
1156
1328
 
1157
- ```ts
1158
- onError(data: NagLoggerErrorData): void
1329
+ ```typescript
1330
+ public readonly logIgnores: boolean;
1159
1331
  ```
1160
1332
 
1161
- * **data** (<code>[NagLoggerErrorData](#cdk-nag-nagloggererrordata)</code>) *No description*
1162
- * **nagPackName** (<code>string</code>) *No description*
1163
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
1164
- * **ruleExplanation** (<code>string</code>) *No description*
1165
- * **ruleId** (<code>string</code>) *No description*
1166
- * **ruleInfo** (<code>string</code>) *No description*
1167
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
1168
- * **ruleOriginalName** (<code>string</code>) *No description*
1169
- * **errorMessage** (<code>string</code>) *No description*
1333
+ - *Type:* boolean
1170
1334
 
1335
+ ---
1171
1336
 
1337
+ ##### `verbose`<sup>Required</sup> <a name="verbose" id="cdk-nag.AnnotationLogger.property.verbose"></a>
1172
1338
 
1339
+ ```typescript
1340
+ public readonly verbose: boolean;
1341
+ ```
1173
1342
 
1174
- #### onNonCompliance(data) <a id="cdk-nag-inaglogger-onnoncompliance"></a>
1343
+ - *Type:* boolean
1175
1344
 
1176
- 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.
1345
+ ---
1177
1346
 
1178
- ```ts
1179
- onNonCompliance(data: NagLoggerNonComplianceData): void
1347
+ ##### `suppressionId`<sup>Required</sup> <a name="suppressionId" id="cdk-nag.AnnotationLogger.property.suppressionId"></a>
1348
+
1349
+ ```typescript
1350
+ public readonly suppressionId: string;
1180
1351
  ```
1181
1352
 
1182
- * **data** (<code>[NagLoggerNonComplianceData](#cdk-nag-nagloggernoncompliancedata)</code>) *No description*
1183
- * **nagPackName** (<code>string</code>) *No description*
1184
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
1185
- * **ruleExplanation** (<code>string</code>) *No description*
1186
- * **ruleId** (<code>string</code>) *No description*
1187
- * **ruleInfo** (<code>string</code>) *No description*
1188
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
1189
- * **ruleOriginalName** (<code>string</code>) *No description*
1190
- * **findingId** (<code>string</code>) *No description*
1353
+ - *Type:* string
1354
+
1355
+ ---
1191
1356
 
1192
1357
 
1358
+ ### AwsSolutionsChecks <a name="AwsSolutionsChecks" id="cdk-nag.AwsSolutionsChecks"></a>
1193
1359
 
1360
+ Check Best practices based on AWS Solutions Security Matrix.
1194
1361
 
1195
- #### onNotApplicable(data) <a id="cdk-nag-inaglogger-onnotapplicable"></a>
1362
+ #### Initializers <a name="Initializers" id="cdk-nag.AwsSolutionsChecks.Initializer"></a>
1196
1363
 
1197
- Called when a rule does not apply to the given CfnResource.
1364
+ ```typescript
1365
+ import { AwsSolutionsChecks } from 'cdk-nag'
1198
1366
 
1199
- ```ts
1200
- onNotApplicable(data: NagLoggerNotApplicableData): void
1367
+ new AwsSolutionsChecks(props?: NagPackProps)
1201
1368
  ```
1202
1369
 
1203
- * **data** (<code>[NagLoggerNotApplicableData](#cdk-nag-nagloggernotapplicabledata)</code>) *No description*
1204
- * **nagPackName** (<code>string</code>) *No description*
1205
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
1206
- * **ruleExplanation** (<code>string</code>) *No description*
1207
- * **ruleId** (<code>string</code>) *No description*
1208
- * **ruleInfo** (<code>string</code>) *No description*
1209
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
1210
- * **ruleOriginalName** (<code>string</code>) *No description*
1370
+ | **Name** | **Type** | **Description** |
1371
+ | --- | --- | --- |
1372
+ | <code><a href="#cdk-nag.AwsSolutionsChecks.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-nag.NagPackProps">NagPackProps</a></code> | *No description.* |
1211
1373
 
1374
+ ---
1212
1375
 
1376
+ ##### `props`<sup>Optional</sup> <a name="props" id="cdk-nag.AwsSolutionsChecks.Initializer.parameter.props"></a>
1213
1377
 
1378
+ - *Type:* <a href="#cdk-nag.NagPackProps">NagPackProps</a>
1214
1379
 
1215
- #### onSuppressed(data) <a id="cdk-nag-inaglogger-onsuppressed"></a>
1380
+ ---
1216
1381
 
1217
- Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user.
1382
+ #### Methods <a name="Methods" id="Methods"></a>
1218
1383
 
1219
- ```ts
1220
- onSuppressed(data: NagLoggerSuppressedData): void
1221
- ```
1384
+ | **Name** | **Description** |
1385
+ | --- | --- |
1386
+ | <code><a href="#cdk-nag.AwsSolutionsChecks.visit">visit</a></code> | All aspects can visit an IConstruct. |
1222
1387
 
1223
- * **data** (<code>[NagLoggerSuppressedData](#cdk-nag-nagloggersuppresseddata)</code>) *No description*
1224
- * **nagPackName** (<code>string</code>) *No description*
1225
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
1226
- * **ruleExplanation** (<code>string</code>) *No description*
1227
- * **ruleId** (<code>string</code>) *No description*
1228
- * **ruleInfo** (<code>string</code>) *No description*
1229
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
1230
- * **ruleOriginalName** (<code>string</code>) *No description*
1231
- * **findingId** (<code>string</code>) *No description*
1232
- * **suppressionReason** (<code>string</code>) *No description*
1388
+ ---
1233
1389
 
1390
+ ##### `visit` <a name="visit" id="cdk-nag.AwsSolutionsChecks.visit"></a>
1234
1391
 
1392
+ ```typescript
1393
+ public visit(node: IConstruct): void
1394
+ ```
1235
1395
 
1396
+ All aspects can visit an IConstruct.
1236
1397
 
1237
- #### onSuppressedError(data) <a id="cdk-nag-inaglogger-onsuppressederror"></a>
1398
+ ###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.AwsSolutionsChecks.visit.parameter.node"></a>
1238
1399
 
1239
- Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed.
1400
+ - *Type:* constructs.IConstruct
1401
+
1402
+ ---
1240
1403
 
1241
- ```ts
1242
- onSuppressedError(data: NagLoggerSuppressedErrorData): void
1243
- ```
1244
1404
 
1245
- * **data** (<code>[NagLoggerSuppressedErrorData](#cdk-nag-nagloggersuppressederrordata)</code>) *No description*
1246
- * **nagPackName** (<code>string</code>) *No description*
1247
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
1248
- * **ruleExplanation** (<code>string</code>) *No description*
1249
- * **ruleId** (<code>string</code>) *No description*
1250
- * **ruleInfo** (<code>string</code>) *No description*
1251
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
1252
- * **ruleOriginalName** (<code>string</code>) *No description*
1253
- * **errorMessage** (<code>string</code>) *No description*
1254
- * **errorSuppressionReason** (<code>string</code>) *No description*
1405
+ #### Properties <a name="Properties" id="Properties"></a>
1255
1406
 
1407
+ | **Name** | **Type** | **Description** |
1408
+ | --- | --- | --- |
1409
+ | <code><a href="#cdk-nag.AwsSolutionsChecks.property.readPackName">readPackName</a></code> | <code>string</code> | *No description.* |
1256
1410
 
1411
+ ---
1257
1412
 
1413
+ ##### `readPackName`<sup>Required</sup> <a name="readPackName" id="cdk-nag.AwsSolutionsChecks.property.readPackName"></a>
1258
1414
 
1415
+ ```typescript
1416
+ public readonly readPackName: string;
1417
+ ```
1259
1418
 
1419
+ - *Type:* string
1260
1420
 
1261
- ## interface INagSuppressionIgnore <a id="cdk-nag-inagsuppressionignore"></a>
1421
+ ---
1262
1422
 
1263
- __Implemented by__: [SuppressionIgnoreAlways](#cdk-nag-suppressionignorealways), [SuppressionIgnoreAnd](#cdk-nag-suppressionignoreand), [SuppressionIgnoreErrors](#cdk-nag-suppressionignoreerrors), [SuppressionIgnoreNever](#cdk-nag-suppressionignorenever), [SuppressionIgnoreOr](#cdk-nag-suppressionignoreor)
1264
1423
 
1265
- Interface for creating NagSuppression Ignores.
1266
- ### Methods
1424
+ ### HIPAASecurityChecks <a name="HIPAASecurityChecks" id="cdk-nag.HIPAASecurityChecks"></a>
1267
1425
 
1426
+ Check for HIPAA Security compliance.
1268
1427
 
1269
- #### createMessage(input) <a id="cdk-nag-inagsuppressionignore-createmessage"></a>
1428
+ Based on the HIPAA Security AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-hipaa_security.html
1270
1429
 
1430
+ #### Initializers <a name="Initializers" id="cdk-nag.HIPAASecurityChecks.Initializer"></a>
1271
1431
 
1432
+ ```typescript
1433
+ import { HIPAASecurityChecks } from 'cdk-nag'
1272
1434
 
1273
- ```ts
1274
- createMessage(input: SuppressionIgnoreInput): string
1435
+ new HIPAASecurityChecks(props?: NagPackProps)
1275
1436
  ```
1276
1437
 
1277
- * **input** (<code>[SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)</code>) *No description*
1278
- * **findingId** (<code>string</code>) *No description*
1279
- * **reason** (<code>string</code>) *No description*
1280
- * **resource** (<code>[CfnResource](#aws-cdk-lib-cfnresource)</code>) *No description*
1281
- * **ruleId** (<code>string</code>) *No description*
1282
- * **ruleLevel** (<code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code>) *No description*
1438
+ | **Name** | **Type** | **Description** |
1439
+ | --- | --- | --- |
1440
+ | <code><a href="#cdk-nag.HIPAASecurityChecks.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-nag.NagPackProps">NagPackProps</a></code> | *No description.* |
1283
1441
 
1284
- __Returns__:
1285
- * <code>string</code>
1442
+ ---
1286
1443
 
1444
+ ##### `props`<sup>Optional</sup> <a name="props" id="cdk-nag.HIPAASecurityChecks.Initializer.parameter.props"></a>
1287
1445
 
1446
+ - *Type:* <a href="#cdk-nag.NagPackProps">NagPackProps</a>
1288
1447
 
1289
- ## struct NagLoggerBaseData <a id="cdk-nag-nagloggerbasedata"></a>
1448
+ ---
1290
1449
 
1450
+ #### Methods <a name="Methods" id="Methods"></a>
1291
1451
 
1292
- Shared data for all INagLogger methods.
1452
+ | **Name** | **Description** |
1453
+ | --- | --- |
1454
+ | <code><a href="#cdk-nag.HIPAASecurityChecks.visit">visit</a></code> | All aspects can visit an IConstruct. |
1293
1455
 
1456
+ ---
1294
1457
 
1458
+ ##### `visit` <a name="visit" id="cdk-nag.HIPAASecurityChecks.visit"></a>
1295
1459
 
1296
- Name | Type | Description
1297
- -----|------|-------------
1298
- **nagPackName** | <code>string</code> | <span></span>
1299
- **resource** | <code>[CfnResource](#aws-cdk-lib-cfnresource)</code> | <span></span>
1300
- **ruleExplanation** | <code>string</code> | <span></span>
1301
- **ruleId** | <code>string</code> | <span></span>
1302
- **ruleInfo** | <code>string</code> | <span></span>
1303
- **ruleLevel** | <code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code> | <span></span>
1304
- **ruleOriginalName** | <code>string</code> | <span></span>
1460
+ ```typescript
1461
+ public visit(node: IConstruct): void
1462
+ ```
1305
1463
 
1464
+ All aspects can visit an IConstruct.
1306
1465
 
1466
+ ###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.HIPAASecurityChecks.visit.parameter.node"></a>
1307
1467
 
1308
- ## struct NagLoggerComplianceData <a id="cdk-nag-nagloggercompliancedata"></a>
1468
+ - *Type:* constructs.IConstruct
1309
1469
 
1470
+ ---
1310
1471
 
1311
- Data for onCompliance method of an INagLogger.
1312
1472
 
1473
+ #### Properties <a name="Properties" id="Properties"></a>
1313
1474
 
1475
+ | **Name** | **Type** | **Description** |
1476
+ | --- | --- | --- |
1477
+ | <code><a href="#cdk-nag.HIPAASecurityChecks.property.readPackName">readPackName</a></code> | <code>string</code> | *No description.* |
1314
1478
 
1315
- Name | Type | Description
1316
- -----|------|-------------
1317
- **nagPackName** | <code>string</code> | <span></span>
1318
- **resource** | <code>[CfnResource](#aws-cdk-lib-cfnresource)</code> | <span></span>
1319
- **ruleExplanation** | <code>string</code> | <span></span>
1320
- **ruleId** | <code>string</code> | <span></span>
1321
- **ruleInfo** | <code>string</code> | <span></span>
1322
- **ruleLevel** | <code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code> | <span></span>
1323
- **ruleOriginalName** | <code>string</code> | <span></span>
1479
+ ---
1324
1480
 
1481
+ ##### `readPackName`<sup>Required</sup> <a name="readPackName" id="cdk-nag.HIPAASecurityChecks.property.readPackName"></a>
1325
1482
 
1483
+ ```typescript
1484
+ public readonly readPackName: string;
1485
+ ```
1326
1486
 
1327
- ## struct NagLoggerErrorData <a id="cdk-nag-nagloggererrordata"></a>
1487
+ - *Type:* string
1328
1488
 
1489
+ ---
1329
1490
 
1330
- Data for onError method of an INagLogger.
1331
1491
 
1492
+ ### NagPack <a name="NagPack" id="cdk-nag.NagPack"></a>
1332
1493
 
1494
+ - *Implements:* aws-cdk-lib.IAspect
1333
1495
 
1334
- Name | Type | Description
1335
- -----|------|-------------
1336
- **errorMessage** | <code>string</code> | <span></span>
1337
- **nagPackName** | <code>string</code> | <span></span>
1338
- **resource** | <code>[CfnResource](#aws-cdk-lib-cfnresource)</code> | <span></span>
1339
- **ruleExplanation** | <code>string</code> | <span></span>
1340
- **ruleId** | <code>string</code> | <span></span>
1341
- **ruleInfo** | <code>string</code> | <span></span>
1342
- **ruleLevel** | <code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code> | <span></span>
1343
- **ruleOriginalName** | <code>string</code> | <span></span>
1496
+ Base class for all rule packs.
1344
1497
 
1498
+ #### Initializers <a name="Initializers" id="cdk-nag.NagPack.Initializer"></a>
1345
1499
 
1500
+ ```typescript
1501
+ import { NagPack } from 'cdk-nag'
1346
1502
 
1347
- ## struct NagLoggerNonComplianceData <a id="cdk-nag-nagloggernoncompliancedata"></a>
1503
+ new NagPack(props?: NagPackProps)
1504
+ ```
1348
1505
 
1506
+ | **Name** | **Type** | **Description** |
1507
+ | --- | --- | --- |
1508
+ | <code><a href="#cdk-nag.NagPack.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-nag.NagPackProps">NagPackProps</a></code> | *No description.* |
1349
1509
 
1350
- Data for onNonCompliance method of an INagLogger.
1510
+ ---
1351
1511
 
1512
+ ##### `props`<sup>Optional</sup> <a name="props" id="cdk-nag.NagPack.Initializer.parameter.props"></a>
1352
1513
 
1514
+ - *Type:* <a href="#cdk-nag.NagPackProps">NagPackProps</a>
1353
1515
 
1354
- Name | Type | Description
1355
- -----|------|-------------
1356
- **findingId** | <code>string</code> | <span></span>
1357
- **nagPackName** | <code>string</code> | <span></span>
1358
- **resource** | <code>[CfnResource](#aws-cdk-lib-cfnresource)</code> | <span></span>
1359
- **ruleExplanation** | <code>string</code> | <span></span>
1360
- **ruleId** | <code>string</code> | <span></span>
1361
- **ruleInfo** | <code>string</code> | <span></span>
1362
- **ruleLevel** | <code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code> | <span></span>
1363
- **ruleOriginalName** | <code>string</code> | <span></span>
1516
+ ---
1364
1517
 
1518
+ #### Methods <a name="Methods" id="Methods"></a>
1365
1519
 
1520
+ | **Name** | **Description** |
1521
+ | --- | --- |
1522
+ | <code><a href="#cdk-nag.NagPack.visit">visit</a></code> | All aspects can visit an IConstruct. |
1366
1523
 
1367
- ## struct NagLoggerNotApplicableData <a id="cdk-nag-nagloggernotapplicabledata"></a>
1524
+ ---
1368
1525
 
1526
+ ##### `visit` <a name="visit" id="cdk-nag.NagPack.visit"></a>
1369
1527
 
1370
- Data for onNotApplicable method of an INagLogger.
1528
+ ```typescript
1529
+ public visit(node: IConstruct): void
1530
+ ```
1371
1531
 
1532
+ All aspects can visit an IConstruct.
1372
1533
 
1534
+ ###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.NagPack.visit.parameter.node"></a>
1373
1535
 
1374
- Name | Type | Description
1375
- -----|------|-------------
1376
- **nagPackName** | <code>string</code> | <span></span>
1377
- **resource** | <code>[CfnResource](#aws-cdk-lib-cfnresource)</code> | <span></span>
1378
- **ruleExplanation** | <code>string</code> | <span></span>
1379
- **ruleId** | <code>string</code> | <span></span>
1380
- **ruleInfo** | <code>string</code> | <span></span>
1381
- **ruleLevel** | <code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code> | <span></span>
1382
- **ruleOriginalName** | <code>string</code> | <span></span>
1536
+ - *Type:* constructs.IConstruct
1383
1537
 
1538
+ ---
1384
1539
 
1385
1540
 
1386
- ## struct NagLoggerSuppressedData <a id="cdk-nag-nagloggersuppresseddata"></a>
1541
+ #### Properties <a name="Properties" id="Properties"></a>
1387
1542
 
1543
+ | **Name** | **Type** | **Description** |
1544
+ | --- | --- | --- |
1545
+ | <code><a href="#cdk-nag.NagPack.property.readPackName">readPackName</a></code> | <code>string</code> | *No description.* |
1388
1546
 
1389
- Data for onSuppressed method of an INagLogger.
1547
+ ---
1390
1548
 
1549
+ ##### `readPackName`<sup>Required</sup> <a name="readPackName" id="cdk-nag.NagPack.property.readPackName"></a>
1391
1550
 
1551
+ ```typescript
1552
+ public readonly readPackName: string;
1553
+ ```
1392
1554
 
1393
- Name | Type | Description
1394
- -----|------|-------------
1395
- **findingId** | <code>string</code> | <span></span>
1396
- **nagPackName** | <code>string</code> | <span></span>
1397
- **resource** | <code>[CfnResource](#aws-cdk-lib-cfnresource)</code> | <span></span>
1398
- **ruleExplanation** | <code>string</code> | <span></span>
1399
- **ruleId** | <code>string</code> | <span></span>
1400
- **ruleInfo** | <code>string</code> | <span></span>
1401
- **ruleLevel** | <code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code> | <span></span>
1402
- **ruleOriginalName** | <code>string</code> | <span></span>
1403
- **suppressionReason** | <code>string</code> | <span></span>
1555
+ - *Type:* string
1404
1556
 
1557
+ ---
1405
1558
 
1406
1559
 
1407
- ## struct NagLoggerSuppressedErrorData <a id="cdk-nag-nagloggersuppressederrordata"></a>
1560
+ ### NagReportLogger <a name="NagReportLogger" id="cdk-nag.NagReportLogger"></a>
1408
1561
 
1562
+ - *Implements:* <a href="#cdk-nag.INagLogger">INagLogger</a>
1409
1563
 
1410
- Data for onSuppressedError method of an INagLogger.
1564
+ A NagLogger that creates compliance reports.
1411
1565
 
1566
+ #### Initializers <a name="Initializers" id="cdk-nag.NagReportLogger.Initializer"></a>
1412
1567
 
1568
+ ```typescript
1569
+ import { NagReportLogger } from 'cdk-nag'
1413
1570
 
1414
- Name | Type | Description
1415
- -----|------|-------------
1416
- **errorMessage** | <code>string</code> | <span></span>
1417
- **errorSuppressionReason** | <code>string</code> | <span></span>
1418
- **nagPackName** | <code>string</code> | <span></span>
1419
- **resource** | <code>[CfnResource](#aws-cdk-lib-cfnresource)</code> | <span></span>
1420
- **ruleExplanation** | <code>string</code> | <span></span>
1421
- **ruleId** | <code>string</code> | <span></span>
1422
- **ruleInfo** | <code>string</code> | <span></span>
1423
- **ruleLevel** | <code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code> | <span></span>
1424
- **ruleOriginalName** | <code>string</code> | <span></span>
1571
+ new NagReportLogger(props: NagReportLoggerProps)
1572
+ ```
1425
1573
 
1574
+ | **Name** | **Type** | **Description** |
1575
+ | --- | --- | --- |
1576
+ | <code><a href="#cdk-nag.NagReportLogger.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-nag.NagReportLoggerProps">NagReportLoggerProps</a></code> | *No description.* |
1426
1577
 
1578
+ ---
1427
1579
 
1428
- ## struct NagPackProps <a id="cdk-nag-nagpackprops"></a>
1580
+ ##### `props`<sup>Required</sup> <a name="props" id="cdk-nag.NagReportLogger.Initializer.parameter.props"></a>
1429
1581
 
1582
+ - *Type:* <a href="#cdk-nag.NagReportLoggerProps">NagReportLoggerProps</a>
1430
1583
 
1431
- Interface for creating a NagPack.
1584
+ ---
1585
+
1586
+ #### Methods <a name="Methods" id="Methods"></a>
1432
1587
 
1588
+ | **Name** | **Description** |
1589
+ | --- | --- |
1590
+ | <code><a href="#cdk-nag.NagReportLogger.getFormatStacks">getFormatStacks</a></code> | *No description.* |
1591
+ | <code><a href="#cdk-nag.NagReportLogger.onCompliance">onCompliance</a></code> | Called when a CfnResource passes the compliance check for a given rule. |
1592
+ | <code><a href="#cdk-nag.NagReportLogger.onError">onError</a></code> | Called when a rule throws an error during while validating a CfnResource for compliance. |
1593
+ | <code><a href="#cdk-nag.NagReportLogger.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. |
1594
+ | <code><a href="#cdk-nag.NagReportLogger.onNotApplicable">onNotApplicable</a></code> | Called when a rule does not apply to the given CfnResource. |
1595
+ | <code><a href="#cdk-nag.NagReportLogger.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. |
1596
+ | <code><a href="#cdk-nag.NagReportLogger.onSuppressedError">onSuppressedError</a></code> | Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed. |
1433
1597
 
1598
+ ---
1434
1599
 
1435
- Name | Type | Description
1436
- -----|------|-------------
1437
- **additionalLoggers**? | <code>Array<[INagLogger](#cdk-nag-inaglogger)></code> | Additional NagLoggers for logging rule validation outputs.<br/>__*Optional*__
1438
- **logIgnores**? | <code>boolean</code> | Whether or not to log suppressed rule violations as informational messages (default: false).<br/>__*Optional*__
1439
- **reportFormats**? | <code>Array<[NagReportFormat](#cdk-nag-nagreportformat)></code> | If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV).<br/>__*Optional*__
1440
- **reports**? | <code>boolean</code> | Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true).<br/>__*Optional*__
1441
- **suppressionIgnoreCondition**? | <code>[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)</code> | Conditionally prevent rules from being suppressed (default: no user provided condition).<br/>__*Optional*__
1442
- **verbose**? | <code>boolean</code> | Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false).<br/>__*Optional*__
1600
+ ##### `getFormatStacks` <a name="getFormatStacks" id="cdk-nag.NagReportLogger.getFormatStacks"></a>
1443
1601
 
1602
+ ```typescript
1603
+ public getFormatStacks(format: NagReportFormat): string[]
1604
+ ```
1444
1605
 
1606
+ ###### `format`<sup>Required</sup> <a name="format" id="cdk-nag.NagReportLogger.getFormatStacks.parameter.format"></a>
1445
1607
 
1446
- ## struct NagPackSuppression <a id="cdk-nag-nagpacksuppression"></a>
1608
+ - *Type:* <a href="#cdk-nag.NagReportFormat">NagReportFormat</a>
1447
1609
 
1610
+ ---
1448
1611
 
1449
- Interface for creating a rule suppression.
1612
+ ##### `onCompliance` <a name="onCompliance" id="cdk-nag.NagReportLogger.onCompliance"></a>
1450
1613
 
1614
+ ```typescript
1615
+ public onCompliance(data: NagLoggerComplianceData): void
1616
+ ```
1451
1617
 
1618
+ Called when a CfnResource passes the compliance check for a given rule.
1452
1619
 
1453
- Name | Type | Description
1454
- -----|------|-------------
1455
- **id** | <code>string</code> | The id of the rule to ignore.
1456
- **reason** | <code>string</code> | The reason to ignore the rule (minimum 10 characters).
1457
- **appliesTo**? | <code>Array<string &#124; [RegexAppliesTo](#cdk-nag-regexappliesto)></code> | Rule specific granular suppressions.<br/>__*Optional*__
1620
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.NagReportLogger.onCompliance.parameter.data"></a>
1458
1621
 
1622
+ - *Type:* <a href="#cdk-nag.NagLoggerComplianceData">NagLoggerComplianceData</a>
1459
1623
 
1624
+ ---
1460
1625
 
1461
- ## struct NagReportLine <a id="cdk-nag-nagreportline"></a>
1626
+ ##### `onError` <a name="onError" id="cdk-nag.NagReportLogger.onError"></a>
1462
1627
 
1628
+ ```typescript
1629
+ public onError(data: NagLoggerErrorData): void
1630
+ ```
1463
1631
 
1632
+ Called when a rule throws an error during while validating a CfnResource for compliance.
1464
1633
 
1634
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.NagReportLogger.onError.parameter.data"></a>
1465
1635
 
1636
+ - *Type:* <a href="#cdk-nag.NagLoggerErrorData">NagLoggerErrorData</a>
1466
1637
 
1638
+ ---
1467
1639
 
1468
- Name | Type | Description
1469
- -----|------|-------------
1470
- **compliance** | <code>string</code> | <span></span>
1471
- **exceptionReason** | <code>string</code> | <span></span>
1472
- **resourceId** | <code>string</code> | <span></span>
1473
- **ruleId** | <code>string</code> | <span></span>
1474
- **ruleInfo** | <code>string</code> | <span></span>
1475
- **ruleLevel** | <code>string</code> | <span></span>
1640
+ ##### `onNonCompliance` <a name="onNonCompliance" id="cdk-nag.NagReportLogger.onNonCompliance"></a>
1476
1641
 
1642
+ ```typescript
1643
+ public onNonCompliance(data: NagLoggerNonComplianceData): void
1644
+ ```
1477
1645
 
1646
+ 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.
1478
1647
 
1479
- ## struct NagReportLoggerProps <a id="cdk-nag-nagreportloggerprops"></a>
1648
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.NagReportLogger.onNonCompliance.parameter.data"></a>
1480
1649
 
1650
+ - *Type:* <a href="#cdk-nag.NagLoggerNonComplianceData">NagLoggerNonComplianceData</a>
1481
1651
 
1482
- Props for the NagReportLogger.
1652
+ ---
1483
1653
 
1654
+ ##### `onNotApplicable` <a name="onNotApplicable" id="cdk-nag.NagReportLogger.onNotApplicable"></a>
1484
1655
 
1656
+ ```typescript
1657
+ public onNotApplicable(data: NagLoggerNotApplicableData): void
1658
+ ```
1485
1659
 
1486
- Name | Type | Description
1487
- -----|------|-------------
1488
- **formats** | <code>Array<[NagReportFormat](#cdk-nag-nagreportformat)></code> | <span></span>
1660
+ Called when a rule does not apply to the given CfnResource.
1489
1661
 
1662
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.NagReportLogger.onNotApplicable.parameter.data"></a>
1490
1663
 
1664
+ - *Type:* <a href="#cdk-nag.NagLoggerNotApplicableData">NagLoggerNotApplicableData</a>
1491
1665
 
1492
- ## struct NagReportSchema <a id="cdk-nag-nagreportschema"></a>
1666
+ ---
1493
1667
 
1668
+ ##### `onSuppressed` <a name="onSuppressed" id="cdk-nag.NagReportLogger.onSuppressed"></a>
1494
1669
 
1670
+ ```typescript
1671
+ public onSuppressed(data: NagLoggerSuppressedData): void
1672
+ ```
1495
1673
 
1674
+ Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user.
1496
1675
 
1676
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.NagReportLogger.onSuppressed.parameter.data"></a>
1497
1677
 
1678
+ - *Type:* <a href="#cdk-nag.NagLoggerSuppressedData">NagLoggerSuppressedData</a>
1498
1679
 
1499
- Name | Type | Description
1500
- -----|------|-------------
1501
- **lines** | <code>Array<[NagReportLine](#cdk-nag-nagreportline)></code> | <span></span>
1680
+ ---
1502
1681
 
1682
+ ##### `onSuppressedError` <a name="onSuppressedError" id="cdk-nag.NagReportLogger.onSuppressedError"></a>
1503
1683
 
1684
+ ```typescript
1685
+ public onSuppressedError(data: NagLoggerSuppressedErrorData): void
1686
+ ```
1504
1687
 
1505
- ## struct RegexAppliesTo <a id="cdk-nag-regexappliesto"></a>
1688
+ Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed.
1506
1689
 
1690
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.NagReportLogger.onSuppressedError.parameter.data"></a>
1507
1691
 
1508
- A regular expression to apply to matching findings.
1692
+ - *Type:* <a href="#cdk-nag.NagLoggerSuppressedErrorData">NagLoggerSuppressedErrorData</a>
1509
1693
 
1694
+ ---
1510
1695
 
1511
1696
 
1512
- Name | Type | Description
1513
- -----|------|-------------
1514
- **regex** | <code>string</code> | An ECMA-262 regex string.
1697
+ #### Properties <a name="Properties" id="Properties"></a>
1515
1698
 
1699
+ | **Name** | **Type** | **Description** |
1700
+ | --- | --- | --- |
1701
+ | <code><a href="#cdk-nag.NagReportLogger.property.formats">formats</a></code> | <code><a href="#cdk-nag.NagReportFormat">NagReportFormat</a>[]</code> | *No description.* |
1516
1702
 
1703
+ ---
1517
1704
 
1518
- ## struct SuppressionIgnoreInput <a id="cdk-nag-suppressionignoreinput"></a>
1705
+ ##### `formats`<sup>Required</sup> <a name="formats" id="cdk-nag.NagReportLogger.property.formats"></a>
1519
1706
 
1707
+ ```typescript
1708
+ public readonly formats: NagReportFormat[];
1709
+ ```
1520
1710
 
1521
- Information about the NagRule and the relevant NagSuppression for the INagSuppressionIgnore.
1711
+ - *Type:* <a href="#cdk-nag.NagReportFormat">NagReportFormat</a>[]
1522
1712
 
1713
+ ---
1523
1714
 
1524
1715
 
1525
- Name | Type | Description
1526
- -----|------|-------------
1527
- **findingId** | <code>string</code> | <span></span>
1528
- **reason** | <code>string</code> | <span></span>
1529
- **resource** | <code>[CfnResource](#aws-cdk-lib-cfnresource)</code> | <span></span>
1530
- **ruleId** | <code>string</code> | <span></span>
1531
- **ruleLevel** | <code>[NagMessageLevel](#cdk-nag-nagmessagelevel)</code> | <span></span>
1716
+ ### NagRules <a name="NagRules" id="cdk-nag.NagRules"></a>
1532
1717
 
1718
+ Helper class with methods for rule creation.
1533
1719
 
1720
+ #### Initializers <a name="Initializers" id="cdk-nag.NagRules.Initializer"></a>
1534
1721
 
1535
- ## enum NagMessageLevel <a id="cdk-nag-nagmessagelevel"></a>
1722
+ ```typescript
1723
+ import { NagRules } from 'cdk-nag'
1536
1724
 
1537
- The severity level of the rule.
1725
+ new NagRules()
1726
+ ```
1538
1727
 
1539
- Name | Description
1540
- -----|-----
1541
- **WARN** |
1542
- **ERROR** |
1728
+ | **Name** | **Type** | **Description** |
1729
+ | --- | --- | --- |
1543
1730
 
1731
+ ---
1544
1732
 
1545
- ## enum NagReportFormat <a id="cdk-nag-nagreportformat"></a>
1546
1733
 
1547
- Possible output formats of the NagReport.
1734
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1548
1735
 
1549
- Name | Description
1550
- -----|-----
1551
- **CSV** |
1552
- **JSON** |
1736
+ | **Name** | **Description** |
1737
+ | --- | --- |
1738
+ | <code><a href="#cdk-nag.NagRules.resolveIfPrimitive">resolveIfPrimitive</a></code> | Use in cases where a primitive value must be known to pass a rule. |
1739
+ | <code><a href="#cdk-nag.NagRules.resolveResourceFromInstrinsic">resolveResourceFromInstrinsic</a></code> | Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule. |
1553
1740
 
1741
+ ---
1554
1742
 
1555
- ## enum NagRuleCompliance <a id="cdk-nag-nagrulecompliance"></a>
1743
+ ##### `resolveIfPrimitive` <a name="resolveIfPrimitive" id="cdk-nag.NagRules.resolveIfPrimitive"></a>
1556
1744
 
1557
- The compliance level of a resource in relation to a rule.
1745
+ ```typescript
1746
+ import { NagRules } from 'cdk-nag'
1558
1747
 
1559
- Name | Description
1560
- -----|-----
1561
- **COMPLIANT** |
1562
- **NON_COMPLIANT** |
1563
- **NOT_APPLICABLE** |
1748
+ NagRules.resolveIfPrimitive(node: CfnResource, parameter: any)
1749
+ ```
1564
1750
 
1751
+ Use in cases where a primitive value must be known to pass a rule.
1565
1752
 
1566
- ## enum NagRulePostValidationStates <a id="cdk-nag-nagrulepostvalidationstates"></a>
1753
+ https://developer.mozilla.org/en-US/docs/Glossary/Primitive
1754
+
1755
+ ###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.NagRules.resolveIfPrimitive.parameter.node"></a>
1756
+
1757
+ - *Type:* aws-cdk-lib.CfnResource
1758
+
1759
+ The CfnResource to check.
1760
+
1761
+ ---
1762
+
1763
+ ###### `parameter`<sup>Required</sup> <a name="parameter" id="cdk-nag.NagRules.resolveIfPrimitive.parameter.parameter"></a>
1764
+
1765
+ - *Type:* any
1766
+
1767
+ The value to attempt to resolve.
1768
+
1769
+ ---
1770
+
1771
+ ##### `resolveResourceFromInstrinsic` <a name="resolveResourceFromInstrinsic" id="cdk-nag.NagRules.resolveResourceFromInstrinsic"></a>
1772
+
1773
+ ```typescript
1774
+ import { NagRules } from 'cdk-nag'
1775
+
1776
+ NagRules.resolveResourceFromInstrinsic(node: CfnResource, parameter: any)
1777
+ ```
1778
+
1779
+ Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
1780
+
1781
+ ###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.NagRules.resolveResourceFromInstrinsic.parameter.node"></a>
1782
+
1783
+ - *Type:* aws-cdk-lib.CfnResource
1784
+
1785
+ The CfnResource to check.
1786
+
1787
+ ---
1788
+
1789
+ ###### `parameter`<sup>Required</sup> <a name="parameter" id="cdk-nag.NagRules.resolveResourceFromInstrinsic.parameter.parameter"></a>
1790
+
1791
+ - *Type:* any
1792
+
1793
+ The value to attempt to resolve.
1794
+
1795
+ ---
1796
+
1797
+
1798
+
1799
+ ### NagSuppressions <a name="NagSuppressions" id="cdk-nag.NagSuppressions"></a>
1800
+
1801
+ Helper class with methods to add cdk-nag suppressions to cdk resources.
1802
+
1803
+ #### Initializers <a name="Initializers" id="cdk-nag.NagSuppressions.Initializer"></a>
1804
+
1805
+ ```typescript
1806
+ import { NagSuppressions } from 'cdk-nag'
1807
+
1808
+ new NagSuppressions()
1809
+ ```
1810
+
1811
+ | **Name** | **Type** | **Description** |
1812
+ | --- | --- | --- |
1813
+
1814
+ ---
1815
+
1816
+
1817
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1818
+
1819
+ | **Name** | **Description** |
1820
+ | --- | --- |
1821
+ | <code><a href="#cdk-nag.NagSuppressions.addResourceSuppressions">addResourceSuppressions</a></code> | Add cdk-nag suppressions to a CfnResource and optionally its children. |
1822
+ | <code><a href="#cdk-nag.NagSuppressions.addResourceSuppressionsByPath">addResourceSuppressionsByPath</a></code> | Add cdk-nag suppressions to a CfnResource and optionally its children via its path. |
1823
+ | <code><a href="#cdk-nag.NagSuppressions.addStackSuppressions">addStackSuppressions</a></code> | Apply cdk-nag suppressions to a Stack and optionally nested stacks. |
1824
+
1825
+ ---
1826
+
1827
+ ##### `addResourceSuppressions` <a name="addResourceSuppressions" id="cdk-nag.NagSuppressions.addResourceSuppressions"></a>
1828
+
1829
+ ```typescript
1830
+ import { NagSuppressions } from 'cdk-nag'
1831
+
1832
+ NagSuppressions.addResourceSuppressions(construct: IConstruct | IConstruct[], suppressions: NagPackSuppression[], applyToChildren?: boolean)
1833
+ ```
1834
+
1835
+ Add cdk-nag suppressions to a CfnResource and optionally its children.
1836
+
1837
+ ###### `construct`<sup>Required</sup> <a name="construct" id="cdk-nag.NagSuppressions.addResourceSuppressions.parameter.construct"></a>
1838
+
1839
+ - *Type:* constructs.IConstruct | constructs.IConstruct[]
1840
+
1841
+ The IConstruct(s) to apply the suppression to.
1842
+
1843
+ ---
1844
+
1845
+ ###### `suppressions`<sup>Required</sup> <a name="suppressions" id="cdk-nag.NagSuppressions.addResourceSuppressions.parameter.suppressions"></a>
1846
+
1847
+ - *Type:* <a href="#cdk-nag.NagPackSuppression">NagPackSuppression</a>[]
1848
+
1849
+ A list of suppressions to apply to the resource.
1850
+
1851
+ ---
1852
+
1853
+ ###### `applyToChildren`<sup>Optional</sup> <a name="applyToChildren" id="cdk-nag.NagSuppressions.addResourceSuppressions.parameter.applyToChildren"></a>
1854
+
1855
+ - *Type:* boolean
1856
+
1857
+ Apply the suppressions to children CfnResources (default:false).
1858
+
1859
+ ---
1860
+
1861
+ ##### `addResourceSuppressionsByPath` <a name="addResourceSuppressionsByPath" id="cdk-nag.NagSuppressions.addResourceSuppressionsByPath"></a>
1862
+
1863
+ ```typescript
1864
+ import { NagSuppressions } from 'cdk-nag'
1865
+
1866
+ NagSuppressions.addResourceSuppressionsByPath(stack: Stack, path: string | string[], suppressions: NagPackSuppression[], applyToChildren?: boolean)
1867
+ ```
1868
+
1869
+ Add cdk-nag suppressions to a CfnResource and optionally its children via its path.
1870
+
1871
+ ###### `stack`<sup>Required</sup> <a name="stack" id="cdk-nag.NagSuppressions.addResourceSuppressionsByPath.parameter.stack"></a>
1872
+
1873
+ - *Type:* aws-cdk-lib.Stack
1874
+
1875
+ The Stack the construct belongs to.
1876
+
1877
+ ---
1878
+
1879
+ ###### `path`<sup>Required</sup> <a name="path" id="cdk-nag.NagSuppressions.addResourceSuppressionsByPath.parameter.path"></a>
1880
+
1881
+ - *Type:* string | string[]
1882
+
1883
+ The path(s) to the construct in the provided stack.
1884
+
1885
+ ---
1886
+
1887
+ ###### `suppressions`<sup>Required</sup> <a name="suppressions" id="cdk-nag.NagSuppressions.addResourceSuppressionsByPath.parameter.suppressions"></a>
1888
+
1889
+ - *Type:* <a href="#cdk-nag.NagPackSuppression">NagPackSuppression</a>[]
1890
+
1891
+ A list of suppressions to apply to the resource.
1892
+
1893
+ ---
1894
+
1895
+ ###### `applyToChildren`<sup>Optional</sup> <a name="applyToChildren" id="cdk-nag.NagSuppressions.addResourceSuppressionsByPath.parameter.applyToChildren"></a>
1896
+
1897
+ - *Type:* boolean
1898
+
1899
+ Apply the suppressions to children CfnResources (default:false).
1900
+
1901
+ ---
1902
+
1903
+ ##### `addStackSuppressions` <a name="addStackSuppressions" id="cdk-nag.NagSuppressions.addStackSuppressions"></a>
1904
+
1905
+ ```typescript
1906
+ import { NagSuppressions } from 'cdk-nag'
1907
+
1908
+ NagSuppressions.addStackSuppressions(stack: Stack, suppressions: NagPackSuppression[], applyToNestedStacks?: boolean)
1909
+ ```
1910
+
1911
+ Apply cdk-nag suppressions to a Stack and optionally nested stacks.
1912
+
1913
+ ###### `stack`<sup>Required</sup> <a name="stack" id="cdk-nag.NagSuppressions.addStackSuppressions.parameter.stack"></a>
1914
+
1915
+ - *Type:* aws-cdk-lib.Stack
1916
+
1917
+ The Stack to apply the suppression to.
1918
+
1919
+ ---
1920
+
1921
+ ###### `suppressions`<sup>Required</sup> <a name="suppressions" id="cdk-nag.NagSuppressions.addStackSuppressions.parameter.suppressions"></a>
1922
+
1923
+ - *Type:* <a href="#cdk-nag.NagPackSuppression">NagPackSuppression</a>[]
1924
+
1925
+ A list of suppressions to apply to the stack.
1926
+
1927
+ ---
1928
+
1929
+ ###### `applyToNestedStacks`<sup>Optional</sup> <a name="applyToNestedStacks" id="cdk-nag.NagSuppressions.addStackSuppressions.parameter.applyToNestedStacks"></a>
1930
+
1931
+ - *Type:* boolean
1932
+
1933
+ Apply the suppressions to children stacks (default:false).
1934
+
1935
+ ---
1936
+
1937
+
1938
+
1939
+ ### NIST80053R4Checks <a name="NIST80053R4Checks" id="cdk-nag.NIST80053R4Checks"></a>
1940
+
1941
+ Check for NIST 800-53 rev 4 compliance.
1942
+
1943
+ Based on the NIST 800-53 rev 4 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-nist-800-53_rev_4.html
1944
+
1945
+ #### Initializers <a name="Initializers" id="cdk-nag.NIST80053R4Checks.Initializer"></a>
1946
+
1947
+ ```typescript
1948
+ import { NIST80053R4Checks } from 'cdk-nag'
1949
+
1950
+ new NIST80053R4Checks(props?: NagPackProps)
1951
+ ```
1952
+
1953
+ | **Name** | **Type** | **Description** |
1954
+ | --- | --- | --- |
1955
+ | <code><a href="#cdk-nag.NIST80053R4Checks.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-nag.NagPackProps">NagPackProps</a></code> | *No description.* |
1956
+
1957
+ ---
1958
+
1959
+ ##### `props`<sup>Optional</sup> <a name="props" id="cdk-nag.NIST80053R4Checks.Initializer.parameter.props"></a>
1960
+
1961
+ - *Type:* <a href="#cdk-nag.NagPackProps">NagPackProps</a>
1962
+
1963
+ ---
1964
+
1965
+ #### Methods <a name="Methods" id="Methods"></a>
1966
+
1967
+ | **Name** | **Description** |
1968
+ | --- | --- |
1969
+ | <code><a href="#cdk-nag.NIST80053R4Checks.visit">visit</a></code> | All aspects can visit an IConstruct. |
1970
+
1971
+ ---
1972
+
1973
+ ##### `visit` <a name="visit" id="cdk-nag.NIST80053R4Checks.visit"></a>
1974
+
1975
+ ```typescript
1976
+ public visit(node: IConstruct): void
1977
+ ```
1978
+
1979
+ All aspects can visit an IConstruct.
1980
+
1981
+ ###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.NIST80053R4Checks.visit.parameter.node"></a>
1982
+
1983
+ - *Type:* constructs.IConstruct
1984
+
1985
+ ---
1986
+
1987
+
1988
+ #### Properties <a name="Properties" id="Properties"></a>
1989
+
1990
+ | **Name** | **Type** | **Description** |
1991
+ | --- | --- | --- |
1992
+ | <code><a href="#cdk-nag.NIST80053R4Checks.property.readPackName">readPackName</a></code> | <code>string</code> | *No description.* |
1993
+
1994
+ ---
1995
+
1996
+ ##### `readPackName`<sup>Required</sup> <a name="readPackName" id="cdk-nag.NIST80053R4Checks.property.readPackName"></a>
1997
+
1998
+ ```typescript
1999
+ public readonly readPackName: string;
2000
+ ```
2001
+
2002
+ - *Type:* string
2003
+
2004
+ ---
2005
+
2006
+
2007
+ ### NIST80053R5Checks <a name="NIST80053R5Checks" id="cdk-nag.NIST80053R5Checks"></a>
2008
+
2009
+ Check for NIST 800-53 rev 5 compliance.
2010
+
2011
+ Based on the NIST 800-53 rev 5 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-nist-800-53_rev_5.html
2012
+
2013
+ #### Initializers <a name="Initializers" id="cdk-nag.NIST80053R5Checks.Initializer"></a>
2014
+
2015
+ ```typescript
2016
+ import { NIST80053R5Checks } from 'cdk-nag'
2017
+
2018
+ new NIST80053R5Checks(props?: NagPackProps)
2019
+ ```
2020
+
2021
+ | **Name** | **Type** | **Description** |
2022
+ | --- | --- | --- |
2023
+ | <code><a href="#cdk-nag.NIST80053R5Checks.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-nag.NagPackProps">NagPackProps</a></code> | *No description.* |
2024
+
2025
+ ---
2026
+
2027
+ ##### `props`<sup>Optional</sup> <a name="props" id="cdk-nag.NIST80053R5Checks.Initializer.parameter.props"></a>
2028
+
2029
+ - *Type:* <a href="#cdk-nag.NagPackProps">NagPackProps</a>
2030
+
2031
+ ---
2032
+
2033
+ #### Methods <a name="Methods" id="Methods"></a>
2034
+
2035
+ | **Name** | **Description** |
2036
+ | --- | --- |
2037
+ | <code><a href="#cdk-nag.NIST80053R5Checks.visit">visit</a></code> | All aspects can visit an IConstruct. |
2038
+
2039
+ ---
2040
+
2041
+ ##### `visit` <a name="visit" id="cdk-nag.NIST80053R5Checks.visit"></a>
2042
+
2043
+ ```typescript
2044
+ public visit(node: IConstruct): void
2045
+ ```
2046
+
2047
+ All aspects can visit an IConstruct.
2048
+
2049
+ ###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.NIST80053R5Checks.visit.parameter.node"></a>
2050
+
2051
+ - *Type:* constructs.IConstruct
2052
+
2053
+ ---
2054
+
2055
+
2056
+ #### Properties <a name="Properties" id="Properties"></a>
2057
+
2058
+ | **Name** | **Type** | **Description** |
2059
+ | --- | --- | --- |
2060
+ | <code><a href="#cdk-nag.NIST80053R5Checks.property.readPackName">readPackName</a></code> | <code>string</code> | *No description.* |
2061
+
2062
+ ---
2063
+
2064
+ ##### `readPackName`<sup>Required</sup> <a name="readPackName" id="cdk-nag.NIST80053R5Checks.property.readPackName"></a>
2065
+
2066
+ ```typescript
2067
+ public readonly readPackName: string;
2068
+ ```
2069
+
2070
+ - *Type:* string
2071
+
2072
+ ---
2073
+
2074
+
2075
+ ### PCIDSS321Checks <a name="PCIDSS321Checks" id="cdk-nag.PCIDSS321Checks"></a>
2076
+
2077
+ Check for PCI DSS 3.2.1 compliance. Based on the PCI DSS 3.2.1 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-pci-dss.html.
2078
+
2079
+ #### Initializers <a name="Initializers" id="cdk-nag.PCIDSS321Checks.Initializer"></a>
2080
+
2081
+ ```typescript
2082
+ import { PCIDSS321Checks } from 'cdk-nag'
2083
+
2084
+ new PCIDSS321Checks(props?: NagPackProps)
2085
+ ```
2086
+
2087
+ | **Name** | **Type** | **Description** |
2088
+ | --- | --- | --- |
2089
+ | <code><a href="#cdk-nag.PCIDSS321Checks.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-nag.NagPackProps">NagPackProps</a></code> | *No description.* |
2090
+
2091
+ ---
2092
+
2093
+ ##### `props`<sup>Optional</sup> <a name="props" id="cdk-nag.PCIDSS321Checks.Initializer.parameter.props"></a>
2094
+
2095
+ - *Type:* <a href="#cdk-nag.NagPackProps">NagPackProps</a>
2096
+
2097
+ ---
2098
+
2099
+ #### Methods <a name="Methods" id="Methods"></a>
2100
+
2101
+ | **Name** | **Description** |
2102
+ | --- | --- |
2103
+ | <code><a href="#cdk-nag.PCIDSS321Checks.visit">visit</a></code> | All aspects can visit an IConstruct. |
2104
+
2105
+ ---
2106
+
2107
+ ##### `visit` <a name="visit" id="cdk-nag.PCIDSS321Checks.visit"></a>
2108
+
2109
+ ```typescript
2110
+ public visit(node: IConstruct): void
2111
+ ```
2112
+
2113
+ All aspects can visit an IConstruct.
2114
+
2115
+ ###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.PCIDSS321Checks.visit.parameter.node"></a>
2116
+
2117
+ - *Type:* constructs.IConstruct
2118
+
2119
+ ---
2120
+
2121
+
2122
+ #### Properties <a name="Properties" id="Properties"></a>
2123
+
2124
+ | **Name** | **Type** | **Description** |
2125
+ | --- | --- | --- |
2126
+ | <code><a href="#cdk-nag.PCIDSS321Checks.property.readPackName">readPackName</a></code> | <code>string</code> | *No description.* |
2127
+
2128
+ ---
2129
+
2130
+ ##### `readPackName`<sup>Required</sup> <a name="readPackName" id="cdk-nag.PCIDSS321Checks.property.readPackName"></a>
2131
+
2132
+ ```typescript
2133
+ public readonly readPackName: string;
2134
+ ```
2135
+
2136
+ - *Type:* string
2137
+
2138
+ ---
2139
+
2140
+
2141
+ ### SuppressionIgnoreAlways <a name="SuppressionIgnoreAlways" id="cdk-nag.SuppressionIgnoreAlways"></a>
2142
+
2143
+ - *Implements:* <a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a>
2144
+
2145
+ Always ignore the suppression.
2146
+
2147
+ #### Initializers <a name="Initializers" id="cdk-nag.SuppressionIgnoreAlways.Initializer"></a>
2148
+
2149
+ ```typescript
2150
+ import { SuppressionIgnoreAlways } from 'cdk-nag'
2151
+
2152
+ new SuppressionIgnoreAlways(triggerMessage: string)
2153
+ ```
2154
+
2155
+ | **Name** | **Type** | **Description** |
2156
+ | --- | --- | --- |
2157
+ | <code><a href="#cdk-nag.SuppressionIgnoreAlways.Initializer.parameter.triggerMessage">triggerMessage</a></code> | <code>string</code> | *No description.* |
2158
+
2159
+ ---
2160
+
2161
+ ##### `triggerMessage`<sup>Required</sup> <a name="triggerMessage" id="cdk-nag.SuppressionIgnoreAlways.Initializer.parameter.triggerMessage"></a>
2162
+
2163
+ - *Type:* string
2164
+
2165
+ ---
2166
+
2167
+ #### Methods <a name="Methods" id="Methods"></a>
2168
+
2169
+ | **Name** | **Description** |
2170
+ | --- | --- |
2171
+ | <code><a href="#cdk-nag.SuppressionIgnoreAlways.createMessage">createMessage</a></code> | *No description.* |
2172
+
2173
+ ---
2174
+
2175
+ ##### `createMessage` <a name="createMessage" id="cdk-nag.SuppressionIgnoreAlways.createMessage"></a>
2176
+
2177
+ ```typescript
2178
+ public createMessage(_input: SuppressionIgnoreInput): string
2179
+ ```
2180
+
2181
+ ###### `_input`<sup>Required</sup> <a name="_input" id="cdk-nag.SuppressionIgnoreAlways.createMessage.parameter._input"></a>
2182
+
2183
+ - *Type:* <a href="#cdk-nag.SuppressionIgnoreInput">SuppressionIgnoreInput</a>
2184
+
2185
+ ---
2186
+
2187
+
2188
+
2189
+
2190
+ ### SuppressionIgnoreAnd <a name="SuppressionIgnoreAnd" id="cdk-nag.SuppressionIgnoreAnd"></a>
2191
+
2192
+ - *Implements:* <a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a>
2193
+
2194
+ Ignore the suppression if all of the given INagSuppressionIgnore return a non-empty message.
2195
+
2196
+ #### Initializers <a name="Initializers" id="cdk-nag.SuppressionIgnoreAnd.Initializer"></a>
2197
+
2198
+ ```typescript
2199
+ import { SuppressionIgnoreAnd } from 'cdk-nag'
2200
+
2201
+ new SuppressionIgnoreAnd(SuppressionIgnoreAnds: INagSuppressionIgnore)
2202
+ ```
2203
+
2204
+ | **Name** | **Type** | **Description** |
2205
+ | --- | --- | --- |
2206
+ | <code><a href="#cdk-nag.SuppressionIgnoreAnd.Initializer.parameter.SuppressionIgnoreAnds">SuppressionIgnoreAnds</a></code> | <code><a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a></code> | *No description.* |
2207
+
2208
+ ---
2209
+
2210
+ ##### `SuppressionIgnoreAnds`<sup>Required</sup> <a name="SuppressionIgnoreAnds" id="cdk-nag.SuppressionIgnoreAnd.Initializer.parameter.SuppressionIgnoreAnds"></a>
2211
+
2212
+ - *Type:* <a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a>
2213
+
2214
+ ---
2215
+
2216
+ #### Methods <a name="Methods" id="Methods"></a>
2217
+
2218
+ | **Name** | **Description** |
2219
+ | --- | --- |
2220
+ | <code><a href="#cdk-nag.SuppressionIgnoreAnd.createMessage">createMessage</a></code> | *No description.* |
2221
+
2222
+ ---
2223
+
2224
+ ##### `createMessage` <a name="createMessage" id="cdk-nag.SuppressionIgnoreAnd.createMessage"></a>
2225
+
2226
+ ```typescript
2227
+ public createMessage(input: SuppressionIgnoreInput): string
2228
+ ```
2229
+
2230
+ ###### `input`<sup>Required</sup> <a name="input" id="cdk-nag.SuppressionIgnoreAnd.createMessage.parameter.input"></a>
2231
+
2232
+ - *Type:* <a href="#cdk-nag.SuppressionIgnoreInput">SuppressionIgnoreInput</a>
2233
+
2234
+ ---
2235
+
2236
+
2237
+
2238
+
2239
+ ### SuppressionIgnoreErrors <a name="SuppressionIgnoreErrors" id="cdk-nag.SuppressionIgnoreErrors"></a>
2240
+
2241
+ - *Implements:* <a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a>
2242
+
2243
+ Ignore Suppressions for Rules with a NagMessageLevel.ERROR.
2244
+
2245
+ #### Initializers <a name="Initializers" id="cdk-nag.SuppressionIgnoreErrors.Initializer"></a>
2246
+
2247
+ ```typescript
2248
+ import { SuppressionIgnoreErrors } from 'cdk-nag'
2249
+
2250
+ new SuppressionIgnoreErrors()
2251
+ ```
2252
+
2253
+ | **Name** | **Type** | **Description** |
2254
+ | --- | --- | --- |
2255
+
2256
+ ---
2257
+
2258
+ #### Methods <a name="Methods" id="Methods"></a>
2259
+
2260
+ | **Name** | **Description** |
2261
+ | --- | --- |
2262
+ | <code><a href="#cdk-nag.SuppressionIgnoreErrors.createMessage">createMessage</a></code> | *No description.* |
2263
+
2264
+ ---
2265
+
2266
+ ##### `createMessage` <a name="createMessage" id="cdk-nag.SuppressionIgnoreErrors.createMessage"></a>
2267
+
2268
+ ```typescript
2269
+ public createMessage(input: SuppressionIgnoreInput): string
2270
+ ```
2271
+
2272
+ ###### `input`<sup>Required</sup> <a name="input" id="cdk-nag.SuppressionIgnoreErrors.createMessage.parameter.input"></a>
2273
+
2274
+ - *Type:* <a href="#cdk-nag.SuppressionIgnoreInput">SuppressionIgnoreInput</a>
2275
+
2276
+ ---
2277
+
2278
+
2279
+
2280
+
2281
+ ### SuppressionIgnoreNever <a name="SuppressionIgnoreNever" id="cdk-nag.SuppressionIgnoreNever"></a>
2282
+
2283
+ - *Implements:* <a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a>
2284
+
2285
+ Don't ignore the suppression.
2286
+
2287
+ #### Initializers <a name="Initializers" id="cdk-nag.SuppressionIgnoreNever.Initializer"></a>
2288
+
2289
+ ```typescript
2290
+ import { SuppressionIgnoreNever } from 'cdk-nag'
2291
+
2292
+ new SuppressionIgnoreNever()
2293
+ ```
2294
+
2295
+ | **Name** | **Type** | **Description** |
2296
+ | --- | --- | --- |
2297
+
2298
+ ---
2299
+
2300
+ #### Methods <a name="Methods" id="Methods"></a>
2301
+
2302
+ | **Name** | **Description** |
2303
+ | --- | --- |
2304
+ | <code><a href="#cdk-nag.SuppressionIgnoreNever.createMessage">createMessage</a></code> | *No description.* |
2305
+
2306
+ ---
2307
+
2308
+ ##### `createMessage` <a name="createMessage" id="cdk-nag.SuppressionIgnoreNever.createMessage"></a>
2309
+
2310
+ ```typescript
2311
+ public createMessage(_input: SuppressionIgnoreInput): string
2312
+ ```
2313
+
2314
+ ###### `_input`<sup>Required</sup> <a name="_input" id="cdk-nag.SuppressionIgnoreNever.createMessage.parameter._input"></a>
2315
+
2316
+ - *Type:* <a href="#cdk-nag.SuppressionIgnoreInput">SuppressionIgnoreInput</a>
2317
+
2318
+ ---
2319
+
2320
+
2321
+
2322
+
2323
+ ### SuppressionIgnoreOr <a name="SuppressionIgnoreOr" id="cdk-nag.SuppressionIgnoreOr"></a>
2324
+
2325
+ - *Implements:* <a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a>
2326
+
2327
+ Ignore the suppression if any of the given INagSuppressionIgnore return a non-empty message.
2328
+
2329
+ #### Initializers <a name="Initializers" id="cdk-nag.SuppressionIgnoreOr.Initializer"></a>
2330
+
2331
+ ```typescript
2332
+ import { SuppressionIgnoreOr } from 'cdk-nag'
2333
+
2334
+ new SuppressionIgnoreOr(orSuppressionIgnores: INagSuppressionIgnore)
2335
+ ```
2336
+
2337
+ | **Name** | **Type** | **Description** |
2338
+ | --- | --- | --- |
2339
+ | <code><a href="#cdk-nag.SuppressionIgnoreOr.Initializer.parameter.orSuppressionIgnores">orSuppressionIgnores</a></code> | <code><a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a></code> | *No description.* |
2340
+
2341
+ ---
2342
+
2343
+ ##### `orSuppressionIgnores`<sup>Required</sup> <a name="orSuppressionIgnores" id="cdk-nag.SuppressionIgnoreOr.Initializer.parameter.orSuppressionIgnores"></a>
2344
+
2345
+ - *Type:* <a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a>
2346
+
2347
+ ---
2348
+
2349
+ #### Methods <a name="Methods" id="Methods"></a>
2350
+
2351
+ | **Name** | **Description** |
2352
+ | --- | --- |
2353
+ | <code><a href="#cdk-nag.SuppressionIgnoreOr.createMessage">createMessage</a></code> | *No description.* |
2354
+
2355
+ ---
2356
+
2357
+ ##### `createMessage` <a name="createMessage" id="cdk-nag.SuppressionIgnoreOr.createMessage"></a>
2358
+
2359
+ ```typescript
2360
+ public createMessage(input: SuppressionIgnoreInput): string
2361
+ ```
2362
+
2363
+ ###### `input`<sup>Required</sup> <a name="input" id="cdk-nag.SuppressionIgnoreOr.createMessage.parameter.input"></a>
2364
+
2365
+ - *Type:* <a href="#cdk-nag.SuppressionIgnoreInput">SuppressionIgnoreInput</a>
2366
+
2367
+ ---
2368
+
2369
+
2370
+
2371
+
2372
+ ## Protocols <a name="Protocols" id="Protocols"></a>
2373
+
2374
+ ### IApplyRule <a name="IApplyRule" id="cdk-nag.IApplyRule"></a>
2375
+
2376
+ - *Implemented By:* <a href="#cdk-nag.IApplyRule">IApplyRule</a>
2377
+
2378
+ Interface for JSII interoperability for passing parameters and the Rule Callback to @applyRule method.
2379
+
2380
+ #### Methods <a name="Methods" id="Methods"></a>
2381
+
2382
+ | **Name** | **Description** |
2383
+ | --- | --- |
2384
+ | <code><a href="#cdk-nag.IApplyRule.rule">rule</a></code> | The callback to the rule. |
2385
+
2386
+ ---
2387
+
2388
+ ##### `rule` <a name="rule" id="cdk-nag.IApplyRule.rule"></a>
2389
+
2390
+ ```typescript
2391
+ public rule(node: CfnResource): NagRuleCompliance | string[]
2392
+ ```
2393
+
2394
+ The callback to the rule.
2395
+
2396
+ ###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.IApplyRule.rule.parameter.node"></a>
2397
+
2398
+ - *Type:* aws-cdk-lib.CfnResource
2399
+
2400
+ The CfnResource to check.
2401
+
2402
+ ---
2403
+
2404
+ #### Properties <a name="Properties" id="Properties"></a>
2405
+
2406
+ | **Name** | **Type** | **Description** |
2407
+ | --- | --- | --- |
2408
+ | <code><a href="#cdk-nag.IApplyRule.property.explanation">explanation</a></code> | <code>string</code> | Why the rule exists. |
2409
+ | <code><a href="#cdk-nag.IApplyRule.property.info">info</a></code> | <code>string</code> | Why the rule was triggered. |
2410
+ | <code><a href="#cdk-nag.IApplyRule.property.level">level</a></code> | <code><a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a></code> | The annotations message level to apply to the rule if triggered. |
2411
+ | <code><a href="#cdk-nag.IApplyRule.property.node">node</a></code> | <code>aws-cdk-lib.CfnResource</code> | The CfnResource to check. |
2412
+ | <code><a href="#cdk-nag.IApplyRule.property.ignoreSuppressionCondition">ignoreSuppressionCondition</a></code> | <code><a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a></code> | A condition in which a suppression should be ignored. |
2413
+ | <code><a href="#cdk-nag.IApplyRule.property.ruleSuffixOverride">ruleSuffixOverride</a></code> | <code>string</code> | Override for the suffix of the Rule ID for this rule. |
2414
+
2415
+ ---
2416
+
2417
+ ##### `explanation`<sup>Required</sup> <a name="explanation" id="cdk-nag.IApplyRule.property.explanation"></a>
2418
+
2419
+ ```typescript
2420
+ public readonly explanation: string;
2421
+ ```
2422
+
2423
+ - *Type:* string
2424
+
2425
+ Why the rule exists.
2426
+
2427
+ ---
2428
+
2429
+ ##### `info`<sup>Required</sup> <a name="info" id="cdk-nag.IApplyRule.property.info"></a>
2430
+
2431
+ ```typescript
2432
+ public readonly info: string;
2433
+ ```
2434
+
2435
+ - *Type:* string
2436
+
2437
+ Why the rule was triggered.
2438
+
2439
+ ---
2440
+
2441
+ ##### `level`<sup>Required</sup> <a name="level" id="cdk-nag.IApplyRule.property.level"></a>
2442
+
2443
+ ```typescript
2444
+ public readonly level: NagMessageLevel;
2445
+ ```
2446
+
2447
+ - *Type:* <a href="#cdk-nag.NagMessageLevel">NagMessageLevel</a>
2448
+
2449
+ The annotations message level to apply to the rule if triggered.
2450
+
2451
+ ---
2452
+
2453
+ ##### `node`<sup>Required</sup> <a name="node" id="cdk-nag.IApplyRule.property.node"></a>
2454
+
2455
+ ```typescript
2456
+ public readonly node: CfnResource;
2457
+ ```
2458
+
2459
+ - *Type:* aws-cdk-lib.CfnResource
2460
+
2461
+ The CfnResource to check.
2462
+
2463
+ ---
2464
+
2465
+ ##### `ignoreSuppressionCondition`<sup>Optional</sup> <a name="ignoreSuppressionCondition" id="cdk-nag.IApplyRule.property.ignoreSuppressionCondition"></a>
2466
+
2467
+ ```typescript
2468
+ public readonly ignoreSuppressionCondition: INagSuppressionIgnore;
2469
+ ```
2470
+
2471
+ - *Type:* <a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a>
2472
+
2473
+ A condition in which a suppression should be ignored.
2474
+
2475
+ ---
2476
+
2477
+ ##### `ruleSuffixOverride`<sup>Optional</sup> <a name="ruleSuffixOverride" id="cdk-nag.IApplyRule.property.ruleSuffixOverride"></a>
2478
+
2479
+ ```typescript
2480
+ public readonly ruleSuffixOverride: string;
2481
+ ```
2482
+
2483
+ - *Type:* string
2484
+
2485
+ Override for the suffix of the Rule ID for this rule.
2486
+
2487
+ ---
2488
+
2489
+ ### INagLogger <a name="INagLogger" id="cdk-nag.INagLogger"></a>
2490
+
2491
+ - *Implemented By:* <a href="#cdk-nag.AnnotationLogger">AnnotationLogger</a>, <a href="#cdk-nag.NagReportLogger">NagReportLogger</a>, <a href="#cdk-nag.INagLogger">INagLogger</a>
2492
+
2493
+ Interface for creating NagSuppression Ignores.
2494
+
2495
+ #### Methods <a name="Methods" id="Methods"></a>
2496
+
2497
+ | **Name** | **Description** |
2498
+ | --- | --- |
2499
+ | <code><a href="#cdk-nag.INagLogger.onCompliance">onCompliance</a></code> | Called when a CfnResource passes the compliance check for a given rule. |
2500
+ | <code><a href="#cdk-nag.INagLogger.onError">onError</a></code> | Called when a rule throws an error during while validating a CfnResource for compliance. |
2501
+ | <code><a href="#cdk-nag.INagLogger.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. |
2502
+ | <code><a href="#cdk-nag.INagLogger.onNotApplicable">onNotApplicable</a></code> | Called when a rule does not apply to the given CfnResource. |
2503
+ | <code><a href="#cdk-nag.INagLogger.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. |
2504
+ | <code><a href="#cdk-nag.INagLogger.onSuppressedError">onSuppressedError</a></code> | Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed. |
2505
+
2506
+ ---
2507
+
2508
+ ##### `onCompliance` <a name="onCompliance" id="cdk-nag.INagLogger.onCompliance"></a>
2509
+
2510
+ ```typescript
2511
+ public onCompliance(data: NagLoggerComplianceData): void
2512
+ ```
2513
+
2514
+ Called when a CfnResource passes the compliance check for a given rule.
2515
+
2516
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.INagLogger.onCompliance.parameter.data"></a>
2517
+
2518
+ - *Type:* <a href="#cdk-nag.NagLoggerComplianceData">NagLoggerComplianceData</a>
2519
+
2520
+ ---
2521
+
2522
+ ##### `onError` <a name="onError" id="cdk-nag.INagLogger.onError"></a>
2523
+
2524
+ ```typescript
2525
+ public onError(data: NagLoggerErrorData): void
2526
+ ```
2527
+
2528
+ Called when a rule throws an error during while validating a CfnResource for compliance.
2529
+
2530
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.INagLogger.onError.parameter.data"></a>
2531
+
2532
+ - *Type:* <a href="#cdk-nag.NagLoggerErrorData">NagLoggerErrorData</a>
2533
+
2534
+ ---
2535
+
2536
+ ##### `onNonCompliance` <a name="onNonCompliance" id="cdk-nag.INagLogger.onNonCompliance"></a>
2537
+
2538
+ ```typescript
2539
+ public onNonCompliance(data: NagLoggerNonComplianceData): void
2540
+ ```
2541
+
2542
+ 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.
2543
+
2544
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.INagLogger.onNonCompliance.parameter.data"></a>
2545
+
2546
+ - *Type:* <a href="#cdk-nag.NagLoggerNonComplianceData">NagLoggerNonComplianceData</a>
2547
+
2548
+ ---
2549
+
2550
+ ##### `onNotApplicable` <a name="onNotApplicable" id="cdk-nag.INagLogger.onNotApplicable"></a>
2551
+
2552
+ ```typescript
2553
+ public onNotApplicable(data: NagLoggerNotApplicableData): void
2554
+ ```
2555
+
2556
+ Called when a rule does not apply to the given CfnResource.
2557
+
2558
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.INagLogger.onNotApplicable.parameter.data"></a>
2559
+
2560
+ - *Type:* <a href="#cdk-nag.NagLoggerNotApplicableData">NagLoggerNotApplicableData</a>
2561
+
2562
+ ---
2563
+
2564
+ ##### `onSuppressed` <a name="onSuppressed" id="cdk-nag.INagLogger.onSuppressed"></a>
2565
+
2566
+ ```typescript
2567
+ public onSuppressed(data: NagLoggerSuppressedData): void
2568
+ ```
2569
+
2570
+ Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user.
2571
+
2572
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.INagLogger.onSuppressed.parameter.data"></a>
2573
+
2574
+ - *Type:* <a href="#cdk-nag.NagLoggerSuppressedData">NagLoggerSuppressedData</a>
2575
+
2576
+ ---
2577
+
2578
+ ##### `onSuppressedError` <a name="onSuppressedError" id="cdk-nag.INagLogger.onSuppressedError"></a>
2579
+
2580
+ ```typescript
2581
+ public onSuppressedError(data: NagLoggerSuppressedErrorData): void
2582
+ ```
2583
+
2584
+ Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed.
2585
+
2586
+ ###### `data`<sup>Required</sup> <a name="data" id="cdk-nag.INagLogger.onSuppressedError.parameter.data"></a>
2587
+
2588
+ - *Type:* <a href="#cdk-nag.NagLoggerSuppressedErrorData">NagLoggerSuppressedErrorData</a>
2589
+
2590
+ ---
2591
+
2592
+
2593
+ ### INagSuppressionIgnore <a name="INagSuppressionIgnore" id="cdk-nag.INagSuppressionIgnore"></a>
2594
+
2595
+ - *Implemented By:* <a href="#cdk-nag.SuppressionIgnoreAlways">SuppressionIgnoreAlways</a>, <a href="#cdk-nag.SuppressionIgnoreAnd">SuppressionIgnoreAnd</a>, <a href="#cdk-nag.SuppressionIgnoreErrors">SuppressionIgnoreErrors</a>, <a href="#cdk-nag.SuppressionIgnoreNever">SuppressionIgnoreNever</a>, <a href="#cdk-nag.SuppressionIgnoreOr">SuppressionIgnoreOr</a>, <a href="#cdk-nag.INagSuppressionIgnore">INagSuppressionIgnore</a>
2596
+
2597
+ Interface for creating NagSuppression Ignores.
2598
+
2599
+ #### Methods <a name="Methods" id="Methods"></a>
2600
+
2601
+ | **Name** | **Description** |
2602
+ | --- | --- |
2603
+ | <code><a href="#cdk-nag.INagSuppressionIgnore.createMessage">createMessage</a></code> | *No description.* |
2604
+
2605
+ ---
2606
+
2607
+ ##### `createMessage` <a name="createMessage" id="cdk-nag.INagSuppressionIgnore.createMessage"></a>
2608
+
2609
+ ```typescript
2610
+ public createMessage(input: SuppressionIgnoreInput): string
2611
+ ```
2612
+
2613
+ ###### `input`<sup>Required</sup> <a name="input" id="cdk-nag.INagSuppressionIgnore.createMessage.parameter.input"></a>
2614
+
2615
+ - *Type:* <a href="#cdk-nag.SuppressionIgnoreInput">SuppressionIgnoreInput</a>
2616
+
2617
+ ---
2618
+
2619
+
2620
+ ## Enums <a name="Enums" id="Enums"></a>
2621
+
2622
+ ### NagMessageLevel <a name="NagMessageLevel" id="cdk-nag.NagMessageLevel"></a>
2623
+
2624
+ The severity level of the rule.
2625
+
2626
+ #### Members <a name="Members" id="Members"></a>
2627
+
2628
+ | **Name** | **Description** |
2629
+ | --- | --- |
2630
+ | <code><a href="#cdk-nag.NagMessageLevel.WARN">WARN</a></code> | *No description.* |
2631
+ | <code><a href="#cdk-nag.NagMessageLevel.ERROR">ERROR</a></code> | *No description.* |
2632
+
2633
+ ---
2634
+
2635
+ ##### `WARN` <a name="WARN" id="cdk-nag.NagMessageLevel.WARN"></a>
2636
+
2637
+ ---
2638
+
2639
+
2640
+ ##### `ERROR` <a name="ERROR" id="cdk-nag.NagMessageLevel.ERROR"></a>
2641
+
2642
+ ---
2643
+
2644
+
2645
+ ### NagReportFormat <a name="NagReportFormat" id="cdk-nag.NagReportFormat"></a>
2646
+
2647
+ Possible output formats of the NagReport.
2648
+
2649
+ #### Members <a name="Members" id="Members"></a>
2650
+
2651
+ | **Name** | **Description** |
2652
+ | --- | --- |
2653
+ | <code><a href="#cdk-nag.NagReportFormat.CSV">CSV</a></code> | *No description.* |
2654
+ | <code><a href="#cdk-nag.NagReportFormat.JSON">JSON</a></code> | *No description.* |
2655
+
2656
+ ---
2657
+
2658
+ ##### `CSV` <a name="CSV" id="cdk-nag.NagReportFormat.CSV"></a>
2659
+
2660
+ ---
2661
+
2662
+
2663
+ ##### `JSON` <a name="JSON" id="cdk-nag.NagReportFormat.JSON"></a>
2664
+
2665
+ ---
2666
+
2667
+
2668
+ ### NagRuleCompliance <a name="NagRuleCompliance" id="cdk-nag.NagRuleCompliance"></a>
2669
+
2670
+ The compliance level of a resource in relation to a rule.
2671
+
2672
+ #### Members <a name="Members" id="Members"></a>
2673
+
2674
+ | **Name** | **Description** |
2675
+ | --- | --- |
2676
+ | <code><a href="#cdk-nag.NagRuleCompliance.COMPLIANT">COMPLIANT</a></code> | *No description.* |
2677
+ | <code><a href="#cdk-nag.NagRuleCompliance.NON_COMPLIANT">NON_COMPLIANT</a></code> | *No description.* |
2678
+ | <code><a href="#cdk-nag.NagRuleCompliance.NOT_APPLICABLE">NOT_APPLICABLE</a></code> | *No description.* |
2679
+
2680
+ ---
2681
+
2682
+ ##### `COMPLIANT` <a name="COMPLIANT" id="cdk-nag.NagRuleCompliance.COMPLIANT"></a>
2683
+
2684
+ ---
2685
+
2686
+
2687
+ ##### `NON_COMPLIANT` <a name="NON_COMPLIANT" id="cdk-nag.NagRuleCompliance.NON_COMPLIANT"></a>
2688
+
2689
+ ---
2690
+
2691
+
2692
+ ##### `NOT_APPLICABLE` <a name="NOT_APPLICABLE" id="cdk-nag.NagRuleCompliance.NOT_APPLICABLE"></a>
2693
+
2694
+ ---
2695
+
2696
+
2697
+ ### NagRulePostValidationStates <a name="NagRulePostValidationStates" id="cdk-nag.NagRulePostValidationStates"></a>
2698
+
2699
+ Additional states a rule can be in post compliance validation.
2700
+
2701
+ #### Members <a name="Members" id="Members"></a>
2702
+
2703
+ | **Name** | **Description** |
2704
+ | --- | --- |
2705
+ | <code><a href="#cdk-nag.NagRulePostValidationStates.SUPPRESSED">SUPPRESSED</a></code> | *No description.* |
2706
+ | <code><a href="#cdk-nag.NagRulePostValidationStates.UNKNOWN">UNKNOWN</a></code> | *No description.* |
2707
+
2708
+ ---
2709
+
2710
+ ##### `SUPPRESSED` <a name="SUPPRESSED" id="cdk-nag.NagRulePostValidationStates.SUPPRESSED"></a>
2711
+
2712
+ ---
1567
2713
 
1568
- Additional states a rule can be in post compliance validation.
1569
2714
 
1570
- Name | Description
1571
- -----|-----
1572
- **SUPPRESSED** |
1573
- **UNKNOWN** |
2715
+ ##### `UNKNOWN` <a name="UNKNOWN" id="cdk-nag.NagRulePostValidationStates.UNKNOWN"></a>
1574
2716
 
2717
+ ---
1575
2718