
zio.aws.qbusiness.model.ChatRequest.scala Maven / Gradle / Ivy
package zio.aws.qbusiness.model
import zio.ZIO
import zio.aws.core.{AwsError, BuilderHelper}
import zio.prelude.data.Optional
import zio.aws.qbusiness.model.primitives.{
MessageId,
UserId,
ClientToken,
ConversationId,
ApplicationId
}
import scala.jdk.CollectionConverters._
final case class ChatRequest(
applicationId: ApplicationId,
userId: Optional[UserId] = Optional.Absent,
userGroups: Optional[Iterable[String]] = Optional.Absent,
conversationId: Optional[ConversationId] = Optional.Absent,
parentMessageId: Optional[MessageId] = Optional.Absent,
clientToken: Optional[ClientToken] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.ChatRequest = {
import ChatRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.ChatRequest
.builder()
.applicationId(ApplicationId.unwrap(applicationId): java.lang.String)
.optionallyWith(
userId.map(value => UserId.unwrap(value): java.lang.String)
)(_.userId)
.optionallyWith(
userGroups.map(value =>
value.map { item =>
item: java.lang.String
}.asJavaCollection
)
)(_.userGroups)
.optionallyWith(
conversationId.map(value =>
ConversationId.unwrap(value): java.lang.String
)
)(_.conversationId)
.optionallyWith(
parentMessageId.map(value => MessageId.unwrap(value): java.lang.String)
)(_.parentMessageId)
.optionallyWith(
clientToken.map(value => ClientToken.unwrap(value): java.lang.String)
)(_.clientToken)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.ChatRequest.ReadOnly =
zio.aws.qbusiness.model.ChatRequest.wrap(buildAwsValue())
}
object ChatRequest {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.ChatRequest
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.ChatRequest =
zio.aws.qbusiness.model.ChatRequest(
applicationId,
userId.map(value => value),
userGroups.map(value => value),
conversationId.map(value => value),
parentMessageId.map(value => value),
clientToken.map(value => value)
)
def applicationId: ApplicationId
def userId: Optional[UserId]
def userGroups: Optional[List[String]]
def conversationId: Optional[ConversationId]
def parentMessageId: Optional[MessageId]
def clientToken: Optional[ClientToken]
def getApplicationId: ZIO[Any, Nothing, ApplicationId] =
ZIO.succeed(applicationId)
def getUserId: ZIO[Any, AwsError, UserId] =
AwsError.unwrapOptionField("userId", userId)
def getUserGroups: ZIO[Any, AwsError, List[String]] =
AwsError.unwrapOptionField("userGroups", userGroups)
def getConversationId: ZIO[Any, AwsError, ConversationId] =
AwsError.unwrapOptionField("conversationId", conversationId)
def getParentMessageId: ZIO[Any, AwsError, MessageId] =
AwsError.unwrapOptionField("parentMessageId", parentMessageId)
def getClientToken: ZIO[Any, AwsError, ClientToken] =
AwsError.unwrapOptionField("clientToken", clientToken)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.ChatRequest
) extends zio.aws.qbusiness.model.ChatRequest.ReadOnly {
override val applicationId: ApplicationId =
zio.aws.qbusiness.model.primitives.ApplicationId(impl.applicationId())
override val userId: Optional[UserId] = zio.aws.core.internal
.optionalFromNullable(impl.userId())
.map(value => zio.aws.qbusiness.model.primitives.UserId(value))
override val userGroups: Optional[List[String]] = zio.aws.core.internal
.optionalFromNullable(impl.userGroups())
.map(value =>
value.asScala.map { item =>
item: String
}.toList
)
override val conversationId: Optional[ConversationId] =
zio.aws.core.internal
.optionalFromNullable(impl.conversationId())
.map(value => zio.aws.qbusiness.model.primitives.ConversationId(value))
override val parentMessageId: Optional[MessageId] = zio.aws.core.internal
.optionalFromNullable(impl.parentMessageId())
.map(value => zio.aws.qbusiness.model.primitives.MessageId(value))
override val clientToken: Optional[ClientToken] = zio.aws.core.internal
.optionalFromNullable(impl.clientToken())
.map(value => zio.aws.qbusiness.model.primitives.ClientToken(value))
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.ChatRequest
): zio.aws.qbusiness.model.ChatRequest.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy