
zio.aws.qbusiness.model.CreateApplicationRequest.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.{
InstanceArn,
RoleArn,
ApplicationName,
Description,
IAMIdentityProviderArn,
ClientToken,
ClientIdForOIDC
}
import scala.jdk.CollectionConverters._
final case class CreateApplicationRequest(
displayName: ApplicationName,
roleArn: Optional[RoleArn] = Optional.Absent,
identityType: Optional[zio.aws.qbusiness.model.IdentityType] =
Optional.Absent,
iamIdentityProviderArn: Optional[IAMIdentityProviderArn] = Optional.Absent,
identityCenterInstanceArn: Optional[InstanceArn] = Optional.Absent,
clientIdsForOIDC: Optional[Iterable[ClientIdForOIDC]] = Optional.Absent,
description: Optional[Description] = Optional.Absent,
encryptionConfiguration: Optional[
zio.aws.qbusiness.model.EncryptionConfiguration
] = Optional.Absent,
tags: Optional[Iterable[zio.aws.qbusiness.model.Tag]] = Optional.Absent,
clientToken: Optional[ClientToken] = Optional.Absent,
attachmentsConfiguration: Optional[
zio.aws.qbusiness.model.AttachmentsConfiguration
] = Optional.Absent,
qAppsConfiguration: Optional[zio.aws.qbusiness.model.QAppsConfiguration] =
Optional.Absent,
personalizationConfiguration: Optional[
zio.aws.qbusiness.model.PersonalizationConfiguration
] = Optional.Absent,
quickSightConfiguration: Optional[
zio.aws.qbusiness.model.QuickSightConfiguration
] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.CreateApplicationRequest = {
import CreateApplicationRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.CreateApplicationRequest
.builder()
.displayName(ApplicationName.unwrap(displayName): java.lang.String)
.optionallyWith(
roleArn.map(value => RoleArn.unwrap(value): java.lang.String)
)(_.roleArn)
.optionallyWith(identityType.map(value => value.unwrap))(_.identityType)
.optionallyWith(
iamIdentityProviderArn.map(value =>
IAMIdentityProviderArn.unwrap(value): java.lang.String
)
)(_.iamIdentityProviderArn)
.optionallyWith(
identityCenterInstanceArn.map(value =>
InstanceArn.unwrap(value): java.lang.String
)
)(_.identityCenterInstanceArn)
.optionallyWith(
clientIdsForOIDC.map(value =>
value.map { item =>
ClientIdForOIDC.unwrap(item): java.lang.String
}.asJavaCollection
)
)(_.clientIdsForOIDC)
.optionallyWith(
description.map(value => Description.unwrap(value): java.lang.String)
)(_.description)
.optionallyWith(
encryptionConfiguration.map(value => value.buildAwsValue())
)(_.encryptionConfiguration)
.optionallyWith(
tags.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.tags)
.optionallyWith(
clientToken.map(value => ClientToken.unwrap(value): java.lang.String)
)(_.clientToken)
.optionallyWith(
attachmentsConfiguration.map(value => value.buildAwsValue())
)(_.attachmentsConfiguration)
.optionallyWith(qAppsConfiguration.map(value => value.buildAwsValue()))(
_.qAppsConfiguration
)
.optionallyWith(
personalizationConfiguration.map(value => value.buildAwsValue())
)(_.personalizationConfiguration)
.optionallyWith(
quickSightConfiguration.map(value => value.buildAwsValue())
)(_.quickSightConfiguration)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.CreateApplicationRequest.ReadOnly =
zio.aws.qbusiness.model.CreateApplicationRequest.wrap(buildAwsValue())
}
object CreateApplicationRequest {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.CreateApplicationRequest
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.CreateApplicationRequest =
zio.aws.qbusiness.model.CreateApplicationRequest(
displayName,
roleArn.map(value => value),
identityType.map(value => value),
iamIdentityProviderArn.map(value => value),
identityCenterInstanceArn.map(value => value),
clientIdsForOIDC.map(value => value),
description.map(value => value),
encryptionConfiguration.map(value => value.asEditable),
tags.map(value =>
value.map { item =>
item.asEditable
}
),
clientToken.map(value => value),
attachmentsConfiguration.map(value => value.asEditable),
qAppsConfiguration.map(value => value.asEditable),
personalizationConfiguration.map(value => value.asEditable),
quickSightConfiguration.map(value => value.asEditable)
)
def displayName: ApplicationName
def roleArn: Optional[RoleArn]
def identityType: Optional[zio.aws.qbusiness.model.IdentityType]
def iamIdentityProviderArn: Optional[IAMIdentityProviderArn]
def identityCenterInstanceArn: Optional[InstanceArn]
def clientIdsForOIDC: Optional[List[ClientIdForOIDC]]
def description: Optional[Description]
def encryptionConfiguration
: Optional[zio.aws.qbusiness.model.EncryptionConfiguration.ReadOnly]
def tags: Optional[List[zio.aws.qbusiness.model.Tag.ReadOnly]]
def clientToken: Optional[ClientToken]
def attachmentsConfiguration
: Optional[zio.aws.qbusiness.model.AttachmentsConfiguration.ReadOnly]
def qAppsConfiguration
: Optional[zio.aws.qbusiness.model.QAppsConfiguration.ReadOnly]
def personalizationConfiguration: Optional[
zio.aws.qbusiness.model.PersonalizationConfiguration.ReadOnly
]
def quickSightConfiguration
: Optional[zio.aws.qbusiness.model.QuickSightConfiguration.ReadOnly]
def getDisplayName: ZIO[Any, Nothing, ApplicationName] =
ZIO.succeed(displayName)
def getRoleArn: ZIO[Any, AwsError, RoleArn] =
AwsError.unwrapOptionField("roleArn", roleArn)
def getIdentityType
: ZIO[Any, AwsError, zio.aws.qbusiness.model.IdentityType] =
AwsError.unwrapOptionField("identityType", identityType)
def getIamIdentityProviderArn: ZIO[Any, AwsError, IAMIdentityProviderArn] =
AwsError.unwrapOptionField(
"iamIdentityProviderArn",
iamIdentityProviderArn
)
def getIdentityCenterInstanceArn: ZIO[Any, AwsError, InstanceArn] = AwsError
.unwrapOptionField("identityCenterInstanceArn", identityCenterInstanceArn)
def getClientIdsForOIDC: ZIO[Any, AwsError, List[ClientIdForOIDC]] =
AwsError.unwrapOptionField("clientIdsForOIDC", clientIdsForOIDC)
def getDescription: ZIO[Any, AwsError, Description] =
AwsError.unwrapOptionField("description", description)
def getEncryptionConfiguration: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.EncryptionConfiguration.ReadOnly
] = AwsError.unwrapOptionField(
"encryptionConfiguration",
encryptionConfiguration
)
def getTags
: ZIO[Any, AwsError, List[zio.aws.qbusiness.model.Tag.ReadOnly]] =
AwsError.unwrapOptionField("tags", tags)
def getClientToken: ZIO[Any, AwsError, ClientToken] =
AwsError.unwrapOptionField("clientToken", clientToken)
def getAttachmentsConfiguration: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.AttachmentsConfiguration.ReadOnly
] = AwsError.unwrapOptionField(
"attachmentsConfiguration",
attachmentsConfiguration
)
def getQAppsConfiguration: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.QAppsConfiguration.ReadOnly
] = AwsError.unwrapOptionField("qAppsConfiguration", qAppsConfiguration)
def getPersonalizationConfiguration: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.PersonalizationConfiguration.ReadOnly
] = AwsError.unwrapOptionField(
"personalizationConfiguration",
personalizationConfiguration
)
def getQuickSightConfiguration: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.QuickSightConfiguration.ReadOnly
] = AwsError.unwrapOptionField(
"quickSightConfiguration",
quickSightConfiguration
)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.CreateApplicationRequest
) extends zio.aws.qbusiness.model.CreateApplicationRequest.ReadOnly {
override val displayName: ApplicationName =
zio.aws.qbusiness.model.primitives.ApplicationName(impl.displayName())
override val roleArn: Optional[RoleArn] = zio.aws.core.internal
.optionalFromNullable(impl.roleArn())
.map(value => zio.aws.qbusiness.model.primitives.RoleArn(value))
override val identityType: Optional[zio.aws.qbusiness.model.IdentityType] =
zio.aws.core.internal
.optionalFromNullable(impl.identityType())
.map(value => zio.aws.qbusiness.model.IdentityType.wrap(value))
override val iamIdentityProviderArn: Optional[IAMIdentityProviderArn] =
zio.aws.core.internal
.optionalFromNullable(impl.iamIdentityProviderArn())
.map(value =>
zio.aws.qbusiness.model.primitives.IAMIdentityProviderArn(value)
)
override val identityCenterInstanceArn: Optional[InstanceArn] =
zio.aws.core.internal
.optionalFromNullable(impl.identityCenterInstanceArn())
.map(value => zio.aws.qbusiness.model.primitives.InstanceArn(value))
override val clientIdsForOIDC: Optional[List[ClientIdForOIDC]] =
zio.aws.core.internal
.optionalFromNullable(impl.clientIdsForOIDC())
.map(value =>
value.asScala.map { item =>
zio.aws.qbusiness.model.primitives.ClientIdForOIDC(item)
}.toList
)
override val description: Optional[Description] = zio.aws.core.internal
.optionalFromNullable(impl.description())
.map(value => zio.aws.qbusiness.model.primitives.Description(value))
override val encryptionConfiguration
: Optional[zio.aws.qbusiness.model.EncryptionConfiguration.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.encryptionConfiguration())
.map(value =>
zio.aws.qbusiness.model.EncryptionConfiguration.wrap(value)
)
override val tags: Optional[List[zio.aws.qbusiness.model.Tag.ReadOnly]] =
zio.aws.core.internal
.optionalFromNullable(impl.tags())
.map(value =>
value.asScala.map { item =>
zio.aws.qbusiness.model.Tag.wrap(item)
}.toList
)
override val clientToken: Optional[ClientToken] = zio.aws.core.internal
.optionalFromNullable(impl.clientToken())
.map(value => zio.aws.qbusiness.model.primitives.ClientToken(value))
override val attachmentsConfiguration
: Optional[zio.aws.qbusiness.model.AttachmentsConfiguration.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.attachmentsConfiguration())
.map(value =>
zio.aws.qbusiness.model.AttachmentsConfiguration.wrap(value)
)
override val qAppsConfiguration
: Optional[zio.aws.qbusiness.model.QAppsConfiguration.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.qAppsConfiguration())
.map(value => zio.aws.qbusiness.model.QAppsConfiguration.wrap(value))
override val personalizationConfiguration: Optional[
zio.aws.qbusiness.model.PersonalizationConfiguration.ReadOnly
] = zio.aws.core.internal
.optionalFromNullable(impl.personalizationConfiguration())
.map(value =>
zio.aws.qbusiness.model.PersonalizationConfiguration.wrap(value)
)
override val quickSightConfiguration
: Optional[zio.aws.qbusiness.model.QuickSightConfiguration.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.quickSightConfiguration())
.map(value =>
zio.aws.qbusiness.model.QuickSightConfiguration.wrap(value)
)
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.CreateApplicationRequest
): zio.aws.qbusiness.model.CreateApplicationRequest.ReadOnly = new Wrapper(
impl
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy