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

io.burkard.cdk.pipelines.CodePipeline.scala Maven / Gradle / Ivy

The newest version!
package io.burkard.cdk.pipelines

import scala.collection.JavaConverters._

@scala.annotation.nowarn("cat=deprecation")
@SuppressWarnings(Array("org.wartremover.warts.DefaultArguments", "org.wartremover.warts.Null", "DisableSyntax.null"))
object CodePipeline {

  def apply(
    internalResourceId: String,
    synth: software.amazon.awscdk.pipelines.IFileSetProducer,
    publishAssetsInParallel: Option[Boolean] = None,
    role: Option[software.amazon.awscdk.services.iam.IRole] = None,
    cliVersion: Option[String] = None,
    assetPublishingCodeBuildDefaults: Option[software.amazon.awscdk.pipelines.CodeBuildOptions] = None,
    selfMutation: Option[Boolean] = None,
    reuseCrossRegionSupportStacks: Option[Boolean] = None,
    crossAccountKeys: Option[Boolean] = None,
    codeBuildDefaults: Option[software.amazon.awscdk.pipelines.CodeBuildOptions] = None,
    dockerCredentials: Option[List[_ <: software.amazon.awscdk.pipelines.DockerCredential]] = None,
    pipelineName: Option[String] = None,
    selfMutationCodeBuildDefaults: Option[software.amazon.awscdk.pipelines.CodeBuildOptions] = None,
    dockerEnabledForSynth: Option[Boolean] = None,
    codePipeline: Option[software.amazon.awscdk.services.codepipeline.Pipeline] = None,
    synthCodeBuildDefaults: Option[software.amazon.awscdk.pipelines.CodeBuildOptions] = None,
    dockerEnabledForSelfMutation: Option[Boolean] = None
  )(implicit stackCtx: software.amazon.awscdk.Stack): software.amazon.awscdk.pipelines.CodePipeline =
    software.amazon.awscdk.pipelines.CodePipeline.Builder
      .create(stackCtx, internalResourceId)
      .synth(synth)
      .publishAssetsInParallel(publishAssetsInParallel.map(Boolean.box).orNull)
      .role(role.orNull)
      .cliVersion(cliVersion.orNull)
      .assetPublishingCodeBuildDefaults(assetPublishingCodeBuildDefaults.orNull)
      .selfMutation(selfMutation.map(Boolean.box).orNull)
      .reuseCrossRegionSupportStacks(reuseCrossRegionSupportStacks.map(Boolean.box).orNull)
      .crossAccountKeys(crossAccountKeys.map(Boolean.box).orNull)
      .codeBuildDefaults(codeBuildDefaults.orNull)
      .dockerCredentials(dockerCredentials.map(_.asJava).orNull)
      .pipelineName(pipelineName.orNull)
      .selfMutationCodeBuildDefaults(selfMutationCodeBuildDefaults.orNull)
      .dockerEnabledForSynth(dockerEnabledForSynth.map(Boolean.box).orNull)
      .codePipeline(codePipeline.orNull)
      .synthCodeBuildDefaults(synthCodeBuildDefaults.orNull)
      .dockerEnabledForSelfMutation(dockerEnabledForSelfMutation.map(Boolean.box).orNull)
      .build()
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy