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

software.aws.awsprototypingsdk.pipeline.PDKPipelineProps Maven / Gradle / Ivy

The newest version!
package software.aws.awsprototypingsdk.pipeline;

/**
 * Properties to configure the PDKPipeline.
 * 

* Note: Due to limitations with JSII and generic support it should be noted that * the synth, synthShellStepPartialProps.input and * synthShellStepPartialProps.primaryOutputDirectory properties will be ignored * if passed in to this construct. *

* synthShellStepPartialProps.commands is marked as a required field, however * if you pass in [] the default commands of this construct will be retained. */ @javax.annotation.Generated(value = "jsii-pacmak/1.74.0 (build 6d08790)", date = "2023-02-28T00:38:33.168Z") @software.amazon.jsii.Jsii(module = software.aws.awsprototypingsdk.$Module.class, fqn = "aws-prototyping-sdk.pipeline.PDKPipelineProps") @software.amazon.jsii.Jsii.Proxy(PDKPipelineProps.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public interface PDKPipelineProps extends software.amazon.jsii.JsiiSerializable, software.amazon.awscdk.pipelines.CodePipelineProps { /** * Output directory for cdk synthesized artifacts i.e: packages/infra/cdk.out. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getPrimarySynthDirectory(); /** * Name of the CodeCommit repository to create. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getRepositoryName(); /** * Possible values for a resource's Removal Policy The removal policy controls what happens to the resource if it stops being managed by CloudFormation. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.RemovalPolicy getCodeCommitRemovalPolicy() { return null; } /** * Branch to trigger the pipeline execution. *

* Default: mainline */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getDefaultBranchName() { return null; } /** * Configuration for enabling Sonarqube code scanning on a successful synth. *

* Default: undefined */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.aws.awsprototypingsdk.pipeline.SonarCodeScannerConfig getSonarCodeScannerConfig() { return null; } /** * PDKPipeline by default assumes a NX Monorepo structure for it's codebase and uses sane defaults for the install and run commands. *

* To override these defaults * and/or provide additional inputs, specify env settings, etc you can provide * a partial ShellStepProps. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.pipelines.ShellStepProps getSynthShellStepPartialProps() { return null; } /** * @return a {@link Builder} of {@link PDKPipelineProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link PDKPipelineProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String primarySynthDirectory; java.lang.String repositoryName; software.amazon.awscdk.RemovalPolicy codeCommitRemovalPolicy; java.lang.String defaultBranchName; software.aws.awsprototypingsdk.pipeline.SonarCodeScannerConfig sonarCodeScannerConfig; software.amazon.awscdk.pipelines.ShellStepProps synthShellStepPartialProps; software.amazon.awscdk.pipelines.IFileSetProducer synth; software.amazon.awscdk.pipelines.CodeBuildOptions assetPublishingCodeBuildDefaults; java.lang.String cliVersion; software.amazon.awscdk.pipelines.CodeBuildOptions codeBuildDefaults; software.amazon.awscdk.services.codepipeline.Pipeline codePipeline; java.lang.Boolean crossAccountKeys; java.util.List dockerCredentials; java.lang.Boolean dockerEnabledForSelfMutation; java.lang.Boolean dockerEnabledForSynth; java.lang.Boolean enableKeyRotation; java.lang.String pipelineName; java.lang.Boolean publishAssetsInParallel; java.lang.Boolean reuseCrossRegionSupportStacks; software.amazon.awscdk.services.iam.IRole role; java.lang.Boolean selfMutation; software.amazon.awscdk.pipelines.CodeBuildOptions selfMutationCodeBuildDefaults; software.amazon.awscdk.pipelines.CodeBuildOptions synthCodeBuildDefaults; java.lang.Boolean useChangeSets; /** * Sets the value of {@link PDKPipelineProps#getPrimarySynthDirectory} * @param primarySynthDirectory Output directory for cdk synthesized artifacts i.e: packages/infra/cdk.out. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder primarySynthDirectory(java.lang.String primarySynthDirectory) { this.primarySynthDirectory = primarySynthDirectory; return this; } /** * Sets the value of {@link PDKPipelineProps#getRepositoryName} * @param repositoryName Name of the CodeCommit repository to create. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder repositoryName(java.lang.String repositoryName) { this.repositoryName = repositoryName; return this; } /** * Sets the value of {@link PDKPipelineProps#getCodeCommitRemovalPolicy} * @param codeCommitRemovalPolicy Possible values for a resource's Removal Policy The removal policy controls what happens to the resource if it stops being managed by CloudFormation. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder codeCommitRemovalPolicy(software.amazon.awscdk.RemovalPolicy codeCommitRemovalPolicy) { this.codeCommitRemovalPolicy = codeCommitRemovalPolicy; return this; } /** * Sets the value of {@link PDKPipelineProps#getDefaultBranchName} * @param defaultBranchName Branch to trigger the pipeline execution. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder defaultBranchName(java.lang.String defaultBranchName) { this.defaultBranchName = defaultBranchName; return this; } /** * Sets the value of {@link PDKPipelineProps#getSonarCodeScannerConfig} * @param sonarCodeScannerConfig Configuration for enabling Sonarqube code scanning on a successful synth. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder sonarCodeScannerConfig(software.aws.awsprototypingsdk.pipeline.SonarCodeScannerConfig sonarCodeScannerConfig) { this.sonarCodeScannerConfig = sonarCodeScannerConfig; return this; } /** * Sets the value of {@link PDKPipelineProps#getSynthShellStepPartialProps} * @param synthShellStepPartialProps PDKPipeline by default assumes a NX Monorepo structure for it's codebase and uses sane defaults for the install and run commands. * To override these defaults * and/or provide additional inputs, specify env settings, etc you can provide * a partial ShellStepProps. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder synthShellStepPartialProps(software.amazon.awscdk.pipelines.ShellStepProps synthShellStepPartialProps) { this.synthShellStepPartialProps = synthShellStepPartialProps; return this; } /** * Sets the value of {@link PDKPipelineProps#getSynth} * @param synth The build step that produces the CDK Cloud Assembly. This parameter is required. * The primary output of this step needs to be the cdk.out directory * generated by the cdk synth command. *

* If you use a ShellStep here and you don't configure an output directory, * the output directory will automatically be assumed to be cdk.out. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder synth(software.amazon.awscdk.pipelines.IFileSetProducer synth) { this.synth = synth; return this; } /** * Sets the value of {@link PDKPipelineProps#getAssetPublishingCodeBuildDefaults} * @param assetPublishingCodeBuildDefaults Additional customizations to apply to the asset publishing CodeBuild projects. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder assetPublishingCodeBuildDefaults(software.amazon.awscdk.pipelines.CodeBuildOptions assetPublishingCodeBuildDefaults) { this.assetPublishingCodeBuildDefaults = assetPublishingCodeBuildDefaults; return this; } /** * Sets the value of {@link PDKPipelineProps#getCliVersion} * @param cliVersion CDK CLI version to use in self-mutation and asset publishing steps. * If you want to lock the CDK CLI version used in the pipeline, by steps * that are automatically generated for you, specify the version here. *

* We recommend you do not specify this value, as not specifying it always * uses the latest CLI version which is backwards compatible with old versions. *

* If you do specify it, be aware that this version should always be equal to or higher than the * version of the CDK framework used by the CDK app, when the CDK commands are * run during your pipeline execution. When you change this version, the next * time the SelfMutate step runs it will still be using the CLI of the the * previous version that was in this property: it will only start using the * new version after SelfMutate completes successfully. That means that if * you want to update both framework and CLI version, you should update the * CLI version first, commit, push and deploy, and only then update the * framework version. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder cliVersion(java.lang.String cliVersion) { this.cliVersion = cliVersion; return this; } /** * Sets the value of {@link PDKPipelineProps#getCodeBuildDefaults} * @param codeBuildDefaults Customize the CodeBuild projects created for this pipeline. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder codeBuildDefaults(software.amazon.awscdk.pipelines.CodeBuildOptions codeBuildDefaults) { this.codeBuildDefaults = codeBuildDefaults; return this; } /** * Sets the value of {@link PDKPipelineProps#getCodePipeline} * @param codePipeline An existing Pipeline to be reused and built upon. * [disable-awslint:ref-via-interface] * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder codePipeline(software.amazon.awscdk.services.codepipeline.Pipeline codePipeline) { this.codePipeline = codePipeline; return this; } /** * Sets the value of {@link PDKPipelineProps#getCrossAccountKeys} * @param crossAccountKeys Create KMS keys for the artifact buckets, allowing cross-account deployments. * The artifact buckets have to be encrypted to support deploying CDK apps to * another account, so if you want to do that or want to have your artifact * buckets encrypted, be sure to set this value to true. *

* Be aware there is a cost associated with maintaining the KMS keys. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder crossAccountKeys(java.lang.Boolean crossAccountKeys) { this.crossAccountKeys = crossAccountKeys; return this; } /** * Sets the value of {@link PDKPipelineProps#getDockerCredentials} * @param dockerCredentials A list of credentials used to authenticate to Docker registries. * Specify any credentials necessary within the pipeline to build, synth, update, or publish assets. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder dockerCredentials(java.util.List dockerCredentials) { this.dockerCredentials = (java.util.List)dockerCredentials; return this; } /** * Sets the value of {@link PDKPipelineProps#getDockerEnabledForSelfMutation} * @param dockerEnabledForSelfMutation Enable Docker for the self-mutate step. * Set this to true if the pipeline itself uses Docker container assets * (for example, if you use LinuxBuildImage.fromAsset() as the build * image of a CodeBuild step in the pipeline). *

* You do not need to set it if you build Docker image assets in the * application Stages and Stacks that are deployed by this pipeline. *

* Configures privileged mode for the self-mutation CodeBuild action. *

* If you are about to turn this on in an already-deployed Pipeline, * set the value to true first, commit and allow the pipeline to * self-update, and only then use the Docker asset in the pipeline. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder dockerEnabledForSelfMutation(java.lang.Boolean dockerEnabledForSelfMutation) { this.dockerEnabledForSelfMutation = dockerEnabledForSelfMutation; return this; } /** * Sets the value of {@link PDKPipelineProps#getDockerEnabledForSynth} * @param dockerEnabledForSynth Enable Docker for the 'synth' step. * Set this to true if you are using file assets that require * "bundling" anywhere in your application (meaning an asset * compilation step will be run with the tools provided by * a Docker image), both for the Pipeline stack as well as the * application stacks. *

* A common way to use bundling assets in your application is by * using the @aws-cdk/aws-lambda-nodejs library. *

* Configures privileged mode for the synth CodeBuild action. *

* If you are about to turn this on in an already-deployed Pipeline, * set the value to true first, commit and allow the pipeline to * self-update, and only then use the bundled asset. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder dockerEnabledForSynth(java.lang.Boolean dockerEnabledForSynth) { this.dockerEnabledForSynth = dockerEnabledForSynth; return this; } /** * Sets the value of {@link PDKPipelineProps#getEnableKeyRotation} * @param enableKeyRotation Enable KMS key rotation for the generated KMS keys. * By default KMS key rotation is disabled, but will add * additional costs when enabled. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder enableKeyRotation(java.lang.Boolean enableKeyRotation) { this.enableKeyRotation = enableKeyRotation; return this; } /** * Sets the value of {@link PDKPipelineProps#getPipelineName} * @param pipelineName The name of the CodePipeline pipeline. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder pipelineName(java.lang.String pipelineName) { this.pipelineName = pipelineName; return this; } /** * Sets the value of {@link PDKPipelineProps#getPublishAssetsInParallel} * @param publishAssetsInParallel Publish assets in multiple CodeBuild projects. * If set to false, use one Project per type to publish all assets. *

* Publishing in parallel improves concurrency and may reduce publishing * latency, but may also increase overall provisioning time of the CodeBuild * projects. *

* Experiment and see what value works best for you. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder publishAssetsInParallel(java.lang.Boolean publishAssetsInParallel) { this.publishAssetsInParallel = publishAssetsInParallel; return this; } /** * Sets the value of {@link PDKPipelineProps#getReuseCrossRegionSupportStacks} * @param reuseCrossRegionSupportStacks Reuse the same cross region support stack for all pipelines in the App. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder reuseCrossRegionSupportStacks(java.lang.Boolean reuseCrossRegionSupportStacks) { this.reuseCrossRegionSupportStacks = reuseCrossRegionSupportStacks; return this; } /** * Sets the value of {@link PDKPipelineProps#getRole} * @param role The IAM role to be assumed by this Pipeline. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder role(software.amazon.awscdk.services.iam.IRole role) { this.role = role; return this; } /** * Sets the value of {@link PDKPipelineProps#getSelfMutation} * @param selfMutation Whether the pipeline will update itself. * This needs to be set to true to allow the pipeline to reconfigure * itself when assets or stages are being added to it, and true is the * recommended setting. *

* You can temporarily set this to false while you are iterating * on the pipeline itself and prefer to deploy changes using cdk deploy. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder selfMutation(java.lang.Boolean selfMutation) { this.selfMutation = selfMutation; return this; } /** * Sets the value of {@link PDKPipelineProps#getSelfMutationCodeBuildDefaults} * @param selfMutationCodeBuildDefaults Additional customizations to apply to the self mutation CodeBuild projects. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder selfMutationCodeBuildDefaults(software.amazon.awscdk.pipelines.CodeBuildOptions selfMutationCodeBuildDefaults) { this.selfMutationCodeBuildDefaults = selfMutationCodeBuildDefaults; return this; } /** * Sets the value of {@link PDKPipelineProps#getSynthCodeBuildDefaults} * @param synthCodeBuildDefaults Additional customizations to apply to the synthesize CodeBuild projects. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder synthCodeBuildDefaults(software.amazon.awscdk.pipelines.CodeBuildOptions synthCodeBuildDefaults) { this.synthCodeBuildDefaults = synthCodeBuildDefaults; return this; } /** * Sets the value of {@link PDKPipelineProps#getUseChangeSets} * @param useChangeSets Deploy every stack by creating a change set and executing it. * When enabled, creates a "Prepare" and "Execute" action for each stack. Disable * to deploy the stack in one pipeline action. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder useChangeSets(java.lang.Boolean useChangeSets) { this.useChangeSets = useChangeSets; return this; } /** * Builds the configured instance. * @return a new instance of {@link PDKPipelineProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public PDKPipelineProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link PDKPipelineProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements PDKPipelineProps { private final java.lang.String primarySynthDirectory; private final java.lang.String repositoryName; private final software.amazon.awscdk.RemovalPolicy codeCommitRemovalPolicy; private final java.lang.String defaultBranchName; private final software.aws.awsprototypingsdk.pipeline.SonarCodeScannerConfig sonarCodeScannerConfig; private final software.amazon.awscdk.pipelines.ShellStepProps synthShellStepPartialProps; private final software.amazon.awscdk.pipelines.IFileSetProducer synth; private final software.amazon.awscdk.pipelines.CodeBuildOptions assetPublishingCodeBuildDefaults; private final java.lang.String cliVersion; private final software.amazon.awscdk.pipelines.CodeBuildOptions codeBuildDefaults; private final software.amazon.awscdk.services.codepipeline.Pipeline codePipeline; private final java.lang.Boolean crossAccountKeys; private final java.util.List dockerCredentials; private final java.lang.Boolean dockerEnabledForSelfMutation; private final java.lang.Boolean dockerEnabledForSynth; private final java.lang.Boolean enableKeyRotation; private final java.lang.String pipelineName; private final java.lang.Boolean publishAssetsInParallel; private final java.lang.Boolean reuseCrossRegionSupportStacks; private final software.amazon.awscdk.services.iam.IRole role; private final java.lang.Boolean selfMutation; private final software.amazon.awscdk.pipelines.CodeBuildOptions selfMutationCodeBuildDefaults; private final software.amazon.awscdk.pipelines.CodeBuildOptions synthCodeBuildDefaults; private final java.lang.Boolean useChangeSets; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.primarySynthDirectory = software.amazon.jsii.Kernel.get(this, "primarySynthDirectory", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.repositoryName = software.amazon.jsii.Kernel.get(this, "repositoryName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.codeCommitRemovalPolicy = software.amazon.jsii.Kernel.get(this, "codeCommitRemovalPolicy", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.RemovalPolicy.class)); this.defaultBranchName = software.amazon.jsii.Kernel.get(this, "defaultBranchName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.sonarCodeScannerConfig = software.amazon.jsii.Kernel.get(this, "sonarCodeScannerConfig", software.amazon.jsii.NativeType.forClass(software.aws.awsprototypingsdk.pipeline.SonarCodeScannerConfig.class)); this.synthShellStepPartialProps = software.amazon.jsii.Kernel.get(this, "synthShellStepPartialProps", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.pipelines.ShellStepProps.class)); this.synth = software.amazon.jsii.Kernel.get(this, "synth", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.pipelines.IFileSetProducer.class)); this.assetPublishingCodeBuildDefaults = software.amazon.jsii.Kernel.get(this, "assetPublishingCodeBuildDefaults", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.pipelines.CodeBuildOptions.class)); this.cliVersion = software.amazon.jsii.Kernel.get(this, "cliVersion", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.codeBuildDefaults = software.amazon.jsii.Kernel.get(this, "codeBuildDefaults", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.pipelines.CodeBuildOptions.class)); this.codePipeline = software.amazon.jsii.Kernel.get(this, "codePipeline", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.codepipeline.Pipeline.class)); this.crossAccountKeys = software.amazon.jsii.Kernel.get(this, "crossAccountKeys", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.dockerCredentials = software.amazon.jsii.Kernel.get(this, "dockerCredentials", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.pipelines.DockerCredential.class))); this.dockerEnabledForSelfMutation = software.amazon.jsii.Kernel.get(this, "dockerEnabledForSelfMutation", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.dockerEnabledForSynth = software.amazon.jsii.Kernel.get(this, "dockerEnabledForSynth", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.enableKeyRotation = software.amazon.jsii.Kernel.get(this, "enableKeyRotation", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.pipelineName = software.amazon.jsii.Kernel.get(this, "pipelineName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.publishAssetsInParallel = software.amazon.jsii.Kernel.get(this, "publishAssetsInParallel", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.reuseCrossRegionSupportStacks = software.amazon.jsii.Kernel.get(this, "reuseCrossRegionSupportStacks", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.role = software.amazon.jsii.Kernel.get(this, "role", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.iam.IRole.class)); this.selfMutation = software.amazon.jsii.Kernel.get(this, "selfMutation", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.selfMutationCodeBuildDefaults = software.amazon.jsii.Kernel.get(this, "selfMutationCodeBuildDefaults", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.pipelines.CodeBuildOptions.class)); this.synthCodeBuildDefaults = software.amazon.jsii.Kernel.get(this, "synthCodeBuildDefaults", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.pipelines.CodeBuildOptions.class)); this.useChangeSets = software.amazon.jsii.Kernel.get(this, "useChangeSets", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings("unchecked") protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.primarySynthDirectory = java.util.Objects.requireNonNull(builder.primarySynthDirectory, "primarySynthDirectory is required"); this.repositoryName = java.util.Objects.requireNonNull(builder.repositoryName, "repositoryName is required"); this.codeCommitRemovalPolicy = builder.codeCommitRemovalPolicy; this.defaultBranchName = builder.defaultBranchName; this.sonarCodeScannerConfig = builder.sonarCodeScannerConfig; this.synthShellStepPartialProps = builder.synthShellStepPartialProps; this.synth = java.util.Objects.requireNonNull(builder.synth, "synth is required"); this.assetPublishingCodeBuildDefaults = builder.assetPublishingCodeBuildDefaults; this.cliVersion = builder.cliVersion; this.codeBuildDefaults = builder.codeBuildDefaults; this.codePipeline = builder.codePipeline; this.crossAccountKeys = builder.crossAccountKeys; this.dockerCredentials = (java.util.List)builder.dockerCredentials; this.dockerEnabledForSelfMutation = builder.dockerEnabledForSelfMutation; this.dockerEnabledForSynth = builder.dockerEnabledForSynth; this.enableKeyRotation = builder.enableKeyRotation; this.pipelineName = builder.pipelineName; this.publishAssetsInParallel = builder.publishAssetsInParallel; this.reuseCrossRegionSupportStacks = builder.reuseCrossRegionSupportStacks; this.role = builder.role; this.selfMutation = builder.selfMutation; this.selfMutationCodeBuildDefaults = builder.selfMutationCodeBuildDefaults; this.synthCodeBuildDefaults = builder.synthCodeBuildDefaults; this.useChangeSets = builder.useChangeSets; } @Override public final java.lang.String getPrimarySynthDirectory() { return this.primarySynthDirectory; } @Override public final java.lang.String getRepositoryName() { return this.repositoryName; } @Override public final software.amazon.awscdk.RemovalPolicy getCodeCommitRemovalPolicy() { return this.codeCommitRemovalPolicy; } @Override public final java.lang.String getDefaultBranchName() { return this.defaultBranchName; } @Override public final software.aws.awsprototypingsdk.pipeline.SonarCodeScannerConfig getSonarCodeScannerConfig() { return this.sonarCodeScannerConfig; } @Override public final software.amazon.awscdk.pipelines.ShellStepProps getSynthShellStepPartialProps() { return this.synthShellStepPartialProps; } @Override public final software.amazon.awscdk.pipelines.IFileSetProducer getSynth() { return this.synth; } @Override public final software.amazon.awscdk.pipelines.CodeBuildOptions getAssetPublishingCodeBuildDefaults() { return this.assetPublishingCodeBuildDefaults; } @Override public final java.lang.String getCliVersion() { return this.cliVersion; } @Override public final software.amazon.awscdk.pipelines.CodeBuildOptions getCodeBuildDefaults() { return this.codeBuildDefaults; } @Override public final software.amazon.awscdk.services.codepipeline.Pipeline getCodePipeline() { return this.codePipeline; } @Override public final java.lang.Boolean getCrossAccountKeys() { return this.crossAccountKeys; } @Override public final java.util.List getDockerCredentials() { return this.dockerCredentials; } @Override public final java.lang.Boolean getDockerEnabledForSelfMutation() { return this.dockerEnabledForSelfMutation; } @Override public final java.lang.Boolean getDockerEnabledForSynth() { return this.dockerEnabledForSynth; } @Override public final java.lang.Boolean getEnableKeyRotation() { return this.enableKeyRotation; } @Override public final java.lang.String getPipelineName() { return this.pipelineName; } @Override public final java.lang.Boolean getPublishAssetsInParallel() { return this.publishAssetsInParallel; } @Override public final java.lang.Boolean getReuseCrossRegionSupportStacks() { return this.reuseCrossRegionSupportStacks; } @Override public final software.amazon.awscdk.services.iam.IRole getRole() { return this.role; } @Override public final java.lang.Boolean getSelfMutation() { return this.selfMutation; } @Override public final software.amazon.awscdk.pipelines.CodeBuildOptions getSelfMutationCodeBuildDefaults() { return this.selfMutationCodeBuildDefaults; } @Override public final software.amazon.awscdk.pipelines.CodeBuildOptions getSynthCodeBuildDefaults() { return this.synthCodeBuildDefaults; } @Override public final java.lang.Boolean getUseChangeSets() { return this.useChangeSets; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("primarySynthDirectory", om.valueToTree(this.getPrimarySynthDirectory())); data.set("repositoryName", om.valueToTree(this.getRepositoryName())); if (this.getCodeCommitRemovalPolicy() != null) { data.set("codeCommitRemovalPolicy", om.valueToTree(this.getCodeCommitRemovalPolicy())); } if (this.getDefaultBranchName() != null) { data.set("defaultBranchName", om.valueToTree(this.getDefaultBranchName())); } if (this.getSonarCodeScannerConfig() != null) { data.set("sonarCodeScannerConfig", om.valueToTree(this.getSonarCodeScannerConfig())); } if (this.getSynthShellStepPartialProps() != null) { data.set("synthShellStepPartialProps", om.valueToTree(this.getSynthShellStepPartialProps())); } data.set("synth", om.valueToTree(this.getSynth())); if (this.getAssetPublishingCodeBuildDefaults() != null) { data.set("assetPublishingCodeBuildDefaults", om.valueToTree(this.getAssetPublishingCodeBuildDefaults())); } if (this.getCliVersion() != null) { data.set("cliVersion", om.valueToTree(this.getCliVersion())); } if (this.getCodeBuildDefaults() != null) { data.set("codeBuildDefaults", om.valueToTree(this.getCodeBuildDefaults())); } if (this.getCodePipeline() != null) { data.set("codePipeline", om.valueToTree(this.getCodePipeline())); } if (this.getCrossAccountKeys() != null) { data.set("crossAccountKeys", om.valueToTree(this.getCrossAccountKeys())); } if (this.getDockerCredentials() != null) { data.set("dockerCredentials", om.valueToTree(this.getDockerCredentials())); } if (this.getDockerEnabledForSelfMutation() != null) { data.set("dockerEnabledForSelfMutation", om.valueToTree(this.getDockerEnabledForSelfMutation())); } if (this.getDockerEnabledForSynth() != null) { data.set("dockerEnabledForSynth", om.valueToTree(this.getDockerEnabledForSynth())); } if (this.getEnableKeyRotation() != null) { data.set("enableKeyRotation", om.valueToTree(this.getEnableKeyRotation())); } if (this.getPipelineName() != null) { data.set("pipelineName", om.valueToTree(this.getPipelineName())); } if (this.getPublishAssetsInParallel() != null) { data.set("publishAssetsInParallel", om.valueToTree(this.getPublishAssetsInParallel())); } if (this.getReuseCrossRegionSupportStacks() != null) { data.set("reuseCrossRegionSupportStacks", om.valueToTree(this.getReuseCrossRegionSupportStacks())); } if (this.getRole() != null) { data.set("role", om.valueToTree(this.getRole())); } if (this.getSelfMutation() != null) { data.set("selfMutation", om.valueToTree(this.getSelfMutation())); } if (this.getSelfMutationCodeBuildDefaults() != null) { data.set("selfMutationCodeBuildDefaults", om.valueToTree(this.getSelfMutationCodeBuildDefaults())); } if (this.getSynthCodeBuildDefaults() != null) { data.set("synthCodeBuildDefaults", om.valueToTree(this.getSynthCodeBuildDefaults())); } if (this.getUseChangeSets() != null) { data.set("useChangeSets", om.valueToTree(this.getUseChangeSets())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("aws-prototyping-sdk.pipeline.PDKPipelineProps")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PDKPipelineProps.Jsii$Proxy that = (PDKPipelineProps.Jsii$Proxy) o; if (!primarySynthDirectory.equals(that.primarySynthDirectory)) return false; if (!repositoryName.equals(that.repositoryName)) return false; if (this.codeCommitRemovalPolicy != null ? !this.codeCommitRemovalPolicy.equals(that.codeCommitRemovalPolicy) : that.codeCommitRemovalPolicy != null) return false; if (this.defaultBranchName != null ? !this.defaultBranchName.equals(that.defaultBranchName) : that.defaultBranchName != null) return false; if (this.sonarCodeScannerConfig != null ? !this.sonarCodeScannerConfig.equals(that.sonarCodeScannerConfig) : that.sonarCodeScannerConfig != null) return false; if (this.synthShellStepPartialProps != null ? !this.synthShellStepPartialProps.equals(that.synthShellStepPartialProps) : that.synthShellStepPartialProps != null) return false; if (!synth.equals(that.synth)) return false; if (this.assetPublishingCodeBuildDefaults != null ? !this.assetPublishingCodeBuildDefaults.equals(that.assetPublishingCodeBuildDefaults) : that.assetPublishingCodeBuildDefaults != null) return false; if (this.cliVersion != null ? !this.cliVersion.equals(that.cliVersion) : that.cliVersion != null) return false; if (this.codeBuildDefaults != null ? !this.codeBuildDefaults.equals(that.codeBuildDefaults) : that.codeBuildDefaults != null) return false; if (this.codePipeline != null ? !this.codePipeline.equals(that.codePipeline) : that.codePipeline != null) return false; if (this.crossAccountKeys != null ? !this.crossAccountKeys.equals(that.crossAccountKeys) : that.crossAccountKeys != null) return false; if (this.dockerCredentials != null ? !this.dockerCredentials.equals(that.dockerCredentials) : that.dockerCredentials != null) return false; if (this.dockerEnabledForSelfMutation != null ? !this.dockerEnabledForSelfMutation.equals(that.dockerEnabledForSelfMutation) : that.dockerEnabledForSelfMutation != null) return false; if (this.dockerEnabledForSynth != null ? !this.dockerEnabledForSynth.equals(that.dockerEnabledForSynth) : that.dockerEnabledForSynth != null) return false; if (this.enableKeyRotation != null ? !this.enableKeyRotation.equals(that.enableKeyRotation) : that.enableKeyRotation != null) return false; if (this.pipelineName != null ? !this.pipelineName.equals(that.pipelineName) : that.pipelineName != null) return false; if (this.publishAssetsInParallel != null ? !this.publishAssetsInParallel.equals(that.publishAssetsInParallel) : that.publishAssetsInParallel != null) return false; if (this.reuseCrossRegionSupportStacks != null ? !this.reuseCrossRegionSupportStacks.equals(that.reuseCrossRegionSupportStacks) : that.reuseCrossRegionSupportStacks != null) return false; if (this.role != null ? !this.role.equals(that.role) : that.role != null) return false; if (this.selfMutation != null ? !this.selfMutation.equals(that.selfMutation) : that.selfMutation != null) return false; if (this.selfMutationCodeBuildDefaults != null ? !this.selfMutationCodeBuildDefaults.equals(that.selfMutationCodeBuildDefaults) : that.selfMutationCodeBuildDefaults != null) return false; if (this.synthCodeBuildDefaults != null ? !this.synthCodeBuildDefaults.equals(that.synthCodeBuildDefaults) : that.synthCodeBuildDefaults != null) return false; return this.useChangeSets != null ? this.useChangeSets.equals(that.useChangeSets) : that.useChangeSets == null; } @Override public final int hashCode() { int result = this.primarySynthDirectory.hashCode(); result = 31 * result + (this.repositoryName.hashCode()); result = 31 * result + (this.codeCommitRemovalPolicy != null ? this.codeCommitRemovalPolicy.hashCode() : 0); result = 31 * result + (this.defaultBranchName != null ? this.defaultBranchName.hashCode() : 0); result = 31 * result + (this.sonarCodeScannerConfig != null ? this.sonarCodeScannerConfig.hashCode() : 0); result = 31 * result + (this.synthShellStepPartialProps != null ? this.synthShellStepPartialProps.hashCode() : 0); result = 31 * result + (this.synth.hashCode()); result = 31 * result + (this.assetPublishingCodeBuildDefaults != null ? this.assetPublishingCodeBuildDefaults.hashCode() : 0); result = 31 * result + (this.cliVersion != null ? this.cliVersion.hashCode() : 0); result = 31 * result + (this.codeBuildDefaults != null ? this.codeBuildDefaults.hashCode() : 0); result = 31 * result + (this.codePipeline != null ? this.codePipeline.hashCode() : 0); result = 31 * result + (this.crossAccountKeys != null ? this.crossAccountKeys.hashCode() : 0); result = 31 * result + (this.dockerCredentials != null ? this.dockerCredentials.hashCode() : 0); result = 31 * result + (this.dockerEnabledForSelfMutation != null ? this.dockerEnabledForSelfMutation.hashCode() : 0); result = 31 * result + (this.dockerEnabledForSynth != null ? this.dockerEnabledForSynth.hashCode() : 0); result = 31 * result + (this.enableKeyRotation != null ? this.enableKeyRotation.hashCode() : 0); result = 31 * result + (this.pipelineName != null ? this.pipelineName.hashCode() : 0); result = 31 * result + (this.publishAssetsInParallel != null ? this.publishAssetsInParallel.hashCode() : 0); result = 31 * result + (this.reuseCrossRegionSupportStacks != null ? this.reuseCrossRegionSupportStacks.hashCode() : 0); result = 31 * result + (this.role != null ? this.role.hashCode() : 0); result = 31 * result + (this.selfMutation != null ? this.selfMutation.hashCode() : 0); result = 31 * result + (this.selfMutationCodeBuildDefaults != null ? this.selfMutationCodeBuildDefaults.hashCode() : 0); result = 31 * result + (this.synthCodeBuildDefaults != null ? this.synthCodeBuildDefaults.hashCode() : 0); result = 31 * result + (this.useChangeSets != null ? this.useChangeSets.hashCode() : 0); return result; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy