
zio.aws.qbusiness.model.ActionReview.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.{
ActionPayloadFieldNameSeparator,
ActionPayloadFieldKey,
PluginId
}
import scala.jdk.CollectionConverters._
final case class ActionReview(
pluginId: Optional[PluginId] = Optional.Absent,
pluginType: Optional[zio.aws.qbusiness.model.PluginType] = Optional.Absent,
payload: Optional[Map[
ActionPayloadFieldKey,
zio.aws.qbusiness.model.ActionReviewPayloadField
]] = Optional.Absent,
payloadFieldNameSeparator: Optional[ActionPayloadFieldNameSeparator] =
Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.ActionReview = {
import ActionReview.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.ActionReview
.builder()
.optionallyWith(
pluginId.map(value => PluginId.unwrap(value): java.lang.String)
)(_.pluginId)
.optionallyWith(pluginType.map(value => value.unwrap))(_.pluginType)
.optionallyWith(
payload.map(value =>
value
.map({ case (key, value) =>
(ActionPayloadFieldKey.unwrap(key): java.lang.String) -> value
.buildAwsValue()
})
.asJava
)
)(_.payload)
.optionallyWith(
payloadFieldNameSeparator.map(value =>
ActionPayloadFieldNameSeparator.unwrap(value): java.lang.String
)
)(_.payloadFieldNameSeparator)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.ActionReview.ReadOnly =
zio.aws.qbusiness.model.ActionReview.wrap(buildAwsValue())
}
object ActionReview {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.ActionReview
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.ActionReview =
zio.aws.qbusiness.model.ActionReview(
pluginId.map(value => value),
pluginType.map(value => value),
payload.map(value =>
value.map({ case (key, value) =>
key -> value.asEditable
})
),
payloadFieldNameSeparator.map(value => value)
)
def pluginId: Optional[PluginId]
def pluginType: Optional[zio.aws.qbusiness.model.PluginType]
def payload: Optional[Map[
ActionPayloadFieldKey,
zio.aws.qbusiness.model.ActionReviewPayloadField.ReadOnly
]]
def payloadFieldNameSeparator: Optional[ActionPayloadFieldNameSeparator]
def getPluginId: ZIO[Any, AwsError, PluginId] =
AwsError.unwrapOptionField("pluginId", pluginId)
def getPluginType: ZIO[Any, AwsError, zio.aws.qbusiness.model.PluginType] =
AwsError.unwrapOptionField("pluginType", pluginType)
def getPayload: ZIO[Any, AwsError, Map[
ActionPayloadFieldKey,
zio.aws.qbusiness.model.ActionReviewPayloadField.ReadOnly
]] = AwsError.unwrapOptionField("payload", payload)
def getPayloadFieldNameSeparator
: ZIO[Any, AwsError, ActionPayloadFieldNameSeparator] = AwsError
.unwrapOptionField("payloadFieldNameSeparator", payloadFieldNameSeparator)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.ActionReview
) extends zio.aws.qbusiness.model.ActionReview.ReadOnly {
override val pluginId: Optional[PluginId] = zio.aws.core.internal
.optionalFromNullable(impl.pluginId())
.map(value => zio.aws.qbusiness.model.primitives.PluginId(value))
override val pluginType: Optional[zio.aws.qbusiness.model.PluginType] =
zio.aws.core.internal
.optionalFromNullable(impl.pluginType())
.map(value => zio.aws.qbusiness.model.PluginType.wrap(value))
override val payload: Optional[Map[
ActionPayloadFieldKey,
zio.aws.qbusiness.model.ActionReviewPayloadField.ReadOnly
]] = zio.aws.core.internal
.optionalFromNullable(impl.payload())
.map(value =>
value.asScala
.map({ case (key, value) =>
zio.aws.qbusiness.model.primitives.ActionPayloadFieldKey(
key
) -> zio.aws.qbusiness.model.ActionReviewPayloadField.wrap(value)
})
.toMap
)
override val payloadFieldNameSeparator
: Optional[ActionPayloadFieldNameSeparator] = zio.aws.core.internal
.optionalFromNullable(impl.payloadFieldNameSeparator())
.map(value =>
zio.aws.qbusiness.model.primitives
.ActionPayloadFieldNameSeparator(value)
)
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.ActionReview
): zio.aws.qbusiness.model.ActionReview.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy