
zio.aws.qbusiness.model.UpdateUserRequest.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.ApplicationId
import scala.jdk.CollectionConverters._
final case class UpdateUserRequest(
applicationId: ApplicationId,
userId: String,
userAliasesToUpdate: Optional[Iterable[zio.aws.qbusiness.model.UserAlias]] =
Optional.Absent,
userAliasesToDelete: Optional[Iterable[zio.aws.qbusiness.model.UserAlias]] =
Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.UpdateUserRequest = {
import UpdateUserRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.UpdateUserRequest
.builder()
.applicationId(ApplicationId.unwrap(applicationId): java.lang.String)
.userId(userId: java.lang.String)
.optionallyWith(
userAliasesToUpdate.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.userAliasesToUpdate)
.optionallyWith(
userAliasesToDelete.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.userAliasesToDelete)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.UpdateUserRequest.ReadOnly =
zio.aws.qbusiness.model.UpdateUserRequest.wrap(buildAwsValue())
}
object UpdateUserRequest {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.UpdateUserRequest
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.UpdateUserRequest =
zio.aws.qbusiness.model.UpdateUserRequest(
applicationId,
userId,
userAliasesToUpdate.map(value =>
value.map { item =>
item.asEditable
}
),
userAliasesToDelete.map(value =>
value.map { item =>
item.asEditable
}
)
)
def applicationId: ApplicationId
def userId: String
def userAliasesToUpdate
: Optional[List[zio.aws.qbusiness.model.UserAlias.ReadOnly]]
def userAliasesToDelete
: Optional[List[zio.aws.qbusiness.model.UserAlias.ReadOnly]]
def getApplicationId: ZIO[Any, Nothing, ApplicationId] =
ZIO.succeed(applicationId)
def getUserId: ZIO[Any, Nothing, String] = ZIO.succeed(userId)
def getUserAliasesToUpdate
: ZIO[Any, AwsError, List[zio.aws.qbusiness.model.UserAlias.ReadOnly]] =
AwsError.unwrapOptionField("userAliasesToUpdate", userAliasesToUpdate)
def getUserAliasesToDelete
: ZIO[Any, AwsError, List[zio.aws.qbusiness.model.UserAlias.ReadOnly]] =
AwsError.unwrapOptionField("userAliasesToDelete", userAliasesToDelete)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.UpdateUserRequest
) extends zio.aws.qbusiness.model.UpdateUserRequest.ReadOnly {
override val applicationId: ApplicationId =
zio.aws.qbusiness.model.primitives.ApplicationId(impl.applicationId())
override val userId: String = impl.userId(): String
override val userAliasesToUpdate
: Optional[List[zio.aws.qbusiness.model.UserAlias.ReadOnly]] =
zio.aws.core.internal
.optionalFromNullable(impl.userAliasesToUpdate())
.map(value =>
value.asScala.map { item =>
zio.aws.qbusiness.model.UserAlias.wrap(item)
}.toList
)
override val userAliasesToDelete
: Optional[List[zio.aws.qbusiness.model.UserAlias.ReadOnly]] =
zio.aws.core.internal
.optionalFromNullable(impl.userAliasesToDelete())
.map(value =>
value.asScala.map { item =>
zio.aws.qbusiness.model.UserAlias.wrap(item)
}.toList
)
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.UpdateUserRequest
): zio.aws.qbusiness.model.UpdateUserRequest.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy