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

zio.aws.qbusiness.model.ConversationSource.scala Maven / Gradle / Ivy

package zio.aws.qbusiness.model
import zio.ZIO
import zio.aws.core.BuilderHelper
import zio.aws.qbusiness.model.primitives.{AttachmentId, ConversationId}
import scala.jdk.CollectionConverters._
final case class ConversationSource(
    conversationId: ConversationId,
    attachmentId: AttachmentId
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.qbusiness.model.ConversationSource = {
    import ConversationSource.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.qbusiness.model.ConversationSource
      .builder()
      .conversationId(ConversationId.unwrap(conversationId): java.lang.String)
      .attachmentId(AttachmentId.unwrap(attachmentId): java.lang.String)
      .build()
  }
  def asReadOnly: zio.aws.qbusiness.model.ConversationSource.ReadOnly =
    zio.aws.qbusiness.model.ConversationSource.wrap(buildAwsValue())
}
object ConversationSource {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.qbusiness.model.ConversationSource
  ] = BuilderHelper.apply
  trait ReadOnly {
    def asEditable: zio.aws.qbusiness.model.ConversationSource =
      zio.aws.qbusiness.model.ConversationSource(conversationId, attachmentId)
    def conversationId: ConversationId
    def attachmentId: AttachmentId
    def getConversationId: ZIO[Any, Nothing, ConversationId] =
      ZIO.succeed(conversationId)
    def getAttachmentId: ZIO[Any, Nothing, AttachmentId] =
      ZIO.succeed(attachmentId)
  }
  private final class Wrapper(
      impl: software.amazon.awssdk.services.qbusiness.model.ConversationSource
  ) extends zio.aws.qbusiness.model.ConversationSource.ReadOnly {
    override val conversationId: ConversationId =
      zio.aws.qbusiness.model.primitives.ConversationId(impl.conversationId())
    override val attachmentId: AttachmentId =
      zio.aws.qbusiness.model.primitives.AttachmentId(impl.attachmentId())
  }
  def wrap(
      impl: software.amazon.awssdk.services.qbusiness.model.ConversationSource
  ): zio.aws.qbusiness.model.ConversationSource.ReadOnly = new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy