
zio.aws.qbusiness.model.ChatSyncRequest.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,
UserMessage,
ClientToken,
ConversationId,
ApplicationId
}
import scala.jdk.CollectionConverters._
final case class ChatSyncRequest(
applicationId: ApplicationId,
userId: Optional[UserId] = Optional.Absent,
userGroups: Optional[Iterable[String]] = Optional.Absent,
userMessage: Optional[UserMessage] = Optional.Absent,
attachments: Optional[Iterable[zio.aws.qbusiness.model.AttachmentInput]] =
Optional.Absent,
actionExecution: Optional[zio.aws.qbusiness.model.ActionExecution] =
Optional.Absent,
authChallengeResponse: Optional[
zio.aws.qbusiness.model.AuthChallengeResponse
] = Optional.Absent,
conversationId: Optional[ConversationId] = Optional.Absent,
parentMessageId: Optional[MessageId] = Optional.Absent,
attributeFilter: Optional[zio.aws.qbusiness.model.AttributeFilter] =
Optional.Absent,
chatMode: Optional[zio.aws.qbusiness.model.ChatMode] = Optional.Absent,
chatModeConfiguration: Optional[
zio.aws.qbusiness.model.ChatModeConfiguration
] = Optional.Absent,
clientToken: Optional[ClientToken] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.ChatSyncRequest = {
import ChatSyncRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.ChatSyncRequest
.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(
userMessage.map(value => UserMessage.unwrap(value): java.lang.String)
)(_.userMessage)
.optionallyWith(
attachments.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.attachments)
.optionallyWith(actionExecution.map(value => value.buildAwsValue()))(
_.actionExecution
)
.optionallyWith(
authChallengeResponse.map(value => value.buildAwsValue())
)(_.authChallengeResponse)
.optionallyWith(
conversationId.map(value =>
ConversationId.unwrap(value): java.lang.String
)
)(_.conversationId)
.optionallyWith(
parentMessageId.map(value => MessageId.unwrap(value): java.lang.String)
)(_.parentMessageId)
.optionallyWith(attributeFilter.map(value => value.buildAwsValue()))(
_.attributeFilter
)
.optionallyWith(chatMode.map(value => value.unwrap))(_.chatMode)
.optionallyWith(
chatModeConfiguration.map(value => value.buildAwsValue())
)(_.chatModeConfiguration)
.optionallyWith(
clientToken.map(value => ClientToken.unwrap(value): java.lang.String)
)(_.clientToken)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.ChatSyncRequest.ReadOnly =
zio.aws.qbusiness.model.ChatSyncRequest.wrap(buildAwsValue())
}
object ChatSyncRequest {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.ChatSyncRequest
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.ChatSyncRequest =
zio.aws.qbusiness.model.ChatSyncRequest(
applicationId,
userId.map(value => value),
userGroups.map(value => value),
userMessage.map(value => value),
attachments.map(value =>
value.map { item =>
item.asEditable
}
),
actionExecution.map(value => value.asEditable),
authChallengeResponse.map(value => value.asEditable),
conversationId.map(value => value),
parentMessageId.map(value => value),
attributeFilter.map(value => value.asEditable),
chatMode.map(value => value),
chatModeConfiguration.map(value => value.asEditable),
clientToken.map(value => value)
)
def applicationId: ApplicationId
def userId: Optional[UserId]
def userGroups: Optional[List[String]]
def userMessage: Optional[UserMessage]
def attachments
: Optional[List[zio.aws.qbusiness.model.AttachmentInput.ReadOnly]]
def actionExecution
: Optional[zio.aws.qbusiness.model.ActionExecution.ReadOnly]
def authChallengeResponse
: Optional[zio.aws.qbusiness.model.AuthChallengeResponse.ReadOnly]
def conversationId: Optional[ConversationId]
def parentMessageId: Optional[MessageId]
def attributeFilter
: Optional[zio.aws.qbusiness.model.AttributeFilter.ReadOnly]
def chatMode: Optional[zio.aws.qbusiness.model.ChatMode]
def chatModeConfiguration
: Optional[zio.aws.qbusiness.model.ChatModeConfiguration.ReadOnly]
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 getUserMessage: ZIO[Any, AwsError, UserMessage] =
AwsError.unwrapOptionField("userMessage", userMessage)
def getAttachments: ZIO[Any, AwsError, List[
zio.aws.qbusiness.model.AttachmentInput.ReadOnly
]] = AwsError.unwrapOptionField("attachments", attachments)
def getActionExecution
: ZIO[Any, AwsError, zio.aws.qbusiness.model.ActionExecution.ReadOnly] =
AwsError.unwrapOptionField("actionExecution", actionExecution)
def getAuthChallengeResponse: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.AuthChallengeResponse.ReadOnly
] =
AwsError.unwrapOptionField("authChallengeResponse", authChallengeResponse)
def getConversationId: ZIO[Any, AwsError, ConversationId] =
AwsError.unwrapOptionField("conversationId", conversationId)
def getParentMessageId: ZIO[Any, AwsError, MessageId] =
AwsError.unwrapOptionField("parentMessageId", parentMessageId)
def getAttributeFilter
: ZIO[Any, AwsError, zio.aws.qbusiness.model.AttributeFilter.ReadOnly] =
AwsError.unwrapOptionField("attributeFilter", attributeFilter)
def getChatMode: ZIO[Any, AwsError, zio.aws.qbusiness.model.ChatMode] =
AwsError.unwrapOptionField("chatMode", chatMode)
def getChatModeConfiguration: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.ChatModeConfiguration.ReadOnly
] =
AwsError.unwrapOptionField("chatModeConfiguration", chatModeConfiguration)
def getClientToken: ZIO[Any, AwsError, ClientToken] =
AwsError.unwrapOptionField("clientToken", clientToken)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.ChatSyncRequest
) extends zio.aws.qbusiness.model.ChatSyncRequest.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 userMessage: Optional[UserMessage] = zio.aws.core.internal
.optionalFromNullable(impl.userMessage())
.map(value => zio.aws.qbusiness.model.primitives.UserMessage(value))
override val attachments
: Optional[List[zio.aws.qbusiness.model.AttachmentInput.ReadOnly]] =
zio.aws.core.internal
.optionalFromNullable(impl.attachments())
.map(value =>
value.asScala.map { item =>
zio.aws.qbusiness.model.AttachmentInput.wrap(item)
}.toList
)
override val actionExecution
: Optional[zio.aws.qbusiness.model.ActionExecution.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.actionExecution())
.map(value => zio.aws.qbusiness.model.ActionExecution.wrap(value))
override val authChallengeResponse
: Optional[zio.aws.qbusiness.model.AuthChallengeResponse.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.authChallengeResponse())
.map(value => zio.aws.qbusiness.model.AuthChallengeResponse.wrap(value))
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 attributeFilter
: Optional[zio.aws.qbusiness.model.AttributeFilter.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.attributeFilter())
.map(value => zio.aws.qbusiness.model.AttributeFilter.wrap(value))
override val chatMode: Optional[zio.aws.qbusiness.model.ChatMode] =
zio.aws.core.internal
.optionalFromNullable(impl.chatMode())
.map(value => zio.aws.qbusiness.model.ChatMode.wrap(value))
override val chatModeConfiguration
: Optional[zio.aws.qbusiness.model.ChatModeConfiguration.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.chatModeConfiguration())
.map(value => zio.aws.qbusiness.model.ChatModeConfiguration.wrap(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.ChatSyncRequest
): zio.aws.qbusiness.model.ChatSyncRequest.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy