software.aws.awsprototypingsdk.pipeline.SonarCodeScanner Maven / Gradle / Ivy
package software.aws.awsprototypingsdk.pipeline;
/**
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.74.0 (build 6d08790)", date = "2023-02-28T00:38:33.230Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = software.aws.awsprototypingsdk.$Module.class, fqn = "aws-prototyping-sdk.pipeline.SonarCodeScanner")
public class SonarCodeScanner extends software.constructs.Construct {
protected SonarCodeScanner(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected SonarCodeScanner(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param scope This parameter is required.
* @param id This parameter is required.
* @param props This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public SonarCodeScanner(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull software.aws.awsprototypingsdk.pipeline.SonarCodeScannerProps props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required") });
}
/**
* A fluent builder for {@link software.aws.awsprototypingsdk.pipeline.SonarCodeScanner}.
*/
@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}.
* @param scope This parameter is required.
* @param id This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static Builder create(final software.constructs.Construct scope, final java.lang.String id) {
return new Builder(scope, id);
}
private final software.constructs.Construct scope;
private final java.lang.String id;
private final software.aws.awsprototypingsdk.pipeline.SonarCodeScannerProps.Builder props;
private Builder(final software.constructs.Construct scope, final java.lang.String id) {
this.scope = scope;
this.id = id;
this.props = new software.aws.awsprototypingsdk.pipeline.SonarCodeScannerProps.Builder();
}
/**
* Group name in Sonarqube with access to administer this project.
*
* @return {@code this}
* @param sonarqubeAuthorizedGroup Group name in Sonarqube with access to administer this project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder sonarqubeAuthorizedGroup(final java.lang.String sonarqubeAuthorizedGroup) {
this.props.sonarqubeAuthorizedGroup(sonarqubeAuthorizedGroup);
return this;
}
/**
* Default profile/gate name i.e: your org profile.
*
* Note: These need to be set up in Sonarqube manually.
*
* @return {@code this}
* @param sonarqubeDefaultProfileOrGateName Default profile/gate name i.e: your org profile. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder sonarqubeDefaultProfileOrGateName(final java.lang.String sonarqubeDefaultProfileOrGateName) {
this.props.sonarqubeDefaultProfileOrGateName(sonarqubeDefaultProfileOrGateName);
return this;
}
/**
* endpoint of the sonarqube instance i.e: https://.
*
* Note: Ensure a trailing '/' is not included.
*
* @return {@code this}
* @param sonarqubeEndpoint endpoint of the sonarqube instance i.e: https://. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder sonarqubeEndpoint(final java.lang.String sonarqubeEndpoint) {
this.props.sonarqubeEndpoint(sonarqubeEndpoint);
return this;
}
/**
* Name of the project to create in Sonarqube.
*
* @return {@code this}
* @param sonarqubeProjectName Name of the project to create in Sonarqube. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder sonarqubeProjectName(final java.lang.String sonarqubeProjectName) {
this.props.sonarqubeProjectName(sonarqubeProjectName);
return this;
}
/**
* directory containing the synthesized cdk resources.
*
* @return {@code this}
* @param cdkOutDir directory containing the synthesized cdk resources. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder cdkOutDir(final java.lang.String cdkOutDir) {
this.props.cdkOutDir(cdkOutDir);
return this;
}
/**
* path to a file containing the cfn nag suppression rules.
*
* @return {@code this}
* @param cfnNagIgnorePath path to a file containing the cfn nag suppression rules. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder cfnNagIgnorePath(final java.lang.String cfnNagIgnorePath) {
this.props.cfnNagIgnorePath(cfnNagIgnorePath);
return this;
}
/**
* glob patterns to exclude from sonar scan.
*
* @return {@code this}
* @param excludeGlobsForScan glob patterns to exclude from sonar scan. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder excludeGlobsForScan(final java.util.List excludeGlobsForScan) {
this.props.excludeGlobsForScan(excludeGlobsForScan);
return this;
}
/**
* glob patterns to include from sonar scan.
*
* @return {@code this}
* @param includeGlobsForScan glob patterns to include from sonar scan. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder includeGlobsForScan(final java.util.List includeGlobsForScan) {
this.props.includeGlobsForScan(includeGlobsForScan);
return this;
}
/**
* Hook which allows custom commands to be executed before the process commences the archival process.
*
* @return {@code this}
* @param preArchiveCommands Hook which allows custom commands to be executed before the process commences the archival process. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder preArchiveCommands(final java.util.List preArchiveCommands) {
this.props.preArchiveCommands(preArchiveCommands);
return this;
}
/**
* Specific profile/gate name i.e: language specific.
*
* Note: These need to be set up in Sonarqube manually.
*
* @return {@code this}
* @param sonarqubeSpecificProfileOrGateName Specific profile/gate name i.e: language specific. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder sonarqubeSpecificProfileOrGateName(final java.lang.String sonarqubeSpecificProfileOrGateName) {
this.props.sonarqubeSpecificProfileOrGateName(sonarqubeSpecificProfileOrGateName);
return this;
}
/**
* Tags to associate with this project.
*
* @return {@code this}
* @param sonarqubeTags Tags to associate with this project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder sonarqubeTags(final java.util.List sonarqubeTags) {
this.props.sonarqubeTags(sonarqubeTags);
return this;
}
/**
* S3 bucket ARN containing the built artifacts from the synth build.
*
* @return {@code this}
* @param artifactBucketArn S3 bucket ARN containing the built artifacts from the synth build. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder artifactBucketArn(final java.lang.String artifactBucketArn) {
this.props.artifactBucketArn(artifactBucketArn);
return this;
}
/**
* ARN for the CodeBuild task responsible for executing the synth command.
*
* @return {@code this}
* @param synthBuildArn ARN for the CodeBuild task responsible for executing the synth command. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder synthBuildArn(final java.lang.String synthBuildArn) {
this.props.synthBuildArn(synthBuildArn);
return this;
}
/**
* Artifact bucket key ARN used to encrypt the artifacts.
*
* @return {@code this}
* @param artifactBucketKeyArn Artifact bucket key ARN used to encrypt the artifacts. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder artifactBucketKeyArn(final java.lang.String artifactBucketKeyArn) {
this.props.artifactBucketKeyArn(artifactBucketKeyArn);
return this;
}
/**
* @returns a newly built instance of {@link software.aws.awsprototypingsdk.pipeline.SonarCodeScanner}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public software.aws.awsprototypingsdk.pipeline.SonarCodeScanner build() {
return new software.aws.awsprototypingsdk.pipeline.SonarCodeScanner(
this.scope,
this.id,
this.props.build()
);
}
}
}