
zio.aws.qbusiness.model.ActionExecutionEvent.scala Maven / Gradle / Ivy
package zio.aws.qbusiness.model
import zio.ZIO
import zio.aws.core.BuilderHelper
import zio.aws.qbusiness.model.primitives.{
ActionPayloadFieldNameSeparator,
ActionPayloadFieldKey,
PluginId
}
import scala.jdk.CollectionConverters._
final case class ActionExecutionEvent(
pluginId: PluginId,
payload: Map[
ActionPayloadFieldKey,
zio.aws.qbusiness.model.ActionExecutionPayloadField
],
payloadFieldNameSeparator: ActionPayloadFieldNameSeparator
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.ActionExecutionEvent = {
import ActionExecutionEvent.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.ActionExecutionEvent
.builder()
.pluginId(PluginId.unwrap(pluginId): java.lang.String)
.payload(
payload
.map({ case (key, value) =>
(ActionPayloadFieldKey.unwrap(key): java.lang.String) -> value
.buildAwsValue()
})
.asJava
)
.payloadFieldNameSeparator(
ActionPayloadFieldNameSeparator.unwrap(
payloadFieldNameSeparator
): java.lang.String
)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.ActionExecutionEvent.ReadOnly =
zio.aws.qbusiness.model.ActionExecutionEvent.wrap(buildAwsValue())
}
object ActionExecutionEvent {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.ActionExecutionEvent
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.ActionExecutionEvent =
zio.aws.qbusiness.model.ActionExecutionEvent(
pluginId,
payload.map({ case (key, value) =>
key -> value.asEditable
}),
payloadFieldNameSeparator
)
def pluginId: PluginId
def payload: Map[
ActionPayloadFieldKey,
zio.aws.qbusiness.model.ActionExecutionPayloadField.ReadOnly
]
def payloadFieldNameSeparator: ActionPayloadFieldNameSeparator
def getPluginId: ZIO[Any, Nothing, PluginId] = ZIO.succeed(pluginId)
def getPayload: ZIO[Any, Nothing, Map[
ActionPayloadFieldKey,
zio.aws.qbusiness.model.ActionExecutionPayloadField.ReadOnly
]] = ZIO.succeed(payload)
def getPayloadFieldNameSeparator
: ZIO[Any, Nothing, ActionPayloadFieldNameSeparator] =
ZIO.succeed(payloadFieldNameSeparator)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.ActionExecutionEvent
) extends zio.aws.qbusiness.model.ActionExecutionEvent.ReadOnly {
override val pluginId: PluginId =
zio.aws.qbusiness.model.primitives.PluginId(impl.pluginId())
override val payload: Map[
ActionPayloadFieldKey,
zio.aws.qbusiness.model.ActionExecutionPayloadField.ReadOnly
] = impl
.payload()
.asScala
.map({ case (key, value) =>
zio.aws.qbusiness.model.primitives.ActionPayloadFieldKey(
key
) -> zio.aws.qbusiness.model.ActionExecutionPayloadField.wrap(value)
})
.toMap
override val payloadFieldNameSeparator: ActionPayloadFieldNameSeparator =
zio.aws.qbusiness.model.primitives
.ActionPayloadFieldNameSeparator(impl.payloadFieldNameSeparator())
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.ActionExecutionEvent
): zio.aws.qbusiness.model.ActionExecutionEvent.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy