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

io.github.vigoo.zioaws.codepipeline.model.JobData.scala Maven / Gradle / Ivy

package io.github.vigoo.zioaws.codepipeline.model
import zio.ZIO
import io.github.vigoo.zioaws.codepipeline.model.primitives.ContinuationToken
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class JobData(
    actionTypeId: Option[
      io.github.vigoo.zioaws.codepipeline.model.ActionTypeId
    ] = None,
    actionConfiguration: Option[
      io.github.vigoo.zioaws.codepipeline.model.ActionConfiguration
    ] = None,
    pipelineContext: Option[
      io.github.vigoo.zioaws.codepipeline.model.PipelineContext
    ] = None,
    inputArtifacts: Option[
      Iterable[io.github.vigoo.zioaws.codepipeline.model.Artifact]
    ] = None,
    outputArtifacts: Option[
      Iterable[io.github.vigoo.zioaws.codepipeline.model.Artifact]
    ] = None,
    artifactCredentials: Option[
      io.github.vigoo.zioaws.codepipeline.model.AWSSessionCredentials
    ] = None,
    continuationToken: Option[ContinuationToken] = None,
    encryptionKey: Option[
      io.github.vigoo.zioaws.codepipeline.model.EncryptionKey
    ] = None
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.codepipeline.model.JobData = {
    import JobData.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.codepipeline.model.JobData
      .builder()
      .optionallyWith(actionTypeId.map(value => value.buildAwsValue()))(
        _.actionTypeId
      )
      .optionallyWith(actionConfiguration.map(value => value.buildAwsValue()))(
        _.actionConfiguration
      )
      .optionallyWith(pipelineContext.map(value => value.buildAwsValue()))(
        _.pipelineContext
      )
      .optionallyWith(
        inputArtifacts.map(value =>
          value.map { item =>
            item.buildAwsValue()
          }.asJavaCollection
        )
      )(_.inputArtifacts)
      .optionallyWith(
        outputArtifacts.map(value =>
          value.map { item =>
            item.buildAwsValue()
          }.asJavaCollection
        )
      )(_.outputArtifacts)
      .optionallyWith(artifactCredentials.map(value => value.buildAwsValue()))(
        _.artifactCredentials
      )
      .optionallyWith(continuationToken.map(value => value: java.lang.String))(
        _.continuationToken
      )
      .optionallyWith(encryptionKey.map(value => value.buildAwsValue()))(
        _.encryptionKey
      )
      .build()
  }
  def asReadOnly: io.github.vigoo.zioaws.codepipeline.model.JobData.ReadOnly =
    io.github.vigoo.zioaws.codepipeline.model.JobData.wrap(buildAwsValue())
}
object JobData {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.codepipeline.model.JobData
  ] = BuilderHelper.apply
  trait ReadOnly {
    def editable: io.github.vigoo.zioaws.codepipeline.model.JobData =
      io.github.vigoo.zioaws.codepipeline.model.JobData(
        actionTypeIdValue.map(value => value.editable),
        actionConfigurationValue.map(value => value.editable),
        pipelineContextValue.map(value => value.editable),
        inputArtifactsValue.map(value =>
          value.map { item =>
            item.editable
          }
        ),
        outputArtifactsValue.map(value =>
          value.map { item =>
            item.editable
          }
        ),
        artifactCredentialsValue.map(value => value.editable),
        continuationTokenValue.map(value => value),
        encryptionKeyValue.map(value => value.editable)
      )
    def actionTypeIdValue: Option[
      io.github.vigoo.zioaws.codepipeline.model.ActionTypeId.ReadOnly
    ]
    def actionConfigurationValue: Option[
      io.github.vigoo.zioaws.codepipeline.model.ActionConfiguration.ReadOnly
    ]
    def pipelineContextValue: Option[
      io.github.vigoo.zioaws.codepipeline.model.PipelineContext.ReadOnly
    ]
    def inputArtifactsValue: Option[
      List[io.github.vigoo.zioaws.codepipeline.model.Artifact.ReadOnly]
    ]
    def outputArtifactsValue: Option[
      List[io.github.vigoo.zioaws.codepipeline.model.Artifact.ReadOnly]
    ]
    def artifactCredentialsValue: Option[
      io.github.vigoo.zioaws.codepipeline.model.AWSSessionCredentials.ReadOnly
    ]
    def continuationTokenValue: Option[ContinuationToken]
    def encryptionKeyValue: Option[
      io.github.vigoo.zioaws.codepipeline.model.EncryptionKey.ReadOnly
    ]
    def actionTypeId: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.codepipeline.model.ActionTypeId.ReadOnly
    ] = AwsError.unwrapOptionField("actionTypeId", actionTypeIdValue)
    def actionConfiguration: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.codepipeline.model.ActionConfiguration.ReadOnly
    ] = AwsError.unwrapOptionField(
      "actionConfiguration",
      actionConfigurationValue
    )
    def pipelineContext: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.codepipeline.model.PipelineContext.ReadOnly
    ] = AwsError.unwrapOptionField("pipelineContext", pipelineContextValue)
    def inputArtifacts: ZIO[Any, AwsError, List[
      io.github.vigoo.zioaws.codepipeline.model.Artifact.ReadOnly
    ]] = AwsError.unwrapOptionField("inputArtifacts", inputArtifactsValue)
    def outputArtifacts: ZIO[Any, AwsError, List[
      io.github.vigoo.zioaws.codepipeline.model.Artifact.ReadOnly
    ]] = AwsError.unwrapOptionField("outputArtifacts", outputArtifactsValue)
    def artifactCredentials: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.codepipeline.model.AWSSessionCredentials.ReadOnly
    ] = AwsError.unwrapOptionField(
      "artifactCredentials",
      artifactCredentialsValue
    )
    def continuationToken: ZIO[Any, AwsError, ContinuationToken] =
      AwsError.unwrapOptionField("continuationToken", continuationTokenValue)
    def encryptionKey: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.codepipeline.model.EncryptionKey.ReadOnly
    ] = AwsError.unwrapOptionField("encryptionKey", encryptionKeyValue)
  }
  private class Wrapper(
      impl: software.amazon.awssdk.services.codepipeline.model.JobData
  ) extends io.github.vigoo.zioaws.codepipeline.model.JobData.ReadOnly {
    override def actionTypeIdValue: Option[
      io.github.vigoo.zioaws.codepipeline.model.ActionTypeId.ReadOnly
    ] = scala
      .Option(impl.actionTypeId())
      .map(value =>
        io.github.vigoo.zioaws.codepipeline.model.ActionTypeId.wrap(value)
      )
    override def actionConfigurationValue: Option[
      io.github.vigoo.zioaws.codepipeline.model.ActionConfiguration.ReadOnly
    ] = scala
      .Option(impl.actionConfiguration())
      .map(value =>
        io.github.vigoo.zioaws.codepipeline.model.ActionConfiguration
          .wrap(value)
      )
    override def pipelineContextValue: Option[
      io.github.vigoo.zioaws.codepipeline.model.PipelineContext.ReadOnly
    ] = scala
      .Option(impl.pipelineContext())
      .map(value =>
        io.github.vigoo.zioaws.codepipeline.model.PipelineContext.wrap(value)
      )
    override def inputArtifactsValue: Option[
      List[io.github.vigoo.zioaws.codepipeline.model.Artifact.ReadOnly]
    ] = scala
      .Option(impl.inputArtifacts())
      .map(value =>
        value.asScala.map { item =>
          io.github.vigoo.zioaws.codepipeline.model.Artifact.wrap(item)
        }.toList
      )
    override def outputArtifactsValue: Option[
      List[io.github.vigoo.zioaws.codepipeline.model.Artifact.ReadOnly]
    ] = scala
      .Option(impl.outputArtifacts())
      .map(value =>
        value.asScala.map { item =>
          io.github.vigoo.zioaws.codepipeline.model.Artifact.wrap(item)
        }.toList
      )
    override def artifactCredentialsValue: Option[
      io.github.vigoo.zioaws.codepipeline.model.AWSSessionCredentials.ReadOnly
    ] = scala
      .Option(impl.artifactCredentials())
      .map(value =>
        io.github.vigoo.zioaws.codepipeline.model.AWSSessionCredentials
          .wrap(value)
      )
    override def continuationTokenValue: Option[ContinuationToken] = scala
      .Option(impl.continuationToken())
      .map(value => value: ContinuationToken)
    override def encryptionKeyValue: Option[
      io.github.vigoo.zioaws.codepipeline.model.EncryptionKey.ReadOnly
    ] = scala
      .Option(impl.encryptionKey())
      .map(value =>
        io.github.vigoo.zioaws.codepipeline.model.EncryptionKey.wrap(value)
      )
  }
  def wrap(
      impl: software.amazon.awssdk.services.codepipeline.model.JobData
  ): io.github.vigoo.zioaws.codepipeline.model.JobData.ReadOnly = new Wrapper(
    impl
  )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy