zio.aws.amplify.model.App.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of zio-aws-amplify_3 Show documentation
Show all versions of zio-aws-amplify_3 Show documentation
Low-level AWS wrapper for ZIO
The newest version!
package zio.aws.amplify.model
import java.time.Instant
import zio.prelude.data.Optional
import zio.aws.amplify.model.primitives.{
EnableBasicAuth,
UpdateTime,
CustomHeaders,
DefaultDomain,
BuildSpec,
EnableAutoBranchCreation,
CreateTime,
AppArn,
Repository,
BasicAuthCredentials,
TagValue,
EnableBranchAutoBuild,
ServiceRoleArn,
Description,
AutoBranchCreationPattern,
AppId,
EnvValue,
EnvKey,
EnableBranchAutoDeletion,
Name,
TagKey
}
import zio.aws.core.{AwsError, BuilderHelper}
import zio.ZIO
import scala.jdk.CollectionConverters.*
final case class App(
appId: AppId,
appArn: AppArn,
name: Name,
tags: Optional[Map[TagKey, TagValue]] = Optional.Absent,
description: Description,
repository: Repository,
platform: zio.aws.amplify.model.Platform,
createTime: CreateTime,
updateTime: UpdateTime,
iamServiceRoleArn: Optional[ServiceRoleArn] = Optional.Absent,
environmentVariables: Map[EnvKey, EnvValue],
defaultDomain: DefaultDomain,
enableBranchAutoBuild: EnableBranchAutoBuild,
enableBranchAutoDeletion: Optional[EnableBranchAutoDeletion] =
Optional.Absent,
enableBasicAuth: EnableBasicAuth,
basicAuthCredentials: Optional[BasicAuthCredentials] = Optional.Absent,
customRules: Optional[Iterable[zio.aws.amplify.model.CustomRule]] =
Optional.Absent,
productionBranch: Optional[zio.aws.amplify.model.ProductionBranch] =
Optional.Absent,
buildSpec: Optional[BuildSpec] = Optional.Absent,
customHeaders: Optional[CustomHeaders] = Optional.Absent,
enableAutoBranchCreation: Optional[EnableAutoBranchCreation] =
Optional.Absent,
autoBranchCreationPatterns: Optional[Iterable[AutoBranchCreationPattern]] =
Optional.Absent,
autoBranchCreationConfig: Optional[
zio.aws.amplify.model.AutoBranchCreationConfig
] = Optional.Absent,
repositoryCloneMethod: Optional[
zio.aws.amplify.model.RepositoryCloneMethod
] = Optional.Absent
) {
def buildAwsValue(): software.amazon.awssdk.services.amplify.model.App = {
import App.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.amplify.model.App
.builder()
.appId(AppId.unwrap(appId): java.lang.String)
.appArn(AppArn.unwrap(appArn): java.lang.String)
.name(Name.unwrap(name): java.lang.String)
.optionallyWith(
tags.map(value =>
value
.map({ case (key, value) =>
(TagKey.unwrap(key): java.lang.String) -> (TagValue.unwrap(
value
): java.lang.String)
})
.asJava
)
)(_.tags)
.description(Description.unwrap(description): java.lang.String)
.repository(Repository.unwrap(repository): java.lang.String)
.platform(platform.unwrap)
.createTime(CreateTime.unwrap(createTime): Instant)
.updateTime(UpdateTime.unwrap(updateTime): Instant)
.optionallyWith(
iamServiceRoleArn.map(value =>
ServiceRoleArn.unwrap(value): java.lang.String
)
)(_.iamServiceRoleArn)
.environmentVariables(
environmentVariables
.map({ case (key, value) =>
(EnvKey.unwrap(key): java.lang.String) -> (EnvValue.unwrap(
value
): java.lang.String)
})
.asJava
)
.defaultDomain(DefaultDomain.unwrap(defaultDomain): java.lang.String)
.enableBranchAutoBuild(
EnableBranchAutoBuild.unwrap(enableBranchAutoBuild): java.lang.Boolean
)
.optionallyWith(
enableBranchAutoDeletion.map(value =>
EnableBranchAutoDeletion.unwrap(value): java.lang.Boolean
)
)(_.enableBranchAutoDeletion)
.enableBasicAuth(
EnableBasicAuth.unwrap(enableBasicAuth): java.lang.Boolean
)
.optionallyWith(
basicAuthCredentials.map(value =>
BasicAuthCredentials.unwrap(value): java.lang.String
)
)(_.basicAuthCredentials)
.optionallyWith(
customRules.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.customRules)
.optionallyWith(productionBranch.map(value => value.buildAwsValue()))(
_.productionBranch
)
.optionallyWith(
buildSpec.map(value => BuildSpec.unwrap(value): java.lang.String)
)(_.buildSpec)
.optionallyWith(
customHeaders.map(value =>
CustomHeaders.unwrap(value): java.lang.String
)
)(_.customHeaders)
.optionallyWith(
enableAutoBranchCreation.map(value =>
EnableAutoBranchCreation.unwrap(value): java.lang.Boolean
)
)(_.enableAutoBranchCreation)
.optionallyWith(
autoBranchCreationPatterns.map(value =>
value.map { item =>
AutoBranchCreationPattern.unwrap(item): java.lang.String
}.asJavaCollection
)
)(_.autoBranchCreationPatterns)
.optionallyWith(
autoBranchCreationConfig.map(value => value.buildAwsValue())
)(_.autoBranchCreationConfig)
.optionallyWith(repositoryCloneMethod.map(value => value.unwrap))(
_.repositoryCloneMethod
)
.build()
}
def asReadOnly: zio.aws.amplify.model.App.ReadOnly =
zio.aws.amplify.model.App.wrap(buildAwsValue())
}
object App {
private lazy val zioAwsBuilderHelper
: BuilderHelper[software.amazon.awssdk.services.amplify.model.App] =
BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.amplify.model.App = zio.aws.amplify.model.App(
appId,
appArn,
name,
tags.map(value => value),
description,
repository,
platform,
createTime,
updateTime,
iamServiceRoleArn.map(value => value),
environmentVariables,
defaultDomain,
enableBranchAutoBuild,
enableBranchAutoDeletion.map(value => value),
enableBasicAuth,
basicAuthCredentials.map(value => value),
customRules.map(value =>
value.map { item =>
item.asEditable
}
),
productionBranch.map(value => value.asEditable),
buildSpec.map(value => value),
customHeaders.map(value => value),
enableAutoBranchCreation.map(value => value),
autoBranchCreationPatterns.map(value => value),
autoBranchCreationConfig.map(value => value.asEditable),
repositoryCloneMethod.map(value => value)
)
def appId: AppId
def appArn: AppArn
def name: Name
def tags: Optional[Map[TagKey, TagValue]]
def description: Description
def repository: Repository
def platform: zio.aws.amplify.model.Platform
def createTime: CreateTime
def updateTime: UpdateTime
def iamServiceRoleArn: Optional[ServiceRoleArn]
def environmentVariables: Map[EnvKey, EnvValue]
def defaultDomain: DefaultDomain
def enableBranchAutoBuild: EnableBranchAutoBuild
def enableBranchAutoDeletion: Optional[EnableBranchAutoDeletion]
def enableBasicAuth: EnableBasicAuth
def basicAuthCredentials: Optional[BasicAuthCredentials]
def customRules: Optional[List[zio.aws.amplify.model.CustomRule.ReadOnly]]
def productionBranch
: Optional[zio.aws.amplify.model.ProductionBranch.ReadOnly]
def buildSpec: Optional[BuildSpec]
def customHeaders: Optional[CustomHeaders]
def enableAutoBranchCreation: Optional[EnableAutoBranchCreation]
def autoBranchCreationPatterns: Optional[List[AutoBranchCreationPattern]]
def autoBranchCreationConfig
: Optional[zio.aws.amplify.model.AutoBranchCreationConfig.ReadOnly]
def repositoryCloneMethod
: Optional[zio.aws.amplify.model.RepositoryCloneMethod]
def getAppId: ZIO[Any, Nothing, AppId] = ZIO.succeed(appId)
def getAppArn: ZIO[Any, Nothing, AppArn] = ZIO.succeed(appArn)
def getName: ZIO[Any, Nothing, Name] = ZIO.succeed(name)
def getTags: ZIO[Any, AwsError, Map[TagKey, TagValue]] =
AwsError.unwrapOptionField("tags", tags)
def getDescription: ZIO[Any, Nothing, Description] =
ZIO.succeed(description)
def getRepository: ZIO[Any, Nothing, Repository] = ZIO.succeed(repository)
def getPlatform: ZIO[Any, Nothing, zio.aws.amplify.model.Platform] =
ZIO.succeed(platform)
def getCreateTime: ZIO[Any, Nothing, CreateTime] = ZIO.succeed(createTime)
def getUpdateTime: ZIO[Any, Nothing, UpdateTime] = ZIO.succeed(updateTime)
def getIamServiceRoleArn: ZIO[Any, AwsError, ServiceRoleArn] =
AwsError.unwrapOptionField("iamServiceRoleArn", iamServiceRoleArn)
def getEnvironmentVariables: ZIO[Any, Nothing, Map[EnvKey, EnvValue]] =
ZIO.succeed(environmentVariables)
def getDefaultDomain: ZIO[Any, Nothing, DefaultDomain] =
ZIO.succeed(defaultDomain)
def getEnableBranchAutoBuild: ZIO[Any, Nothing, EnableBranchAutoBuild] =
ZIO.succeed(enableBranchAutoBuild)
def getEnableBranchAutoDeletion
: ZIO[Any, AwsError, EnableBranchAutoDeletion] = AwsError
.unwrapOptionField("enableBranchAutoDeletion", enableBranchAutoDeletion)
def getEnableBasicAuth: ZIO[Any, Nothing, EnableBasicAuth] =
ZIO.succeed(enableBasicAuth)
def getBasicAuthCredentials: ZIO[Any, AwsError, BasicAuthCredentials] =
AwsError.unwrapOptionField("basicAuthCredentials", basicAuthCredentials)
def getCustomRules
: ZIO[Any, AwsError, List[zio.aws.amplify.model.CustomRule.ReadOnly]] =
AwsError.unwrapOptionField("customRules", customRules)
def getProductionBranch
: ZIO[Any, AwsError, zio.aws.amplify.model.ProductionBranch.ReadOnly] =
AwsError.unwrapOptionField("productionBranch", productionBranch)
def getBuildSpec: ZIO[Any, AwsError, BuildSpec] =
AwsError.unwrapOptionField("buildSpec", buildSpec)
def getCustomHeaders: ZIO[Any, AwsError, CustomHeaders] =
AwsError.unwrapOptionField("customHeaders", customHeaders)
def getEnableAutoBranchCreation
: ZIO[Any, AwsError, EnableAutoBranchCreation] = AwsError
.unwrapOptionField("enableAutoBranchCreation", enableAutoBranchCreation)
def getAutoBranchCreationPatterns
: ZIO[Any, AwsError, List[AutoBranchCreationPattern]] =
AwsError.unwrapOptionField(
"autoBranchCreationPatterns",
autoBranchCreationPatterns
)
def getAutoBranchCreationConfig: ZIO[
Any,
AwsError,
zio.aws.amplify.model.AutoBranchCreationConfig.ReadOnly
] = AwsError.unwrapOptionField(
"autoBranchCreationConfig",
autoBranchCreationConfig
)
def getRepositoryCloneMethod
: ZIO[Any, AwsError, zio.aws.amplify.model.RepositoryCloneMethod] =
AwsError.unwrapOptionField("repositoryCloneMethod", repositoryCloneMethod)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.amplify.model.App
) extends zio.aws.amplify.model.App.ReadOnly {
override val appId: AppId =
zio.aws.amplify.model.primitives.AppId(impl.appId())
override val appArn: AppArn =
zio.aws.amplify.model.primitives.AppArn(impl.appArn())
override val name: Name = zio.aws.amplify.model.primitives.Name(impl.name())
override val tags: Optional[Map[TagKey, TagValue]] = zio.aws.core.internal
.optionalFromNullable(impl.tags())
.map(value =>
value.asScala
.map({ case (key, value) =>
zio.aws.amplify.model.primitives
.TagKey(key) -> zio.aws.amplify.model.primitives.TagValue(value)
})
.toMap
)
override val description: Description =
zio.aws.amplify.model.primitives.Description(impl.description())
override val repository: Repository =
zio.aws.amplify.model.primitives.Repository(impl.repository())
override val platform: zio.aws.amplify.model.Platform =
zio.aws.amplify.model.Platform.wrap(impl.platform())
override val createTime: CreateTime =
zio.aws.amplify.model.primitives.CreateTime(impl.createTime())
override val updateTime: UpdateTime =
zio.aws.amplify.model.primitives.UpdateTime(impl.updateTime())
override val iamServiceRoleArn: Optional[ServiceRoleArn] =
zio.aws.core.internal
.optionalFromNullable(impl.iamServiceRoleArn())
.map(value => zio.aws.amplify.model.primitives.ServiceRoleArn(value))
override val environmentVariables: Map[EnvKey, EnvValue] = impl
.environmentVariables()
.asScala
.map({ case (key, value) =>
zio.aws.amplify.model.primitives
.EnvKey(key) -> zio.aws.amplify.model.primitives.EnvValue(value)
})
.toMap
override val defaultDomain: DefaultDomain =
zio.aws.amplify.model.primitives.DefaultDomain(impl.defaultDomain())
override val enableBranchAutoBuild: EnableBranchAutoBuild =
zio.aws.amplify.model.primitives
.EnableBranchAutoBuild(impl.enableBranchAutoBuild())
override val enableBranchAutoDeletion: Optional[EnableBranchAutoDeletion] =
zio.aws.core.internal
.optionalFromNullable(impl.enableBranchAutoDeletion())
.map(value =>
zio.aws.amplify.model.primitives.EnableBranchAutoDeletion(value)
)
override val enableBasicAuth: EnableBasicAuth =
zio.aws.amplify.model.primitives.EnableBasicAuth(impl.enableBasicAuth())
override val basicAuthCredentials: Optional[BasicAuthCredentials] =
zio.aws.core.internal
.optionalFromNullable(impl.basicAuthCredentials())
.map(value =>
zio.aws.amplify.model.primitives.BasicAuthCredentials(value)
)
override val customRules
: Optional[List[zio.aws.amplify.model.CustomRule.ReadOnly]] =
zio.aws.core.internal
.optionalFromNullable(impl.customRules())
.map(value =>
value.asScala.map { item =>
zio.aws.amplify.model.CustomRule.wrap(item)
}.toList
)
override val productionBranch
: Optional[zio.aws.amplify.model.ProductionBranch.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.productionBranch())
.map(value => zio.aws.amplify.model.ProductionBranch.wrap(value))
override val buildSpec: Optional[BuildSpec] = zio.aws.core.internal
.optionalFromNullable(impl.buildSpec())
.map(value => zio.aws.amplify.model.primitives.BuildSpec(value))
override val customHeaders: Optional[CustomHeaders] = zio.aws.core.internal
.optionalFromNullable(impl.customHeaders())
.map(value => zio.aws.amplify.model.primitives.CustomHeaders(value))
override val enableAutoBranchCreation: Optional[EnableAutoBranchCreation] =
zio.aws.core.internal
.optionalFromNullable(impl.enableAutoBranchCreation())
.map(value =>
zio.aws.amplify.model.primitives.EnableAutoBranchCreation(value)
)
override val autoBranchCreationPatterns
: Optional[List[AutoBranchCreationPattern]] = zio.aws.core.internal
.optionalFromNullable(impl.autoBranchCreationPatterns())
.map(value =>
value.asScala.map { item =>
zio.aws.amplify.model.primitives.AutoBranchCreationPattern(item)
}.toList
)
override val autoBranchCreationConfig
: Optional[zio.aws.amplify.model.AutoBranchCreationConfig.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.autoBranchCreationConfig())
.map(value =>
zio.aws.amplify.model.AutoBranchCreationConfig.wrap(value)
)
override val repositoryCloneMethod
: Optional[zio.aws.amplify.model.RepositoryCloneMethod] =
zio.aws.core.internal
.optionalFromNullable(impl.repositoryCloneMethod())
.map(value => zio.aws.amplify.model.RepositoryCloneMethod.wrap(value))
}
def wrap(
impl: software.amazon.awssdk.services.amplify.model.App
): zio.aws.amplify.model.App.ReadOnly = new Wrapper(impl)
}