
zio.aws.qbusiness.model.SamlConfiguration.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.{
SamlAttribute,
RoleArn,
SamlMetadataXML
}
import scala.jdk.CollectionConverters._
final case class SamlConfiguration(
metadataXML: SamlMetadataXML,
roleArn: RoleArn,
userIdAttribute: SamlAttribute,
userGroupAttribute: Optional[SamlAttribute] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.SamlConfiguration = {
import SamlConfiguration.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.SamlConfiguration
.builder()
.metadataXML(SamlMetadataXML.unwrap(metadataXML): java.lang.String)
.roleArn(RoleArn.unwrap(roleArn): java.lang.String)
.userIdAttribute(SamlAttribute.unwrap(userIdAttribute): java.lang.String)
.optionallyWith(
userGroupAttribute.map(value =>
SamlAttribute.unwrap(value): java.lang.String
)
)(_.userGroupAttribute)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.SamlConfiguration.ReadOnly =
zio.aws.qbusiness.model.SamlConfiguration.wrap(buildAwsValue())
}
object SamlConfiguration {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.SamlConfiguration
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.SamlConfiguration =
zio.aws.qbusiness.model.SamlConfiguration(
metadataXML,
roleArn,
userIdAttribute,
userGroupAttribute.map(value => value)
)
def metadataXML: SamlMetadataXML
def roleArn: RoleArn
def userIdAttribute: SamlAttribute
def userGroupAttribute: Optional[SamlAttribute]
def getMetadataXML: ZIO[Any, Nothing, SamlMetadataXML] =
ZIO.succeed(metadataXML)
def getRoleArn: ZIO[Any, Nothing, RoleArn] = ZIO.succeed(roleArn)
def getUserIdAttribute: ZIO[Any, Nothing, SamlAttribute] =
ZIO.succeed(userIdAttribute)
def getUserGroupAttribute: ZIO[Any, AwsError, SamlAttribute] =
AwsError.unwrapOptionField("userGroupAttribute", userGroupAttribute)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.SamlConfiguration
) extends zio.aws.qbusiness.model.SamlConfiguration.ReadOnly {
override val metadataXML: SamlMetadataXML =
zio.aws.qbusiness.model.primitives.SamlMetadataXML(impl.metadataXML())
override val roleArn: RoleArn =
zio.aws.qbusiness.model.primitives.RoleArn(impl.roleArn())
override val userIdAttribute: SamlAttribute =
zio.aws.qbusiness.model.primitives.SamlAttribute(impl.userIdAttribute())
override val userGroupAttribute: Optional[SamlAttribute] =
zio.aws.core.internal
.optionalFromNullable(impl.userGroupAttribute())
.map(value => zio.aws.qbusiness.model.primitives.SamlAttribute(value))
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.SamlConfiguration
): zio.aws.qbusiness.model.SamlConfiguration.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy