zio.aws.ram.model.ResourceSharePermissionDetail.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of zio-aws-ram_3 Show documentation
Show all versions of zio-aws-ram_3 Show documentation
Low-level AWS wrapper for ZIO
The newest version!
package zio.aws.ram.model
import zio.aws.ram.model.primitives.DateTime
import java.time.Instant
import zio.prelude.data.Optional
import zio.aws.core.{AwsError, BuilderHelper}
import zio.ZIO
import scala.jdk.CollectionConverters.*
final case class ResourceSharePermissionDetail(
arn: Optional[String] = Optional.Absent,
version: Optional[String] = Optional.Absent,
defaultVersion: Optional[Boolean] = Optional.Absent,
name: Optional[String] = Optional.Absent,
resourceType: Optional[String] = Optional.Absent,
permission: Optional[String] = Optional.Absent,
creationTime: Optional[DateTime] = Optional.Absent,
lastUpdatedTime: Optional[DateTime] = Optional.Absent,
isResourceTypeDefault: Optional[Boolean] = Optional.Absent,
permissionType: Optional[zio.aws.ram.model.PermissionType] =
Optional.Absent,
featureSet: Optional[zio.aws.ram.model.PermissionFeatureSet] =
Optional.Absent,
status: Optional[zio.aws.ram.model.PermissionStatus] = Optional.Absent,
tags: Optional[Iterable[zio.aws.ram.model.Tag]] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.ram.model.ResourceSharePermissionDetail = {
import ResourceSharePermissionDetail.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.ram.model.ResourceSharePermissionDetail
.builder()
.optionallyWith(arn.map(value => value: java.lang.String))(_.arn)
.optionallyWith(version.map(value => value: java.lang.String))(_.version)
.optionallyWith(defaultVersion.map(value => value: java.lang.Boolean))(
_.defaultVersion
)
.optionallyWith(name.map(value => value: java.lang.String))(_.name)
.optionallyWith(resourceType.map(value => value: java.lang.String))(
_.resourceType
)
.optionallyWith(permission.map(value => value: java.lang.String))(
_.permission
)
.optionallyWith(
creationTime.map(value => DateTime.unwrap(value): Instant)
)(_.creationTime)
.optionallyWith(
lastUpdatedTime.map(value => DateTime.unwrap(value): Instant)
)(_.lastUpdatedTime)
.optionallyWith(
isResourceTypeDefault.map(value => value: java.lang.Boolean)
)(_.isResourceTypeDefault)
.optionallyWith(permissionType.map(value => value.unwrap))(
_.permissionType
)
.optionallyWith(featureSet.map(value => value.unwrap))(_.featureSet)
.optionallyWith(status.map(value => value.unwrap))(_.status)
.optionallyWith(
tags.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.tags)
.build()
}
def asReadOnly: zio.aws.ram.model.ResourceSharePermissionDetail.ReadOnly =
zio.aws.ram.model.ResourceSharePermissionDetail.wrap(buildAwsValue())
}
object ResourceSharePermissionDetail {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.ram.model.ResourceSharePermissionDetail
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.ram.model.ResourceSharePermissionDetail =
zio.aws.ram.model.ResourceSharePermissionDetail(
arn.map(value => value),
version.map(value => value),
defaultVersion.map(value => value),
name.map(value => value),
resourceType.map(value => value),
permission.map(value => value),
creationTime.map(value => value),
lastUpdatedTime.map(value => value),
isResourceTypeDefault.map(value => value),
permissionType.map(value => value),
featureSet.map(value => value),
status.map(value => value),
tags.map(value =>
value.map { item =>
item.asEditable
}
)
)
def arn: Optional[String]
def version: Optional[String]
def defaultVersion: Optional[Boolean]
def name: Optional[String]
def resourceType: Optional[String]
def permission: Optional[String]
def creationTime: Optional[DateTime]
def lastUpdatedTime: Optional[DateTime]
def isResourceTypeDefault: Optional[Boolean]
def permissionType: Optional[zio.aws.ram.model.PermissionType]
def featureSet: Optional[zio.aws.ram.model.PermissionFeatureSet]
def status: Optional[zio.aws.ram.model.PermissionStatus]
def tags: Optional[List[zio.aws.ram.model.Tag.ReadOnly]]
def getArn: ZIO[Any, AwsError, String] =
AwsError.unwrapOptionField("arn", arn)
def getVersion: ZIO[Any, AwsError, String] =
AwsError.unwrapOptionField("version", version)
def getDefaultVersion: ZIO[Any, AwsError, Boolean] =
AwsError.unwrapOptionField("defaultVersion", defaultVersion)
def getName: ZIO[Any, AwsError, String] =
AwsError.unwrapOptionField("name", name)
def getResourceType: ZIO[Any, AwsError, String] =
AwsError.unwrapOptionField("resourceType", resourceType)
def getPermission: ZIO[Any, AwsError, String] =
AwsError.unwrapOptionField("permission", permission)
def getCreationTime: ZIO[Any, AwsError, DateTime] =
AwsError.unwrapOptionField("creationTime", creationTime)
def getLastUpdatedTime: ZIO[Any, AwsError, DateTime] =
AwsError.unwrapOptionField("lastUpdatedTime", lastUpdatedTime)
def getIsResourceTypeDefault: ZIO[Any, AwsError, Boolean] =
AwsError.unwrapOptionField("isResourceTypeDefault", isResourceTypeDefault)
def getPermissionType
: ZIO[Any, AwsError, zio.aws.ram.model.PermissionType] =
AwsError.unwrapOptionField("permissionType", permissionType)
def getFeatureSet
: ZIO[Any, AwsError, zio.aws.ram.model.PermissionFeatureSet] =
AwsError.unwrapOptionField("featureSet", featureSet)
def getStatus: ZIO[Any, AwsError, zio.aws.ram.model.PermissionStatus] =
AwsError.unwrapOptionField("status", status)
def getTags: ZIO[Any, AwsError, List[zio.aws.ram.model.Tag.ReadOnly]] =
AwsError.unwrapOptionField("tags", tags)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.ram.model.ResourceSharePermissionDetail
) extends zio.aws.ram.model.ResourceSharePermissionDetail.ReadOnly {
override val arn: Optional[String] = zio.aws.core.internal
.optionalFromNullable(impl.arn())
.map(value => value: String)
override val version: Optional[String] = zio.aws.core.internal
.optionalFromNullable(impl.version())
.map(value => value: String)
override val defaultVersion: Optional[Boolean] = zio.aws.core.internal
.optionalFromNullable(impl.defaultVersion())
.map(value => value: Boolean)
override val name: Optional[String] = zio.aws.core.internal
.optionalFromNullable(impl.name())
.map(value => value: String)
override val resourceType: Optional[String] = zio.aws.core.internal
.optionalFromNullable(impl.resourceType())
.map(value => value: String)
override val permission: Optional[String] = zio.aws.core.internal
.optionalFromNullable(impl.permission())
.map(value => value: String)
override val creationTime: Optional[DateTime] = zio.aws.core.internal
.optionalFromNullable(impl.creationTime())
.map(value => zio.aws.ram.model.primitives.DateTime(value))
override val lastUpdatedTime: Optional[DateTime] = zio.aws.core.internal
.optionalFromNullable(impl.lastUpdatedTime())
.map(value => zio.aws.ram.model.primitives.DateTime(value))
override val isResourceTypeDefault: Optional[Boolean] =
zio.aws.core.internal
.optionalFromNullable(impl.isResourceTypeDefault())
.map(value => value: Boolean)
override val permissionType: Optional[zio.aws.ram.model.PermissionType] =
zio.aws.core.internal
.optionalFromNullable(impl.permissionType())
.map(value => zio.aws.ram.model.PermissionType.wrap(value))
override val featureSet: Optional[zio.aws.ram.model.PermissionFeatureSet] =
zio.aws.core.internal
.optionalFromNullable(impl.featureSet())
.map(value => zio.aws.ram.model.PermissionFeatureSet.wrap(value))
override val status: Optional[zio.aws.ram.model.PermissionStatus] =
zio.aws.core.internal
.optionalFromNullable(impl.status())
.map(value => zio.aws.ram.model.PermissionStatus.wrap(value))
override val tags: Optional[List[zio.aws.ram.model.Tag.ReadOnly]] =
zio.aws.core.internal
.optionalFromNullable(impl.tags())
.map(value =>
value.asScala.map { item =>
zio.aws.ram.model.Tag.wrap(item)
}.toList
)
}
def wrap(
impl: software.amazon.awssdk.services.ram.model.ResourceSharePermissionDetail
): zio.aws.ram.model.ResourceSharePermissionDetail.ReadOnly = new Wrapper(
impl
)
}