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