All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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() ); } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy