io.github.cdklabs.cdknag.NIST80053R4Checks Maven / Gradle / Ivy
Show all versions of cdknag Show documentation
package io.github.cdklabs.cdknag;
/**
* Check for NIST 800-53 rev 4 compliance.
*
* 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
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.102.0 (build e354887)", date = "2024-08-22T00:13:27.101Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = io.github.cdklabs.cdknag.$Module.class, fqn = "cdk-nag.NIST80053R4Checks")
public class NIST80053R4Checks extends io.github.cdklabs.cdknag.NagPack {
protected NIST80053R4Checks(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected NIST80053R4Checks(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param props
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public NIST80053R4Checks(final @org.jetbrains.annotations.Nullable io.github.cdklabs.cdknag.NagPackProps props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { props });
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public NIST80053R4Checks() {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this);
}
/**
* All aspects can visit an IConstruct.
*
* @param node This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public void visit(final @org.jetbrains.annotations.NotNull software.constructs.IConstruct node) {
software.amazon.jsii.Kernel.call(this, "visit", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(node, "node is required") });
}
/**
* A fluent builder for {@link io.github.cdklabs.cdknag.NIST80053R4Checks}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static Builder create() {
return new Builder();
}
private io.github.cdklabs.cdknag.NagPackProps.Builder props;
private Builder() {
}
/**
* Additional NagLoggers for logging rule validation outputs.
*
* @return {@code this}
* @param additionalLoggers Additional NagLoggers for logging rule validation outputs. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder additionalLoggers(final java.util.List extends io.github.cdklabs.cdknag.INagLogger> additionalLoggers) {
this.props().additionalLoggers(additionalLoggers);
return this;
}
/**
* Whether or not to log suppressed rule violations as informational messages (default: false).
*
* @return {@code this}
* @param logIgnores Whether or not to log suppressed rule violations as informational messages (default: false). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder logIgnores(final java.lang.Boolean logIgnores) {
this.props().logIgnores(logIgnores);
return this;
}
/**
* If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV).
*
* @return {@code this}
* @param reportFormats If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder reportFormats(final java.util.List extends io.github.cdklabs.cdknag.NagReportFormat> reportFormats) {
this.props().reportFormats(reportFormats);
return this;
}
/**
* Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true).
*
* @return {@code this}
* @param reports Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder reports(final java.lang.Boolean reports) {
this.props().reports(reports);
return this;
}
/**
* Conditionally prevent rules from being suppressed (default: no user provided condition).
*
* @return {@code this}
* @param suppressionIgnoreCondition Conditionally prevent rules from being suppressed (default: no user provided condition). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder suppressionIgnoreCondition(final io.github.cdklabs.cdknag.INagSuppressionIgnore suppressionIgnoreCondition) {
this.props().suppressionIgnoreCondition(suppressionIgnoreCondition);
return this;
}
/**
* Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false).
*
* @return {@code this}
* @param verbose Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder verbose(final java.lang.Boolean verbose) {
this.props().verbose(verbose);
return this;
}
/**
* @return a newly built instance of {@link io.github.cdklabs.cdknag.NIST80053R4Checks}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public io.github.cdklabs.cdknag.NIST80053R4Checks build() {
return new io.github.cdklabs.cdknag.NIST80053R4Checks(
this.props != null ? this.props.build() : null
);
}
private io.github.cdklabs.cdknag.NagPackProps.Builder props() {
if (this.props == null) {
this.props = new io.github.cdklabs.cdknag.NagPackProps.Builder();
}
return this.props;
}
}
}