
zio.aws.qbusiness.model.CreateSubscriptionResponse.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.{SubscriptionArn, SubscriptionId}
import scala.jdk.CollectionConverters._
final case class CreateSubscriptionResponse(
subscriptionId: Optional[SubscriptionId] = Optional.Absent,
subscriptionArn: Optional[SubscriptionArn] = Optional.Absent,
currentSubscription: Optional[zio.aws.qbusiness.model.SubscriptionDetails] =
Optional.Absent,
nextSubscription: Optional[zio.aws.qbusiness.model.SubscriptionDetails] =
Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.qbusiness.model.CreateSubscriptionResponse = {
import CreateSubscriptionResponse.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.qbusiness.model.CreateSubscriptionResponse
.builder()
.optionallyWith(
subscriptionId.map(value =>
SubscriptionId.unwrap(value): java.lang.String
)
)(_.subscriptionId)
.optionallyWith(
subscriptionArn.map(value =>
SubscriptionArn.unwrap(value): java.lang.String
)
)(_.subscriptionArn)
.optionallyWith(currentSubscription.map(value => value.buildAwsValue()))(
_.currentSubscription
)
.optionallyWith(nextSubscription.map(value => value.buildAwsValue()))(
_.nextSubscription
)
.build()
}
def asReadOnly: zio.aws.qbusiness.model.CreateSubscriptionResponse.ReadOnly =
zio.aws.qbusiness.model.CreateSubscriptionResponse.wrap(buildAwsValue())
}
object CreateSubscriptionResponse {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.qbusiness.model.CreateSubscriptionResponse
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.qbusiness.model.CreateSubscriptionResponse =
zio.aws.qbusiness.model.CreateSubscriptionResponse(
subscriptionId.map(value => value),
subscriptionArn.map(value => value),
currentSubscription.map(value => value.asEditable),
nextSubscription.map(value => value.asEditable)
)
def subscriptionId: Optional[SubscriptionId]
def subscriptionArn: Optional[SubscriptionArn]
def currentSubscription
: Optional[zio.aws.qbusiness.model.SubscriptionDetails.ReadOnly]
def nextSubscription
: Optional[zio.aws.qbusiness.model.SubscriptionDetails.ReadOnly]
def getSubscriptionId: ZIO[Any, AwsError, SubscriptionId] =
AwsError.unwrapOptionField("subscriptionId", subscriptionId)
def getSubscriptionArn: ZIO[Any, AwsError, SubscriptionArn] =
AwsError.unwrapOptionField("subscriptionArn", subscriptionArn)
def getCurrentSubscription: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.SubscriptionDetails.ReadOnly
] = AwsError.unwrapOptionField("currentSubscription", currentSubscription)
def getNextSubscription: ZIO[
Any,
AwsError,
zio.aws.qbusiness.model.SubscriptionDetails.ReadOnly
] = AwsError.unwrapOptionField("nextSubscription", nextSubscription)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.qbusiness.model.CreateSubscriptionResponse
) extends zio.aws.qbusiness.model.CreateSubscriptionResponse.ReadOnly {
override val subscriptionId: Optional[SubscriptionId] =
zio.aws.core.internal
.optionalFromNullable(impl.subscriptionId())
.map(value => zio.aws.qbusiness.model.primitives.SubscriptionId(value))
override val subscriptionArn: Optional[SubscriptionArn] =
zio.aws.core.internal
.optionalFromNullable(impl.subscriptionArn())
.map(value => zio.aws.qbusiness.model.primitives.SubscriptionArn(value))
override val currentSubscription
: Optional[zio.aws.qbusiness.model.SubscriptionDetails.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.currentSubscription())
.map(value => zio.aws.qbusiness.model.SubscriptionDetails.wrap(value))
override val nextSubscription
: Optional[zio.aws.qbusiness.model.SubscriptionDetails.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.nextSubscription())
.map(value => zio.aws.qbusiness.model.SubscriptionDetails.wrap(value))
}
def wrap(
impl: software.amazon.awssdk.services.qbusiness.model.CreateSubscriptionResponse
): zio.aws.qbusiness.model.CreateSubscriptionResponse.ReadOnly = new Wrapper(
impl
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy